ARM7一VxWorKs的網(wǎng)絡(luò)化實(shí)時(shí)彩色分析虛擬儀器
人眼的視覺可以感受380nm~780nto范圍內(nèi)的光信號,但對不同波長光的敏感程度不同。l924年國際照明委員會(huì)CIE公布了2。視場明視覺光譜光視效率函數(shù)V(γ)[1]。仿真人眼亮度感受的光度探測器通常是由光電二極管PIN構(gòu)成的,核心是利用濾色玻璃將PIN的光譜光視效率修正得與(V)盡可能地相似。人眼對色彩的感受來源于人眼視網(wǎng)膜上的3種錐體細(xì)胞,分別對應(yīng)紅紅(R)、綠(G)、藍(lán)(B)三種顏色。但RGB色度系統(tǒng)的色度函群在某些波段為負(fù)值,難于理解和計(jì)算,因此目前最常CIEl931 xyY坐標(biāo)系統(tǒng)。其中Y代表亮度,xy分代表紅色和綠色的色度,藍(lán)色的色度是紅色和綠色的色度補(bǔ)值,其光譜函數(shù)稱為ClEl93l 2。視場標(biāo)準(zhǔn)觀察者色度函數(shù),分別用X(λ)、和z(λ)表示,其中y(λ)=V
(λ),如圖1所示。
在彩色電視白場測試領(lǐng)域,通常采用由與圖1 色度變換(I/V)構(gòu)成集成化探頭,而將A/D變換與色度計(jì)算等工作交給PC機(jī)處理,例如美國Klein公司的K5/10系列。利用PC軟件技術(shù),K5/10系列增加了頻譜分析功能,可以分析O~100Hz內(nèi)的電視及計(jì)算機(jī)顯示器的“閃爍”,是CAl00/200系列所不能完成的。
在本文的工作中,筆者設(shè)計(jì)制作了CSE808新型的彩色分析虛擬儀器,特點(diǎn)在于將虛擬儀器的概念擴(kuò)展到通信系統(tǒng)層的資源共享。采用ARM7TDMI內(nèi)核的三星4510B硬件通信系統(tǒng)以及Vxworks嵌入式軟件實(shí)時(shí)操作系統(tǒng),實(shí)現(xiàn)了3路16位并行20kHz采樣率的光度色度數(shù)據(jù)采集,并采用100M以太網(wǎng)和TCP/IP協(xié)議傳輸數(shù)據(jù),領(lǐng)先于美國Klein公司的K5/10系列彩色分析儀。預(yù)計(jì)該系統(tǒng)在“刷新頻率”、“響應(yīng)時(shí)間”等與顯示器相關(guān)的瞬態(tài)光度色度計(jì)量測試領(lǐng)域具有重要意義,在航空閃光警示燈質(zhì)量檢定領(lǐng)域也具有重要應(yīng)用價(jià)值。
1 CsE808彩色分析虛擬儀器的設(shè)計(jì)
1.1總體設(shè)計(jì)方案
由于電視及顯示器的幀頻或刷新率一般在l00Hz以內(nèi),因此系統(tǒng)的總體設(shè)計(jì)目標(biāo)是可以進(jìn)行3路并行10kHz取樣率、12位精度以上的實(shí)時(shí)彩色分析,如此的數(shù)據(jù)量采用傳統(tǒng)的RS232串口(通常幾十Kb/s)以及IEEE488(GPIB,通常幾Mb/s)接口都不能保證實(shí)時(shí)性,必須采用更高帶寬的探測器與虛擬儀器主機(jī)系統(tǒng)互連方案。一種當(dāng)前普遍采用的方案是基于ISA/PcI接口的插卡式A/D,但模擬信號需要從現(xiàn)場到主機(jī)進(jìn)行傳輸,距離受到很大限制。電視或顯示器工廠需要生產(chǎn)線在線彩色分析系統(tǒng),要求具有可擴(kuò)展、可管理、遠(yuǎn)程、多探測系統(tǒng)并行工作等能力,因此采用了TCP/IP協(xié)議以及100M以太網(wǎng)的傳輸方案,以滿足以上需求,但缺點(diǎn)是比較復(fù)雜。虛擬儀器概念的核心應(yīng)該不僅僅局限于軟件,而是擴(kuò)展到更廣義的資源共享。美國的NI公司提出“軟件就是儀器",在本文中,提出“資源共享就是虛擬儀器”,并把這種思想應(yīng)用到彩色分析虛擬儀器的系統(tǒng)互連設(shè)計(jì)上。具體而言,將比較復(fù)雜的TCP/IP協(xié)議以及100M以太網(wǎng)傳輸部分用通用的通信系統(tǒng)板來實(shí)現(xiàn),具體采用的是目前比較成熟的ARM7TDMI內(nèi)核的韓國三星4510B通信系統(tǒng)板,未來的工業(yè)級應(yīng)用可以考慮移植到Atmel公司的系統(tǒng)上。這種深入到數(shù)據(jù)傳輸層面虛擬儀器方案的實(shí)現(xiàn)難點(diǎn)在于,數(shù)據(jù)采集系統(tǒng)與通用通信系統(tǒng)板的互連,筆者采用FPGA來完成接口轉(zhuǎn)換。采集到的數(shù)據(jù)封裝成TCP/IP包的過程由嵌入在通信系統(tǒng)板上的VxWorks實(shí)時(shí)操作系統(tǒng)實(shí)現(xiàn)。系統(tǒng)整體結(jié)構(gòu)如圖2所示。
色度探測器是加色度濾色片的光電二極管PIN,輸出信號為光電流,強(qiáng)度與PIN接收面上光的照度成正比。信號調(diào)理部分由兩部分構(gòu)成,首先是光電流經(jīng)l/V變換為電壓信號,然后再經(jīng)過2級電壓放大,由換檔開關(guān)決定放大倍數(shù)。信號調(diào)理部分在保證30kHz帶寬的情況下盡量減小噪聲是設(shè)計(jì)的關(guān)鍵。由于是并行彩色分析,因此數(shù)據(jù)采集系統(tǒng)采用了3路16位A/D,為了盡量簡化引腳引線,因此采用了串行輸出的A/D。
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é)的線性組臺(tái)。從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)?*/
#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)定性。
tcp/ip相關(guān)文章:tcp/ip是什么
評論