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