文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)11-0055-03
為航空攝影測(cè)量系統(tǒng),設(shè)計(jì)了一個(gè)預(yù)處理系統(tǒng)以實(shí)現(xiàn)高分辨率航測(cè)相機(jī)與記錄系統(tǒng)及,機(jī)上主控機(jī)數(shù)傳系統(tǒng)之間的通信。在這個(gè)預(yù)處理系統(tǒng)中,要求接收CCD相機(jī)送來的數(shù)字視頻信號(hào),并對(duì)相機(jī)數(shù)據(jù)處理(合成、壓縮、緩存)后經(jīng)視頻編碼轉(zhuǎn)變?yōu)闃?biāo)準(zhǔn)CCIR模擬視頻信號(hào),傳送到機(jī)上傳輸系統(tǒng)。同時(shí)要求接收地面的控制信號(hào),對(duì)機(jī)上電子系統(tǒng)進(jìn)行遠(yuǎn)程遙控,實(shí)現(xiàn)各串口的通信。并且需要采集機(jī)上光機(jī)及電子系統(tǒng)各部分溫度數(shù)據(jù),實(shí)現(xiàn)在高空飛行中的溫檢及溫控。由于系統(tǒng)功能復(fù)雜,預(yù)處理系統(tǒng)的設(shè)計(jì)對(duì)整個(gè)航測(cè)系統(tǒng)起著重要的作用。
1 預(yù)處理系統(tǒng)設(shè)計(jì)模塊
本系統(tǒng)主要由以下部分組成:
(1)航測(cè)CCD相機(jī):相機(jī)選用高分辨率2 K×2 K航測(cè)CCD相機(jī)。
(2)預(yù)處理系統(tǒng):實(shí)現(xiàn)高分辨率航測(cè)CCD相機(jī)與記錄系統(tǒng)及機(jī)上主控機(jī)數(shù)傳系統(tǒng)之間的通信。
(3)記錄系統(tǒng):實(shí)現(xiàn)對(duì)航測(cè)CCD相機(jī)數(shù)據(jù)的高速實(shí)時(shí)記錄。
(4)電源:供給各系統(tǒng)所需電壓。
其中,預(yù)處理系統(tǒng)部分是整個(gè)航測(cè)系統(tǒng)設(shè)計(jì)的關(guān)鍵。它主要由相機(jī)數(shù)據(jù)處理和控制分系統(tǒng)兩部分組成。相機(jī)數(shù)據(jù)處理部分需要接收航測(cè)相機(jī)送來的圖像數(shù)據(jù),分別實(shí)現(xiàn)與記錄系統(tǒng)和機(jī)上主控機(jī)數(shù)傳系統(tǒng)間的數(shù)據(jù)通信。由于CCD相機(jī)輸出為兩路數(shù)據(jù),所以首先需要將CCD相機(jī)的輸出數(shù)據(jù)送入FPGA進(jìn)行數(shù)據(jù)合成。合成后的數(shù)據(jù)再分兩路輸出:一路送入記錄系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行記錄;另一路進(jìn)行數(shù)據(jù)壓縮,壓縮后的數(shù)據(jù)送到緩存器保存,然后經(jīng)過視頻編碼,轉(zhuǎn)換為CCIR標(biāo)準(zhǔn)模擬視頻信號(hào),送到機(jī)上傳輸系統(tǒng),從而完成對(duì)CCD相機(jī)圖像數(shù)據(jù)的處理。
同時(shí),為了實(shí)現(xiàn)相機(jī)數(shù)據(jù)與各分系統(tǒng)之間的串口通信、控制命令及電壓轉(zhuǎn)換等功能,需要設(shè)計(jì)一個(gè)控制分系統(tǒng),主要完成以下功能:
(1)與各分系統(tǒng)之間的串口通信:與機(jī)上主控機(jī)數(shù)傳系統(tǒng)的串口通信(RS422接口);與記錄分系統(tǒng)的串口通信(RS232接口)用于實(shí)現(xiàn)記錄控制和附加參數(shù);與航測(cè)相機(jī)的串口通信(為L(zhǎng)VDS接口),用于實(shí)現(xiàn)對(duì)相機(jī)的控制;接收GPS參數(shù)(為RS232接口)。
(2)在高空飛行中對(duì)機(jī)上光機(jī)及電子系統(tǒng)各部分進(jìn)行溫度檢測(cè),從而實(shí)現(xiàn)加溫控制。
(3)電源部分:接收機(jī)上28 V直流輸入,轉(zhuǎn)換成CCD相機(jī)工作電源+12 V,信號(hào)預(yù)處理及控制系統(tǒng)電源+5 V、記錄系統(tǒng)及硬盤+12 V和5 V,加溫電源直接用機(jī)上28 V。
預(yù)處理系統(tǒng)設(shè)計(jì)模塊如圖1所示。
2 預(yù)處理系統(tǒng)設(shè)計(jì)方案
由上述系統(tǒng)設(shè)計(jì)模塊,可以確定整個(gè)系統(tǒng)設(shè)計(jì)方案如下:
相機(jī)數(shù)據(jù)處理部分實(shí)現(xiàn)如下流程:
(1)首先通過外同步時(shí)鐘以及行、場(chǎng)時(shí)鐘信號(hào)順序讀入圖像數(shù)據(jù),并將送來的數(shù)據(jù)信號(hào)(接口為Cameralink)經(jīng)過專用解碼芯片轉(zhuǎn)換為TTL信號(hào)。
(2)由于轉(zhuǎn)換后的TTL信號(hào)數(shù)據(jù)為兩路12 bit,將其送入FPGA進(jìn)行數(shù)據(jù)合成,合成后的數(shù)據(jù)分兩路輸出:一路直接變換為L(zhǎng)VDS信號(hào)送記錄系統(tǒng),采用抽幀方式,記錄幀頻約1幀/s;另一路經(jīng)過壓縮、緩存、視頻編碼后轉(zhuǎn)換為CCIR模擬視頻信號(hào)送入機(jī)上傳輸系統(tǒng)。
(3)對(duì)合成后的數(shù)據(jù)進(jìn)行壓縮: 壓縮方式可以是Bin方式、直接抽點(diǎn)或局部選擇等,本文選用Bin方式。
(4)由于相機(jī)的幀頻與最終輸出的模擬視頻信號(hào)的幀頻不一致,所以首先需要將壓縮后的數(shù)據(jù)送入靜態(tài)存儲(chǔ)器(SRAM)進(jìn)行緩存。采用兩塊SRAM乒乓緩存的方式,很好地完成了對(duì)于海量連續(xù)的高速數(shù)據(jù)流CCD相機(jī)圖像數(shù)據(jù)的無縫緩沖和處理。
(5)對(duì)緩存后的輸出數(shù)據(jù)進(jìn)行視頻編碼轉(zhuǎn)換為CCIR模擬視頻信號(hào)送入機(jī)上傳輸系統(tǒng)。
(6)當(dāng)下一幀CCD控制信號(hào)有效時(shí),返回(1)。
控制分系統(tǒng)部分:
主要功能之一是實(shí)現(xiàn)與各分系統(tǒng)之間的串口通信。選用AT89LS51單片機(jī)外加1個(gè)四串口擴(kuò)展芯片ST16C554實(shí)現(xiàn)航測(cè)相機(jī)與各分系統(tǒng)之間的串口通信。AT89LS51是美國(guó)ATMEL公司生產(chǎn)的低功耗、高性能CMOS8 bit單片機(jī),可靈活地實(shí)現(xiàn)在線系統(tǒng)編程;帶有一個(gè)全雙工串型通信口,在本系統(tǒng)中用于實(shí)現(xiàn)與機(jī)上主控機(jī)數(shù)傳系統(tǒng)的通信。1片串口擴(kuò)展芯片ST16C554分別實(shí)現(xiàn)與記錄分系統(tǒng)、相機(jī)和GPS信息的串口通信。具體分配為:擴(kuò)展后的2個(gè)串口用于記錄系統(tǒng):一個(gè)作為記錄控制命令使用,另一個(gè)專門用來發(fā)送附加信息,兩串口均為RS232接口。同時(shí)一個(gè)串口用于接收GPS信息,接口形式為RS232。FPGA 的工作模式由單片機(jī)實(shí)現(xiàn),可在地面進(jìn)行遙控。
在高空飛行中,加溫是一個(gè)很重要也很關(guān)鍵的問題。為實(shí)現(xiàn)對(duì)機(jī)上光機(jī)及電子系統(tǒng)各部分進(jìn)行溫度檢測(cè),本設(shè)計(jì)采用Dallas的DS18B20串行輸出數(shù)字測(cè)溫芯片,可以多路并聯(lián),只由單片機(jī)一位I/O口就可以實(shí)現(xiàn)全部的控制和溫度采集,有很強(qiáng)的擴(kuò)展能力。
整個(gè)預(yù)處理系統(tǒng)結(jié)構(gòu)框圖如圖2所示。
3 預(yù)處理系統(tǒng)的具體實(shí)現(xiàn)
3.1 I2C總線原理
目前許多視頻編、解碼芯片支持I2C總線通信協(xié)議, I2C總線是PHILIPS公司開發(fā)的一種簡(jiǎn)單、雙向二線制同步串行總線。它只需要兩根線:串行數(shù)據(jù)線(SDA)和串行時(shí)鐘線(SCL)即可使連接于總線上的器件之間實(shí)現(xiàn)信息傳送,同時(shí)可通過對(duì)器件進(jìn)行軟件尋址,而不是對(duì)硬件進(jìn)行片選尋址的方式來節(jié)約通信線數(shù)目,從而減少了硬件所占空間。I2C總線采用8 bit、雙向串行數(shù)據(jù)傳送方式,在發(fā)送器和接收器之間進(jìn)行雙向傳送,標(biāo)準(zhǔn)傳送速率為100 KB/s,快速方式下可達(dá)400 KB/s。
3.2 I2C總線傳輸格式
I2C總線傳輸過程由一個(gè)起始條件來起動(dòng)。起始條件產(chǎn)生后,總線進(jìn)入“忙”狀態(tài)。開始傳輸一條包含一個(gè)地址和許多數(shù)據(jù)字節(jié)的信息。I2C的信息是通過終止條件或一個(gè)重復(fù)起始條件連續(xù)傳輸。終止條件將釋放主機(jī)的總線控制權(quán)限。而重復(fù)起始條件用來實(shí)現(xiàn)多于一條的來自同種或不同器件的信息傳輸,但不改變主機(jī)權(quán)限。終止和重復(fù)起始條件只在主機(jī)模式下產(chǎn)生。數(shù)據(jù)和地址傳輸時(shí),8 bit為1 B,高位在前。在緊跟數(shù)據(jù)字節(jié)的第9個(gè)時(shí)鐘脈沖內(nèi),接收器必須向發(fā)送器發(fā)送一位應(yīng)答位。從機(jī)可以延長(zhǎng)時(shí)鐘脈沖的時(shí)間(出于時(shí)序的原因)。起始條件后跟隨一個(gè)7 bit的地址和1 bit的R/W方向位。I2C總線傳輸格式如圖3所示。
圖3中S為重復(fù)起始條件,SLV_W為從機(jī)地址和寫方向位,A為最后一個(gè)字節(jié)的應(yīng)答,SLV_R為從機(jī)地址和讀方向位,N為最后一個(gè)字節(jié)無應(yīng)答,SUB為子地址,P為終止條件,D1……Dn 為數(shù)據(jù)字節(jié)塊。
3.3 ADV7300A與AT89LS51的I2C數(shù)據(jù)通信
選用的視頻編碼芯片是ANALOG公司的ADV7300A。ADV7300A是ANALOG公司推出的內(nèi)含12 bit DAC的數(shù)字視頻編碼器。它集D/A和編碼于一身,并可以對(duì)輸入的多種格式數(shù)據(jù)(數(shù)據(jù)最高分辨率為10 bit)進(jìn)行編碼及D/A轉(zhuǎn)換,以輸出PAL制式、NTSC制式的復(fù)合視頻信號(hào)(CVBS)或S-Video方式的Y/C分量信號(hào)和復(fù)合全電視信號(hào)。
為實(shí)現(xiàn)ADV7300A與單片機(jī)之間的數(shù)據(jù)通信,選用ADV7300A作為從設(shè)備,AT89LS51作為主設(shè)備。雖然AT89LS51單片機(jī)不支持I2C總線結(jié)構(gòu),但仍然可以利用單片微處理器的普通I/O口來模擬I2C總線,通過軟件編程來實(shí)現(xiàn),但注意一定要嚴(yán)格按I2C總線的時(shí)序進(jìn)行。首先從設(shè)備向主設(shè)備發(fā)送一個(gè)地址字節(jié),之后主設(shè)備則發(fā)一個(gè)應(yīng)答信號(hào),從設(shè)備接到應(yīng)答后,再發(fā)給主設(shè)備一個(gè)控制字節(jié),當(dāng)主設(shè)備接到控制字節(jié)后,再發(fā)給從設(shè)備一個(gè)應(yīng)答。之后主、從設(shè)備間就可進(jìn)行數(shù)據(jù)通信了。ADV7300A與89LS51間通信工作流程圖如圖4所示。
本系統(tǒng)的設(shè)計(jì)要點(diǎn)在于對(duì)CCD相機(jī)數(shù)據(jù)的合成、壓縮、以及視頻編碼芯片和單片機(jī)之間的I2C數(shù)據(jù)通信。整個(gè)系統(tǒng)采用XILINX公司SPARTAN2E系列FPGA實(shí)現(xiàn)相機(jī)數(shù)據(jù)處理部分,并采用AT89LS51單片機(jī)和串口擴(kuò)展芯片實(shí)現(xiàn)與各分系統(tǒng)間的串口通信及溫檢溫控。目前該系統(tǒng)已經(jīng)通過驗(yàn)證,很好地滿足了航空攝影測(cè)量系統(tǒng)的需求,具有很高的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 何立民.I2C總線應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航天航空大學(xué)出版社,1995.
[2] 劉玉璽,湯楠.MAX517與單片機(jī)的I2C總線數(shù)據(jù)通信[J-OL].http:www.//.21ic.com. 2003-07-01.