ARM7-VxWorKs的網(wǎng)絡(luò)化實(shí)時(shí)彩色分析虛擬儀器
1.2 FPGA模塊
FPGA模塊的作用是將數(shù)據(jù)采集系統(tǒng)采集到的數(shù)據(jù)轉(zhuǎn)移到4510B通信系統(tǒng)板中,具體采用的是Altera的ACEX系列的芯片EPlKl00。數(shù)據(jù)采集系統(tǒng)主要由3塊串行輸出的ADS7809構(gòu)成,需要將數(shù)據(jù)線以及使能、中斷、時(shí)鐘等信號與FPGA相連。FPGA“串并轉(zhuǎn)換”A/D數(shù)據(jù)后,存儲(chǔ)在內(nèi)部的雙口SRAM中,供4510B讀取。FPGA與4510B的通信是系統(tǒng)難點(diǎn),以下詳細(xì)介紹。
ARM體系結(jié)構(gòu)將存儲(chǔ)器看作是從零地址開始字節(jié)的線性組臺。從O字節(jié)到3字節(jié)放置第1個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),從第4個(gè)字節(jié)到第7個(gè)字節(jié)放置第2個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),依次排列。4510B可以根據(jù)設(shè)置的數(shù)據(jù)總線寬度自動(dòng)把內(nèi)部地址總線移位輸出到外部地址總線,因此FPGA與4510B互連時(shí),不需要根據(jù)存儲(chǔ)器寬度來移位地址總線,即ADDR[0]總是接存儲(chǔ)器地址的最低位即可。4510B這一特點(diǎn)以及與FPGA的連接方法如圖3所示。
1.3基于VxWorks的TCP/IP數(shù)據(jù)封裝
45l0B的通信系統(tǒng)板可以實(shí)時(shí)完成把采集到數(shù)據(jù)進(jìn)行TCP/IP協(xié)議封裝的功能,需要采用嵌入式操作系統(tǒng)。我們采用了VxWorks操作系統(tǒng),屬于強(qiáng)實(shí)時(shí)系統(tǒng)。該系統(tǒng)提供支持ARM7TDMI內(nèi)核的板級支持包以及TCP/IP工具包。下面是在4510B上配置VxWorks的方法。
首先要調(diào)試VxWorks在4510B上的BSP,其中eonfigh是一個(gè)重要的配置文件。該文件中最需要關(guān)注的一部分配置就是對存儲(chǔ)空間的配置。
#defineROM BASE ADRS 0x01000000 /*Flash起始點(diǎn)?*/
#defineROM TEXT ADRS 0x01000000 /*ROM的開始地址*/
#define ROM SIZE 0x00100000 /*VxWorks占用的
#define RAM LOW ADRS 0x00001000 */VxWorks~鏡像進(jìn)入點(diǎn)*/
#define RAM HIGH ADRS 0x00100000 /*為ROM啟動(dòng)的
RAM地址*/
相應(yīng)的,在MAKEFILE文件中對內(nèi)存的設(shè)置要與上面相同。
ROM_TEXT ADRS=01000000#ROM entry address
ROM WARM_ADRS=01000004#ROMwarmentry address
ROM SIZE=00100000#numberofbytes ofROM space
RAM_LOW ADRS=00001000#RAM text/data address(bootrom]
RAM_HIGH_ADRS=00100000#RAMtext/data address(bootrom)
在VxWorks系統(tǒng)中數(shù)據(jù)封裝的方法如下。
為了及時(shí)響應(yīng)外部的數(shù)據(jù)讀取請求,4510B的軟件中采用中斷處理方式讀取FPGA中的A/D數(shù)據(jù)緩存。為了保障連續(xù)的采集和傳輸,對于這部分?jǐn)?shù)據(jù)緩存采用“乒乓法”。待當(dāng)前緩存區(qū)存滿時(shí),從中斷處理程序中釋放一個(gè)二進(jìn)制信號量給上傳任務(wù),由上傳任務(wù)負(fù)責(zé)TCP數(shù)據(jù)封裝,并且數(shù)據(jù)存儲(chǔ)的指針切換到另一塊緩存區(qū)。VxWoks使用與BSD4.4 Socket兼容的TCP/IP網(wǎng)絡(luò)協(xié)議棧。目此,基于BSD4.4 UNIX Socket的網(wǎng)絡(luò)應(yīng)用程序可以很方便的移植到VxWorks中來。對于VxWorks下的TCP/IP編程方法[3]這里不再詳述。
2 PG端軟件系統(tǒng)及實(shí)驗(yàn)結(jié)果
由于采用了TCP/IP協(xié)議以及100M以太網(wǎng)的傳輸方案,符合國際標(biāo)準(zhǔn),因此PC端軟件系統(tǒng)的開發(fā)非常方便,本課題采用了美國NI公司的Labwindows/CVI來開發(fā),它是基于標(biāo)準(zhǔn)C語言的虛擬儀器開發(fā)工具,提供了包括按鈕、換檔開關(guān)、示波器等在內(nèi)的大量人機(jī)界面函數(shù)一以及包括快速傅立葉變換、均方差計(jì)算、數(shù)字濾波等在內(nèi)的信號處理函數(shù),大大簡化了開發(fā)進(jìn)程。在CSE808系統(tǒng)中,4510B通信系統(tǒng)板的IP地址為192.168.0198,作為TCP的Server端;主控PC的IP地址為192.168.0.188,作為TCP的Client端。圖4顯示的是測試得到的I一種CRT顯示器的亮度和兩個(gè)色度信號的瞬態(tài)波形。顯示器設(shè)置的刷新頻率是85Hz,CSE808系統(tǒng)的采集速率是通道16位并行20kHz。測試結(jié)果是三個(gè)通道的刷新頻群分別是84.9Hz、85.lHz、85.0Hz,證明系統(tǒng)工作正常。
3 結(jié)論
本論文設(shè)計(jì)制作了一種并行網(wǎng)絡(luò)化實(shí)時(shí)彩色分析虛擬儀器。為了實(shí)現(xiàn)高速測試系統(tǒng)互聯(lián),本文采用了100M以太網(wǎng)和TCP/IP網(wǎng)絡(luò)通信協(xié)議。設(shè)計(jì)思想的新穎之處是在網(wǎng)絡(luò)通信層達(dá)到了資源共享,用通用的ARM7TDI內(nèi)核的三星4510B通信系統(tǒng)板完成復(fù)雜的數(shù)據(jù)封裝等網(wǎng)絡(luò)通信工作,并且用VXWorks嵌入式操作系統(tǒng)增加系統(tǒng)的穩(wěn)定性。
評論