《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于TMS320DM642的增強(qiáng)視景系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于TMS320DM642的增強(qiáng)視景系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
廖興海 劉貴喜 周承興
摘要: 增強(qiáng)視景及合成視景是近年來(lái)在多源信息融合顯示與呈現(xiàn)方法的研究和發(fā)展推動(dòng)下出現(xiàn)的一個(gè)較新的研究應(yīng)用領(lǐng)域,而且具有很好的應(yīng)用。在此設(shè)計(jì)一種基于DM642硬件平臺(tái)和DSP/BIOS操作系統(tǒng)的增強(qiáng)視景系統(tǒng),詳細(xì)地介紹了系統(tǒng)的總體設(shè)計(jì)和軟、硬件模塊的設(shè)計(jì)與實(shí)現(xiàn)。該系統(tǒng)實(shí)現(xiàn)了在實(shí)時(shí)采集多路視頻的同時(shí),綜合顯示各種飛行數(shù)據(jù)信息,可以有效地提高飛行員的態(tài)勢(shì)感知能力。
Abstract:
Key words :

0 引言
    隨著現(xiàn)代飛行技術(shù)的發(fā)展,以及飛機(jī)性能的日益提高,飛行員需要實(shí)時(shí)獲取的信息越來(lái)越多,飛行員不僅要不斷接收和處理各種儀表信息及地面或空中的通報(bào)和指揮信息,還需要對(duì)各種危險(xiǎn)警告和異常信號(hào)做出迅速的反應(yīng)。特別是當(dāng)飛機(jī)進(jìn)行進(jìn)場(chǎng)著陸或者起飛及做戰(zhàn)術(shù)動(dòng)作時(shí),飛行員的操作負(fù)荷較大。因此如何有效地將各傳感器信息綜合地顯示出來(lái),不僅可以降低飛行員的勞動(dòng)負(fù)荷,還能增強(qiáng)其態(tài)勢(shì)的感知能力。傳統(tǒng)的飛行員座艙系統(tǒng)包含大量的機(jī)械式儀表,飛行員的操作負(fù)荷大,態(tài)勢(shì)感知能力弱,而根據(jù)對(duì)航空事故的調(diào)查統(tǒng)計(jì)顯示,85%的航空事故是因?yàn)轱w行員失去態(tài)勢(shì)感知能力造成的。因此通過對(duì)飛行員座艙系統(tǒng)的良好設(shè)計(jì),提高信息的綜合顯示水平能有效地提高飛行員的態(tài)勢(shì)感知能力,從而減少飛行事故。
    在飛行員座艙系統(tǒng)中采用增強(qiáng)視景和合成視景技術(shù),不僅可以減少飛行員座艙系統(tǒng)中儀表的數(shù)量,還能提高信息的綜合顯示水平,降低飛行的勞動(dòng)負(fù)荷,增強(qiáng)飛行員的態(tài)勢(shì)感知能力。所謂視景增強(qiáng)系統(tǒng),就是把機(jī)載紅外傳感器和毫米波雷達(dá)輸出的圖像疊加在平顯上,在為機(jī)組提供機(jī)外真實(shí)視景的同時(shí),顯示一些下顯給出的重要數(shù)據(jù)指示。
    在此,研究和開發(fā)了基于實(shí)時(shí)采集圖像傳感器的圖像數(shù)據(jù),并在圖像數(shù)據(jù)上疊加相應(yīng)的飛行姿態(tài)信息增強(qiáng)視景系統(tǒng)。系統(tǒng)采用TI公司的視頻處理專用芯片DM642,實(shí)現(xiàn)了對(duì)4路D1(720×576)格式視頻數(shù)據(jù)的實(shí)時(shí)采集和顯示。
    基于DM642的增強(qiáng)視景系統(tǒng)實(shí)現(xiàn)的功能有:
    (1)擁有16×8,8×8,5×7的完全ASCII碼點(diǎn)陣字符集,可以自由顯示任意的字符和數(shù)字信息;
    (2)支持自定義漢字點(diǎn)陣字符集的顯示;
    (3)支持基本圖元的繪制,如直線、圓、矩形、圓弧、多邊形、矩形填充等基本GUI功能的實(shí)現(xiàn);
    (4)支持靜態(tài)圖片的加載,如logo、靜態(tài)儀表盤等圖形信息的透明和不透明疊加顯示;
    (5)實(shí)現(xiàn)羅盤儀表的繪制操作,可自由繪制各種數(shù)字儀表;
    (6)實(shí)現(xiàn)導(dǎo)航和預(yù)警儀表盤的繪制與顯示;
    (7)支持4路視頻的實(shí)時(shí)采集,可實(shí)現(xiàn)多種模式的顯示操作界面,各種模式可以相互自由切換。

