a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于TMS320 DM355監控服務器設計與實現

基于TMS320 DM355監控服務器設計與實現

作者: 時間:2009-03-05 來源:網絡 收藏

以TI公司DaVinci系列芯片作為硬件平臺,結合嵌入式Linux操作系統,的視頻。本文闡述了各硬件模塊的選型與功能,以及的軟件架構與。同時給出了整個網絡視頻系統的框架,包括視頻、網絡傳輸鏈路及客戶端。本采用MPEG4視頻編碼標準,由內部的MPEG/JPEG協處理器完成。實驗表明,在帶寬充足的條件下,可實時

本文引用地址:http://www.j9360.com/article/152613.htm


1.引言

  多媒體監控一直是人們關注的應用技術熱點之一,它以直觀、方便、信息內容豐富等特點被廣泛應用于許多場合。而隨著嵌入式系統和視頻技術的不斷發展,嵌入式技術的視頻監控系統也得到了快速的發展與應用。其通過把攝像機輸出的模擬信號轉化為數字信號,再經過嵌入式系統編碼和傳輸。在客戶端,通過安裝監控軟件,或者直接通過Web進行監控。采用嵌入式Linux操作系統的視頻監控系統具備編碼處理、網絡通信、自動控制等強大功能,直接支持網絡傳輸和網絡管理,使得監控范圍達到了一定的廣度。

  此外,嵌入式處理器的發展也日新月異,有專注于控制的ARM系列處理器,擅長快速計算的DSP處理器,還有一些針對性非常強的處理器,可以實現硬件視頻編解碼等。而德州儀器(TI)新近推出的針對便攜式高清(HD)視頻產品市場的達芬奇(DaVinci)處理器處理器,結合了它們的特長。其內部具有一個ARM9EJ-S的主處理器,負責整個系統的控制,同時也集成了一個MPEG/JPEG協處理器,專注于MPEG/JPEG算法的實現。其內部的視頻處理子系統(VPSS)及其它外設可方便快速的實現視頻的采集、預處理、顯示、網絡傳輸等功能。同時,其低廉的價格也為用戶降低了成本。而本即選用此處理器。

  2.視頻監控系統整體框架

  本嵌入式網絡視頻監控系統由視頻服務器、網絡傳輸鏈路、客戶監控端等3部分組成。視頻服務器負責音視頻等數據的采集、處理等,網絡傳輸鏈路將視頻服務器和發送的多媒體數據進行傳輸,而客戶端監控部分接收音視頻數據,進行解壓、顯示以及對視頻服務器的控制等。整個系統的示意圖如圖1所示。


圖1視頻監控系統示意圖

 2.1.視頻服務器

  視頻服務器采用德州儀器(TI)新近推出的達芬奇(DaVinci)系列處理器DM355作為主處理器,接收CCD攝像頭采集的視頻信號,進行預處理及MPEG4壓縮,然后將壓縮后的數據通過網絡傳輸。同時,接收上位機發送的命令,解析并且執行。每個設備都具有唯一的ID,當客戶端進行連接時,服務器會首先檢查ID號是否匹配,以防止惡意連接。此外,當視頻服務器運行異常時,其內部的守護進程會進行監視,適當的時候進行重啟。

  2.2.網絡傳輸鏈路

  網絡傳輸鏈路負責多媒體數據的傳輸。此處,可以根據實際需求,進行網絡傳輸鏈路的選擇。局域網(LAN)、無線局域網(WLAN)、INTERNET、CDMA、3G等都是可供選擇的傳輸鏈路。其中,局域網(LAN)和無線局域網(WLAN)帶寬充足、穩定,并且設備簡單,易于實現,但會受到距離的限制。INTERNET和CDMA網絡可以使監控距離得到擴展,但是其帶寬受限,圖像質量會受到影響。而最新的3G網絡也是一個不錯的選擇,帶寬在靜止狀態下可以達到2Mbps,但是其在穩定性方面還待測試。用戶可以根據自己的需求進行選擇,或者直接搭建專線網絡,以實現各自的監控指標。

  2.3.客戶監控端

  客戶端主要與各個視頻服務器進行連接,以實現監控。客戶端可以采用PC機或者便攜式設備,與網絡傳輸鏈路相連,通過上位機軟件與視頻服務器連接,接收視頻服務器發送的多媒體數據,進行解碼,然后在上位機顯示。同時,向視頻服務器發送控制命令,實現云臺、鏡頭等的控制。3.視頻服務器硬件設計3.1.整體框架視頻服務器完成視頻的采集、MPEG4壓縮和網絡傳輸,以及云臺、鏡頭等的控制。其硬件結構框圖如圖2所示。

