<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 光電顯示 > 設計應用 > 基于DVR的網(wǎng)絡化家庭視頻監(jiān)控系統(tǒng)

          基于DVR的網(wǎng)絡化家庭視頻監(jiān)控系統(tǒng)

          作者: 時間:2012-04-27 來源:網(wǎng)絡 收藏

          其他:在/音頻信息進行實時監(jiān)視、記錄、回溯處理的同時,還需要記錄相關的時間信息,所以需要提供硬件實時時鐘。另外,為了保護軟/硬件開發(fā)者,尤其是軟件開發(fā)者的知識產(chǎn)權,還必須提供安全、可靠的硬件加密措施。

          上述這些是一個通用的嵌入式所必需提供的硬件配置。

          DM642的嵌入式DVR的具體實現(xiàn)

          由上述DVR硬件需求分析可知,TMS320DM642的DVR的構成如圖1所示:

          圖3:TMS320DM642的多通道音頻串口McASP與音頻Codec的接口。

          TMS320DM642是TI公司2003年推出的、專門為應用開發(fā)的、業(yè)界最高性能的、主頻高達720MHz的、32-位定點DSP。TMS320DM642具有下列特點:1)采用TI第2代超長指令集結構(VelociTI.2)的TMS320C64xDSP內核,主頻高達720MHz,峰值處理能力可達5760MIPS,可實時完成4路CIF或2路D1的H.264壓縮算法;2)64位、133MHz外部存儲器總線,可直接接口大容量、低成本的SDRAM;3)3個雙通道數(shù)字口,可同時接口多達6路的BT.656數(shù)字視頻口;4)多通道音頻串口,可同時接口多達4路立體聲輸入/輸出;5)IIC總線可無縫接口視頻解碼器/編碼器和音頻Codec的控制口;6)10M/100M以太網(wǎng)MAC方便實現(xiàn)局域網(wǎng)接口;7)32位/66MHzPCI總線方便與PC機接口,及實現(xiàn)多板并行工作;8)32位HPI接口方便與主處理器接口,并實現(xiàn)多板并行工作。

          基本的處理器系統(tǒng)用來存儲程序代碼和緩存大量的數(shù)字視頻/音頻數(shù)據(jù),本系統(tǒng)中通過TMS320DM642的64位、133MHz外部存儲器總線來擴展大容量、低成本的閃存和SDRAM。另外,為了對壓縮后的視頻/音頻數(shù)據(jù)進行海量本地存儲,還通過外部存儲器總線擴展標準的ATA硬盤接口。

          視頻接口用于實現(xiàn)標準模擬視頻輸入/輸出、模擬視頻信號數(shù)字化(解碼器)、數(shù)字視頻信號轉換為模擬視頻信號(編碼器)、以及視頻編碼器/解碼器接口TMS320DM642視頻口。TMS320DM642視頻口與視頻編、解碼器的接口如圖2所示:

          音頻接口:音頻接口用于實現(xiàn)標準模擬音頻輸入/輸出、模擬音頻信號數(shù)字化(解碼器)、數(shù)字音頻信號轉換為模擬視頻信號(編碼器)、音頻編解碼器一般做在同一器件上,稱為音頻Codec器件,以及音頻Codec接口TMS320DM642的多通道音頻串口。TMS320DM642的多通道音頻串口McASP與音頻Codec的接口如圖3所示:

          傳輸接口:TMS320DM642提供3種外部傳輸接口,但它們復用引腳,每次只能配置為其中的一種外部接口。DM642通過復位時某些特殊引腳電平的配置,可分別提供下列3種接口:1)32位PCI接口;2)32位HPI接口;3)HPI16+以太網(wǎng)接口。

          對于嵌入式DVR來說,外部傳輸接口一般選用HPI16+以太網(wǎng)接口這種類型。

          嵌入式DVR的軟件平臺

          DM642的嵌入式DVR采用DSP/BIOS實時多任務操作系統(tǒng),其具有下列特點:1)基于優(yōu)先級的、搶先型實時調度程序;2)支持多線程管理與調度;3)支持4種線程類型:HWI、SWI、TSK、IDL;4)支持3種作業(yè)間的通信方式:Mailboxes、Semaphores、Queues;5)支持周期函數(shù),方便實現(xiàn)固定時間間隔的數(shù)據(jù)采集,簡化多速率系統(tǒng)的設計;6)提供存儲器管理,實現(xiàn)動態(tài)存儲器分配。

          DSP/BIOS只是一個實時多任務操作系統(tǒng)的內核,不具備文件輸入/輸出系統(tǒng)和網(wǎng)絡協(xié)議的支持,這些軟件模塊需要在DSP/BIOS基礎上添加。

          設備驅動程序:DSP/BIOS的設備驅動程序模型類似于Windows操作系統(tǒng)的設備驅動程序模型,將設備驅動程序分成二層,上層為與硬件設備無關的層,與應用程序接口;下層為與硬件設備相關的層,直接來操作具體的硬件設備。這樣可以使應用程序與具體的設備硬件實現(xiàn)細節(jié)隔離,提高應用程序的通用性和重復使用性,使應用程序具有更好的可維護性和可移植性。

          基于上述DM642的嵌入式DVR包含下列設備驅動程序:1)音視頻輸入/輸出設備驅動程序;2)異步串口設備驅動程序;3)以太網(wǎng)設備驅動程序;4)ATA硬盤設備驅動程序。

          視頻壓縮算法的選擇主要取決于主處理器的性能,基于DM642的嵌入式DVR,采用TI專為視頻處理而開發(fā)的、業(yè)界最高性能的、主頻高達720MHz的、32-位定點DSPTMS320DM642,其峰值處理能力可達5760MIPS,可實時完成4路CIF或2路D1的H.264壓縮算法。采用H.264視頻壓縮算法雖然對處理器性能的要求提高了,但其在保證圖像質量的前提下所到達的高壓縮比,無論對海量本地存儲,還是網(wǎng)絡傳輸帶寬的要求,都具有積極的意義。

          文件輸入/輸出系統(tǒng):DVR的基本要求能對壓縮后的視頻數(shù)據(jù)進行長時間的保存,事后還要求可對保存的視頻圖像進行檢索和回放,所以必須能進行海量本地存儲?;贒M642的DVR采用DSP/BIOS實時多任務操作系統(tǒng),其并不包含文件輸入/輸出系統(tǒng),必須在DSP/BIOS的基礎上自行擴展文件管理系統(tǒng)。FAT32文件系統(tǒng)在Windows中被證明是行之有效的文件輸入/輸出系統(tǒng),在此我們采用FAT32文件系統(tǒng)作為基于DM642的DVR的文件管理系統(tǒng),不僅可以實現(xiàn)海量的本地存儲,而且還可與Windows文件系統(tǒng)兼容。

          網(wǎng)絡協(xié)議:網(wǎng)絡傳輸也是DVR的基本的功能要求,基于DM642的DVR硬件上配置有10/100M以太網(wǎng)接口,同樣,在DSP/BIOS基礎上擴展TCP/IP協(xié)議,可以支持HTTP、FTP、PPPoE等多種網(wǎng)絡協(xié)議,使其成為真正意義上的網(wǎng)絡服務器。

          其它:作為應用的DVR,還會有一些附加的功能要求,比如,安全防盜、老幼監(jiān)護等,這些功能可利用DSP所具有的可編程能力,增加圖像移動偵測、特征提取等輔助軟件功能來實現(xiàn)。

          嵌入式DVR的發(fā)展趨勢

          由基于DM642的DVR可知,主處理器DM642除了要進行視頻/音頻編解碼等真正意義上的DSP處理外,還需要進行文件系統(tǒng)管理,和網(wǎng)絡協(xié)議實現(xiàn)等操作系統(tǒng)所承擔的工作,這不僅加重了DSP處理器負擔,而且將影響附加功能的實現(xiàn)。TI即將提出的DaVinci處理器,為一種DSP+ARM的雙核處理器,其上的DSP為TI最新的C64x+DSP內核,并進一步在內部集成視頻加速器和相關的外設,使其真正成為視頻應用的SoC解決方案,并使DaVinci處理器具有很高的性能/價格比,這無疑將對嵌入式DVR產(chǎn)業(yè)帶來巨大的沖擊。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();