1 系統(tǒng)的硬件設(shè)計(jì)
   
基于DM642的增強(qiáng)視景系統(tǒng)主要由TMS320DM642數(shù)字信號(hào)處理器、視頻編解碼模塊、存儲(chǔ)模塊、電源和可編程控制器模塊組成。整個(gè)系統(tǒng)結(jié)構(gòu)見圖1。


1.1 系統(tǒng)主控制器及存儲(chǔ)空間拓展
   
系統(tǒng)采用TMS320DM642作為核心處理器,它基于C64X內(nèi)核,采用VLIW(超長(zhǎng)指令字)結(jié)構(gòu),最高時(shí)鐘可達(dá)720 MHz,采用二級(jí)緩存結(jié)構(gòu),擁有豐富的外設(shè)接口:擁有3個(gè)可配置視頻口,可實(shí)現(xiàn)與視頻輸入/輸出的無(wú)縫連接;擁有64路可配置EDMA,可靈活實(shí)現(xiàn)數(shù)據(jù)搬移操作;具有64位外部存儲(chǔ)器接口(EMIFA),可以連接同步或者異步的存儲(chǔ)器和外設(shè);擁有I2C總線接口,可實(shí)現(xiàn)對(duì)外部編解碼芯片的配置。
   TMS320DM642的EMIF在內(nèi)存中的地址映射分為4個(gè)可獨(dú)立尋址的空間CE[O:3],自地址Ox80000000起各占256 MB空間。根據(jù)設(shè)計(jì)中所選芯片的數(shù)據(jù)寬度等特點(diǎn),可以對(duì)這4個(gè)尋址空間進(jìn)行配置。其中,CE0空間配置成64位寬,只用于SDRAM內(nèi)存的映射;CE1空間配置成8位寬度,用于FLASH的映射;CE2\CE3在該設(shè)計(jì)中未使用,留作將來(lái)拓展使用。系統(tǒng)中利用DM642的EMIFA外部存儲(chǔ)器接口進(jìn)行存儲(chǔ)空間拓展,外擴(kuò)有2片4M ×32 b SDRAM,共64MB,其占用外部存儲(chǔ)空間的范圍為Ox8000000~0x81FFFFFF,用于存儲(chǔ)視頻幀數(shù)據(jù)和程序代碼;系統(tǒng)同時(shí)外接了4M×8位FLASH芯片,F(xiàn)LASH在CE1子空間占據(jù)的內(nèi)存映射空間為0x90000000~0x9007FFFF,共512 KB空間,用于固化程序和初始化數(shù)據(jù)。由于TMS320 DM642的外部總線只有EA[22:3],所以CE1子空間的最大尋址范圍為1M×8b。系統(tǒng)中CE1子空間除了分配給FLASH空間外,還分配給狀態(tài)/控制寄存器等資源使用,F(xiàn)LASH只占據(jù)CE1子空間的一半尋址空間,最大可尋址范圍為512K×8 b,而FLASH的設(shè)計(jì)容量為4M×8 b。所以為了訪問整個(gè)FLASH空間,需將FLASH進(jìn)行分頁(yè),每頁(yè)為512 KB,共分8頁(yè),具體的分頁(yè)邏輯將在CPLD控制邏輯部分進(jìn)行詳細(xì)介紹。
