国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于VW2010芯片的嵌入式多媒體監(jiān)控系統(tǒng)壓縮/解壓卡設(shè)計

發(fā)布時間:2010-11-16 10:32    發(fā)布者:eetech
在簡要分析了多媒體監(jiān)控系統(tǒng)發(fā)展現(xiàn)狀的基礎(chǔ)上,提出了一種基于VW2010壓縮/解壓芯片的多媒體壓縮/解壓卡的設(shè)計方案,給出了基于VW2010的多媒體監(jiān)控系統(tǒng)壓縮和解壓卡的硬件結(jié)構(gòu)圖以及在Linux系統(tǒng)下VW2010的驅(qū)動程序,同時給出了在Linux Redhat 7.3下編寫的測試程序,并進行了全面的測試。

1 MPEG-4標準及其在多媒體監(jiān)控系統(tǒng)中的應用  

多媒體監(jiān)控系統(tǒng)是多媒體技術(shù)在安防領(lǐng)域的新應用。目前已廣泛應用到金融、文博、酒店、交通、商業(yè)、醫(yī)院、工廠、學校、住宅小區(qū)物業(yè)管理等各個領(lǐng)域。從目前趨勢看,多媒體監(jiān)控系統(tǒng)的應用領(lǐng)域還在不斷擴展。




音視頻壓縮技術(shù)是多媒體監(jiān)控系統(tǒng)中的關(guān)鍵技術(shù)。在數(shù)字多媒體壓縮(特別是視頻壓縮)領(lǐng)域內(nèi)有很多國際標準(如ISO/ITU-T技術(shù)委員會的JPEG標準、CCITT制定的H.263標準以及著名的MPEG標準等)。其中,MPEG-1標準適用于傳輸1.5Mbps的運動圖形及其伴音編碼,它具有較高的壓縮比,其基本算法對于壓縮水平方向為360個像素、垂直方向為288個像素,并以每秒24~30幀畫面運動的圖像有較好的效果。早期的監(jiān)控系統(tǒng)很多都采用此標準(如著名的以色列芯片Z1510即采用MPEG-1標準);而MPEG-4標準的主要特點是可對圖像中的內(nèi)容進行編碼,其核心是基于內(nèi)容尺度可變性(Content-based scalability)。內(nèi)容尺度可變性意味著可以給圖像中的各個對象分配優(yōu)先級。其中,比較重要的對象用較高的空間和(或)時間分辨力表示。對于比較低的比特率應用系統(tǒng)來說,尺度可變性是一個關(guān)鍵的因素,因為它提供了自適應可用資源的能力。例如,這個功能允許對具有較高優(yōu)先級的對象用可接受的質(zhì)量進行顯示,第二優(yōu)先級的對象則用較低的質(zhì)量顯示,而其余內(nèi)容(對象)則不顯示。對于監(jiān)控系統(tǒng)來說,在絕大部分時間內(nèi),監(jiān)視畫面的背景都保持不變,因此,在要求的比特率比較低時,對于監(jiān)視畫面的背景部分可以以較低的質(zhì)量顯示,這樣并不會影響整個畫面的效果。  

本系統(tǒng)采用MPEG-4壓縮標準,選擇的實現(xiàn)方式是硬壓縮和硬解壓,所用的壓縮解壓芯片為VWEB公司的VW2010。





2 硬件設(shè)計原理  

2.1 VW2010的主要特點  

VW2010是VWEB公司開發(fā)的實時MPEG-4音視頻壓縮/解壓芯片(CODEC)。該芯片具有以下主要特點:  

