特種光源、彩色顯示等行業的基礎是彩色的還原與傳遞,在光學計量領域屬于光源的光度和色度計量范疇,色坐標和亮度因數是主要的參數之一。光度、色度測試系統的性能,在高清晰度數字電視的白場基準測試、高清晰度數字攝像機白平衡校準以及半導體光電二極管LED照明和全彩色顯示的白場均勻性測試等領域發揮著基礎性關鍵作用。 人眼的視覺可以感受380nm~780nto范圍內的光信號,但對不同波長光的敏感程度不同。l924年國際照明委員會CIE公布了2。視場明視覺光譜光視效率函數V(γ)。仿真人眼亮度感受的光度探測器通常是由光電二極管PIN構成的,核心是利用濾色玻璃將PIN的光譜光視效率修正得與(V)盡可能地相似。人眼對色彩的感受來源于人眼視網膜上的3種錐體細胞,分別對應紅紅(R)、綠(G)、藍(B)三種顏色。但RGB色度系統的色度函群在某些波段為負值,難于理解和計算,因此目前最常CIEl931 xyY坐標系統。其中Y代表亮度,xy分代表紅色和綠色的色度,藍色的色度是紅色和綠色的色度補值,其光譜函數稱為ClEl93l 2。視場標準觀察者色度函數,分別用X(λ)、和z(λ)表示,其中y(λ)=V(λ),如圖1所示。 在彩色電視白場測試領域,通常采用由與圖1 色度變換(I/V)構成集成化探頭,而將A/D變換與色度計算等工作交給PC機處理,例如美國Klein公司的K5/10系列。利用PC軟件技術,K5/10系列增加了頻譜分析功能,可以分析O~100Hz內的電視及計算機顯示器的“閃爍”,是CAl00/200系列所不能完成的。 在本文的工作中,筆者設計制作了CSE808新型的彩色分析虛擬儀器,特點在于將虛擬儀器的概念擴展到通信系統層的資源共享。采用ARM7TDMI內核的三星4510B硬件通信系統以及Vxworks嵌入式軟件實時操作系統,實現了3路16位并行20kHz采樣率的光度色度數據采集,并采用100M以太網和TCP/IP協議傳輸數據,領先于美國Klein公司的K5/10系列彩色分析儀。預計該系統在“刷新頻率”、“響應時間”等與顯示器相關的瞬態光度色度計量測試領域具有重要意義,在航空閃光警示燈質量檢定領域也具有重要應用價值。 1 CsE808彩色分析虛擬儀器的設計 1.1總體設計方案 由于電視及顯示器的幀頻或刷新率一般在l00Hz以內,因此系統的總體設計目標是可以進行3路并行10kHz取樣率、12位精度以上的實時彩色分析,如此的數據量采用傳統的RS232串口(通常幾十Kb/s)以及IEEE488(GPIB,通常幾Mb/s)接口都不能保證實時性,必須采用更高帶寬的探測器與虛擬儀器主機系統互連方案。一種當前普遍采用的方案是基于ISA/PcI接口的插卡式A/D,但模擬信號需要從現場到主機進行傳輸,距離受到很大限制。電視或顯示器工廠需要生產線在線彩色分析系統,要求具有可擴展、可管理、遠程、多探測系統并行工作等能力,因此采用了TCP/IP協議以及100M以太網的傳輸方案,以滿足以上需求,但缺點是比較復雜。虛擬儀器概念的核心應該不僅僅局限于軟件,而是擴展到更廣義的資源共享。美國的NI公司提出“軟件就是儀器",在本文中,提出“資源共享就是虛擬儀器”,并把這種思想應用到彩色分析虛擬儀器的系統互連設計上。具體而言,將比較復雜的TCP/IP協議以及100M以太網傳輸部分用通用的通信系統板來實現,具體采用的是目前比較成熟的ARM7TDMI內核的韓國三星4510B通信系統板,未來的工業級應用可以考慮移植到Atmel公司的系統上。這種深入到數據傳輸層面虛擬儀器方案的實現難點在于,數據采集系統與通用通信系統板的互連,筆者采用FPGA來完成接口轉換。采集到的數據封裝成TCP/IP包的過程由嵌入在通信系統板上的VxWorks實時操作系統實現。系統整體結構如圖2所示。 色度探測器是加色度濾色片的光電二極管PIN,輸出信號為光電流,強度與PIN接收面上光的照度成正比。信號調理部分由兩部分構成,首先是光電流經l/V變換為電壓信號,然后再經過2級電壓放大,由換檔開關決定放大倍數。信號調理部分在保證30kHz帶寬的情況下盡量減小噪聲是設計的關鍵。由于是并行彩色分析,因此數據采集系統采用了3路16位A/D,為了盡量簡化引腳引線,因此采用了串行輸出的A/D。 1.2 FPGA模塊 FPGA模塊的作用是將數據采集系統采集到的數據轉移到4510B通信系統板中,具體采用的是Altera的ACEX系列的芯片EPlKl00。數據采集系統主要由3塊串行輸出的ADS7809構成,需要將數據線以及使能、中斷、時鐘等信號與FPGA相連。FPGA“串并轉換”A/D數據后,存儲在內部的雙口SRAM中,供4510B讀取。FPGA與4510B的通信是系統難點,以下詳細介紹。 ARM體系結構將存儲器看作是從零地址開始字節的線性組臺。從O字節到3字節放置第1個存儲的字數據,從第4個字節到第7個字節放置第2個存儲的字數據,依次排列。4510B可以根據設置的數據總線寬度自動把內部地址總線移位輸出到外部地址總線,因此FPGA與4510B互連時,不需要根據存儲器寬度來移位地址總線,即ADDR[0]總是接存儲器地址的最低位即可。4510B這一特點以及與FPGA的連接方法如圖3所示。 1.3基于VxWorks的TCP/IP數據封裝 45l0B的通信系統板可以實時完成把采集到數據進行TCP/IP協議封裝的功能,需要采用嵌入式操作系統。我們采用了VxWorks操作系統,屬于強實時系統。該系統提供支持ARM7TDMI內核的板級支持包以及TCP/IP工具包。下面是在4510B上配置VxWorks的方法。 首先要調試VxWorks在4510B上的BSP,其中eonfigh是一個重要的配置文件。該文件中最需要關注的一部分配置就是對存儲空間的配置。 #defineROM BASE ADRS 0x01000000 /*Flash起始點?*/ #defineROM TEXT ADRS 0x01000000 /*ROM的開始地址*/ #define ROM SIZE 0x00100000 /*VxWorks占用的 #define RAM LOW ADRS 0x00001000 */VxWorks"鏡像進入點*/ #define RAM HIGH ADRS 0x00100000 /*為ROM啟動的 RAM地址*/ 相應的,在MAKEFILE文件中對內存的設置要與上面相同。 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系統中數據封裝的方法如下。 為了及時響應外部的數據讀取請求,4510B的軟件中采用中斷處理方式讀取FPGA中的A/D數據緩存。為了保障連續的采集和傳輸,對于這部分數據緩存采用“乒乓法”。待當前緩存區存滿時,從中斷處理程序中釋放一個二進制信號量給上傳任務,由上傳任務負責TCP數據封裝,并且數據存儲的指針切換到另一塊緩存區。VxWoks使用與BSD4.4 Socket兼容的TCP/IP網絡協議棧。目此,基于BSD4.4 UNIX Socket的網絡應用程序可以很方便的移植到VxWorks中來。對于VxWorks下的TCP/IP編程方法這里不再詳述。 2 PG端軟件系統及實驗結果 由于采用了TCP/IP協議以及100M以太網的傳輸方案,符合國際標準,因此PC端軟件系統的開發非常方便,本課題采用了美國NI公司的Labwindows/CVI來開發,它是基于標準C語言的虛擬儀器開發工具,提供了包括按鈕、換檔開關、示波器等在內的大量人機界面函數一以及包括快速傅立葉變換、均方差計算、數字濾波等在內的信號處理函數,大大簡化了開發進程。在CSE808系統中,4510B通信系統板的IP地址為192.168.0198,作為TCP的Server端;主控PC的IP地址為192.168.0.188,作為TCP的Client端。圖4顯示的是測試得到的I一種CRT顯示器的亮度和兩個色度信號的瞬態波形。顯示器設置的刷新頻率是85Hz,CSE808系統的采集速率是通道16位并行20kHz。測試結果是三個通道的刷新頻群分別是84.9Hz、85.lHz、85.0Hz,證明系統工作正常。 3 結論 本論文設計制作了一種并行網絡化實時彩色分析虛擬儀器。為了實現高速測試系統互聯,本文采用了100M以太網和TCP/IP網絡通信協議。設計思想的新穎之處是在網絡通信層達到了資源共享,用通用的ARM7TDI內核的三星4510B通信系統板完成復雜的數據封裝等網絡通信工作,并且用VXWorks嵌入式操作系統增加系統的穩定性。 |