基于上位機(jī)控制自動接線的單片機(jī)實驗系統(tǒng)研究
0 引言
對單片機(jī)實驗系統(tǒng)的基本需求是:在有限的IO 接口上可以進(jìn)行多個項目的實驗。為了實現(xiàn)這個基本需求,在進(jìn)行多個不同項目實驗時,要對單片機(jī)各個IO口進(jìn)行現(xiàn)場重接線。傳統(tǒng)的單片機(jī)實驗裝置現(xiàn)場重接線方法有2類:
一類是現(xiàn)場手工插拔自鎖緊接插件;
另一類是現(xiàn)場手工插拔積木式實驗?zāi)K。
這兩類接線方式的實質(zhì)都屬于機(jī)械式金屬接觸。單片機(jī)實驗系統(tǒng)經(jīng)過較長時間的使用,都難免會發(fā)生金屬接觸件之間的接觸不良現(xiàn)象。特別是自鎖緊接插件,問題更為嚴(yán)重:即使線芯開路了,從表面也難以通過肉眼發(fā)覺。導(dǎo)致實驗成功率低下,占用學(xué)生甚至指導(dǎo)老師的排故時間,嚴(yán)重影響了實驗效果?,F(xiàn)代單片機(jī)實驗或單片機(jī)開發(fā)都離不開上位機(jī)對軟件的編譯和程序的下載。在實驗現(xiàn)場進(jìn)行手工重接線時上位機(jī)處于空閑狀態(tài)。利用上位機(jī)控制對實驗現(xiàn)場進(jìn)行自動重接線,是該研發(fā)項目研究的重要內(nèi)容。
1 項目研發(fā)思路概述
項目的研發(fā)思路見圖1 所示的流程圖。首先從底層做起,經(jīng)過深入調(diào)研,對自己要研制的項目進(jìn)行定位,根據(jù)各個學(xué)校提出的具體要求進(jìn)行篩選,制定出總共需要多少個實驗項目,并為各個實驗項目設(shè)計出對應(yīng)的實驗電路圖,這些實驗電路圖作為項目研發(fā)的基礎(chǔ)理論依據(jù)。根據(jù)這實驗電路圖研制實驗系統(tǒng)硬件裝置,各個實驗項目對應(yīng)的元器件(包含單片機(jī))布置在電路板的頂層,控制現(xiàn)場自動重接線的電子式交叉開關(guān)電路所用到的元器件( 包含F(xiàn)PGA 和專用模擬開關(guān)陣列ADG1161)布置在電路板的底層。
上位機(jī)和實驗系統(tǒng)通信采用USB連接,共要傳輸兩類數(shù)據(jù),實驗項目編號和單片機(jī)實驗的目標(biāo)程序。上位機(jī)應(yīng)用軟件程序采用Visual C++編制,應(yīng)用程序?qū)⒏鱾€實驗電路圖與實驗編號一一對應(yīng)。當(dāng)要做某個實驗項目時,可以啟動該實驗編號,自動調(diào)出實驗電路圖,將實驗編號通過接口電路傳送給實驗系統(tǒng)的控制部分,實驗系統(tǒng)控制部分獲得該實驗編號后,由FPGA內(nèi)的51核,根據(jù)項目編號對應(yīng)出電子式交叉開關(guān)的接通與斷開,實現(xiàn)現(xiàn)場自動重接線,使實驗系統(tǒng)滿足實驗電路圖接線要求。
此時便可以在上位機(jī)上做編程實驗,由專門的編譯系統(tǒng)(如Keil uV4或IAR)編譯實驗程序,產(chǎn)生目標(biāo)代碼(*.bin 或*.hex),再由上位機(jī)通過所編制的應(yīng)用程序?qū)⒃撃繕?biāo)代碼傳送給實驗系統(tǒng)的單片機(jī)內(nèi)ROM中保存。單片機(jī)復(fù)位后便開始運(yùn)行該目標(biāo)程序,實現(xiàn)用戶實驗?zāi)康摹?/P>
2 實驗系統(tǒng)中的電子式交叉開關(guān)及其控制電路設(shè)計
項目研發(fā)的關(guān)鍵是具有能按照不同的實驗電路指導(dǎo)現(xiàn)場自動重接線的裝置。即實驗系統(tǒng)的控制器按照上位機(jī)下達(dá)的實驗項目號對應(yīng)出實驗電路,控制交叉開關(guān)進(jìn)行現(xiàn)場自動接線。實現(xiàn)該控制功能所需的主要控制器件為2種:一種是超大規(guī)?,F(xiàn)場可編程的FPGA芯片;另一種是高性能的模擬開關(guān)陣列。通過對這兩種器件的有機(jī)組合,得到控制器電路結(jié)構(gòu)框圖如圖2所示。
評論