(1)片內(nèi)集成有3個信號處理/控制單元,包括一個視頻編碼(壓縮)器、一個視頻解碼(解壓)器和一個片內(nèi)CPU(內(nèi)部擴展一個音頻編碼DSP、一個音頻解碼DSP、一個多路復合單元和一個多路解復合單元)。VW2010芯片的內(nèi)部結(jié)構(gòu)圖如圖1所示。  
(2)具有可編程、高性能和低功耗特點,因為每個信號處理/控制單元都由一個RISC處理器和專用的硬件加速器構(gòu)成。此外,視頻編、解碼器內(nèi)部還集成了一個專用的SDRAM。  
(3)在系統(tǒng)上電/復位時,視頻編、解碼器的固件程序可由外部主機(host)載入各自專用的SDRAM;而片內(nèi)CPU的固件程序則可載入VW2010外掛的SDRAM。  
(4)芯片的主機接口采用標準PCI接口。符合PCI局部總線規(guī)范2.2。  
(5)為了使編、解碼性能達到最佳,VW2010內(nèi)部集成了一個雙通道DMAC。系統(tǒng)host可直接通過主機接口對VW2010進行控制,MPEG數(shù)據(jù)流采用DMA方式傳輸。  
(6)提供有與PHILIPS公司兼容的I2C總線,可方便地對外圍芯片進行控制。





2.2 基于VW2010的壓縮/解壓卡硬件設(shè)計  

圖2所示是用VW2010設(shè)計的壓縮卡的原理框圖。圖中,CVBS信號先經(jīng)過視頻接收電路進行前端處理(包括阻抗匹配、限幅和鉗位),然后通過視頻解碼電路產(chǎn)生符合VW2010視頻接口標準的ITU656信號。 視頻解碼電路的核心是一個視頻解碼芯片,該解碼芯片用于對CVBS信號進行A/D轉(zhuǎn)換和編碼,以產(chǎn)生ITU656標準的并行數(shù)字電視信號。高檔的視頻解碼器還支持圖像尺寸縮放(scaling)和幀提取(decimating)功能,如PHILIPS公司的SAA7114、SAA7115以及Rockwell公司的BT829A等。由于VW2010的視頻輸入為ITU656/D1格式,所以只需要選擇具有基本A/D轉(zhuǎn)換和編碼功能的視頻解碼芯片如SAA7113即可。  

在模擬音頻信號經(jīng)過模擬音頻接收電路進行前端處理后,便可通過音頻ADC電路產(chǎn)生符合VW2010音頻接口標準的I2S信號。  
VW2010是壓縮卡的核心處理芯片,該芯片除可完成音、視頻信號的編碼外,還可提供對解碼器和ADC的控制(通過I2C總線),其編碼產(chǎn)生的MPEG流可通過芯片內(nèi)部集成的PCI接口輸出。VW2010的解壓操作是壓縮操作的逆過程,基本原理類似,基于VW2010的解壓卡原理框圖如圖3所示。

3 Linux下VW2010設(shè)備驅(qū)動程序設(shè)計  

3.1 分層軟件體系結(jié)構(gòu)  

按照操作系統(tǒng)的觀點,系統(tǒng)軟件體系結(jié)構(gòu)應為表1所列的分層結(jié)構(gòu)。驅(qū)動程序工作在核心態(tài),并向下通過Chip API實現(xiàn)對VW2010芯片的直接控制,向上則為應用程序提供驅(qū)動程序接口(Driver API)。按照Rubini先生的觀點,驅(qū)動程序提供的是機制,而不是策略。換句話說,驅(qū)動程序的主要任務是為應用提供全面、高效而可靠的服務,具體如何使用硬件則是應用需要解決的問題。

表1 分層軟件體系結(jié)構(gòu)示意圖  

Software
Mode

Application
User mode

Driver API

Driver
Kernel mode

Chip API

Firmware
HardWare layer

考慮到Linux系統(tǒng)下的設(shè)備驅(qū)動程序開發(fā)技術(shù)已經(jīng)相當成熟,筆者不打算詳細介紹驅(qū)動程序的完整框架和各個模塊,而是在分析VW2010芯片與host通信機制的基礎(chǔ)上,著重討論在驅(qū)動程序中如何實現(xiàn)對VW2010芯片的有效控制以及如何通過應用程序?qū)崿F(xiàn)VW2010芯片間數(shù)據(jù)的有效傳輸。  

3.2 VW2010與host的通信機制  

VW2010提供了三種與host通信的機制:直接訪問內(nèi)部寄存器、共享存儲區(qū)(shared memory)和DMA。VW2010允許host直接訪問其內(nèi)部寄存器和外部存儲單元,寄存器方式主要用于調(diào)試目的和下載固件程序;DMA方式則負責VW2010芯片和應用緩沖區(qū)之間的數(shù)據(jù)傳輸(如MPEG數(shù)據(jù)流);共享存儲區(qū)機制是設(shè)備驅(qū)動程序和VW2010間的主要通信方式。  

