孫硯飛 王連猛 成艷亭
摘? 要:介紹了測控總線技術(shù)課程的特點及目前教學(xué)中存在的問題。以三單片機簡單接口通信系統(tǒng)設(shè)計為例,介紹了基于電路輔助設(shè)計軟件Proteus的虛擬仿真技術(shù)在課程教學(xué)中的應(yīng)用。虛擬仿真實驗直觀、靈活,且不受硬件和場地限制,可以將實驗教學(xué)結(jié)合到課堂教學(xué)中去,有效激發(fā)學(xué)生學(xué)習(xí)興趣,提高教學(xué)效果。
關(guān)鍵詞:測控總線;虛擬仿真;Proteus;儀器通信
中圖分類號:G642 文獻標(biāo)志碼:A 文章編號:2096-000X(2019)10-0078-03
Abstract: The characteristics and present problems of the course Measurement & Control Bus Technology is introduced in this paper. By taking the design of a communication system between three MCU chips as example, the application of virtual simulation technology based on Proteus software is presented. The demonstration of virtual simulation experiments is more intuitive and flexible that could integrate the experiment teaching into the classroom teaching. Students' motivation can be effectively inspired and the teaching effectiveness will be improved consequently.
Keywords: Measurement & Control Bus; virtual simulation; Proteus; instruments communication
當(dāng)今時代,信息技術(shù)推動著過程控制系統(tǒng)與自動測試系統(tǒng)的飛速發(fā)展,其中通信技術(shù)幫助系統(tǒng)完成信息的傳遞,是系統(tǒng)各部件有機結(jié)合并實現(xiàn)高度集成的基礎(chǔ)。測控總線與儀器通信技術(shù)使測控系統(tǒng)的各部分從獨立的元器件發(fā)展到集成器件、個人儀器卡、嵌入式系統(tǒng)、多處理器自動化裝置,再到集散控制系統(tǒng)和網(wǎng)絡(luò)化虛擬儀器[1]。
測控總線技術(shù)是在此背景下面向測控技術(shù)與儀器專業(yè)開設(shè)的一門專業(yè)應(yīng)用課程,課程圍繞測控系統(tǒng)與儀器的通信技術(shù),介紹了測控總線與儀器通信的一般原理和方法,課程主要講授的通信技術(shù)包括三個層次:芯片級、板卡級與設(shè)備級,如圖1。學(xué)生應(yīng)通過該課程的學(xué)習(xí),掌握芯片、板卡、設(shè)備、微機之間進行正確通信的方法,掌握硬件設(shè)計和軟件編程,具有完成完整的儀器通信系統(tǒng)設(shè)計的能力。
圖1 課程教學(xué)層次
一、課程授課特點和目前存在的問題
測控總線技術(shù)課程是在學(xué)生先修了電子類以及微機類課程之后學(xué)習(xí)的綜合應(yīng)用型課程,從應(yīng)用角度出發(fā),介紹常用總線的特點、設(shè)計過程和應(yīng)用場合,一種總線即一個模塊,因此具有應(yīng)用綜合度高、內(nèi)容離散性強的特點。本課程開設(shè)時間較短,在目前教學(xué)過程中主要存在的問題有:
1. 目前的教學(xué)以課堂教學(xué)為主,并沒有設(shè)置實踐實訓(xùn)環(huán)節(jié)。受課時和硬件條件限制,實驗環(huán)節(jié)也只能涵蓋很少內(nèi)容,而每一種總線技術(shù)都與應(yīng)用息息相關(guān),如果不結(jié)合應(yīng)用實例介紹的話,很難保證學(xué)生真正學(xué)會運用知識的能力。
2. 課程從應(yīng)用出發(fā),介紹目前常用的各級通信方式,涉及內(nèi)容較多,內(nèi)容更新頻率高,目前尚沒有完全滿足教學(xué)內(nèi)容的教材,需要擴展教材外的設(shè)計實例介紹。現(xiàn)有教材在使用過程中,也發(fā)現(xiàn)設(shè)計中存在不少錯誤,有些錯誤比較直觀,還有些是不經(jīng)過實踐測試就無法發(fā)現(xiàn)的紕漏,如果不能跟學(xué)生及時驗證說明,也有可能對學(xué)生的學(xué)習(xí)和今后的應(yīng)用造成混淆。
近年來為了提高教學(xué)質(zhì)量和學(xué)習(xí)效果,一些虛擬仿真技術(shù)開始在課堂教學(xué)中廣泛應(yīng)用[2-4],應(yīng)用虛擬仿真實驗可以將應(yīng)用實例的運行情況形象地展示給學(xué)生,系統(tǒng)參數(shù)和模式的修改也容易實現(xiàn),不受設(shè)備硬件的限制。學(xué)生在課堂上可以在個人電腦上進行設(shè)計,將實驗教學(xué)的教師演示和學(xué)生動手操作全部融入課堂,打破課堂教學(xué)和實驗教學(xué)的時間、場地界限。
本課程在教學(xué)實施中,也逐步將虛擬仿真技術(shù)引入課堂教學(xué),芯片級通信系統(tǒng)的設(shè)計采用了Proteus與Keil軟件聯(lián)調(diào)的方式進行實時仿真,板卡級和設(shè)備級的通信則采用虛擬儀器工具LabVIEW來進行仿真設(shè)計,本文以課程中“簡單接口通信”單元中的三單片機通信系統(tǒng)為例,介紹利用Proteus和Keil進行硬軟件設(shè)計并進行聯(lián)合調(diào)試的教學(xué)設(shè)計思路。
二、“三單片機通信”教學(xué)設(shè)計實例
在測控系統(tǒng)中,有時多點、多參數(shù)測量和控制需要由多個單片機協(xié)同完成,其中多個單片機之間的通信是系統(tǒng)設(shè)計的關(guān)鍵之一,本課程講授的第一個應(yīng)用實例就是三單片機通信系統(tǒng)的設(shè)計,采用的是最基本的簡單接口技術(shù),即利用單片機本身的接口實現(xiàn)通信。以MCS-51系列單片機為例,單片機本身有兩種通信接口:并口和串口。其中并口的主要優(yōu)點是速度快,而串口通信的主要優(yōu)點是接口少,容易實現(xiàn)遠距離傳輸[5]。為了掌握兩種通信方式的軟硬件設(shè)計,我們將A機和B機的通信設(shè)定為并行通信,B機和C機則采用串行通信。
(一)通信過程設(shè)計
以A機輸入測量數(shù)據(jù)并將數(shù)據(jù)送B機和C機為例,為保證傳輸同步、數(shù)據(jù)傳輸可靠,通信雙方需要了解對方的狀態(tài),因此A、B機之間利用Intel8255A來進行選通控制,B、C機之間的串口通信利用單片機串口發(fā)送/接收狀態(tài)標(biāo)志位了解傳送狀態(tài),教材中給出的通信硬件電路通常為如圖2的方式。
可以看出,通信示意圖只是說明了三個單片機的位置關(guān)系、通信方式,并沒有具體的硬件連接,無法形象地讓學(xué)生確認(rèn)其通信過程如何實現(xiàn),是否有效;通信過程中的握手聯(lián)絡(luò)是保障通信成功的重要因素,這需要由軟件來實現(xiàn),此外教材中端口分配也出現(xiàn)了設(shè)計錯誤,這都需要通過軟硬件聯(lián)合設(shè)計并通過仿真驗證讓學(xué)生有更深刻的了解。
(二)硬件電路設(shè)計
在電路設(shè)計和仿真軟件Proteus中完成電路原理圖的設(shè)計,為了模擬數(shù)據(jù)傳送的過程,在A機輸入口連接按鍵序列,并行輸入按鍵狀態(tài),按鍵的按下和斷開會在對應(yīng)端口輸入低電平和高電平,在B機和C機的一組端口接數(shù)碼管,將接收到的A機鍵盤狀態(tài)驅(qū)動相應(yīng)LED段碼點亮和熄滅以驗證是否實現(xiàn)正確傳輸。A機和B機之間利用Intel8255A的PA口的選通方式通信,A機用P2.6接8255A片選線,P2.2和P2.3接8255A的地址線A0和A1,P3.4接8255A的狀態(tài)線PC3。B機和C機利用單片機的全雙工串口通信,B機的TXD接C機的RXD,利用電路設(shè)計輔助軟件Proteus設(shè)計的完整通信電路如圖3。
(三)軟件設(shè)計
根據(jù)前面提到的設(shè)計要求,要將A機P1端口輸入的數(shù)據(jù)經(jīng)8255A的PA口并行傳輸?shù)紹機,設(shè)置8255A 的PA口工作于雙向選通方式,輸出數(shù)據(jù)時,當(dāng)A機把數(shù)據(jù)寫入8255A,從PC7引腳送出輸出緩沖器滿信號,B機讀取到這一信號,可以從P0口輸入數(shù)據(jù);B機和C機串口設(shè)置工作于方式1,B機通過判斷串口發(fā)送中斷標(biāo)志TI判斷數(shù)據(jù)是否發(fā)送成功,C機通過判斷串口接收中斷標(biāo)志位RI判斷何時可以接收數(shù)據(jù)。當(dāng)B機成功把數(shù)據(jù)轉(zhuǎn)送給C機之后,通過8255A的PC6告訴A機本次傳送已完成,可以發(fā)送下一個字節(jié)。三個單片機的軟件流程如圖4。
(四)聯(lián)合仿真
利用Keil UV4軟件完成三個單片機的數(shù)據(jù)傳輸源程序編寫,并編譯生成.HEX文件,在Proteus中分別將三個單片機的.HEX文件加載到對應(yīng)單片機中,點擊Proteus的運行仿真按鈕,程序即可以運行[6-8]。點擊按鍵改變按鍵狀態(tài)模擬輸入數(shù)據(jù)的變化,B機和C機的輸出都會發(fā)生相應(yīng)的變化,驗證了通信過程的有效性,如圖3。如果在A機輸入端口添加一個如圖5所示的動態(tài)脈沖信號,從B機和C機的輸出端口接虛擬示波器,可以觀察到如圖6的波形,驗證動態(tài)信號傳輸?shù)挠行?,這些不同模式、參數(shù)的實驗驗證只需在Proteus中作調(diào)整,不受任何硬件成本和場地的限制,這也是虛擬仿真在課程教學(xué)方面的最大優(yōu)勢。
三、結(jié)束語
本文以三單片機通信系統(tǒng)設(shè)計為例,介紹了基于電路輔助設(shè)計軟件Proteus的虛擬仿真技術(shù)在測控總線技術(shù)課程教學(xué)中的應(yīng)用。利用Proteus的電路輔助設(shè)計功能及豐富的虛擬仿真器件,將在KEIL UV4中編寫、調(diào)試編譯的單片機程序文件直接運行,直觀地看到運行結(jié)果更有助于學(xué)生理解原理、掌握方法、激發(fā)興趣。而且通信模式、參數(shù)的調(diào)整不受硬件條件限制。學(xué)生攜帶自己的筆記本電腦,可以在課堂上跟隨老師完成設(shè)計任務(wù),將實驗教學(xué)帶入課堂教學(xué)中去,打破課堂教學(xué)和實驗教學(xué)的時間、空間限制,實現(xiàn)完全融合,有效提高教學(xué)效果,使學(xué)生掌握基本的通信系統(tǒng)設(shè)計知識,并具有靈活運用課程所學(xué)知識解決實際問題的能力,為今后開展創(chuàng)新設(shè)計打下良好的基礎(chǔ)。
參考文獻:
[1]王先培.測控總線與儀器通信技術(shù)[M].北京:機械工業(yè)出版社,2012.
[2]陳志英.基于Proteus-Keil聯(lián)調(diào)與項目導(dǎo)向的單片機教學(xué)[J].電氣電子教學(xué)學(xué)報,2018,40(5):107-111.
[3]藺超文,汪菊.基于虛擬仿真的驗證性電路實驗教學(xué)研究[J].高教學(xué)刊,2017(21):107-109.
[4]張文廣,秦亮,劉生華.基于PXIe總線的網(wǎng)絡(luò)化測控技術(shù)實驗系統(tǒng)[J].實驗室研究與探索,2018,37(10):157-161.
[5]陳立周,陳宇.單片機原理及其應(yīng)用[M].北京:機械工業(yè)出版社,2015.
[6]陳海霞,徐智.基于Proteus的單片機串口通信的實例設(shè)計與仿真[J].科技信息,2011(9):458-459.
[7]陳軍.基于Proteus的串口通信系統(tǒng)仿真設(shè)計[J].自動化與儀器儀表,2012(4):51-53.
[8]孫萬麟.基于Proteus的單片機通信電路設(shè)計[J].實驗室研究與探索,2016,35(10):135-138.