圖2視頻服務器硬件結構框圖

 4.1.系統上電及引導程序

  系統上電時,是由DM355的輸入引腳BTSEL[1:0]來決定從ROM或者AEMIF啟動。此設計處選擇從ROM啟動。此時,系統直接跳轉到內部ROM的起始地址(0X00008000)執行指令。內嵌的ROM啟動代碼(RBL)進行一些配置操作,然后讀取BOOTCFG寄存器來決定是從NAND、MMC/SD或者UART啟動。本設計選擇NAND啟動。NANDflash里預先燒寫好了U-boot、Linux內核以及根文件系統。NAND啟動以后,會讀取bootloader的stage1部分的指令對系統進行必要的設置,然后將stage2部分的代碼搬移到SDRAM中進行執行。當用戶選擇啟動內核時,bootloader將內核從NANDflash里搬運到SDRAM,然后跳轉到內核的起始地址進行執行,啟動內核。

  4.2.嵌入式Linux操作系統

  嵌入式Linux操作系統是針對不同的應用需求,對Linux內核進行裁剪修改使之能在嵌入式計算機系統上運行的一種操作系統。它開放源碼,內核小、效率高,適用于多種CPU和硬件平臺,性能穩定,可移植性好等特點為其開辟了一片屬于自己的空間。

  本設計選擇嵌入式Linux操作系統作為軟件平臺,實現各硬件模塊的驅動的添加及移植,用戶應用程序的編寫及調試。

  4.3.用戶應用程序

  本設計中將整個應用程序分為2個進程,data進程和command進程。Data進程主要負責音視頻數據的采集、壓縮和網絡傳輸。其中,又分為3個線程,capture線程、編碼線程以及control線程。Capture線程控制采集設備進行圖像及聲音的采集及預處理;編碼線程從capture線程讀取數據,進行MPEG4(視頻)或G.711(音頻)壓縮。Control線程從編碼線程讀取壓縮完的數據,通過網絡發送給客戶端。而command進程接收上位機命令,解析、執行,并且控制云臺,鏡頭及測溫等。Command進程還加入了用戶ID檢驗等功能,提供簡單的保護機制。應用程序的流程圖如圖4所示。

圖4應用程序流程圖

  4.4.MPEG/JPEG協處理器編碼

  由于DM355內部集成了MPEG/JPEG協處理器,對于音視頻的編解碼主要是通過它來完成的。而對它的操作是依靠TI公司制訂的eXpressDSP算法互用性標準(xDAIS)的xDAIS-DM標準實現的。此標準定義了一組統一的API,這些API是建立在各種多媒體算法之上的,這樣即簡化了集成難度,同時保證了互用性。TI提出的CodecEngine就是一組用于示例和運行xDAIS算法的API,而VISA(Video,Image,Speech,Audio)類是用來與xDAIS-DM算法標準定義的基于各種多媒體算法的API函數集進行交互的接口。在應用程序編程中,通過進行如下的操作來完成視頻的編碼。

  打開編解碼引擎:

  staticStringengineName=videnc

  Engine_Handlece;Engine_Errorerrorcode;ce=Engine_open(engineName,NULL,errorcode);視頻編碼類提供四個API函數:創建視頻編碼類:VIDENC_Handlehenc;staticStringencoderName=mpeg4enc;henc=VIDENC_create(ce,encoderName,NULL);其中ce為打開編碼引擎時返回的句柄。對視頻編碼類進行控制,設置視頻編碼動態參數:VIDENC_control(henc,XDM_SETPARAMS,dynamicParams,encStatus);處理數據,進行編碼:VIDENC_process(henc,inBufDesc,outBufDesc,inArgs,outArgs);其中參數henc為創建的VISA類句柄,inBufDesc為原始數據buffer,outBufDesc為壓縮后數據buffer,inArgs和outArgs為輸入輸出配置參數。銷毀創建的視頻編碼類:VIDENC_delete(henc);在應用程序中調用以上API,即可利用MPEG/JPEG協處理器對原始視頻數據進行壓縮,而音頻數據的壓縮與此類似。


5.總結

本文介紹了基于最新Davinci平臺的視頻的設計與實現,包括硬件組成和軟件設計。整個視頻服務器利用DM355內部的ARM926EJ-S核運行嵌入式Linux操作系統,而用MPEG/JPEG協處理器進行MPEG4編碼相關的計算。文中對利用MPEG/JPEG協處理器進行編碼也做了介紹,同時給出了整個視頻監控系統的框架。經過在局域網內測試,可以實現D1格式的視頻的實時傳輸,同時可以進行云臺及鏡頭等的控制。利用該系統可實現樓宇、街道等場所的視頻監控。

linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


評論


相關推薦

技術專區

關閉