機載視頻記錄系統用于記錄飛行中人員、裝備的各種信息,在訓練、實戰中發揮重要作用。為使飛行員及地面指揮人員能夠更直觀、確切地了解飛行各時刻的狀態信息及便于判讀,我們為其加裝了標識卡系統。記錄時可根據需要疊加適當標識,如漢字、圖形、實時時鐘等信息。 在實際系統設計中,我們選擇了富士通(FUJITSU)公司生產的專用字符疊加芯片MB90092,采用AT89C51單片機對其控制;考慮到機載系統的特殊性,我們利用RS-232串行接口通過計算機進行標識卡預先標識的寫入、控制設置。整個系統適應性較強,地勤人員可根據不同的任務很方便的進行預先修改,可以顯示中文及任意圖形。 圖1 MB90092的功能框圖 圖2 系統原理圖 圖3 主程序流程圖 圖4 命令幀和數據幀的結構 MB90092芯片簡介 MB90092利用外部字庫,可以為一路視頻(PAL或NTSC)信號疊加文本和圖形標識。它提供兩種屏幕疊加方法,即主屏和副屏,二者可單獨或相互重疊出現在監視器上。由三個引腳(CS 、SCLK、SIN)來進行對外通信。圖1為MB90092的功能框圖。 本系統中,我們只利用MB90092的主屏顯示功能,MB90092主屏顯示支持的字符顯示點陣為24×32;每個字符可以有不同的顏色,顯示容量為12行,每行24個字符或漢字。字體大小控制方式有:標準(24×32點陣)、雙倍寬、雙倍高、雙倍寬×雙倍高、四倍寬×四倍高。顯示位置控制:可任易設置水平方向和垂直方向的位置,同時可設定行距。有內部視頻信號發生器支持NTSC或PAL制式,可選擇逐行或隔行掃描方式。 系統工作原理 本系統原理如圖2。整個電路的設計以MB90092芯片為核心。需要更改顯示標識及顯示模式時,由計算機設置好后,通過RS-232接口傳給AT89C51;單片機通過系統總線把字符及控制信息寫入到FLASH存儲器MBM29F040C中。FLASH存儲器掉電后信息可以保持,故只在任務改變時重新設置內容;字符寫入及單片機設置完成后,受外部信號觸發,單片機發出命令,控制MB90092從存儲器的相應地址讀出標識,疊加到視頻信號上。 硬件實現 系統設計分為控制設置、字符存儲、字符疊加和實時時鐘接口四個相關聯的部分。 控制設置部分 包括計算機、AT89C51單片機,它們通過RS-232接口進行通信。主要完成兩項任務: ·飛行前需要修改視頻標志信息時,計算機通過RS-232接口可以把按給定格式組織的顯示命令和修改的字符信息傳輸給AT89C51,由單片機完成閃存的信息寫入。 ·飛行時由單片機完成系統的控制,包括90092的配置,閃存中控制命令和字符信息的組織,實時時鐘信息的采樣,以及控制面板的響應。 字符存儲部分 包括FLASH存儲器MBM29F040C,存儲容量512K×8bit。單片機和90092共用數據總線和地址總線,單片機在進行閃存讀寫操作時可能干擾90092內部寄存器的初始配置,因此在AT89C51與MBM29F040C、MBM29F040C與MB90092總線間加入隔離器,對地址總線和數據總線進行隔離,其中包括MBM29F040C片選信號CE、讀信號RE、寫信號WE。單片機控制隔離器使能EN和數據流向DIR。 字符疊加部分 主要為字符疊加芯片MB90092。MB90092支持的字符點陣為24×32,地址線ADR12、ADR13 =00,01,10時分別對應漢字的左、中、右三部分,ADR12ADR13 ="11"時不用;ADR0"ADR4對應每一部分的32個字節。這些地址在MB90092工作時自動尋找,為此, MB90092的地址線ADR0"ADR4,ADR12"ADR13,ADR5" ADR11,ADR14"ADR18分別與MBM29F040C的地址線A0"A18相連。單片機控制信號包括MB90092片選信號CS、串行數據傳輸時鐘SCLK、串行數據輸入SIN、狀態控制信號TSC。 實時時鐘接口設計 實時時鐘選用美國Xicor公司推出的串行時鐘芯片X1203,該芯片體積小、功耗低、使用簡單、接口容易,雙端口時鐘和報警寄存器使時鐘即使在讀寫操作期間也能精確工作。X1203采用I2C總線接口,在與AT89C51的接口中我們用P3.2 ,P3.3虛擬I2C總線接口,實現方法簡潔。 軟件實現 軟件設計主要包括兩部分:一是對寄存器設置以實現特定的功能;另一個是圖像顯示控制和字庫、寄存器設置命令的實時修改。 寄存器設置 MB90092通過對內部寄存器的設置實現90092復位、字符顯示模式、字符尋址、字符疊加的設定。系統設計為可更改模式,故這部分程序放在外部閃存中,在程序運行中可由單片機進行引導和實時修改。 圖象顯示主流程 標志卡一個很重要的功能就是控制命令和字符數據能實時修改,因此在程序開始就打開串行口,允許接收,程序循環運行過程中,串口有傳輸請求馬上響應,調用修改子程序。由于是機載設備,因此抗干擾必須考慮,在子程序中設定了傳輸請求標志和校驗措施。 90092驅動的一個顯著特點是對命令傳輸次序沒有苛刻要求,任一條命令的傳輸都能及時映射到內部的VRAM區域,并在視頻信號的場同步間隔期間完成刷新。因此在主程序流程中掃描功能管腳,調用閃存中的控制命令可以迅速完成標志信息和顯示模式的更改。 由于90092刷新較快,因此在每一個程序循環中采樣X1023,送到單片機內部設定的寄存器,調用0"9數字完成實時時鐘的顯示,誤差小于0.1秒。 該程序流程(見圖3)需要不停的循環對外部信號進行響應和及時的顯示,同時完成90092的內部刷新請求。 修改子程序說明 新的寄存器設置命令與字符信息由PC機編制,并按照設定好的協議格式通過RS-232接口傳輸給單片機,由單片機串行口接收、完成閃存的寫入,RS-232電平到TTL電平的轉換由MAX232L實現。寄存器設置命令和字符信息總的字節數不是很大,為保證單片機接收信息的準確性,PC機和單片機之間都采用查詢方式進行。其傳輸方式設定如下: 波特率:1200波特/秒 串口模式:2:1位起始位,8位數據位,1位停止位 握手協議:(PC)傳輸請求標志,5Ah 設定命令幀和數據幀(見圖4)結束標志位,傳輸前標志位都清零,當標志位都為結束標志時,標志命令幀、數據幀傳輸完畢,單片機完成寄存器的新設置和字符信息的修改。PC機的傳輸程序也采用查詢方式,每傳輸一個字節就等待單片機操作結束并回傳RRDY標志,直到傳輸結束。 可靠性設計 軟硬件看門狗電路設計 為防止程序受干擾而跑飛,電路中設定了硬件看門狗電路,一旦進入非正常程序而不能回到正常狀態,則強制硬件復位。在程序設計中也加入了抗干擾措施,主程序每個功能模塊設定入口標志,程序在每個功能模塊入口處先執行寫標志操作,為防止程序失控后破壞相應RAM單元,采用數據冗余和糾錯方法,程序復位后首先檢查恢復RAM數據,然后根據入口標志確定重新進入對應的程序模塊。 命令錯誤處理 主要針對控制命令和字符數據的修改過程,PC有修改請求時首先必須通過單片機的權限檢測。在數據傳輸過程中,為保證傳輸有效性,設定單字節數據傳輸時間上限為3ms,從單片機回傳RRDY標志開始,一旦時間超時則終止等待,重新回傳RRDY標志。PC機在發送過程中連續收到兩次RRDY標志,必須轉到傳輸錯誤子程序,對傳輸進行校驗。由于控制命令和字符數據總的字節數都為偶數,因此傳輸結束時,單片機對所接收的字節總數進行校驗,如有錯誤,則作廢整個命令和數據信息。 結語 經試用,該標志卡工作可靠,疊加字符圖形清晰,時鐘顯示準確,提高了視頻記錄系統判讀效率。同時MB90092有豐富的顯示模式可供選擇,具有很好的應用前景和使用價值。 |