1.2 視頻解碼模塊
   
視頻解碼模塊也稱為視頻采集模塊,它由數(shù)字視頻解碼芯片SAA7113和視頻源(模擬CVBS信號(hào))組成。對(duì)于輸入的圖像,經(jīng)過視頻解碼模塊A/D轉(zhuǎn)換后才能送給視頻處理模塊。該解碼模塊采用Philips公司的SAA7113H芯片來(lái)進(jìn)行采集。圖像傳感器輸出的模擬CVBS信號(hào)經(jīng)SAA7113視頻芯片轉(zhuǎn)化為數(shù)字信號(hào),輸出的數(shù)字信號(hào)經(jīng)過視頻口的內(nèi)部FIFO緩沖后,由DM642的EDMA通道將數(shù)據(jù)傳送到片外SDRAM中,以便視頻處理程序使用。DM642通過I2C控制器對(duì)SAA7113進(jìn)行配置,使其輸出BT.656格式4:2:2的YUV視頻數(shù)據(jù)流。
1.3 視頻編碼模塊
   
視頻編碼模塊也稱為視頻顯示模塊,本模塊由兩部分組成,即輸出兩種模式的視頻信號(hào),可以外接CVBS和VGA的顯示終端。
    (1)CVBS編碼模塊
    該模塊由Philips的編碼芯片SAA7121H和顯示終端組成。它將DM642處理后的。BT.656格式視頻信號(hào)轉(zhuǎn)化成模擬CVBS視頻信號(hào),并通過顯示器顯示處理結(jié)果。
    (2)VGA編碼模塊
    該模塊由VXll28,ADV7125等芯片完成。將BT.656格式的視頻數(shù)據(jù)轉(zhuǎn)換成模擬RGB信號(hào),通過VGA接口與顯示終端連接。其中,VX1128接收DSP視頻口輸出的BT.656格式數(shù)據(jù)流和行場(chǎng)同步信號(hào),輸出24位RGB數(shù)據(jù)流送給視頻編碼芯片ADV7125;視頻編碼芯片ADV7125將數(shù)字格式的RGB信號(hào)轉(zhuǎn)換成模擬的RGB信號(hào),并通過VGA接口送到顯示終端。
1.4 CPLD邏輯部分
    CPLD邏輯在系統(tǒng)中的主要功能是完成系統(tǒng)的輔助控制功能,如拓展外部鍵盤、FLASH分頁(yè)操作及I/O拓展等,CPLD頂層邏輯如圖2所示。這里主要介紹利用CPLD邏輯來(lái)拓展外部鍵盤及FLASH分頁(yè)的操作。


    為了實(shí)現(xiàn)增強(qiáng)視景中模式的切換功能,需要外擴(kuò)一個(gè)3×3的鍵盤陣列。在系統(tǒng)實(shí)現(xiàn)中,利用CPLD邏輯完成鍵盤信號(hào)KEY1:KEY9的相與操作,將相與之后的信號(hào)接DM642的外部中斷5。當(dāng)有鍵按下時(shí),DSP_INT5將產(chǎn)生一個(gè)下降沿,從而觸發(fā)DSP產(chǎn)生中斷,在中斷服務(wù)程序中,進(jìn)行鍵值掃描,判斷是哪個(gè)按鍵按下,然后設(shè)置相應(yīng)的標(biāo)志位,作為模式選擇信號(hào)。
    CPLD除了完成按鍵拓展外,還有一個(gè)很重要的功能就是完成FLASH的分頁(yè)操作。系統(tǒng)中,將CE1子空間配置成8位異步靜態(tài)存儲(chǔ)器接口連接FLASH,由于DM642的只有20根(EA3:EA20)外部總線,所以CE1的最大可尋址空間為1 M×8 b,CE1只將前一半的尋址空間分配給FLASH,后一半空間作為控制邏輯寄存器使用,所以FLASH映射空間為Ox90000000~0x90007FFFF,共512K×8 b。
    為了完成對(duì)外部4M×8 b FLASH空間的訪問,需要利用CPLD邏輯完成對(duì)FLASH的分頁(yè)管理,共將FLASH分成8頁(yè)。
    系統(tǒng)中,利用CPLD邏輯分配了一個(gè)頁(yè)地址控制寄存器,地址為0x90080060,通過改變頁(yè)地址寄存器的值來(lái)改變頁(yè)選通信號(hào)PA19:PA21的值,從而完成FLASH的分頁(yè)操作。

