基於TMS320DM642的網絡攝像機設計

網絡攝像機的解決方案有多種選擇,但是市場主流產品一般選擇兩種方案:(1)採用CPU+ASIC(2)採用雙CPU結構,即一個嵌入式CPU和一個專用信號處理芯片DSP。受專用DSP芯片處理能力的限制,現有的嵌入式網絡攝像機中使用的視頻處理算法基本是H.263以下的標準。

本文介紹一種基於TMS320DM642 DSP的網絡攝像機設計方案。其操作系統、通信協議、網絡協議、音視頻處理軟件均在一顆TMS320DM642上實現,降低了開發的難度。

 

1 網絡攝像機硬件原理圖

2 視頻接口原理圖

TMS320DM642芯片簡介

 

 

 

 

 

 

TI公司的TMS320DM642 (以下簡稱DM642)是一款專門面向多媒體應用的專用DSP。該DSP時鐘高達600MHz8個並行運算單元,處理能力達4800MIPS;採用二級緩存結構;具有64位外接存儲器接口;兼容IEEE-1149.1(JTAG)邊界掃描;爲了面向多媒體應用,還集成了3個可配置的視頻端口、面向音頻應用的McASP(Multi Channel Audio Serial Port)10/100Mb/s的以太網MAC等外設。鑑於DM642的上述優點,本網絡攝像機系統就以DM642爲核心,完成音視頻信號的實時採集、壓縮及傳輸功能。

 

硬件設計

系統電路組成如圖1所示。從攝像機輸入的視頻信號和從麥克風輸入的音頻信號經採集、A/D轉換爲數字信號後送入DSPDSP在信源處對音視頻信號進行壓縮編碼和合流,然後通過局域網或因特網將數據傳輸給視頻監控中心。監控中心可同時監視多個現場,接收或發送報警信號,並根據需要通過異步串行總線RS-485實時控制雲臺,調整攝像頭的方向和位置。

視頻採集電路

本系統採用的視頻解碼芯片是Philips 公司的SAA7115。從模擬視頻輸入口輸入的全電視信號在SAA7115內部經過鉗位、抗混疊濾波、A/D轉換、YUV分離電路之後,在YUVYCrCb的轉換電路中轉換成BT.656視頻數據流,輸入到壓縮核心單元DM642中。DM6423個視頻口VP0VP1VP2與視頻編解碼芯片相接。

在本系統中,只有一路視頻輸入,故VP1VP2端口未用,VP0通道配置爲8BT.656視頻輸入口。視頻數據的行/場同步信號包含在BT.656數字視頻數據流的EAV(end of active video)SAV(start of active video)時基信號中,視頻口只需視頻採樣時鐘和採樣使能信號即可。SAA7115內部寄存器參數的配置和狀態的讀出通過I2C總線進行。視頻接口的原理如圖2所示。

音頻輸入/輸出電路

本系統採用TI的高性能立體聲編解碼器TLV320AIC23(以下簡稱AIC23)實現音頻信號的採集和播放。AIC23DM642 I/O電壓兼容,可以實現與DM642McASP接口無縫連接。

在本系統中,AIC23工作於主模式,左右聲道的採樣字寬均爲16bit。數據接口爲DSP mode模式。通過I2C總線設置內部寄存器的工作參數和反饋狀態信息。

因爲網絡傳輸的固有特點,音頻數據和視頻數據從網絡攝像機端到達監控中心不可能是均勻的,如果網絡攝像機端不做任何糾正處理,則很難保證音視頻的同步輸出。爲了實現音頻和視頻的採樣同步,本文利用鎖相環PLL1708,從SAA7115LLC引腳輸出27MHz時鐘,經PLL1708產生AIC23的主時鐘MCLK。由於音視頻採樣信號採用同一個時鐘源,就不會出現音視頻不同步的問題。PLL1708SCKO3引腳輸出默認時鐘頻率18.433MHz,作爲AIC23的輸入主時鐘MCLKAIC23內部採用的時鐘可通過設置寄存器由主時鐘MCLK分頻得到。

以太網接口電路

