基于TMS320DM270的長途客運車無線視頻監(jiān)控系統(tǒng)的設(shè)
驅(qū)動程序設(shè)計
設(shè)備驅(qū)動程序是內(nèi)核的一部分,是操作系統(tǒng)內(nèi)核和機(jī)器硬件之間的接口。Linux操作系統(tǒng)將所有的設(shè)備看作具體的文件,對與用戶而言,可以通過設(shè)備驅(qū)動程序所提供的一組入口點(open()、close()、read()、write()、ioctl()等)來完成對設(shè)備文件的訪問和控制。在Linux系統(tǒng)里,設(shè)備驅(qū)動程序提供的這組入口點是由結(jié)構(gòu)
向系統(tǒng)注冊設(shè)備,登記驅(qū)動程序所提供的入口點。當(dāng)應(yīng)用程序?qū)υO(shè)備操作時,會根據(jù)file_operations結(jié)構(gòu)中的函數(shù)指針找到相應(yīng)的操作函數(shù)并進(jìn)行調(diào)用。圖3中的驅(qū)動程序都是按照上述來完成的。
應(yīng)用程序設(shè)計
在應(yīng)用程序中設(shè)計了兩個進(jìn)程:GPS進(jìn)程和視頻進(jìn)程,應(yīng)用程序流程圖如圖4所示。
GPS進(jìn)程,首先設(shè)置車載終端的IP地址,初始化GPS模塊,然后通過Linux Socket編程和服務(wù)器建立鏈接,等待服務(wù)器命令,如果10秒鐘內(nèi)沒有收到命令,則通過CDMA發(fā)送GPS數(shù)據(jù)到服務(wù)器。
視頻進(jìn)程,首先注冊信號量SIGUSR1,其次是對視頻相關(guān)硬件(DSP、TVP5150、CCDC、Preview engine)的初始化,初始化的具體實現(xiàn)是在各個驅(qū)動程序中完成的,然后利用Linux Socket編程和服務(wù)器建立鏈接,最后啟動MPEG-4編碼器。當(dāng)視頻進(jìn)程成收到SIGUSR1信號后,便通過CDMA傳送編碼好的視頻數(shù)據(jù)。
ARM與DSP通訊
整個程序運行過程中時刻存在著ARM與DSP之間的通訊。
在視頻編碼開始前,DSP的引導(dǎo)由ARM來控制,首先ARM將DSP掛起在復(fù)位狀態(tài),隨后向DSP下載MPEG-4編碼程序,最后喚醒DSP開始編碼。DSP的引導(dǎo)順序如圖5所示。
在視頻編碼過程中,ARM與DSP通過HPIB進(jìn)行通信。ARM管理著DSP數(shù)據(jù)空間的數(shù)據(jù)輸入輸出。在DSP數(shù)據(jù)空間定義了一段內(nèi)存空間作為命令寄存器,然后通過HPI訪問這些寄存器,這就是ARM與DSP之間的一個通訊接口,ARM和DSP都可以異步地向?qū)Ψ桨l(fā)出命令,不存在主從關(guān)系。為了建立這種雙向通訊,系統(tǒng)設(shè)計了兩組寄存器,一組用于ARM(命令由DSP發(fā)出),另一組用于DSP(命令由ARM發(fā)出)。在編碼過程中就是利用這組寄存器以及HPI中斷完成了圖像數(shù)據(jù)的讀取、編碼和發(fā)送。DSP的HPI中斷過程如圖6所示。DSP通過寫寄存器并發(fā)出HPI中斷,向ARM發(fā)送命令。ARM在HPI中斷服務(wù)程序中判斷命令類型并執(zhí)行,其中一種命令是DPS向ARM請求原始圖像數(shù)據(jù)進(jìn)行編碼;另一種命令是DPS請求ARM發(fā)送壓縮后的MPEG-4視頻數(shù)據(jù),在這個命令中會向視頻進(jìn)程發(fā)出SIGUSR1信號。ARM執(zhí)行完命令之后發(fā)出HPI通知DSP。
結(jié)語
本系統(tǒng)把無線視頻監(jiān)控技術(shù)和GPS定位系統(tǒng)相結(jié)合,同單一的GPS定位系統(tǒng)相比有明顯的優(yōu)勢。在實際測試中,實現(xiàn)了視頻和GPS的同步傳輸。視頻傳輸速度可達(dá)8幀/秒,圖像分辨率達(dá)到CIF格式。同時通過對GPS數(shù)據(jù)的解析,可準(zhǔn)確的確定客車的位置和速度。隨著MPEG-4算法的優(yōu)化,無線網(wǎng)絡(luò)的不斷發(fā)展以及3G的推出,傳輸效果將會更加的理想。雖然該系統(tǒng)是為長途客運車而設(shè)計,但它的整個解決方案可用于其它需要遠(yuǎn)程監(jiān)控的行業(yè),比如可廣泛應(yīng)用于軍事、交通、油田、煤礦以及手持娛樂設(shè)備等。
評論