(1) 共享存儲區(qū)(shared memory)  

VW2010采用共享存儲區(qū)機制接收host的命令并返回命令執(zhí)行結(jié)果。host與VW2010進行通信的共享存儲區(qū)(以下簡稱SM_PC2VW)位于encoder SDRAM中地址3F1800處,共128字節(jié);而VW2010與host進行通信的共享存儲區(qū)(以下簡稱SM_ VW2PC)則位于encoder SDRAM中的地址3F1880處,也是128字節(jié)。  

SM_PC2VW的格式如表2所列。表中,CMD為命令碼,分別為:讀數(shù)據(jù)(CMD=1)、發(fā)IOCTL碼(CMD=2)、寫數(shù)據(jù)(CMD=3)、打開命令(CMD=4)和關(guān)閉命令(CMD=5);IntFlag為中斷標識,IntFlag為1時,VW2010執(zhí)行完CMD定義的任務后將產(chǎn)生一個中斷,為0則不產(chǎn)生中斷;Device Handle由打開命令從firmware中獲得,當CMD不同時,Parameters有不同的含義。

表2 host到VW2010的共享內(nèi)存區(qū)格式  

Address
31:16
15:8
7:0

3F1800
Reserved
IntFlag
CMD

3F1804
Reserved
Reserved
Reserved

3F1808
Reserved

3F180C
Device Handle

3F1810
Parameters

3F1814
……


表3 VW2010到host的共享內(nèi)存區(qū)格式  

Address
31:16
15:8
7:0

3F1880
Reserved
Reserved
Reserved

3F1884
Reserved
ACK/NACK
CMD

3F1888
Return Code

3F188C
Device Handle

3F1890
Parameters

3F1894
……

SM_VW2PC的格式如表3所列。ACK/NACK的含義是:如果SM_PC2VW中的IntFlag為1,且命令CMD成功執(zhí)行,則為ACK;如果SM_PC2VW中IntFlag為1,而執(zhí)行命令CMD失敗,則為NACK,并將錯誤碼保存在Return Code字段。  

一般在發(fā)送其它命令之前,必須先發(fā)送打開命令,此時,Device Handle字段應為0,Parameters字段為打開類型(TSMUX,PSMUX,TSDEMUX或PSDE-MUX)。如果該命令成功執(zhí)行,則會在SM_VW2PC的Device Handle字段返回所分配的Device Handle,并在SM_VW2PC的Parameters字段返回輔助參數(shù)區(qū)的首地址(下面簡稱為X)。輔助參數(shù)區(qū)由firmware在encoder SDRAM中動態(tài)分配,主要用于傳遞與命令有關(guān)的參數(shù)。  
在結(jié)束使用共享內(nèi)存區(qū)后,必須發(fā)送關(guān)閉命令以釋放輔助參數(shù)區(qū)。  

(2)信號燈  

由于共享存儲區(qū)是臨界資源,所以必須提供一種機制,以保證VW2010和host使用時不發(fā)生沖突。為此,VW2010分別給SM_PC2VW和SM_ VW 2PC提供了兩個硬件信號燈,它們由寄存器REG_INT1和REG_INT2的最低位控制。此外,VW2010還為信號燈定義了以下兩種操作。  
寫操作:向REG_INT1或REG_INT2最低位寫入1,然后釋放共享存儲區(qū)。  

讀操作:返回REG_INT1或REG_INT2最低位的值,同時清該位為0。





(3) host到VW2010的中斷  

host通常通過向VW2010發(fā)中斷的方式通知VW2010從共享存儲區(qū)讀取主機命令。VW2010用寄存器REG_DHIU5實現(xiàn)host到VW2010的中斷。  

REG_DHIU5的最低四位用于保存中斷計數(shù),第五位為中斷屏蔽位。host向REG_DHIU5每寫一次,中斷計數(shù)加1;VW2010每讀REG_DHIU5一次,中斷計數(shù)減1。只要中斷計數(shù)不為0,VW2010內(nèi)部的中斷請求信號將一直保持有效。  

