基于TMS320DM365的高速網(wǎng)絡攝像機的設計
本系統(tǒng)的視頻采集模塊采用TVP5146。傳統(tǒng)NTSC/PAL攝像頭的輸出信號格式為模擬信號,由于TMS320DM365的視頻輸入信號是通過VPFE的CCDC以ITU-R BT.601/BT.656格式進行輸入的,所以首先需要通過視頻前段濾波放大器OPA361對采集到的模擬信號進行放大,經(jīng)過視頻解碼芯片TVPS146將模擬信號進行圖像的抗混疊濾波預處理、模擬數(shù)字化轉換及亮度/色度、水平/垂直同步信號的分離,實現(xiàn)模擬視頻信號轉換為數(shù)字并行信號BT.656碼流格式,隨后通過2個12位2選1的FET多路復用器對4路視頻信號選擇1路作為輸入從而完成VPFE的視頻輸入工作。 TVP5146是一種高性能單片數(shù)字視頻解碼器,它可將所有常見的基帶模擬視頻信號,例如NTSC,PAL,SECAM混合信號數(shù)字化并解碼為數(shù)字視頻信號。該解碼器還包括了具有模擬預處理功能的4路10位30MSPS的模數(shù)轉換器。高達10組的視頻輸入終端可以用來配置作為RGB,YPbPr,CVBS分量信號或者S端子視頻輸入。
網(wǎng)絡控制模塊主要包括EMAC模塊和MDIO模塊,原理圖如圖5所示。本文引用地址:http://cafeforensic.com/article/149783.htm
本系統(tǒng)采用TI公司出品的TSB43EA42作為以太網(wǎng)收發(fā)器。TSB43EA42支持10 MB/100 MB基帶傳輸,提供與MAC層相接的MII接口。它與DM3 65通信的主要引腳有:發(fā)送、接收數(shù)據(jù)線、時鐘、使能信號、錯誤指示、管理數(shù)據(jù)接口、控制/指示引腳等。EMAC控制模塊內部集成了8 kB的RAM,主要功能使存放緩沖描述符和以太網(wǎng)數(shù)據(jù)包。MDIO模塊則主要通過兩線接口完成對物理層芯片的配置,工作狀態(tài)檢測等工作。
串口模塊采用TI公司的MAX322ICPW,主要用來負責開發(fā)板與計算機之間的通信。通過超級終端,完成Linux內核的下載以及相關參數(shù)的設置,完成系統(tǒng)的開發(fā)以及調試。存儲模塊包括了2個擴展存儲接口EMIF和2個MMC/SD卡接口。前者包括DDR控制器和異步擴展存儲接口AEMIF分別用于擴展連接對DDR存儲器和Flash存儲器;后者實現(xiàn)了2個SD卡存儲器的擴展連接。
電源模塊采用了TI公司的TPS65023作為電源管理芯片。該芯片包括3個DC/DC轉換器以及2個200mA線性穩(wěn)壓器LDO。每路LDO由TMS320DM3 65通過I2C與之通信,實現(xiàn)各路輸出電源電壓的控制,為內核存儲器和I/O接口提供1.3,1.8,3.3 V的工作電壓;也可通過5 V穩(wěn)壓器直流供電,通過DC/DC轉換器提供1.3,1.8,3.3 V供電。
4 系統(tǒng)軟件設計
系統(tǒng)的視頻采集模塊負責從攝像頭中讀取視頻流數(shù)據(jù),讀出的圖像數(shù)據(jù)交由壓縮模塊處理。攝像頭驅動程序加載完成后為了進行視頻采集必須加入Video4Linux模塊,從而可以通過Video4Linux模塊提供的編程接口從攝像頭設備中獲取圖像幀。基于V4L的視頻采集流程圖如圖6所示。
本系統(tǒng)采用RTP實時傳輸協(xié)議以及RTCP實時傳輸控制協(xié)議作為視頻傳輸?shù)膮f(xié)議。RTP在多點傳送或單點傳送的網(wǎng)絡服務上,提供端對端的網(wǎng)絡傳輸功能,適合應用程序傳輸實時數(shù)據(jù),如:音頻、視頻或者仿真數(shù)據(jù)。RTP由于沒有為實時服務提供資源預留功能,所以不能保證QoS(服務質量)。RTCP作為一種控制協(xié)議,通過擴展可以升級為大型的多點傳送網(wǎng)絡,并提供最小限度的控制和鑒別功能。在RTP會話期間,各參與者周期性的傳送RTCP包,RTCP包中含有已發(fā)送的數(shù)據(jù)包的數(shù)據(jù)、丟失的數(shù)據(jù)包的數(shù)量等統(tǒng)計資料,因此服務器可以利用這些信息動態(tài)的改變傳輸速率,甚至改變有效載荷類型。RTP和RTCP配合使用,他們能以有效地反饋和量小的開銷使傳輸效率最佳化,RTCP利用主要的兩種控制包SR和RR反饋的信息如數(shù)據(jù)包丟失比,數(shù)據(jù)包丟失率,吞吐量和吞吐率,數(shù)據(jù)包到達時延抖動和往返傳播時延等來調節(jié)實時傳輸,并調整系統(tǒng)的打包格式,發(fā)包速率來保證流暢地傳輸數(shù)據(jù)和清晰的播放視頻,因此特別適合傳送網(wǎng)上的實時數(shù)據(jù)。
JRTPLIB作為一個RTP協(xié)議的庫,用來開發(fā)多媒體的應用十分方便。通過JRTPLIB庫發(fā)送或接收RTP數(shù)據(jù),而不用考慮SSRC的沖突、調度,連RTCP的數(shù)據(jù)也不需要用戶來發(fā)送。用戶只需要使用相應的類來發(fā)送和接收媒體數(shù)據(jù)。下面介紹RTP相關代碼的具體實現(xiàn)。
在使用JRTPLIB傳輸多媒體數(shù)據(jù)之前,首先應該創(chuàng)建一個RTPSession類的一個對象來標識此次會話。然后通過RTPSession實例的create()方法來對其進行初始化操作。在create()時,需要兩個參數(shù)sessparams和transparams,分別為RTPSessionParams和RTPUDPv4Trans mission Params的實例。在create()成功以后,需要設置目標地址、凈荷類型、時間戳增量等信息。在RTP會話建立起來以后,我們就可以進行媒體數(shù)據(jù)的傳輸。傳輸凈荷數(shù)據(jù)的方法很簡單,只需要調用RTPSession實例的SendPacker()方法就可以了。同時為了適應在網(wǎng)上的傳輸,還需對凈荷數(shù)據(jù)進行分割。為了方便的使用,我們需進一步的封裝。對于RTP分組的接收部分,由于給出的是拆分了的數(shù)據(jù)幀,我們需要組合成完整的數(shù)據(jù)幀。這里需要注意的是由于本攝像機采用的H.264解碼算法,所以分流式接收方式以及RTP分組接收方式兩種模式,對于流式傳輸,有的組合成完整的數(shù)據(jù)幀的步驟放在了H.264的NAL層。但對有些音頻和JPEG等應用,還是需要進行組裝過程的。
5 結束語
提出一種基于TMS320DM365的高速網(wǎng)絡攝像機系統(tǒng)設計。網(wǎng)絡攝像機接入局域網(wǎng)后,在局域網(wǎng)內部的PC機上通過IE輸入網(wǎng)絡攝像機的IP地址,通過第三方軟件便可以觀看到攝像機捕捉到的圖像以及網(wǎng)絡攝像機的相關數(shù)據(jù)流量信息。當獲得圖像質量要求較高時,相應的圖像數(shù)據(jù)量也會增高,反之減小。在640X480的分辨率下,測得數(shù)據(jù)流量約為960 kb/s,可以滿足對監(jiān)控視頻流暢性的要求。
本文首先介紹了視頻監(jiān)控系統(tǒng)的發(fā)展趨勢以及嵌入式處理器TMS320DM365的特點,之后通過對該系統(tǒng)的硬件設計以及軟件設計的詳細分析,實現(xiàn)了基于達芬奇技術TMS320DM365的高速網(wǎng)絡攝像機系統(tǒng)。該系統(tǒng)采用了最新的技術,降低了產(chǎn)品的成本,具有很強的實用性,是一種比較理想的網(wǎng)絡攝像機解決方案,可廣泛應用于視頻監(jiān)控系統(tǒng)。
評論