本系統用LXT971作爲快速以太網物理層自適應收發器。由於LXT971支持IEEE 802.3標準,提供MII(media independent interface)接口,可以支持MAC,而DM642內部正好集成有以太網媒體存取控制器,所以LXT971可以和DM642實現無縫連接。連接電路如圖3所示,其中BH11021:1的隔離變壓器。從DM642傳輸過來的數據通過LXT971轉換爲以太網物理層能接收的數據後,通過RJ-45頭傳輸到因特網。

存儲器擴展電路

DM642內部有16KB的一級程序緩存,16KB的一級數據緩存和256KB的程序數據共享二級緩存。但這對於直接處理圖像數據是不夠的,因此擴展了兩片32MBSDRAM來存放原始圖像數據,4 MBFLASH來存放應用程序。二者都映射到DM642的外部數據空間。

CPLD電路

本系統採用的CPLDXilinx公司的XC9572XL。該芯片具有72個宏單元,1600個邏輯門; 5ns pin-to-pin的邏輯延遲; 178MHz的系統頻率。CPLD的功能主要是:爲FLASH UARTCPLD 異步寄存器空間作地址解碼;爲FLASH產生3bit的頁選信號;監控來自UART的電平中斷信號,轉換爲邊沿觸發中斷信號送給DSP

RS-485接口電路

該接口連接到攝像機的雲臺,用來控制雲臺的轉動,調整攝像頭的方向和位置。RS-485總線抗干擾能力強,能實現多站點遠距離通信。本壓縮卡擬採用UART芯片SC16C550MAXIM公司的MAX487E來實現RS-485信號的傳輸。SC16C550主要功能是把DSP傳送過來的並行信號轉換爲串行信號。SC16C550內部的接收器和發送器各有16BFIFO,能處理的串行信號的速率高達3MbpsMAX487ERS-485總線接口芯片,可以工作在全雙工、半雙工模式。傳輸速率可達2.5Mbps

電源電路

整個壓縮卡用一個5V的直流變壓器供電。由這個5V的電壓器產生1.4V3.3V電壓分別給DSP內核和 I/O端口供電,產生另外一個3.3V給視頻編解碼及其他芯片供電。注意這兩個3.3V電源要分開設計,以免電源噪聲相互干擾。

由於DSP需要兩種電壓,所以要考慮供電系統的配合問題。加電過程中,應當保證內核電源先上電,最晚也應當與I/O電源一起加。關閉電源時,先關閉內核電源,再關閉I/O電源。講究供電次序的原因在於:如果僅CPU內核獲得供電,周邊I/O沒有供電,對芯片不會產生損害,只是沒有輸入/輸出能力而已。如果反過來,周邊I/O得到供電而CPU內核沒有加電,那麼芯片緩衝/驅動部分的晶體管將在一個未知狀態下工作,這是非常危險的。

爲了解決這個問題,本文采用了開關電源芯片TPS54310PWP,把1.4V模塊的電源輸出有效引腳PG(power good)連接到3.3V模塊的允許電壓輸入引腳EN。這樣,只有當1.4V電壓有效之後,3.3V電壓纔開始上電,這就保證了DM642的內核電壓先於I/O電壓上電。

 

軟件設計

在本系統中,圖像壓縮採用H.264標準。H.264具有很高的編碼效率,在相同的重建圖像質量下,能夠比H.263節約50%左右的碼率。H.264的碼流結構網絡適應性強,增加了差錯恢復能力,能夠很好地適應IP和無線網絡的應用。音頻編解碼採用G.729算法。網絡傳輸採用RTP/RTCP協議以及組播方式,這樣可以保證傳送的質量。在操作系統方面,採用基於DSP/BIOS TI 參考架構5(RF5)。基於RF5操作系統的應用程序模塊主要包括:音視頻採集模塊、壓縮編碼模塊、UART控制模塊和網絡傳輸模塊。

  

結語

本方案能在一顆DM642芯片上實現網絡攝像機的幾乎全部功能,能對音視頻進行實時的編解碼和實時的網絡傳輸。圖像質量高、開發難度低、易於升級,是一種比較理想的網絡攝像機解決方案,可廣泛應用於視頻監控系統中。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章