3.3 VW2010的數(shù)據(jù)讀寫和IOCTL方法的實現(xiàn)



  
VW2010的數(shù)據(jù)讀寫和IOCTL的實現(xiàn)依賴于上述的共享存儲區(qū)機制,下面通過假設(shè)已經(jīng)用打開命令(CMD=4)從firmware獲取了Device Handle和輔助參數(shù)區(qū)(首地址為X)來進行討論。  

(1) 數(shù)據(jù)讀寫的實現(xiàn)  

圖4和圖5分別給出了VW2010在系統(tǒng)調(diào)用部分和中斷服務部分的讀數(shù)據(jù)流程圖。  

VW2010采用DMA方式實現(xiàn)與應用空間的數(shù)據(jù)交換。讀/寫命令用于建立從VW2010到host的DMA通道并啟動數(shù)據(jù)傳輸,它并不等待數(shù)據(jù)傳輸完成,而是讓DMA傳輸在后臺運行,當DMA傳輸結(jié)束后,VW2010將中斷主機。  

當應用程序要讀寫數(shù)據(jù)時,它首先會分配一些緩沖區(qū)用于保存讀寫數(shù)據(jù)。這些緩沖區(qū)可以用首地址和長度標識,如可以使用(Address,Len)代表首地址為Address、長度為Len的緩沖區(qū)。在發(fā)送讀/寫數(shù)據(jù)命令時,SM_PC2VW的Parameters字段為X,輔助參數(shù)區(qū)的內(nèi)容為應用空間數(shù)據(jù)緩沖區(qū)的信息,其格式即為上述的首地址和緩沖長度標識對(Address,Len)。VW2010根據(jù)這些緩沖區(qū)信息來建立應用空間的DMA通道。  

(2)IOCTL的實現(xiàn)  

使用時,可定義多種IOCTL碼以用于控制VW2010芯片,各IOCTL碼的參數(shù)各不相同。需要注意的是,此處的IOCTL碼不同于Driver API中的IOCTL碼。該命令與讀寫數(shù)據(jù)命令的主要區(qū)別在于其命令輔助參數(shù)存儲區(qū)的格式不同,而控制流程類似,限于篇幅,這里不再贅述。

4 結(jié)論  

為了測試壓縮/解壓卡和設(shè)備驅(qū)動程序的性能,作者在Linux Redhat 7.3下編寫了測試程序。在測試中,分別讓VW2010芯片工作在手動錄像模式、定時錄像模式和動態(tài)偵測錄像模式。結(jié)果表明:該系統(tǒng)卡在各種模式下都能穩(wěn)定工作。
本文地址:http://m.qingdxww.cn/thread-39521-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節(jié)省時間和空間
  • Dev Tool Bits——使用DVRT協(xié)議查看項目中的數(shù)據(jù)
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監(jiān)視
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线观看亚洲人成网站 | 国产国语对白精品视频 | 四虎最新免费观看网址 | 精品国产欧美一区二区 | 亚洲欧美日本国产一区二区三区 | 久久六月丁香婷婷婷 | 亚洲精品资源在线 | 成人精品h高辣长篇小说 | 一色屋精品视频在线观看 | 精品国产三级a | 久久精品国产99国产精品免费看 | 亚洲国产系列 | 日韩不卡一二三区 | 四虎永久精品免费观看 | 日本黄色不卡视频 | 国产麻豆麻豆 | 精品国产欧美一区二区三区成人 | 亚洲国产一 | 久久手机视频 | 久久精品影院永久网址 | 91极品在线观看 | 国产91av视频| 亚洲欧洲日产国码一级毛片 | 黑人视频网站 | 国产资源在线看 | 99精品国产综合久久久久五月天 | 国产日日夜夜 | 欧美性色xo影院永久禁欲 | 欧美一区二区三区在线播放 | 日韩福利视频高清免费看 | 欧美高清一区二区三区 | 青青操青青 | 国产精品免费视频网站 | 在线观看免费视频国产 | 自拍视频在线观看完整版 | 一级特黄国产高清毛片97看片 | 青青草原在线新免费 | 国产精品亚洲综合网站 | 99热成人| 亚洲 欧美 91 | 欧美专区亚洲 |