作者:李松林 李福平 (北京中科泛華測(cè)控技術(shù)有限公司 北京 100083)
摘要:本文介紹了一種基于虛擬儀器技術(shù)的四路圖像發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程,體現(xiàn)了虛擬儀器技術(shù)在硬件在環(huán)仿真方面的應(yīng)用。本系統(tǒng)已經(jīng)投入使用,并取得令人滿意的效果。
關(guān)鍵詞:圖像信號(hào)輸出 虛擬儀器 硬件在環(huán)仿真
Design and Implementation of Image Signal Generator Based on Virtual Instruments
Li Songlin Li Fuping
(Beijing Zhong Ke Fan Hua Measurement & Control Technology Co., Ltd Beijing 100083)
Abstract: The Design and implementation of an image signal Generator base on virtual instrument is introduced in this paper, which represents the application of hardware in loop simulation with virtual instruments. The image generator has been put into use, and the satisfied results have been achieved.
Keywords: Image Signal Output, Virtual Instrument, Hardware in Loop Simulation
硬件在環(huán)仿真作為設(shè)計(jì)流程中重要組成部分,是對(duì)運(yùn)行環(huán)境中的某些設(shè)備進(jìn)行逼真的實(shí)際I/O信號(hào)的模擬。通過(guò)這種方式,不僅可以降低實(shí)際系統(tǒng)運(yùn)行的風(fēng)險(xiǎn),模擬現(xiàn)實(shí)世界中不易實(shí)現(xiàn)的極端實(shí)驗(yàn)環(huán)境,還可以在設(shè)計(jì)階段對(duì)系統(tǒng)設(shè)計(jì)方案進(jìn)行驗(yàn)證。模塊化硬件結(jié)合高效靈活的軟件為我們搭建了一個(gè)可以進(jìn)行硬件在環(huán)仿真的平臺(tái),這也正是虛擬儀器技術(shù)的體現(xiàn)。
圖1實(shí)線部分為圖像采集與處理系統(tǒng)的基本組

圖1 系統(tǒng)結(jié)構(gòu)圖
成。主要包括:時(shí)鐘源、圖像采集器和圖像接收器。時(shí)鐘源主要為圖像采集器和圖像接收器提供采樣時(shí)鐘和同步時(shí)鐘;圖像采集器由CCD攝像頭和相應(yīng)的轉(zhuǎn)換電路組成,用于實(shí)時(shí)采集周圍的圖像信息,圖像接收器用于接收來(lái)自圖像采集器的信號(hào)并進(jìn)行實(shí)時(shí)顯示。
目前,圖像接收器已完成初步設(shè)計(jì),為降低系統(tǒng)設(shè)計(jì)的風(fēng)險(xiǎn)和成本,采用硬件在環(huán)仿真技術(shù)對(duì)圖像接收器進(jìn)行測(cè)試,并在測(cè)試成功后繼續(xù)仿真圖像采集器的輸出數(shù)據(jù),以模擬產(chǎn)生某些實(shí)驗(yàn)條件。其原理如圖1虛線部分所示。模塊化硬件結(jié)合測(cè)試仿真軟件組成圖像發(fā)生器,用于仿真時(shí)鐘源和圖像采集器的實(shí)際功能,產(chǎn)生各種時(shí)鐘和圖像信號(hào)。
圖像發(fā)生器要實(shí)現(xiàn)的功能主要包括:
1)產(chǎn)生可配置的采樣時(shí)鐘和同步時(shí)鐘。采樣時(shí)鐘提供了圖像發(fā)生器和圖像接收器進(jìn)行圖像輸出和圖像接收的時(shí)鐘信號(hào);同步時(shí)鐘提供了圖像發(fā)生器和圖像接收器的幀同步信號(hào)。
2)分析計(jì)算機(jī)中的圖片文件,提取其中各個(gè)像素點(diǎn)的灰度值并按照一定的規(guī)律轉(zhuǎn)換為所需的輸出電壓的幅值。圖片文件的格式可以為位圖文件(.bmp)或者標(biāo)簽圖像文件(.tif),大小為320*256像素。每個(gè)像素的灰度值在0-255之間,將這個(gè)值線形轉(zhuǎn)換成1.6-4.4V之間的電壓值。
3)輸出連續(xù)圖像信號(hào),時(shí)間至少為1分鐘;同時(shí),還要為圖像接收器提供圖像有效信號(hào)以確保其正確接收?qǐng)D像。
圖像發(fā)生器采用PXI平臺(tái),主要由PXI機(jī)箱、控制器、外設(shè)模塊、顯示器和電源等組成。其中機(jī)箱選用的NI公司的PXI-1042,控制器是PXI-8196,外設(shè)模塊包括四塊PXI-5421和一塊PXI-6608。
硬件信號(hào)連接如圖2所示。PXI-6608是一款8通道的計(jì)數(shù)器/定時(shí)器模塊,其內(nèi)部時(shí)鐘精度可達(dá)75ppb,在本系統(tǒng)中主要用于產(chǎn)生時(shí)鐘信號(hào)、圖像有效信號(hào)及系統(tǒng)內(nèi)部用于同步和觸發(fā)的輔助信號(hào)。
PXI-5421是一款具有100M刷新速度、16位分辨率的任意波形發(fā)生器,在本系統(tǒng)中主要用于輸出圖像信號(hào)。 其輸出的波形數(shù)據(jù)產(chǎn)生于計(jì)算機(jī)內(nèi)部,通過(guò)軟件編程將數(shù)據(jù)下載到內(nèi)部的RAM中,最后根據(jù)軟件配置的時(shí)鐘、觸發(fā)和輸出方式等內(nèi)容進(jìn)行波形輸出。

