【摘要】針對智能儀器儀表設(shè)計中硬件成本高、開發(fā)周期長的特點,提出在課程教學(xué)中采用Proteus 仿真軟件進行儀器系統(tǒng)設(shè)計的仿真教學(xué)思路,它相比實際硬件制板的開發(fā)效率大為提高,也不受實驗箱硬件資源、結(jié)構(gòu)和功能的限制,幫助學(xué)生很快實現(xiàn)從理論概念到真實儀器的突破。教學(xué)實踐表明,使用Proteus 仿真軟件進行儀器系統(tǒng)設(shè)計可使教學(xué)效果大為提高。
【關(guān)鍵詞】Proteus 仿真 儀器設(shè)計 元器件
【中圖分類號】G642 【文獻標識碼】A 【文章編號】2095-3089(2013)11-0222-02
智能儀器儀表課程是一門涉及多個學(xué)科門類、綜合性、實踐性很強的課程[1,2]。學(xué)生必須親自動手設(shè)計硬件電路、編制軟件程序,經(jīng)過反復(fù)調(diào)試才能達到良好的教學(xué)效果,這一過程不僅周期較長,而且儀器系統(tǒng)硬件投入成本較大;同時對于初學(xué)者來說很難保證硬件設(shè)計和軟件設(shè)計的正確性,出現(xiàn)問題后很難確定故障來源,這給儀器的調(diào)試帶來困難。“工欲善其事,必先利其器”,如能使用軟硬件一體化的仿真軟件進行儀器的仿真設(shè)計,驗證設(shè)計的正確性不僅能收到事倍功半的效果,同時硬件成本也大為降低。Proteus作為目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,在智能化儀器儀表課程的硬件設(shè)計中可以大有作為,它使學(xué)生在這一環(huán)境中可以隨心所欲地設(shè)計自己的儀器,不受物理器件的限制;同時,利用針對51系列兼容單片機的C語言軟件集成開發(fā)環(huán)境Keil C μVersion,可以開發(fā)儀器程序;二款軟件有機配合,使本門課程達到在學(xué)中做、做中學(xué)、邊學(xué)邊做、邊做邊學(xué)的目的,可以收到立竿見影的教學(xué)效果,培養(yǎng)了學(xué)生的學(xué)習(xí)興趣。
1.軟件介紹
Proteus是一款電路仿真軟件,它由英國Labcenter Electronics公司開發(fā),能夠?qū)崟r仿真包括單片機、ARM在內(nèi)的多種微處理器系統(tǒng),是目前世界上比較先進和完整的嵌入式系統(tǒng)硬件和軟件仿真平臺,可以實現(xiàn)數(shù)字電路、模擬電路及微控制器系統(tǒng)與外設(shè)的混合電路系統(tǒng)的電路仿真、軟件仿真、系統(tǒng)協(xié)同仿真和PCB設(shè)計等功能,是目前能夠?qū)Ω鞣N處理器進行實時仿真、調(diào)試與測試的EDA工具之一。Proteus軟件由兩部分組成:一部分是智能原理圖輸入系統(tǒng)ISIS(Intelligent Schematic Input System)和虛擬模型系統(tǒng)VSM(Virtual Model System);另一部分是高級布線及編輯軟件ARES(Advanced? Routing and Editing Software),用于設(shè)計印刷線路板(PCB)。
Proteus支持第三方的軟件編譯和調(diào)試環(huán)境,比較常用的是Keil C51 uVision 開發(fā)軟件。Keil C51是美國Keil Software公司出品的針對51系列兼容單片機的C語言軟件開發(fā)系統(tǒng),其集成開發(fā)環(huán)境Keil C μVersion的版本不斷更新,現(xiàn)在使用較普遍的是Keil C μVision4軟件,它支持眾多不同公司的微處理器芯片,集編輯、編譯和程序仿真于一體,同時還支持PLM、匯編和C語言的程序設(shè)計,它的界面友好易學(xué),在調(diào)試程序、軟件仿真方面具有很好的功能。
Proteus軟件用于構(gòu)建智能化儀器儀表的硬件環(huán)境[3],Keil軟件主要用于構(gòu)建軟件環(huán)境,二者經(jīng)過有機配合,可以進行儀器系統(tǒng)的軟硬件設(shè)計和聯(lián)合調(diào)試,這樣就可以構(gòu)建一個智能化儀器儀表的虛擬開發(fā)平臺,驗證軟硬件設(shè)計方案的正確性,使儀器研發(fā)取得事半功倍的效果。
2.Proteus軟件仿真的的優(yōu)勢
在智能化儀器儀表課程中實驗教學(xué)環(huán)節(jié)包含單片機的串口通信、外部中斷、并行口、A/D和D/A轉(zhuǎn)換等方面的內(nèi)容,需要擴展外圍驅(qū)動電路、功能芯片和終端設(shè)備如LED、LCD、蜂鳴器等才能組成儀器系統(tǒng)。如果初學(xué)者開始就加工制板,會帶來一系列問題,首先電路板加工完后,具有不可逆性,功能固定,很難重復(fù)利用;二是器件焊接后難以拆取,不便于更換;三是電路設(shè)計的正確性難以保證,不能方便更改設(shè)計方案。這些不僅增加了硬件成本,而且開發(fā)周期較長,學(xué)生的收獲也會事倍功半。如果利用實驗箱進行教學(xué),在不考慮其價格的情況下,由于硬件實驗箱資源、結(jié)構(gòu)、功能都已固定,學(xué)生在做實驗時雖然可以直觀的看到一些物理元器件,并動手進行端子連接、操作按鈕等實踐活動,但對儀器系統(tǒng)的接口電路設(shè)計很難有全面的概念,無法將所學(xué)的知識融會貫通,不會實現(xiàn)從理論到實踐的突破[4,5]。采用Proteus 軟件仿真給初學(xué)者進行硬件設(shè)計帶來了極大方便,首先設(shè)計方案可以隨時改變,元器件可以隨意更換,不受固定板子的限制,可以反復(fù)糾正錯誤、改進設(shè)計方案,沒有硬件成本的顧慮;二是整個儀器的設(shè)計過程都需要學(xué)生自己規(guī)劃方案、選擇器件、進行接口連接,很容易幫助幫助學(xué)生建立起整體系統(tǒng)的概念,達到融會貫通的目的;三是不同儀器的電路有共性特征,可以把已有的設(shè)計方便的改造成其它儀器;最后Proteus 提供了豐富的仿真工具,包括探針、多種激勵源、可視化顯示器件等,具備硬件實驗箱所沒有的功能,給學(xué)生進行儀器設(shè)計提供了便利手段。
3.仿真儀器設(shè)計實例
下面通過四通道數(shù)據(jù)采集器設(shè)計實例說明利用Proteus設(shè)計儀器的過程。
3.1功能要求
(1)采用四路16位高精度ADC芯片ADS7825完成對四路模擬量信號的采集,模擬電壓信號采用電位器進行模擬,輸入電壓范圍0~10.24V。
(2)采用Proteus中的字符點陣液晶顯示器LM044L作為輸出器件,分行顯示各通道的采集的數(shù)據(jù),其格式如圖1中LCD所示。
3.2 電路設(shè)計
Proteus 在繪制硬件原理圖時與DXP、EWB 等類似,都要先從軟件包的器件庫里選取所需的元器件,然后拖放在繪圖區(qū)適當?shù)奈恢茫詈缶庉嬙骷膮?shù),并實現(xiàn)電路連線等步驟。
按照功能要求要求,列出所需的元器件清單,如表1 所示。
根據(jù)清單,將元件庫中的符號模型添加到對象選擇器窗口,在Proteus ISIS工作區(qū)繪制原理圖并設(shè)置如表1中所示各元件參數(shù),完整硬件電路原理圖如圖1所示。圖中電路可分為四個主要部分:AT89C51的復(fù)位電路、模擬量輸入電路、AT89C51與ADS7825轉(zhuǎn)換器的接口電路和AT89C51與LCD的接口電路。ADS7825與AT89C511單片機的引腳連接關(guān)系可由圖1看出,通道選擇由P3.1和P3.0組合控制,單片機P2口在傳送高8位地址的過程中,對ADS7825的控制命令也附加在其間,實現(xiàn)對ADS7825的啟動轉(zhuǎn)換以及數(shù)據(jù)讀取等操作。很明顯這里ADS7825與MCS-51單片機的連接屬于并行存儲器擴展連接范疇,按照ADS7825的時序要求及存儲器擴展地址確定方法,可以確定轉(zhuǎn)換啟動端口、高8位數(shù)據(jù)讀取端口和低8位數(shù)據(jù)讀取端口的地址分別為8FFF、9FFF和BFFF。
3.3軟件設(shè)計
在軟件設(shè)計中,通過查詢方式讀取ADS7825 的轉(zhuǎn)換結(jié)果,由于轉(zhuǎn)換結(jié)果為十六位數(shù)據(jù),所以必須分兩次來讀取轉(zhuǎn)換結(jié)果的高8位和低8位數(shù)據(jù),然后再將高8位和低8位拼接成16位數(shù)據(jù),經(jīng)過量度變換后輸出到LCD上進行顯示。
軟件分為三個部分:主函數(shù)、數(shù)據(jù)采集函數(shù)、LCD顯示函數(shù)
主函數(shù)主要完成液晶顯示器的初始化、分通道數(shù)據(jù)采集及送顯示任務(wù),主函數(shù)流程如圖2(1)所示。
數(shù)據(jù)采集函數(shù)實現(xiàn)不同通道數(shù)據(jù)的采集任務(wù),首先發(fā)出對應(yīng)通道的P3.1、P3.0輸出值,然后發(fā)出啟動轉(zhuǎn)換命令,AD開始工作后要不斷查詢轉(zhuǎn)換結(jié)束標志,轉(zhuǎn)換結(jié)束后分別讀取數(shù)據(jù)的高8位和低8位,并組合成16位數(shù)據(jù),接著要進行整型數(shù)據(jù)到字符串的轉(zhuǎn)換,這樣做的目的是為了滿足液晶顯示器顯示字符的需要。該函數(shù)流程如圖2(2)所示。
LCD顯示函數(shù)較為簡單,主要完成把各通道采集的數(shù)據(jù)送到LCD對應(yīng)的行位置顯示。
3.4仿真效果
在Keil μVision4下進行程序編輯,將生成的HEX加載到Proteus的單片機中,然后進行仿真運行,調(diào)節(jié)四個電位器,可以看到液晶顯示器上顯示各通道數(shù)據(jù)的變化情況,圖1中LCD顯示的數(shù)字是電位器在某一位置時的A/D轉(zhuǎn)換結(jié)果。
4.結(jié)論
利用Proteus 仿真軟件進行智能儀器儀表的設(shè)計不存在硬件材料消耗和元器件質(zhì)量影響、損壞等問題,所做設(shè)計具有重構(gòu)性,它豐富的器件庫和強大的仿真功能可以幫助學(xué)生更快、更好地學(xué)習(xí)、掌握儀器設(shè)計的精髓,較快實現(xiàn)從理論抽象到具體儀器跨越,預(yù)先看到“真實的儀器”,為學(xué)生實踐創(chuàng)新能力的培養(yǎng)提供了捷徑,對智能儀器儀表課程的教學(xué)起到事半功倍的效果。
參考文獻:
[1]史鍵芳. 智能儀器設(shè)計基礎(chǔ)[M]. 北京:電子工業(yè)出版社,2007.
[2]賈振國. 智能化儀器儀表原理及應(yīng)用[M]. 北京:中國水利水電出版社,2011.
[3]江世明. 基于Proteus的單片機應(yīng)用技術(shù)[M]. 北京:電子工業(yè)出版社,2009.
[4]胡景春,葉水生,韓旭等. 計算機科學(xué)與技術(shù)專業(yè)硬件教學(xué)實踐環(huán)節(jié)的綜合研究與建設(shè)[J]. 實驗技術(shù)與管理, 2010.3:12-14.
[5]袁鋒偉,趙立宏,朱慧玲等. 基于Proteus 的單片機課程教學(xué)與實驗改革[J].實驗室研究與探索,2007.26(12)::75-78.