<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 基于SAA6752HS的嵌入式視頻監控和傳輸系統設計

基于SAA6752HS的嵌入式視頻監控和傳輸系統設計

——
作者: 時(shí)間:2007-10-19 來(lái)源:艦船電子工程 收藏

  摘 要:主要介紹了以SAA6752HS 為核心的實(shí)時(shí)視頻壓縮和傳輸系統,詳細討論了其結構與硬、軟件實(shí)現。該系統成本較低、使用靈活, 可方便地嵌入到需要視頻監控的監測系統中。

  關(guān)鍵詞; ;;SAA6752H

  引言

  人類(lèi)接受信息中有70%是視頻信息。相對于語(yǔ)音和文字信息來(lái)說(shuō),視頻信息更直觀(guān),信息量更大,處理和傳輸技術(shù)也更為復雜。視頻監控系統作為視頻技術(shù)的一個(gè)應用領(lǐng)域,在軍事安全等領(lǐng)域發(fā)揮著(zhù)重要的作用。目前視頻監控系統主要采用模擬和數字兩種技術(shù)。數字視頻技術(shù)不僅能減少視頻傳輸引起的失真,還能對視頻信息進(jìn)行分析、識別及有效信息提取。因此隨著(zhù)數字技術(shù)的進(jìn)步,數字視頻監控將成為今后的發(fā)展方向。

  數字視頻監控的一項核心技術(shù)是視頻壓縮技術(shù)。視頻信號包含大量的數據信息,通過(guò)壓縮手段把信息數據量壓下來(lái),以壓縮形式存儲和傳輸,既緊縮了存儲空間,又提高了通信干線(xiàn)的傳輸效率,同時(shí)也使計算機實(shí)時(shí)處理音頻、視頻信息,以保證播放出高質(zhì)量的視頻、音頻節目成為可能。MPEG-2 標準是運動(dòng)圖像專(zhuān)家組于1995 年正式公布的。它的用處在于可以使運動(dòng)視音頻數據作為一種計算機可處理的數據形式,并且可以存儲在各種存儲媒體上,可以在現存或未來(lái)的網(wǎng)絡(luò )上發(fā)送、接受,并且可以在現存或未來(lái)的廣播信道上傳播。本文討論的就是一種采用MPEG-2 壓縮標準的數字視頻監控系統。

  MPEG-2 視頻數據壓縮原理

  MPEG-2 圖像壓縮的原理是利用了圖像中的兩種特性:空間相關(guān)性和時(shí)間相關(guān)性。利用離散余弦變換(DCT) 編碼技術(shù)降低空間數據相關(guān)性;運動(dòng)估計和預測技術(shù)降低鄰近幀像素的時(shí)間相關(guān)性來(lái)實(shí)現幀間數據壓縮。MPEG-2 基本編解碼模型如圖1 所示。圖中虛線(xiàn)上半部分完成視頻編碼功能,虛線(xiàn)下半部分完成視頻解碼功能。

  編碼器中的預處理器對原始圖像中的噪聲進(jìn)行過(guò)濾,并將圖像分割成宏塊。對于幀內編碼,宏塊經(jīng)過(guò)DCT 變換、量化和變長(cháng)編碼后輸出壓縮的視頻數據;對于幀間編碼,運動(dòng)估計對宏塊的運動(dòng)進(jìn)行估測和補償來(lái)減少圖像的時(shí)序冗余;圖像預測器根據參考幀來(lái)預測當前幀,兩者之間的差值經(jīng)過(guò)DCT變換、量化和變長(cháng)編碼后輸出,由于差值較小可以使編碼所需比特數減少很多;逆量化和IDCT的目的是為了完成參考幀的重現。解碼器中變長(cháng)解碼、逆量化和IDCT重構幀內編碼的圖像,圖像預測器根據參考幀和運動(dòng)矢量完成幀間編碼圖像的重現。

  

  圖1  MPEG-2 編解碼模型圖

  系統設計

  系統硬件設計

  系統總體結構

  系統主要由兩個(gè)部分組成:一是模擬視頻數據解碼和數字視頻數據編碼子系統。二是視頻碼流以太網(wǎng)傳送子系統。此外還有電源子系統、JTAG調試子系統等,這里不做詳述。系統的基本結構圖如圖2 所示。

  

  圖2  系統原理圖

  系統首先通過(guò)模擬攝像機將外部的信號轉換為PAL 制的復合視頻信號,然后模擬視頻解碼和數字視頻編碼子系統將模擬攝像機的PAL 制式復合視頻信號壓縮為MPEG-2 格式視頻流,最后,DSP 控制器將視頻流封包通過(guò)以太網(wǎng)傳送子系統以百兆的帶寬傳送出去。

  模擬視頻解碼和數字視頻編碼子系統

  模擬視頻解碼部分的任務(wù)是對輸入的PAL 制視頻信號進(jìn)行采樣量化編碼后,轉換成標準數字視頻信號。我們選用的PHILIPS 公司的SAA7114 芯片。SAA7114 是一種高性能的單片NTSC/PAL/SECAM復合視頻解碼器,低功耗、低價(jià)格、具有卓越的三線(xiàn)自適應梳狀濾波器能克服傳統濾波器的人工痕跡而保證全屏視頻分辨率,具有靈活的像素端口,并具有外圍電路簡(jiǎn)單和易于編程等優(yōu)點(diǎn)。

  在系統中, SAA7114將模擬信號解碼后得到的信號轉換為ITU-RBT.656 數字視頻格式,可以與SAA6752 直接相連,如圖3所示。系統中采用SAA7114的視頻輸出口為X-port作為數據輸出口。X-port的信號分為以下幾類(lèi):

  a、數據信號XPD7-XPD0 :輸出解碼后的數據值;

  b、時(shí)鐘信號XCLK:作為系統參考時(shí)鐘信號;

  

  圖3  SAA7114 與SAA6752 的接口

  c、行同步信號XRH 和場(chǎng)同步信號XRV :當輸出為行同步信號和場(chǎng)同步信號時(shí),這兩個(gè)信號有效;

  d、XDQ 作為輸出數據有效指示;

  e、XDRI 控制X-port 是作為輸入口還是輸出口。

  RTS0 輸出奇數場(chǎng)或偶數場(chǎng)的標志位。

  MPEG-2 視頻編碼部分是整個(gè)系統的關(guān)鍵部分,它將ITU-RBT.656格式的數據編碼壓縮為ISO/IEC 13818的傳輸流(TS) 。這一部分選用的是PHILIPS 公司的SAA6752HS 芯片。它是一款高集成度低成本的單芯片音視頻編碼芯片,可以執行全部的視頻編碼、噪聲濾波和運動(dòng)估計的功能。另外,通過(guò)I2C 總線(xiàn)就能實(shí)現對SAA6752HS 控制,因此SAA6752HS 只需要從主控制處理器的I2C總線(xiàn)上傳輸少量設置編碼的參數就可以使SAA6752HS 開(kāi)始編碼工作。SAA6752 與TMS320VC5502 主控DSP 的連接如圖4 所示。

  SAA6752 的輸出接口各引腳功能如下:

  a、PDO[7. . 0 ]輸出數據;

  b、PDIOCLK輸出參考時(shí)鐘,可以設為9MHz 或6. 75MHz ;

  c、PDOAV 信號表示輸出的是視頻數據還是音頻數據;

  d、PDOVAL 信號表示輸出的數據是否有效;

  e、PDOSYNC 表示輸出的是數據包的第一個(gè)字節。

  

  圖4  SAA6752HS 與TMS320VC5502 的連接圖

  需要說(shuō)明的是,圖4 中的移位寄存器、FIFO、計數器(模4) ,計數器2 (模47) 是用FPGA 實(shí)現。DSP 控制器我們選用的是TI 公司中的TMS320VC5502(‘5502) 芯片,它的核心電壓只有1.2V ,功耗僅0. 05mW/MIPs ,性能達600MIPS。這款芯片尤其適合于數據速率高,運算量大,又要求低功耗的系統。同時(shí)TMS320VC5502 集成了豐富外圍設備,比如32 位的外部?jì)却娼涌?EMIF) ,可以與系統中的網(wǎng)卡連接;內部集成的I2C 總線(xiàn)接口,便于對Philips 的視頻芯片進(jìn)行控制。另外,它還對外提供JTAG口,這使系統的調試可依靠JTAG仿真器和TI 公司最新的DSP 開(kāi)發(fā)平臺CCS 而變得更為方便。

  視頻流以太網(wǎng)傳送子系統

  以太網(wǎng)接口部分主要用來(lái)將打好包的數據傳到遠程主機上, 我們使用的是SMSC 公司的LAN91C111 芯片,它是一塊高性能非PCI 接口的10M/100M以太網(wǎng)接口的芯片。LAN91C111 采用的是一種流量I/O 的工作方式。所謂流量IO 方式曾經(jīng)是為磁盤(pán)與處理器接口而設計的,它比ISA 的DMA 方式具有更高的效能而且能更方便的使用。LAN91C111 對數據的處理能力也很強,其理論上最大數據處理能力為320Mbit/s = 40MB/s。由于LAN91C111 具有MMU 功能使得整個(gè)系統具有較高的網(wǎng)絡(luò )性能和較低的系統開(kāi)銷(xiāo)。

  

  圖5  LAN91C111 的接口圖

  由LAN91C111 組成的網(wǎng)絡(luò )接口如圖5 所示。LAN91C111 通過(guò)局部總線(xiàn)接口把CPU 傳過(guò)來(lái)的數據,通過(guò)內部的MAC 控制器進(jìn)行數據的封裝,物理層收發(fā)器(PHY) 將數據傳輸到脈沖變壓器上,這樣由噪聲產(chǎn)生的錯誤可以降至最低,保證數據的正確傳輸。同時(shí),LAN91C111 的物理層收發(fā)器還能接收網(wǎng)絡(luò )上的數據包,并且MAC 可以進(jìn)行載波偵聽(tīng)、碰撞檢測協(xié)議和CRC 校驗功能;此外LAN91C111 還具有大的緩沖區可以提高整個(gè)電路的效率,LED控制器可以標識網(wǎng)絡(luò )接口的狀態(tài)。LAN91C111 的主機端的接口比較靈活,它可以支持異步或同步方式的傳輸,還可以支持非觸發(fā)方式和觸發(fā)方式(Burst mode) 的傳輸。為了提高系統的吞吐率,由DSP 向網(wǎng)卡傳送數據時(shí),通過(guò)DSP 的EMIF 接口,采用同步觸發(fā)傳輸方式,并且使用直接32 位數據傳輸,數據不通過(guò)BIU ,直接寫(xiě)入網(wǎng)卡FIFO ,這樣更為合理地實(shí)現TMS320VC5502 與LAN91C111 高速連接。

  系統軟件設計

  本系統的軟件包括兩大部分,一是硬件驅動(dòng)程序,二是控制邏輯設計。下面分而述之。

  系統驅動(dòng)程序設計

  環(huán)境下進(jìn)行的。CCS 界面簡(jiǎn)單明了,操作方便,功能強大,大大降低了開(kāi)發(fā)的難度。系統的驅動(dòng)程序由TMS320VC5502 初始化程序,SAA7114A ,SAA6752HS 和LAN91C111 的配置程序、數字視頻 碼流接收存儲封包程序、MPEG2 碼流以太網(wǎng)發(fā)送程序和系統主控程序等多個(gè)模塊組成。圖6 為軟件系統框圖。

  

  圖6  軟件系統框圖

  TMS32VC5502 的初始化程序完成對‘C5502 的堆棧和運行狀態(tài)位,中斷使能位的設置,以及DSP內核頻率的設置。SAA7114 和SAA6752HS 的配置程序通過(guò)‘C5502 的I2C 接口完成對其的設置,使其能正常地進(jìn)行模擬解碼和數字編碼。LAN91C111 的初始化程序完成對該芯片的一些寄存器設置,使其能正常運轉起來(lái)。數字視頻MPEG2 碼流接收存儲封包程序是通過(guò)‘C5502 將SAA6752HS 傳過(guò)來(lái)的數據按照RTP 協(xié)議標準打成網(wǎng)絡(luò )上的數據包,然后再通過(guò)MPEG2碼流以太網(wǎng)發(fā)送程序將數據包發(fā)送出去。數據傳輸時(shí)都是使用的DMA 傳輸方式,這樣可以節省大量的時(shí)間,提高系統運行的效率。

  在整個(gè)驅動(dòng)程序設計當中,時(shí)序的把握是十分關(guān)鍵的。比如SAA7114 的配置程序,當中需要用到I2C 總線(xiàn),而I2C 總線(xiàn)對時(shí)序要求是相當嚴格的,如果在發(fā)出START 命令之后,不加上一定的時(shí)延,而立即傳送數據,由于DSP 的速度太快,可能會(huì )造成前后數據的覆蓋,導致程序出錯。另外,由于系統是進(jìn)行實(shí)時(shí)處理的,中斷程序設計是必不可少的。在程序設計時(shí)有幾個(gè)問(wèn)題需要注意:

  第一, 當外部中斷信號不穩定時(shí),比如波形前后跳動(dòng)、毛刺過(guò)多等,都有可能造成能檢測到中斷,但無(wú)法進(jìn)入中斷服務(wù)程序的情況。

  第二, 若將程序單步執行,這樣會(huì )造成仿真器出錯,無(wú)法檢測到中斷。

  第三, 在修改兩個(gè)中斷矢量指針I(yè)VPD 和IVPH 之前,應確信:

  a、禁止所有的可屏蔽中斷( INTM= 1) 。這可以在修改中斷矢量指針,使之指向新中斷矢量之前,防止產(chǎn)生一個(gè)可屏蔽中斷。

  b、每個(gè)硬件非屏蔽中斷對新舊IVPD 值分別有一個(gè)中斷矢量和一個(gè)中斷服務(wù)程序。這樣在修改IVPD 過(guò)程中,產(chǎn)生一個(gè)硬件非屏蔽中斷時(shí),可以防止非法指令代碼。

  FPGA 邏輯設計

  該系統中使用了一塊Altera 公司的ACEXEP1K30QC208-3Q 型號的FPGA ,主要利用該FPGA實(shí)現SAA6752 與TMS320VC5502 之間的接口。如上SAA6752HS 與TMS320VC5502 的連接圖4 所示,移位寄存器負責將SAA6752HS 輸出的8 位數據方式擴展成32 位寬度,以提高數據的吞吐效率。通過(guò)時(shí)鐘信號PDIOCLK、有效位信號PDOVAL 和音視頻標志位PDOAV 來(lái)控制移位寄存器的工作。FIFO是一個(gè)寬度為32 位的緩沖器,TMS320VC5502 通過(guò)片選信號CE3 和讀信號ARE/SRE/SDRE 控制對FIFO 數據的讀操作。

  當SAA6752HS 采用傳送流的數據結構時(shí),每讀完4 個(gè)數據包(每個(gè)數據包為188個(gè)字節) , 計數器2 就會(huì )產(chǎn)生一次中斷,TMS320VC5502 從FIFO 中讀入這些數據包,完成信道編碼后向網(wǎng)絡(luò )上傳輸。FPGA 邏輯正是依據這一思想設計的。為了提升系統的穩定性,避免累積錯誤,該邏輯中采用了一種雙FIFO 輪流切換的方法。在系統開(kāi)始運行,只往FIFO1 里寫(xiě),當寫(xiě)完4 個(gè)數據包,產(chǎn)生一次中斷,通知DSP 來(lái)讀數據;接下來(lái),系統自動(dòng)切換到往FIFO2 里寫(xiě),此時(shí)DSP 同時(shí)在讀FIFO1里的數據,直到往FIFO2 里寫(xiě)完4 個(gè)數據包(由于DSP 讀數據的速度遠遠快于SAA6752 往FIFO 里寫(xiě)數據的速度,故此時(shí)FIFO1 已被讀空) ,便又產(chǎn)生中斷;接下來(lái),DSP 讀FIFO2 里的數據,同時(shí)往FIFO1里寫(xiě),依次輪流切換。

  

  圖7  DIO 主模式下輸出傳輸流分組的時(shí)序圖

  SAA6752 的輸出采用DIO 主模式,其輸出端口的時(shí)序如圖7 所示,每個(gè)數據包包含188 個(gè)字節,這是MPEG2 傳輸流分組的特性。在MAX+PLUSII 下設計其邏輯,運行正常。

  結束語(yǔ)

  本文針對數字視頻壓縮及網(wǎng)絡(luò )傳輸作了較為深入的研究,并針對網(wǎng)絡(luò )視頻服務(wù)器的設計和實(shí)現作了初步而有益的探索,其中既有經(jīng)驗也有教訓。由于時(shí)間及其它因素的限制,研究工作留有許多需要完善的地方。Non-PCI 結構網(wǎng)絡(luò )接口性能的優(yōu)化和客戶(hù)端軟件的具體實(shí)現及形成網(wǎng)絡(luò )視頻服務(wù)器原理樣機是我們下一步的目標。

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


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>