圖2 硬件信號(hào)連接
所有外設(shè)模塊最終實(shí)現(xiàn)的功能都必須在軟件中進(jìn)行配置。
PXI-5421輸出方式采用Waveform Sequence,觸發(fā)方式采用Stepped Trigger。每幅圖片信息作為一個(gè)Waveform,不同圖片信息形成不同的Waveform,所有Waveform連接起來(lái)就是Waveform Sequence; PXI-5421的Stepped Trigger觸發(fā)方式類似于重觸發(fā),即每接收到一個(gè)Stepped Trigger信號(hào)將觸發(fā)5421輸出一段Waveform即一幅圖片信息。
PXI-6608輸出四路信號(hào),分別是采樣時(shí)鐘、同步時(shí)鐘,圖像有效信號(hào)和用于觸發(fā)PXI-5421產(chǎn)生輸出的信號(hào)(Stepped Trigger信號(hào))。其中采樣時(shí)鐘和同步時(shí)鐘采用連續(xù)脈沖輸出方式,圖像有效信號(hào)和Stepped Trigger信號(hào)采用重觸發(fā)的脈沖輸出方式,這種輸出方式可以與給定的觸發(fā)信號(hào)進(jìn)行精確的同步。
圖像發(fā)生器的仿真軟件基于圖形化編程平臺(tái)LabVIEW,本著模塊化設(shè)計(jì)的思想進(jìn)行開(kāi)發(fā)。根據(jù)圖像發(fā)生器要實(shí)現(xiàn)的功能,我們將軟件分為系統(tǒng)自檢與初始化、圖片信息分析、數(shù)據(jù)下載、信號(hào)輸出等功能模塊。
- 狀態(tài)遷移圖與狀態(tài)機(jī)編程
- 狀態(tài)遷移圖是一種特殊類型的程序流程圖,在使用LabVIEW編程時(shí),它是設(shè)計(jì)狀態(tài)機(jī)(State Machine)結(jié)構(gòu)的有效工具。在實(shí)現(xiàn)一個(gè)比較復(fù)雜的任務(wù)時(shí),如果可以將該任務(wù)劃分為幾個(gè)簡(jiǎn)單的任務(wù),并且這些任務(wù)之間可以根據(jù)一定的條件相互跳轉(zhuǎn),在LabVIEW中我們通常會(huì)使用狀態(tài)機(jī)結(jié)構(gòu)。在LabVIEW中,一個(gè)基本的狀態(tài)機(jī)結(jié)構(gòu)包括了While循環(huán),Case結(jié)構(gòu)和移位寄存器,如圖3所示。
-
-
-
圖3 狀態(tài)機(jī)示例
- 狀態(tài)是程序中要實(shí)
- 現(xiàn)的子功能,在狀態(tài)遷移圖中用帶有文字描述的圓圈表示,在LabVIEW程序中對(duì)應(yīng)的是Case結(jié)構(gòu)的一個(gè)分支;遷移是狀態(tài)之間發(fā)生跳轉(zhuǎn)的條件或動(dòng)作,在狀態(tài)遷移圖中用帶有方向箭頭以及表示條件或動(dòng)作的文字表示,在LabVIEW 程序中需要在Case結(jié)構(gòu)的每個(gè)分支中對(duì)條件或動(dòng)作進(jìn)行一次判斷,從而得出下一個(gè)狀態(tài)是什么。
系統(tǒng)軟件狀態(tài)遷移圖如圖4所示,它描述了軟件在啟動(dòng)后的工作流程:若系統(tǒng)沒(méi)有通過(guò)自檢則直接退出,否則進(jìn)入用戶操作狀態(tài)中,等待用戶命令。用戶命令可以是下載數(shù)據(jù)、輸出數(shù)據(jù)和退出系統(tǒng)。在用戶命令為下載數(shù)據(jù)時(shí),首先對(duì)圖片信息進(jìn)行分析,然后將數(shù)據(jù)下載到相應(yīng)PXI-5421的RAM中,之后判斷是否所有圖片數(shù)據(jù)都下載完畢。若沒(méi)有完成,則繼續(xù)分析圖片、下載,否則回到用戶操作界面這個(gè)狀態(tài),等待用戶命令。

