基于上位機控制自動接線的單片機實驗系統(tǒng)研究
0 引言
對單片機實驗系統(tǒng)的基本需求是:在有限的IO 接口上可以進行多個項目的實驗。為了實現(xiàn)這個基本需求,在進行多個不同項目實驗時,要對單片機各個IO口進行現(xiàn)場重接線。傳統(tǒng)的單片機實驗裝置現(xiàn)場重接線方法有2類:
一類是現(xiàn)場手工插拔自鎖緊接插件;
另一類是現(xiàn)場手工插拔積木式實驗模塊。
這兩類接線方式的實質都屬于機械式金屬接觸。單片機實驗系統(tǒng)經(jīng)過較長時間的使用,都難免會發(fā)生金屬接觸件之間的接觸不良現(xiàn)象。特別是自鎖緊接插件,問題更為嚴重:即使線芯開路了,從表面也難以通過肉眼發(fā)覺。導致實驗成功率低下,占用學生甚至指導老師的排故時間,嚴重影響了實驗效果。現(xiàn)代單片機實驗或單片機開發(fā)都離不開上位機對軟件的編譯和程序的下載。在實驗現(xiàn)場進行手工重接線時上位機處于空閑狀態(tài)。利用上位機控制對實驗現(xiàn)場進行自動重接線,是該研發(fā)項目研究的重要內容。
1 項目研發(fā)思路概述
項目的研發(fā)思路見圖1 所示的流程圖。首先從底層做起,經(jīng)過深入調研,對自己要研制的項目進行定位,根據(jù)各個學校提出的具體要求進行篩選,制定出總共需要多少個實驗項目,并為各個實驗項目設計出對應的實驗電路圖,這些實驗電路圖作為項目研發(fā)的基礎理論依據(jù)。根據(jù)這實驗電路圖研制實驗系統(tǒng)硬件裝置,各個實驗項目對應的元器件(包含單片機)布置在電路板的頂層,控制現(xiàn)場自動重接線的電子式交叉開關電路所用到的元器件( 包含F(xiàn)PGA 和專用模擬開關陣列ADG1161)布置在電路板的底層。
上位機和實驗系統(tǒng)通信采用USB連接,共要傳輸兩類數(shù)據(jù),實驗項目編號和單片機實驗的目標程序。上位機應用軟件程序采用Visual C++編制,應用程序將各個實驗電路圖與實驗編號一一對應。當要做某個實驗項目時,可以啟動該實驗編號,自動調出實驗電路圖,將實驗編號通過接口電路傳送給實驗系統(tǒng)的控制部分,實驗系統(tǒng)控制部分獲得該實驗編號后,由FPGA內的51核,根據(jù)項目編號對應出電子式交叉開關的接通與斷開,實現(xiàn)現(xiàn)場自動重接線,使實驗系統(tǒng)滿足實驗電路圖接線要求。
此時便可以在上位機上做編程實驗,由專門的編譯系統(tǒng)(如Keil uV4或IAR)編譯實驗程序,產生目標代碼(*.bin 或*.hex),再由上位機通過所編制的應用程序將該目標代碼傳送給實驗系統(tǒng)的單片機內ROM中保存。單片機復位后便開始運行該目標程序,實現(xiàn)用戶實驗目的。
2 實驗系統(tǒng)中的電子式交叉開關及其控制電路設計
項目研發(fā)的關鍵是具有能按照不同的實驗電路指導現(xiàn)場自動重接線的裝置。即實驗系統(tǒng)的控制器按照上位機下達的實驗項目號對應出實驗電路,控制交叉開關進行現(xiàn)場自動接線。實現(xiàn)該控制功能所需的主要控制器件為2種:一種是超大規(guī)?,F(xiàn)場可編程的FPGA芯片;另一種是高性能的模擬開關陣列。通過對這兩種器件的有機組合,得到控制器電路結構框圖如圖2所示。
FPGA芯片采用賽靈思公司(Xilinx,Inc.)的Spartan?3E系列中XC3S1200E[3],器件密度多于百萬門,該系列能方便實現(xiàn)微處理器、微控制器和數(shù)字信號處理器功能。
支持的通用I/O種類多,可通過串行(SPI)和并行閃存進行器件配置,也可作為普通DDR存儲接口,這些特性減少了對其他分立器件的需求,從而可大大簡化應用系統(tǒng)的設計。低導通電阻模擬開關陣列ADG1611[4]由ADI公司開發(fā)銷售,為每片4個通道的模擬開關,寬電壓供電,軌到軌輸出,其低到1 Ω的導通電阻和大到每通道175 mA的連續(xù)電流非常適合于本研發(fā)項目的實際應用。
3 控制實驗項目電路設計舉例
LED發(fā)光二極管流水燈[5]和4×4矩陣鍵盤是單片機實驗中最常用的兩個實驗實例,這里給出該研發(fā)項目中關于這兩個實驗項目的切換的設計電路原理圖,見圖3.
由圖3可知,F(xiàn)PGA 控制著兩組ADG1611模擬開關陣列,第一組連接LED 流水燈;第二組連接矩陣鍵盤。
當選擇做LED 流水燈實驗時,F(xiàn)PGA 控制第一組ADG1611 模擬開關接通、第二組模擬開關斷開;反之,當選擇做矩陣鍵盤實驗時,F(xiàn)PGA控制第一組ADG1611模擬開關斷開、第二組模擬開關接通。當要同時使用LED發(fā)光二極管和矩陣鍵盤實驗時,可以通過FPGA控制第三組(或第若干組)的ADG1611模擬開關陣列接通實驗單片機別的IO口(圖中未畫出)。如何進行現(xiàn)場自動重接線,完全由當前實驗號所對應的實驗電路圖指導控制,項目研發(fā)時已經(jīng)充分加以考慮了。限于篇幅,這里不具體贅述。
4 結語
經(jīng)過20臺(套)樣機試制成功并付諸于實驗時正常使用一個學期以來,證明采用基于上位機控制自動接線單片機實驗系統(tǒng)進行實驗教學后,由于由系統(tǒng)啟動現(xiàn)場自動重接線,節(jié)省了以往老師指導學生進行手工重接線時間,克服了手工重接線容易接錯或接觸不良或線芯斷線等導致的實驗失敗現(xiàn)象,提高了實驗效率,使學生在有限的實驗教學課時內學到更多的知識。