2 系統(tǒng)軟件設(shè)計(jì)
   
基M642的視景增強(qiáng)系統(tǒng)軟件的實(shí)現(xiàn)是在TI公司提供的CCS2.2編譯環(huán)境下進(jìn)行的。采用了DSP/BIOS嵌入式操作系統(tǒng),利用硬件中斷和任務(wù)調(diào)度實(shí)現(xiàn)視頻數(shù)據(jù)的采集、任務(wù)的顯示及各種顯示模式的相互切換。在程序設(shè)計(jì)中利用了RF5及同步通信等相關(guān)技術(shù)。DSP/BIOS程序模型如圖3所示。


2.1 軟件實(shí)現(xiàn)總流程
    DSP/BIOS是一種搶先型、可裁剪的實(shí)時(shí)操作系統(tǒng),由3部分組成:DSP/BIOS實(shí)時(shí)內(nèi)核與API、DSP/BIOS分析工具、DSP/BIOS配置工具。DSP/BIOS操作系統(tǒng)支持多線程管理和調(diào)度,共有4種線程:硬件中斷、軟件中斷、任務(wù)、空閑循環(huán);支持任務(wù)間同步通信,提供郵箱、信號(hào)燈、隊(duì)列等方式。在DSP/BIOS操作系統(tǒng)下,可方便地實(shí)現(xiàn)對(duì)片上外設(shè)及外部存儲(chǔ)芯片的配置和管理,利用它開發(fā)的程序具有更好的移植性能。
    系統(tǒng)軟件的實(shí)現(xiàn)基于DSP/BIOS微操作系統(tǒng),利用圖3所示基于任務(wù)的應(yīng)用程序?qū)崿F(xiàn)模型進(jìn)行編寫。系統(tǒng)的總流程如圖4所示。


2.2 系統(tǒng)設(shè)備驅(qū)動(dòng)的設(shè)計(jì)與實(shí)現(xiàn)
   
