智能采集設(shè)備仿真系統(tǒng)設(shè)計與實現(xiàn)
摘要:為了提高采集軟件開發(fā)與測試周期,在此設(shè)計了一種可模擬多型號智能采集設(shè)備的仿真系統(tǒng)。系統(tǒng)采用高性能、低功耗的ARM微處理器,有豐富的通信接口模塊。只需通過在上位PC機進行相應(yīng)設(shè)置,這種仿真系統(tǒng)可提供與某些設(shè)備相同通信協(xié)議的數(shù)據(jù)格式,并可同時模擬多種型號的智能采集設(shè)備。在采集軟件開發(fā)中,可替代智能設(shè)備測試采集程序。在此結(jié)合了嵌入式技術(shù)和仿真技術(shù),開發(fā)了一種新型采集軟件測試系統(tǒng)。利用所開發(fā)的原型系統(tǒng)驗證了設(shè)計方案的有效性。
關(guān)鍵詞:智能設(shè)備;數(shù)據(jù)采集;ARM;仿真系統(tǒng)
隨著控制領(lǐng)域科技的發(fā)展,數(shù)據(jù)采集已經(jīng)成為測控系統(tǒng)重要的組成部分。智能設(shè)備在數(shù)據(jù)采集系統(tǒng)中發(fā)揮著重要的作用。數(shù)據(jù)采集程序的測試過程需要在實驗室部署不同型號的智能儀表,延長了開發(fā)周期,降低數(shù)據(jù)采集程序的測試效率。本文設(shè)計的智能設(shè)備仿真系統(tǒng)解決了測試過程中部署設(shè)備繁瑣的問題。它可以同時模擬多種智能采集設(shè)備,通過軟件仿真就可以替代真實的智能采集設(shè)備,顯著降低了項目開發(fā)周期,提高了測試開發(fā)效率。
1 仿真系統(tǒng)總體設(shè)計
1.1 仿真系統(tǒng)功能
智能采集設(shè)備仿真系統(tǒng)的功能是用于實現(xiàn)各種型號數(shù)據(jù)采集智能儀表的模擬。不同型號的智能采集設(shè)備內(nèi)部體系結(jié)構(gòu)不同,外圍硬件接口和通信協(xié)議不同,功能也不同。因為只是用于測試采集程序,該仿真系統(tǒng)沒有硬件采集模塊,也沒有連接傳感器采集真實的數(shù)據(jù),所有的數(shù)據(jù)都由軟件來實現(xiàn)。
圖1是數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)圖。數(shù)據(jù)采集服務(wù)器是采集系統(tǒng)的中心。它通過不同接口與數(shù)據(jù)采集設(shè)備相連,控制智能設(shè)備采集數(shù)據(jù),通過互聯(lián)網(wǎng)將采集到的數(shù)據(jù)傳輸?shù)綌?shù)據(jù)后臺處理中心和顯示端。
圖2的結(jié)構(gòu)中用智能設(shè)備仿真系統(tǒng)替代了各種型號智能設(shè)備。該系統(tǒng)有多種通信接口,提供的數(shù)據(jù)格式與對應(yīng)型號的設(shè)備完全相同,通信協(xié)議也相同。在采集程序開發(fā)過程中,如果增加一種型號的智能采集儀表,只需在該系統(tǒng)中新增設(shè)備的仿真程序,測試階段不用布置真實設(shè)備,用該仿真程序測試采集程序的可靠性與穩(wěn)定性。[!--empirenews.page--]
1.2 仿真系統(tǒng)體系結(jié)構(gòu)
智能采集設(shè)備仿真系統(tǒng)由3層結(jié)構(gòu)組成。體系結(jié)構(gòu)如圖3所示。最底層是硬件部分,硬件核心控制器采用ARM9架構(gòu)的32位CMOS微控制器,還有內(nèi)存SDRAM、閃存FLASH以及通信接口硬件部分。中間層是系統(tǒng)層,它負責(zé)整個系統(tǒng)的資源調(diào)配,主要包含系統(tǒng)內(nèi)核、硬件驅(qū)動程序,以及通信協(xié)議部分。最上層是運行仿真程序和CVM虛擬機的應(yīng)用層,CVM虛擬機是運行仿真程序運行必不可少的部分,CVM具有完好的網(wǎng)絡(luò)功能,支持Java編寫的仿真程序。
2 系統(tǒng)硬件設(shè)計
系統(tǒng)硬件部分主要由5個模塊組成如圖4所示。包括:協(xié)議處理模塊、電源電路模塊、網(wǎng)絡(luò)接口模塊、串行通信接口模塊和JTAG接口模塊。
協(xié)議處理模塊是系統(tǒng)的控制中心,任務(wù)調(diào)度、通信協(xié)議、功能協(xié)調(diào)都需要這個模塊的支持,該模塊具有較高的可靠性和穩(wěn)定性。它由微控制器S3C2440AL-40,內(nèi)存SDRAM,閃存NAND FLASH,NOR FALSH以及電源穩(wěn)壓芯片構(gòu)成。
網(wǎng)絡(luò)接口模塊采用DAVICOM公司的芯片DM9000。由于S3C24如AL-40芯片內(nèi)部并沒有以太網(wǎng)的處理模塊,所以使用DM9000作為100 MHz的網(wǎng)
絡(luò)接口芯片。該芯片是一款完全集成的快速以太網(wǎng)MAC控制器,支持32位接口訪問內(nèi)部存儲器。此外該模塊還有一個型號為H1102NL的網(wǎng)絡(luò)濾波器芯片,起到信號過濾、隔離的作用。串口通信模塊采用應(yīng)用最廣泛的RS 232串口標(biāo)準(zhǔn)。JTAG接口模塊在系統(tǒng)軟件的移植和調(diào)試時起到重要作用,通過外部的JTAG調(diào)試電纜或仿真器與該系統(tǒng)連接。
系統(tǒng)中的協(xié)議處理模塊使用天嵌公司的TQ2440核心板,采用6層軍工布線設(shè)計,運行穩(wěn)定。該模塊通過192個外圍引腳引出了S3C2440AL-40控制器的大部分功能。其他硬件電路選擇了天嵌TQ2440開發(fā)板底板的部分功能,根據(jù)其底板自主設(shè)計了仿真系統(tǒng)硬件部分。
2.1 電源電路模塊
S3C2440AL-40 CPU的內(nèi)核供電電壓是1.25 V,I/O接口是3.3 V供電,在核心板上使用經(jīng)過低噪聲、低壓差線性穩(wěn)壓源MAX8860EUA穩(wěn)壓芯片,為CPU內(nèi)核提供所需電壓1.25 V。I/O接口使用的3.3 V電壓由穩(wěn)壓芯片AS2815AR-3.3提供,仿真系統(tǒng)采用的輸入電源是5 V,經(jīng)過穩(wěn)壓芯片穩(wěn)壓,可為系統(tǒng)提供3.3 V的電源。
2.2 網(wǎng)絡(luò)接口模塊
現(xiàn)如今很多智能采集設(shè)備都是采用網(wǎng)絡(luò)接口作為數(shù)據(jù)傳送通道,例如溫度采集設(shè)備DA100,MX100,DA100的采集模塊DS600或DS400也都是通過網(wǎng)口串聯(lián)的。網(wǎng)絡(luò)接口是仿真設(shè)備必不可少的接口。
DM9000芯片作為網(wǎng)絡(luò)通信的主芯片,它是100Mb/s自適應(yīng)以太網(wǎng)芯片,采用的封裝是QFP-100P,支持16位數(shù)據(jù)總線寬度,具有低功耗的特性,有很強的數(shù)據(jù)處理性能。
它和微控制器的引腳連接如圖5所示,IOR,IOW分別為處理器讀寫信號;AEN為片選信號與NGCS4連接;IOWAIT引腳為處理器命令就緒信號,低電平時候說明上一條處理器命令還沒有結(jié)束,這條指令等待;LDATA(0-15)是16位數(shù)據(jù)總線、NRESET是復(fù)位信號;CMD是訪問類型信號,低電平訪問地址端口,高電平訪問數(shù)據(jù)端口;EINT7是外部中斷信號。
[!--empirenews.page--]
3 仿真系統(tǒng)軟件設(shè)計
Linux具有穩(wěn)定性、開源性、可裁剪的特性,所以選擇將Linux內(nèi)核作為仿真系統(tǒng)的系統(tǒng)核心。移植大體步驟如下:
(1)U-boot移植:若沒有U-boot,兩種啟動方式都無法在超級終端上顯示。U-boot是系統(tǒng)運行時啟動的第一段代碼,負責(zé)調(diào)整系統(tǒng)到啟動內(nèi)核的最佳條件,移植時使用JTAG接口下載U-boot。
(2)Linux內(nèi)核編譯:首先要獲取內(nèi)核并配置編譯,通過Make menuconfig命令打開系統(tǒng)配置單,根據(jù)具體的硬件設(shè)置(硬件上面已說明),去除不需要編譯的硬件驅(qū)動模塊,保存配置單。用Make zImage命令編譯出zlmage鏡像,通過網(wǎng)口燒寫到NANDFLASH中。
(3)構(gòu)建文件系統(tǒng):使用的軟件是busboy,先配置之后編譯,過程和Linux內(nèi)核很像。把構(gòu)建好的文件系統(tǒng)鏡像燒寫到系統(tǒng)中,系統(tǒng)就可以正常啟動。
(4)CVM移植,CVM是JAVA虛擬機JVM壓縮版,系統(tǒng)中沒有內(nèi)置CVM,需要移植CVM虛擬機支持仿真程序。
4 系統(tǒng)驗證與測試
大量智能設(shè)備都采用RS485串口通信協(xié)議,下面以串口采集沒備8775A仿真程序測試系統(tǒng)性能。
8775A是青智儀器公司的電參數(shù)測量智能儀表,它通過串口與采集主機通信。當(dāng)它接收到命令格式幀為10H,03H,A1 A2 A3連續(xù)幀時會回送數(shù)據(jù):7DHA1A2A3D1D2…D52P1P2P37EH。其中7DH,7EH分別代表固定的數(shù)據(jù)頭和數(shù)據(jù)尾。A1A2A3代表設(shè)備地址,30H,31H,35H代表地址15。D1~D52代表該設(shè)備提供的數(shù)據(jù),分別為電壓(D1~D5)、電流(D8~D12)、功率(D15~D19)、功率因數(shù)(D22~D29)、頻率(D30~D33)、時間(D37~D42)和電能(D43~D49),P1P2P3是送回數(shù)據(jù)的校驗和。采集程序在獲取數(shù)據(jù)后會對連續(xù)的數(shù)據(jù)進行分析,獲取有用的數(shù)據(jù)。該仿真系統(tǒng)在收到發(fā)送數(shù)據(jù)的命令后,判斷是否為有效的命令格式,如果是則回送程序模擬的數(shù)據(jù),數(shù)據(jù)格式完全相同。仿真程序流程如圖6所示。
仿真程序設(shè)置串口的波特率、校驗位、數(shù)據(jù)位等信息。采集程序中的設(shè)置應(yīng)與其一樣。保證采集程序和仿真設(shè)備有相同的串口設(shè)置。通過驗證,采集程序可以從該系統(tǒng)采集到電壓、電流、功率等數(shù)據(jù)。圖7是通過串口小助手向仿真系統(tǒng)發(fā)送的采集命令后收到模擬軟件返回的數(shù)據(jù)。經(jīng)驗證,與8775A設(shè)備提供的參數(shù)類型一致。同樣,為網(wǎng)絡(luò)接口的設(shè)備也可以通過該系統(tǒng)實現(xiàn)仿真。
5 結(jié)語
本系統(tǒng)首次應(yīng)用在了國內(nèi)某大型家電產(chǎn)品公司冰箱測試軟件中數(shù)據(jù)采集部分的測試階段,通過把編寫的智能儀表DA100,UT351,8775A仿真程序下載到本系統(tǒng)中完成了冰箱測試軟件采集程序的可靠性測試。