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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 基于TMS320DM365的網(wǎng)絡(luò)攝像機底層軟件應(yīng)用

          基于TMS320DM365的網(wǎng)絡(luò)攝像機底層軟件應(yīng)用

          作者: 時間:2012-08-11 來源:網(wǎng)絡(luò) 收藏
          近幾年,隨著計算機技術(shù)和電了技術(shù)的飛躍式發(fā)展,通過不斷的系統(tǒng)功能集成和優(yōu)化,網(wǎng)絡(luò)覆蓋面積和傳輸穩(wěn)定性日益增加,將傳統(tǒng)模擬視頻監(jiān)控系統(tǒng)中的模擬信號部分已舍棄,完成了全數(shù)字化的視頻監(jiān)控系統(tǒng),并加入了AD轉(zhuǎn)換功能,使整個視頻數(shù)據(jù)能在網(wǎng)絡(luò)上進行傳輸,滿足了各類行業(yè)部門及家庭對網(wǎng)絡(luò)可視化業(yè)務(wù)的需求。這種全數(shù)字化的視頻監(jiān)控系統(tǒng)存系統(tǒng)設(shè)備規(guī)模和系統(tǒng)功能性上,較之前的模數(shù)混合型系統(tǒng),有了巨大的變化和升級。一般網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)只需要攝像機、路由器和計算機就能搭建,拓撲結(jié)構(gòu)簡單。利用計算機的強大的處理能力,改善了監(jiān)控系統(tǒng)的控制效率、提高了監(jiān)控系統(tǒng)的智能化和采集圖像的質(zhì)量。基于網(wǎng)絡(luò)技術(shù)搭建的系統(tǒng)結(jié)構(gòu),結(jié)構(gòu)清晰、布線簡單、系統(tǒng)擴展性強,并且一臺主控計算機再也不會像DVR一佯對于搭載的攝像機設(shè)備有數(shù)量限制,同時這種拓撲結(jié)構(gòu)也降低了大型監(jiān)控系統(tǒng)的管理難度和維護維修成本。對于系統(tǒng)應(yīng)用層而的開發(fā)能在計算機這種統(tǒng)一的設(shè)計平臺上進行,大大簡化了對于特殊監(jiān)控系統(tǒng)的開發(fā)難度。

          本設(shè)計決定選用行業(yè)內(nèi)較為成熟的TI公司DaVinci設(shè)計框架。該設(shè)計方案集成了ARM和DSP兩個部分,這種設(shè)計結(jié)構(gòu)將系統(tǒng)中的圖像處理模塊和攝像機控制模塊結(jié)合起來。

          文中將描述基于的底層程序,包括了系統(tǒng)的內(nèi)核、驅(qū)動、啟動程序等,攝像機系統(tǒng)基于DaVinci框架。整個硬件基礎(chǔ)可以參考之前發(fā)表的文章《基于的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)》。

          1 DaVinci框架下的結(jié)構(gòu)
          1.1 DaVinci框架簡介
          DaVinci(達芬奇)框架是一套由TI公司提出的集成了DSP處理器、軟件、工具的綜合型解決方案系列,非常適合用于開發(fā)各類數(shù)字視頻終端設(shè)備,包括了數(shù)字音頻、視頻、成像、視覺應(yīng)用等。該技術(shù)的目的是讓開發(fā)廠商能夠更輕松、更快速地開發(fā)各種低成本的創(chuàng)新型數(shù)字視頻產(chǎn)品。Davinci技術(shù)系列組件,其中不僅包括了相應(yīng)的處理器、軟件、工具,還提供一系列的解決方案和技術(shù)支持等。由于基于DaVinci框架下設(shè)計出的產(chǎn)品之間兼容性和共通性很高,所以很多大型的公司也樂于使用TI的DaVinci解決方案,以增加自身產(chǎn)品在周邊行業(yè)內(nèi)的兼容性。并且DaVinci框架擁有一套全方位的軟件支持,提供了下至一般的操作系統(tǒng)驅(qū)動,上至應(yīng)用程序接口API,甚至DSP的編碼程序也是作為一個固有程序包,集成在BIOS和Code Server中。
          1.2 DaVinci硬件基礎(chǔ)
          作為底層驅(qū)動軟件的基礎(chǔ),這里需要詳細對DaVinci框架的硬件結(jié)構(gòu)進行描述。DaVinci數(shù)字視頻處理芯片是整個DaVinci技術(shù)框架的的核心,其最大特點為整個處理芯片集成了ARM和DSP兩種核心,實現(xiàn)了兩種核心的并行工作和通信機制。作為DaVinci技術(shù)框架下的一款新型芯片,也和之前系列芯片擁有相同的系統(tǒng),一個通用的DaVinci系統(tǒng)結(jié)構(gòu)如圖1所示。

          a.JPG


          DSP即數(shù)字信號處理器,其主要特點就是能夠進行大量的乘加運算,擁有高速計算能力,并且DSP的數(shù)據(jù)和程序分離存儲,這樣充分利用了所有線寬,進一步加速了DSP的處理速度,在數(shù)字攝像機中DSP專門用于計算量龐大的圖像處理算法。DSP其功能包括了VPSS(Video Process ing Subsystem)和VICP(Video Image Collaborative Processer)兩個部分。視頻處理系統(tǒng)VPSS是DM365的視頻信號采集模塊,與其他攝像機控制芯片相比,最顯著的特點是DM365帶有一個ISIF模塊,可以直接獲取CCD和CMOS的輸出圖像。相較于一般圖像處理芯片需要先一步進行A /D處理,DM365能更加快速地獲取圖像信號。視頻/影像協(xié)處理器(VICP)作為DM365芯片中DSP部分的主體,主要功能是視頻圖像的壓縮算法,一般使用的H.264壓縮方式,其中還包括了運動補償、對象識別等算法,這些圖像處理算法占整個系統(tǒng)運算量的600%~80%。
          ARM處理器盡管沒有DSP那么快速的圖像處理速度,但是ARM較大的程序存儲量和迅速的任務(wù)切換能力,使得它適合復雜的、多線程的任務(wù)調(diào)控,支持實時的操作系統(tǒng)。ARM子系統(tǒng)管理和協(xié)調(diào)芯片內(nèi)其他功能模塊的工作,采用流水線的工作方式執(zhí)行系統(tǒng)控制任務(wù),例如系統(tǒng)的初始化、參數(shù)配置、電源管理和用戶功能等。

          b.JPG


          兩者之間的通訊方式如圖2所示,芯片中ARM可以訪問DSP的片內(nèi)存儲器,包括L2RAM和L1 P/D,DSP也可以訪問ARM的片內(nèi)存儲器,并且ARM和DSP共享DDR2和AEMIF,其中AEMIF是指異步的外接存儲器接口(Asynchronous External MemoryInterface)。因此通常情況下ARM只需要將處理數(shù)據(jù)的地址指針傳遞給DSP,而不需要大量的數(shù)據(jù)傳輸。系統(tǒng)中的DSP和ARM通過2個內(nèi)核相互中斷實現(xiàn)通信,ARM使用DSP的4個通用中斷和1個不可屏蔽中斷來控制DSP;而DSP通過兩個中斷來中斷ARM。DSP的電源、時鐘、復位都是由ARM進行控制。

          2 的軟件結(jié)構(gòu)
          由于DaVinci系統(tǒng)雙處理核心的硬件結(jié)構(gòu),整個DaVinci的軟件框架也類似于硬件框架分為ARM核心的軟件和DSP部分的軟件。整個軟件框架圖如圖3所示,ARM內(nèi)核中的軟件主要為操作系統(tǒng)、驅(qū)動和應(yīng)用層面的軟件,DSP內(nèi)核里運行音視頻編解碼算法處理,ARM通過TI的Codec Eng ine機制調(diào)用DSP完成編解碼。

          c.JPG


          在DSP部分,軟件由最底層的DSP/BIOSTM內(nèi)核,內(nèi)核上層是Codec engine,用于和ARM端的Linux通信,最頂層是圖像處理箅法。針對圖像處理算法,DaVinci框架提供了數(shù)字信號處理算法接口標準(XDAIS)和針對流媒體的XDM。所有符合XDAIS和XDM標準的圖像處理算法包都可以被用于DaVinci的DSP中。并且在XDAIS和XDM中也包括了一套流程完整的基礎(chǔ)的圖像處理算法,用戶可以按照其標準進行修改,或者自行重新開發(fā)。再加上由第三方開發(fā)的符合XDM標準的軟件包,地豐富了整個DSP圖像處理軟件部分的資源。

          d.JPG


          ARM部分的軟件系統(tǒng)使用基于Linux的嵌入式軟件系統(tǒng),軟件結(jié)構(gòu)如圖4所示。整個系統(tǒng)基于Linux的實時操作系統(tǒng),在Linux上需要加入文件系統(tǒng)、圖形用戶接口和任務(wù)管理,最頂層是應(yīng)用層面的軟件,在應(yīng)用軟件中DaVinci系統(tǒng)只提供常用的API。
          Linux實時操作系統(tǒng)中,應(yīng)用程序、引導加載程序(Boot Loader)、驅(qū)動程序(Driver)和操作系統(tǒng)(Operating System)的內(nèi)核鏡像都是相互獨立的,可以單獨編譯修改。只要符合各個部分特有的接口和程序存放位置,就能被整個系統(tǒng)識別并且調(diào)用。引導程序是UBL和u-boot,用于初始化硬件系統(tǒng),引導Linux操作系統(tǒng)的加載,完成內(nèi)核文件加載后,將控制權(quán)交給操作系統(tǒng)。操作系統(tǒng)的內(nèi)核鏡像uImage,是一個基礎(chǔ)的操作系統(tǒng)平臺,調(diào)用驅(qū)動程序和應(yīng)用程序,實現(xiàn)多線程機制,完成了系統(tǒng)調(diào)用等工作。驅(qū)動程序和應(yīng)用程序是事先存儲在操作系統(tǒng)特定文件夾內(nèi)的,被操作系統(tǒng)Linux按順序調(diào)用,開發(fā)者可以根據(jù)自己的需要自行修改。Linux內(nèi)的文件系統(tǒng)主要提供內(nèi)核中所有文件的存儲、檢索和更新等功能,同樣包括了驅(qū)動程序和應(yīng)用程序的文件操作。一般不提供保護和加密等安全機制。文件系統(tǒng)通過調(diào)用和命令方式提供文件的各種操作,主要包括設(shè)置、修改對文件和目錄的用戶權(quán)限;提供針對目錄的創(chuàng)建、修改和刪除等功能;提供針對文件的創(chuàng)建、打開、讀寫、關(guān)閉和撤銷等功能。
          對于應(yīng)用層面的開發(fā)而言,并不需要考慮DSP部分的圖像處理實現(xiàn)算法,直接將DSP部分作為一個黑箱進行處理,通過圖像服務(wù)接口,從ARM部分通過語句進行調(diào)用。圖像服務(wù)的接口提供了用戶調(diào)用DSP中的圖像處理程序的接口,整個服務(wù)接口使用Codec中間框架系統(tǒng)。Linux端的程序通過Codec引擎訪問DSP處理器中的Codec Server。整個Codec框架包括了多種API和SPI,從軟件角度可以看做是一個介于應(yīng)用程序和DSP中圖像處理算法之間的接口,如圖5所示。這樣ARM端的應(yīng)用程序開發(fā)者,可以不用去考慮DSP中復雜的音視頻算法。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();