圖4 系統(tǒng)軟件狀態(tài)遷移圖
程序啟動(dòng)后,首先對(duì)使用的硬件模塊進(jìn)行檢測(cè),以確保各硬件模塊均為指定模塊并且可以正常工作,并且對(duì)硬件模塊進(jìn)行初始化配置,如時(shí)鐘、觸發(fā)、工作方式等。
首先對(duì)圖片文件名稱進(jìn)行解析,根據(jù)圖片的名稱和類型,將像元的灰度信息轉(zhuǎn)換為電壓信息,并按照四路輸出的時(shí)序要求將圖片信息分組,每一組表示的是一路圖像輸出。
- 將分組的圖像數(shù)據(jù)分別下載到相應(yīng)PXI-5421的RAM中。從圖4可以看出,我們采用了分組分析和下載的方式,這樣可以避免過(guò)多占用計(jì)算機(jī)內(nèi)存資源,從而改善程序性能。
- 按照設(shè)計(jì)要求輸出圖像采樣時(shí)鐘信號(hào)、同步時(shí)鐘、四路圖像信號(hào)和一路圖像有效信號(hào)。因?yàn)閳D片分析和數(shù)據(jù)下載過(guò)程的時(shí)間比較長(zhǎng),而且可能存在下載一組數(shù)據(jù)后需要反復(fù)輸出信號(hào),所以將信號(hào)輸出和數(shù)據(jù)下載分為兩個(gè)過(guò)程進(jìn)行。
如圖5所示,按照?qǐng)D像采集器的測(cè)試要求設(shè)計(jì)時(shí)序圖。CLK為4MHz采樣時(shí)鐘信號(hào),INT為50Hz的同步時(shí)鐘信號(hào),要求INT的下降沿對(duì)應(yīng)CLK的上升沿。每接收到一個(gè)INT的下降沿,在延遲18.5個(gè)CLK周期后,在每個(gè)CLK的下降沿到來(lái)時(shí),PXI-5421將輸出一個(gè)像元信號(hào),直到代表一幅圖片的像元都輸出完畢。圖像的分割規(guī)律如下:第一路圖像發(fā)生器輸出每幅圖片每行的第1,5,9,13……,317個(gè)像元,第二路圖像發(fā)生器輸出每行的第2,6,10,14……,318個(gè)像元,第三路圖像發(fā)生器輸出每行的第3,7,11,15……,319個(gè)像元,第四路圖像發(fā)生器輸出每行的第4,8,12,16……,320個(gè)像元;同時(shí)在有圖像信號(hào)輸出時(shí),DATAVALID信號(hào)保持高電平,其余時(shí)間保持低電平。

圖5 像接收器設(shè)計(jì)時(shí)序圖
按照以上設(shè)計(jì)思路采用圖像發(fā)生器產(chǎn)生仿真信號(hào)并連接到圖像接收器。我們從計(jì)算機(jī)中總共讀取了3000幅圖片,每次讀取200幅分15次進(jìn)行分析和下載。3000幅圖片分析和下載的過(guò)程持續(xù)時(shí)間為20秒左右,連續(xù)圖像輸出的時(shí)間為1分鐘。最終,在圖像接收器上看到了由3000幅圖片組成的視頻。
運(yùn)用虛擬儀器技術(shù)進(jìn)行硬件在環(huán)仿真,提供了更為靈活和方便的方案設(shè)計(jì)和驗(yàn)證方法。本系統(tǒng)不僅滿足了用戶的當(dāng)前要求,而且有著很強(qiáng)的擴(kuò)展空間。模塊化的硬件配以高效靈活的軟件,擺脫了傳統(tǒng)電路設(shè)計(jì)的束縛,可以在不增加硬件投資的前提下重復(fù)搭建出很多類似的硬件信號(hào)仿真系統(tǒng),以滿足不同場(chǎng)合下對(duì)信號(hào)的要求。另外,本系統(tǒng)軟件的模塊化設(shè)計(jì)使得應(yīng)用擴(kuò)展變得更為方便。
參考文獻(xiàn)
[1] National Instruments, NI Signal Generators Help [Z]. March 2006, 370524G-01.
[2] National Instruments, NI 5421 Specification [Z]. December 2004, 371477D-01.
[3] National Instruments, NI TIO Series Help [Z]. February 2005 Edition, 370818C-01.