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