文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2011)11-0055-03
為航空攝影測量系統(tǒng),設(shè)計(jì)了一個(gè)預(yù)處理系統(tǒng)以實(shí)現(xiàn)高分辨率航測相機(jī)與記錄系統(tǒng)及,,機(jī)上主控機(jī)數(shù)傳系統(tǒng)之間的通信,。在這個(gè)預(yù)處理系統(tǒng)中,要求接收CCD相機(jī)送來的數(shù)字視頻信號,,并對相機(jī)數(shù)據(jù)處理(合成,、壓縮、緩存)后經(jīng)視頻編碼轉(zhuǎn)變?yōu)闃?biāo)準(zhǔn)CCIR模擬視頻信號,,傳送到機(jī)上傳輸系統(tǒng),。同時(shí)要求接收地面的控制信號,對機(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ì)對整個(gè)航測系統(tǒng)起著重要的作用。
1 預(yù)處理系統(tǒng)設(shè)計(jì)模塊
本系統(tǒng)主要由以下部分組成:
(1)航測CCD相機(jī):相機(jī)選用高分辨率2 K×2 K航測CCD相機(jī),。
(2)預(yù)處理系統(tǒng):實(shí)現(xiàn)高分辨率航測CCD相機(jī)與記錄系統(tǒng)及機(jī)上主控機(jī)數(shù)傳系統(tǒng)之間的通信,。
(3)記錄系統(tǒng):實(shí)現(xiàn)對航測CCD相機(jī)數(shù)據(jù)的高速實(shí)時(shí)記錄。
(4)電源:供給各系統(tǒng)所需電壓,。
其中,,預(yù)處理系統(tǒng)部分是整個(gè)航測系統(tǒng)設(shè)計(jì)的關(guān)鍵。它主要由相機(jī)數(shù)據(jù)處理和控制分系統(tǒng)兩部分組成,。相機(jī)數(shù)據(jù)處理部分需要接收航測相機(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)對數(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ù)的處理,。
同時(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ù),;與航測相機(jī)的串口通信(為LVDS接口),用于實(shí)現(xiàn)對相機(jī)的控制,;接收GPS參數(shù)(為RS232接口),。
(2)在高空飛行中對機(jī)上光機(jī)及電子系統(tǒng)各部分進(jìn)行溫度檢測,從而實(shí)現(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è)計(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í)鐘以及行,、場時(shí)鐘信號順序讀入圖像數(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方式、直接抽點(diǎn)或局部選擇等,,本文選用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控制信號有效時(shí),,返回(1),。
控制分系統(tǒng)部分:
主要功能之一是實(shí)現(xiàn)與各分系統(tǒng)之間的串口通信。選用AT89LS51單片機(jī)外加1個(gè)四串口擴(kuò)展芯片ST16C554實(shí)現(xiàn)航測相機(jī)與各分系統(tǒng)之間的串口通信,。AT89LS51是美國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)對機(jī)上光機(jī)及電子系統(tǒng)各部分進(jìn)行溫度檢測,本設(shè)計(jì)采用Dallas的DS18B20串行輸出數(shù)字測溫芯片,,可以多路并聯(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ā)的一種簡單,、雙向二線制同步串行總線,。它只需要兩根線:串行數(shù)據(jù)線(SDA)和串行時(shí)鐘線(SCL)即可使連接于總線上的器件之間實(shí)現(xiàn)信息傳送,同時(shí)可通過對器件進(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總線傳輸過程由一個(gè)起始條件來起動,。起始條件產(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ī)可以延長時(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和編碼于一身,并可以對輸入的多種格式數(shù)據(jù)(數(shù)據(jù)最高分辨率為10 bit)進(jìn)行編碼及D/A轉(zhuǎn)換,,以輸出PAL制式,、NTSC制式的復(fù)合視頻信號(CVBS)或S-Video方式的Y/C分量信號和復(fù)合全電視信號。
為實(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)答信號,,從設(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)在于對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)證,很好地滿足了航空攝影測量系統(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.