關(guān)鍵詞: linux , TMS320DM355 , 處理器 , 服務(wù)器 , 視頻
本設(shè)計(jì)以TI公司DaVinci系列芯片作為硬件平臺(tái),結(jié)合嵌入式Linux操作系統(tǒng),實(shí)現(xiàn)了基于TMS320DM355的視頻服務(wù)器。本文闡述了各硬件模塊的選型與功能,以及服務(wù)器的軟件架構(gòu)與實(shí)現(xiàn)。同時(shí)給出了整個(gè)網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的框架,包括視頻服務(wù)器、網(wǎng)絡(luò)傳輸鏈路及客戶(hù)監(jiān)控端。本設(shè)計(jì)采用 MPEG4視頻編碼標(biāo)準(zhǔn),由DM355內(nèi)部的MPEG/JPEG協(xié)處理器完成。實(shí)驗(yàn)表明,在帶寬充足的條件下,可實(shí)現(xiàn)實(shí)時(shí)監(jiān)控。
1.引言
多媒體監(jiān)控一直是人們關(guān)注的應(yīng)用技術(shù)熱點(diǎn)之一,它以直觀、方便、信息內(nèi)容豐富等特點(diǎn)被廣泛應(yīng)用于許多場(chǎng)合。而隨著嵌入式系統(tǒng)和視頻壓縮技術(shù)的不斷發(fā)展,基于嵌入式技術(shù)的視頻監(jiān)控系統(tǒng)也得到了快速的發(fā)展與應(yīng)用。其通過(guò)把攝像機(jī)輸出的模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),再經(jīng)過(guò)嵌入式系統(tǒng)編碼和傳輸。在客戶(hù)端,通過(guò)安裝監(jiān)控軟件,或者直接通過(guò)Web進(jìn)行監(jiān)控。采用嵌入式Linux操作系統(tǒng)的視頻監(jiān)控系統(tǒng)具備編碼處理、網(wǎng)絡(luò)通信、自動(dòng)控制等強(qiáng)大功能,直接支持網(wǎng)絡(luò)傳輸和網(wǎng)絡(luò)管理,使得監(jiān)控范圍達(dá)到了一定的廣度。
此外,嵌入式處理器的發(fā)展也日新月異,有專(zhuān)注于控制的ARM系列處理器,擅長(zhǎng)快速計(jì)算的DSP處理器,還有一些針對(duì)性非常強(qiáng)的處理器,可以實(shí)現(xiàn)硬件視頻編解碼等。而德州儀器(TI)新近推出的針對(duì)便攜式高清(HD)視頻產(chǎn)品市場(chǎng)的達(dá)芬奇(DaVinci)處理器TMS320DM355處理器,結(jié)合了它們的特長(zhǎng)。其內(nèi)部具有一個(gè)ARM9EJ-S的主處理器,負(fù)責(zé)整個(gè)系統(tǒng)的控制,同時(shí)也集成了一個(gè)MPEG/JPEG協(xié)處理器,專(zhuān)注于MPEG/JPEG算法的實(shí)現(xiàn)。其內(nèi)部的視頻處理子系統(tǒng)(VPSS)及其它外設(shè)可方便快速的實(shí)現(xiàn)視頻的采集、預(yù)處理、顯示、網(wǎng)絡(luò)傳輸?shù)裙δ堋M瑫r(shí),其低廉的價(jià)格也為用戶(hù)降低了成本。而本設(shè)計(jì)即選用此處理器。
2.視頻監(jiān)控系統(tǒng)整體框架
本嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)由視頻服務(wù)器、網(wǎng)絡(luò)傳輸鏈路、客戶(hù)監(jiān)控端等3部分組成。視頻服務(wù)器負(fù)責(zé)音視頻等數(shù)據(jù)的采集、壓縮處理等,網(wǎng)絡(luò)傳輸鏈路將視頻服務(wù)器壓縮和發(fā)送的多媒體數(shù)據(jù)進(jìn)行傳輸,而客戶(hù)端監(jiān)控部分接收音視頻數(shù)據(jù),進(jìn)行解壓、顯示以及對(duì)視頻服務(wù)器的控制等。整個(gè)系統(tǒng)的示意圖如圖1所示。
圖1視頻監(jiān)控系統(tǒng)示意圖
2.1.視頻服務(wù)器
視頻服務(wù)器采用德州儀器(TI)新近推出的達(dá)芬奇(DaVinci)系列處理器TMS320DM355作為主處理器,接收CCD攝像頭采集的視頻信號(hào),進(jìn)行預(yù)處理及MPEG4壓縮,然后將壓縮后的數(shù)據(jù)通過(guò)網(wǎng)絡(luò)傳輸。同時(shí),接收上位機(jī)發(fā)送的命令,解析并且執(zhí)行。每個(gè)設(shè)備都具有唯一的ID,當(dāng)客戶(hù)端進(jìn)行連接時(shí),服務(wù)器會(huì)首先檢查ID號(hào)是否匹配,以防止惡意連接。此外,當(dāng)視頻服務(wù)器運(yùn)行異常時(shí),其內(nèi)部的守護(hù)進(jìn)程會(huì)進(jìn)行監(jiān)視,適當(dāng)?shù)臅r(shí)候進(jìn)行重啟。
2.2.網(wǎng)絡(luò)傳輸鏈路
網(wǎng)絡(luò)傳輸鏈路負(fù)責(zé)多媒體數(shù)據(jù)的傳輸。此處,可以根據(jù)實(shí)際需求,進(jìn)行網(wǎng)絡(luò)傳輸鏈路的選擇。局域網(wǎng)(LAN)、無(wú)線(xiàn)局域網(wǎng)(WLAN)、INTERNET、 CDMA、3G等都是可供選擇的傳輸鏈路。其中,局域網(wǎng)(LAN)和無(wú)線(xiàn)局域網(wǎng)(WLAN)帶寬充足、穩(wěn)定,并且設(shè)備簡(jiǎn)單,易于實(shí)現(xiàn),但會(huì)受到距離的限制。INTERNET和CDMA網(wǎng)絡(luò)可以使監(jiān)控距離得到擴(kuò)展,但是其帶寬受限,圖像質(zhì)量會(huì)受到影響。而最新的3G網(wǎng)絡(luò)也是一個(gè)不錯(cuò)的選擇,帶寬在靜止?fàn)顟B(tài)下可以達(dá)到2Mbps,但是其在穩(wěn)定性方面還待測(cè)試。用戶(hù)可以根據(jù)自己的需求進(jìn)行選擇,或者直接搭建專(zhuān)線(xiàn)網(wǎng)絡(luò),以實(shí)現(xiàn)各自的監(jiān)控指標(biāo)。
2.3.客戶(hù)監(jiān)控端
客戶(hù)端主要與各個(gè)視頻服務(wù)器進(jìn)行連接,以實(shí)現(xiàn)監(jiān)控。客戶(hù)端可以采用PC機(jī)或者便攜式設(shè)備,與網(wǎng)絡(luò)傳輸鏈路相連,通過(guò)上位機(jī)軟件與視頻服務(wù)器連接,接收視頻服務(wù)器發(fā)送的多媒體數(shù)據(jù),進(jìn)行解碼,然后在上位機(jī)顯示。同時(shí),向視頻服務(wù)器發(fā)送控制命令,實(shí)現(xiàn)云臺(tái)、鏡頭等的控制。
3.視頻服務(wù)器硬件設(shè)計(jì)
3.1.整體框架視頻服務(wù)器完成視頻的采集、MPEG4壓縮和網(wǎng)絡(luò)傳輸,以及云臺(tái)、鏡頭等的控制。其硬件結(jié)構(gòu)框圖如圖2所示。
圖2視頻服務(wù)器硬件結(jié)構(gòu)框圖
3.2.各模塊簡(jiǎn)介
1)主處理器
TMS320DM355TMS320DM355是一款針對(duì)數(shù)字靜態(tài)照相機(jī),數(shù)碼相框,IP安全攝像機(jī),視頻門(mén)鈴和其它一些低功耗便攜式數(shù)字視頻應(yīng)用設(shè)計(jì)的高集成度的處理器。可實(shí)現(xiàn)低成本,高圖像質(zhì)量的視頻解決方案。它集高性能,低功耗,低成本于一身,提供與外部CCD或CMOS傳感器的無(wú)縫連接。此外,還提供與電源管理,DDR/mDDRmemory,SRAM,NAND等的接口。
DM355處理器的主處理器是一個(gè)ARM926EJ-S核。ARM926EJ-S是一個(gè)32位的處理器核,提供216MHz或270MHz的時(shí)鐘速率,可執(zhí)行32位和16位的指令集,以及32位,16位和8位的數(shù)據(jù)。
此外,DM355內(nèi)還集成了一個(gè)MPEG/JPEG協(xié)處理器,實(shí)現(xiàn)數(shù)字視頻的壓縮。
DM355內(nèi)還包括一個(gè)視頻處理子系統(tǒng)(VPSS),分為視頻處理前端(VPFE)和視頻處理后端(VPBE)。視頻處理前端提供與CCD/CMOSimager模塊和視頻解碼器的接口。視頻處理后端實(shí)現(xiàn)硬件的OSD支持和復(fù)合的NTSC/PAL或LCD輸出。
2)視頻采集模塊
視頻采集模塊主要由鏡頭和模擬前端電路組成。模擬前端的作用是將圖像傳感器輸出的模擬信號(hào)鉗位放大,并完成A/D轉(zhuǎn)換,這里采用的是TVP5146。TVP5146是TI的一款高質(zhì)量、單片的視頻解碼器,數(shù)字化并且解碼所有主流的基帶模擬視頻格式。TVP5146將復(fù)合的或者分離的NTSC,PAL或者SECAM信號(hào)轉(zhuǎn)換為YCbCr格式。輸出格式可以是20位的YCbCr4:2:2或者10為的YCbCr4:2:2。它由一組內(nèi)部寄存器進(jìn)行控制,通過(guò)I2C進(jìn)行配置,改變對(duì)比度、亮度、飽和度、色調(diào)等參數(shù)。
3)音頻采集模塊
音頻采集模塊由Mic和模數(shù)轉(zhuǎn)換電路構(gòu)成。此處采用TLV320AIC33。TLV320AIC33是一款低功耗立體聲音頻編解碼器,實(shí)現(xiàn)模擬音頻信號(hào)的數(shù)字化。包括立體聲耳機(jī)擴(kuò)音器,并且提供多輸入多輸出。支持8k到96k采樣。DM355對(duì)其的配置也是通過(guò)I2C進(jìn)行的。而數(shù)據(jù)接口則采用McBSP。
4)存儲(chǔ)模塊
本設(shè)計(jì)采用了512MB的nandflash用于存儲(chǔ)UBL、U-Boot、kernel、根文件系統(tǒng)。需要的話(huà)可以存儲(chǔ)一定數(shù)量的音視頻數(shù)據(jù)。它與DM355之間的接口為8位數(shù)據(jù)線(xiàn)。通過(guò)這8位數(shù)據(jù)線(xiàn)進(jìn)行命令及數(shù)據(jù)的傳遞。
5)動(dòng)態(tài)存儲(chǔ)模塊
由于DM355提供DDR接口,所以選擇速度更快的DDRSDRAM作為動(dòng)態(tài)存儲(chǔ)器。Linux操作系統(tǒng)及應(yīng)用程序的運(yùn)行都在這里。當(dāng)系統(tǒng)上電后,bootloader進(jìn)行一些簡(jiǎn)單的設(shè)置之后將自己搬運(yùn)到SDRAM內(nèi)運(yùn)行,當(dāng)需要啟動(dòng)內(nèi)核時(shí),將內(nèi)核搬運(yùn)到SDRAM內(nèi)運(yùn)行。此后,整個(gè)內(nèi)存的控制就交給了Linux內(nèi)核。
6)Ethernet控制器
Ethernet控制器選擇DM9000,通過(guò)網(wǎng)絡(luò)傳輸鏈路實(shí)現(xiàn)數(shù)據(jù)的發(fā)送與接收。
7)RS232及RS485RS232
主要用于開(kāi)發(fā)階段的調(diào)試,RS485用于控制云臺(tái),鏡頭等。RS232和RS485采用通用的232和485芯片即可滿(mǎn)足需要。
8)電源模塊電源模塊負(fù)責(zé)整個(gè)系統(tǒng)的供電
我們采用現(xiàn)成的電源模塊提供云臺(tái)需要的24V交流電壓,鏡頭需要的12V直流電壓,以及視頻服務(wù)器需要的5V直流電壓。由于DM355的核電壓為1.3V,I/O電壓為3.3V,DDRSDRAM的電壓為1.8V,所以我們選擇了TPS65021電源芯片,將輸入的5V電壓轉(zhuǎn)換為3種不同的電壓輸出。此外我們對(duì)DM355的上電順序也進(jìn)行了考慮。
4.視頻服務(wù)器軟件設(shè)計(jì)
本設(shè)計(jì)采用嵌入式Linux操作系統(tǒng)作為其軟件基礎(chǔ)。系統(tǒng)上電后,首先運(yùn)行引導(dǎo)程序bootloader,初始化CPU和一些I/O設(shè)備,然后將Linux內(nèi)核搬運(yùn)到內(nèi)存中,將控制權(quán)交給內(nèi)核。內(nèi)核啟動(dòng)后,運(yùn)行用戶(hù)應(yīng)用程序。系統(tǒng)的軟件層次結(jié)構(gòu)如圖3所示。
評(píng)論
查看更多