在系統(tǒng)中,綜合運(yùn)用了DSP/BIOS,DDK,RF5等技術(shù)編寫設(shè)備驅(qū)動(dòng)程序,使用標(biāo)準(zhǔn)的類/微驅(qū)動(dòng)程序模型來(lái)開發(fā)視頻驅(qū)動(dòng)程序,使硬件驅(qū)動(dòng)程序與上層應(yīng)用程序開發(fā)剝離開,提高程序的可移植和復(fù)用性能。當(dāng)開發(fā)好硬件驅(qū)動(dòng)程序后,上層的應(yīng)用程序開發(fā)人員只需知道設(shè)備驅(qū)動(dòng)程序提供的接口,而不需要了解底層硬件的工作原理及如何配置。
    在系統(tǒng)中,當(dāng)配置好硬件的底層驅(qū)動(dòng)后,在圖像采集時(shí),底層驅(qū)動(dòng)提供給上層應(yīng)用程序的接口就是存放圖像傳感器數(shù)據(jù)的幀緩沖地址;而在圖像顯示時(shí),應(yīng)用程序只提供要顯示圖像的幀緩沖地址。這些功能的實(shí)現(xiàn)都是通過幀視頻驅(qū)動(dòng)程序(FVID)來(lái)實(shí)現(xiàn)的,它不僅完成對(duì)視頻采集與顯示設(shè)備的配置,還完成視頻幀緩沖區(qū)的管理工作。
    FVID函數(shù)是對(duì)GIO類函數(shù)的簡(jiǎn)單封裝,是為GIO類設(shè)備提供的一組宏。FVID/GIO類驅(qū)動(dòng)程序不僅可以完成對(duì)片上視頻口外設(shè)的配置,還能與外部設(shè)備接口(EDC)配合實(shí)現(xiàn)對(duì)外部編解碼芯片的配置。在程序中,除了完成對(duì)3個(gè)視頻口的配置外,還需對(duì)外部編解碼芯片的配置,現(xiàn)以視頻口0配置成采集通道為例來(lái)說(shuō)明具體的操作過程:
    (1)先在DSP/BIOS操作系統(tǒng)下的靜態(tài)配置工具中創(chuàng)建一個(gè)設(shè)備驅(qū)動(dòng),取名為“VPOCAPTURE”,在屬性頁(yè)面完成設(shè)置操作。
    (2)在采集任務(wù)開始前,利用FVID_create()函數(shù)完成分配,并初始化FVID通道對(duì)象。FVID_create()函數(shù)可以配置視頻口是采集模式,還是顯示模式。在采集和顯示時(shí),使用視頻口哪個(gè)通道來(lái)配置這個(gè)通道的參數(shù)。
    (3)利用FVID_control()函數(shù)發(fā)送命令給下層的微驅(qū)動(dòng)(Mini-driver),以實(shí)現(xiàn)對(duì)外部編解碼芯片的配置。
    (4)在采集和顯示任務(wù)中,調(diào)用FVID幀緩沖管理函數(shù),以完成視頻幀緩沖的管理。
2.3 飛行儀表畫面的繪制與疊加
   
增強(qiáng)視景系統(tǒng)中除了實(shí)時(shí)采集的圖像外,還有一個(gè)很重要的功能就是要能夠顯示當(dāng)前飛機(jī)的飛行姿態(tài)、飛機(jī)發(fā)動(dòng)機(jī)及航電系統(tǒng)的狀態(tài)、敵我信息的顯示等。而這些信息的顯示都是用儀表的形式顯示出來(lái)的,這些儀表可以透明或者不透明地疊加在實(shí)時(shí)采集的傳感器圖像上,從而增強(qiáng)飛行員態(tài)勢(shì)感知的能力。在系統(tǒng)中主要設(shè)計(jì)了以下幾種飛行儀表:
    PFD(Primary Flight Display)儀表畫面是飛機(jī)飛行中最重要的飛行儀表,在PFD儀表中應(yīng)該包含的信息包括航向角、飛行姿態(tài)、空速以及高度等。PFD畫面以綜合的顯示方式包含了上面的信息,主飛行畫面如圖5所示。


    除了PFD畫面以外,還設(shè)計(jì)了發(fā)動(dòng)機(jī)參數(shù)界面,用來(lái)顯示發(fā)動(dòng)機(jī)參數(shù)信息。同時(shí)設(shè)計(jì)了NVD(Narigation Display)導(dǎo)航信息界面,用電子羅盤指示當(dāng)前飛機(jī)所飛行的磁航向角等,其界面如圖6所示。

3 結(jié)語(yǔ)
   
該系統(tǒng)基本實(shí)現(xiàn)了增強(qiáng)視景系統(tǒng)的功能,能夠在不低于25 f/s的圖像采集速率下,同時(shí)采集4路圖像傳感器數(shù)據(jù),實(shí)時(shí)動(dòng)態(tài)疊加飛行儀表信息,以便明顯提高飛行員態(tài)勢(shì)感知能力。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。