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