<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于Z1510與A/D轉換單元的音視頻壓縮系統的設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2018-12-10 08:25 ? 次閱讀

隨著計算機、多媒體和數據通信等技術的高速發展,對計算機音視頻的需求和應用越來越多,如視頻監控、視頻會議等。計算機音視頻提供給人的信息很多,但其數據量很大,不利于傳輸和存儲,從而使其應用受到不少限制。為解決音視頻數據的存儲和傳輸,唯一的途徑就是對音視頻數據進行壓縮。

基于Z1510專用音視頻壓縮芯片設計的具有USB接口的實時MPEG-1音視頻壓縮卡,較傳統的PCI接口的MPEG-1音視頻卡具有支持熱插拔和即插即用等特點,同時該系統還具備很好的可擴展性。本文就來介紹這個系統的設計與實現。

1 硬件設計

本系統主要由音視頻A/D轉換單元、音視頻壓縮單元、系統控制單元和UBS接口單元四大部分組成,如圖1所示。模擬音視頻信號經AK4550、SAA7113音視頻A/D轉換器后送入Z1510音視頻壓縮芯片,壓縮編碼后生成的MPEG-1碼流經USB端口輸出。整個壓縮系統的控制由TMS320F2812和EPM7128AE共同完成,壓縮后的數據通過USB接口芯片PDIUSBD12輸出。

基于Z1510與A/D轉換單元的音視頻壓縮系統的設計

1.1 音視頻壓縮部分的電路設計

本系統中的MPEG-1壓縮芯片選用以色列Emblaze Semiconductor公司的Z1510。Z1510是一款高性能低成本的音視頻壓縮編碼芯片,它可完成MPEG-1音視頻壓縮、MJPEG視頻編碼以及全分辨率靜態圖像捕獲,還可對CD-ROM和VCD進行格式化。Z1510壓縮芯片有三種系統配置(Master、Direct-data、Indirect-data),總共有20余種工作模式,不同的工作模式可通過加載不同的代碼來實現。

Z1510的音視頻輸入是通過視頻端口和串行接口完成的。視頻輸入端口主要接收視頻A/D轉換器產生的ITU-R BT.601或ITU-R BT.656格式的數字視頻信號和相應的時鐘同步信號。Z1510有五個串行端口,包括三個輸入端口(Audio0、Audio1和CD-Drive)和兩個輸出端口(CD-Drive和SVCD decoder),每一個端口均可作為主設備端口和從設備端口,本系統中應用的Audio1端口作為主設備端口,接收未壓縮的數字音頻信號,同時為音頻A/D轉換器提供相應的同步時鐘信號。

Z1510的主時鐘信號頻率為穩定的27MHz,該時鐘信號頻率在芯片內部被PLL1倍頻為81MHz,驅動Z1510的視頻壓縮內核及SDRAM。而PLL2連接到DSP內核,該PLL由軟件配置PLL寄存器,工作在94.5MHz,用于音頻壓縮和系統數據流復合。系統主時鐘由一個27MHz的晶體振蕩器直接提供,該晶振同時也為EPM7128AE和TMS320F2812提供時鐘信號。

在Z1510進行MPEG-1壓縮時,它是工作在LAVE(Live Audio Video Encoding)模式。在此模式下,Z1510只能配置為間接工作(Indirect-data)狀態,此時Z1510作為從設備,受主機控制,主機可以通過其HOST接口訪問它內部的配置和狀態寄存器,并且可以通過局部FIFO獲得壓縮后的視頻碼流。

Z1510的HOST接口的主要信號有:

·HAD[150] 數據總線;

·HCONFIG[9,8] 總線數據類型選擇;

·HWR_N,HRD_N 讀寫控制,HCS_N器件片選信號;

·HALE在復用總線模式下,鎖定低8位地址HAD[7~0];在非復用總線模式下,指示當前數據總線上發送的是寄存器地址還是寄存器數據。

·HINT_N 中斷請求信號,低電平有效。

在存儲空間分配中,Z1510分在TMS320F2812外部拓展存儲空間(XINTF)的0區(0x00 2000~0x00 3FFF),因此需將HALE管腳在CPLD內部通過進位鏈與DSP的A0相連,而片選信號HCS_N需由A12、A13、A14、A15和DSP的信號經譯碼實現,HWR_N和HRD_N信號由A12、A13、A14、A15和DSP的信號經譯碼實現。

1.2 系統控制單元

本系統使用TI公司的TMS320F2812和Altera公司的MAX7000系列的EPM7128AE實現系統的管理和控制。TMS320F2812是基于TMS320C28xTM DSP內核的芯片,時鐘頻率高達150MHz,具有18K的SARAM和128K的片內Flash,另外還具有1M的外部擴展存儲空間(XINTF)。TMS320F2812的外部擴展存儲空間只可用作數據空間或程序空間,不支持I/O空間,它分為0、1、2、6、7五個區,沒有DS、PS、IS三個信號線,取而代之的是三個區選信號,其中0區和1區共用一個區選信號,6區和7區共用一個區選信號,在設計中,由于SAA7113的片選信號直接拉高,而它的配置是通過TMS320F2812的GPIO模擬I2C總線實現的,因此不占用存儲空間;Z1510的控制接口地址與數據復用和USB接口芯片PDIUSBD12一樣,都只有一個地址位(占用兩個位置);只有外界FLASH芯片MBM29LV800(512K×16位)占用存儲空間較多,因此系統主要存儲空間分配如下:

Z1510 占用Zone00x00 2000~0x00 2001

USB接口 占用Zone10x00 4000~0x00 4001

FLASH 占用Zone20x08 0000~0x0F FFFF

由于本系統采用專門的視頻壓縮芯片,CPLD主要完成一些邏輯仲裁、地址解碼邏輯、控制信號的產生等,無需進行一些較復雜的運算,因而選用內核電壓和I/O電壓均為3.3V且具有128個宏單元的EPM7128AE來實現。

1.3 接口單元

Z1510在進行標準的MPEG-1音視頻壓縮時,系統比特率一般在1.5Mbps以下。雖然最高速度12Mbps的USB1.1里的開銷包括了命令包、幀標記和握手協議傳輸等,但仍可達2Mbps的系統比特率,可以滿足系統設計需要。在綜合考慮性價比后,選用了Philips公司的USB1.1接口芯片PDIUSBD12。PDIUSBD12看起來就像是一個帶八位數據總線和一個地址位的存儲器,它提供的微處理器接口可以兼容大部分的DSP環境,其接口信號包括八位數據線D0~D7和ALE、A0、、、、,USB控制器可以分為地址/數據復用模式或單地址/數據模式,如表1所示。DSP的數據地址總線是分離的,USB控制器采用單地址/數據總線模式更容易與DSP接口。

基于Z1510與A/D轉換單元的音視頻壓縮系統的設計

2 軟件設計

本系統的軟件設計主要分兩大部分:對硬件的初始化(SAA7113、Z1510)和PC機與系統的實時通信。系統上電后,由電源輸出端的RC電路觸發CPLD里的D觸發器,對DSP進行復位,然后由DSP對其它器件進行復位和初始化。

2.1 硬件初始化

對SAA7113的初始化可通過將DSP的McBSP用作通用I/O腳模擬I2C總線來實現,DSP作為主器件,SAA7113作為從器件,用McBSP的CLKR模擬SCL,FSR模擬SDA。首先設置DSP的GPFMUX寄存器的相應位為0,使CLKR和FSR用作通用I/O腳;然后設置GPFDIR和GPFDAT寄存器的相應位以改變CLKR和FSR的輸入輸出方向和高低電平,GPFDIR.bit=0時為輸入,相反為輸出;GPFDAT.bit=0,同時引腳為輸出時為低電平,相反為高電平。通過CLKR和FSR管腳的高低電平的變化和輸入輸出狀態的切換可以實現I2C協議。SAA7113的初始化就是對寄存器配置合適的參數,使其能夠有符合要求的輸出。寄存器配置通過I2C總線來進行,很多可以控制I2C總線的器件都可以作為主器件對7113進行初始化,這里介紹用51單片機初始化7113的例子。

系統在開始工作之前,還要進行一個軟復位過程。TMS320F2812先向Z1510的Soft_reset寄存器(地址0x08)寫0x55,等待至少1微秒后,設置Int_enable [6]寄存器,使能RDY中斷,等Z1510產生一個RDY中斷后,清中斷,完成軟復位,開始代碼加載。SAA7113是一種視頻解碼芯片,它可以輸入4路模擬視頻信號,通過內部寄存器的不同配置可以對4路輸入進行轉換,輸入可以為4路CVBS或2路S視頻(Y/C)信號,輸出8位“VPO”總線,為標準的ITU 656、YUV 4:2:2格式。7113兼容PAL、NTSC、SECAM多種制式,可以自動檢測場頻適用的50或60Hz,可以在PAL、NTSC之間自動切換。7113內部具有一系列寄存器,可以配置為不同的參數,對色度、亮度等的控制都是通過對相應寄存器改寫不同的值,寄存器的讀寫需要通過I2C總線進行。7113的模擬與數字部分均采用+3.3V供電,數字I/O接口可兼容+5V,正常工作時功耗0.4W, 空閑時為0.07W。7113需外接24.576MHz晶體,內部具有鎖相環(LLC),可輸出27MHz的系統時鐘。芯片具有上電自動復位功能,另有外部復位管腳(CE),低電平復位,復位以后輸出總線變為三態,待復位信號變高后自動恢復,時鐘丟失、電源電壓降低都會引起芯片的自動復位。7113為QFP44封裝。

在Z1510內部寄存器有一段程序空間,這段空間以塊為單位,每塊的大小是256字節。其中,DSP核程序空間為0x280~0x2BF(64 banks),視頻編碼核的二進制代碼的裝載空間為0x000~0x004和0x00C等六個塊。裝載步驟如下:

(1)向Z1510內部寄存器0x2E寫入0x01,表示外部的SDRAM是1M×16bit;

(2)向0x0C寄存器寫0x03,使能FIFO Ready和End of Data中斷;

(3)向0x11寄存器寫0x18,設定工作模式為內部內存寫模式;

(4)向0x10寫0x20,設定Z1510的FIFO滿為256字節;

(5)向0x08寄存器寫0x04,發送開始命令;等待Ready中斷,然后清除Ready中斷;

(6)向Data _in寄存器0x01寫256個字節數據;等待End of Data中斷,然后清除中斷;

(7)查程序空間的代碼是否裝載完畢,如沒有,回到(5)繼續裝載。

通過設定Z1510內部工作寄存器的特定狀態可以使其工作在特定的模式,在本系統中設定Z1510工作在LAVE模式,在此模式下,Z1510從音頻和視頻A/D轉換器獲取數據并壓縮為MPEG-1碼流。Z1510正常工作后,輸出MPEG-1碼流。其輸出碼流要經過輸出端口FIFO緩沖,每當FIFO寫入超過半門限時,產生中斷FRDY(FIFO Ready)通知DSP,DSP通過讀寄存器DATA_out(0x00)取走數據,其半門限可由ThreshHold寄存器設定,最大256字節。FIFO滿后,DSP連續讀寄存器256次可以取走數據。Z1510的驅動流程見圖2。

基于Z1510與A/D轉換單元的音視頻壓縮系統的設計

2.2 接口程序設計

在設計開發一個USB外設的時候,主要需要編寫三部分程序:①固件程序;②USB驅動程序;③客戶應用程序。固件編程主要完成PDIUSBD12的驅動,使DSP系統與外部系統進行數據交換。

在Win32系統中,每一個設備對象都抽象為文件。在應用程序設計中,只需通過幾條簡單的文件操作API函數,就可以實現與某個設備通信。主要使用的API函數有DeviceIOControl()、ReadFile()、WriteFile()。其中,DeviceIOControl()用于PC機(主機)向圖像壓縮系統發送請求;ReadFile()和WriteFile()分別用于從圖像壓縮系統中讀出數據和寫入數據。在設計過程中必須注意的問題是:由于USB接口是主-從方式的接口,它的一切傳輸都必須通過主機向外設發送請求后才能進行,所以在使用ReadFile()、WriteFile()讀寫數據之前,必須先通過DeviceIOControl()向圖像壓縮系統發送請求,系統接收請求后才能讀寫數據,開始進行音視頻壓縮。

該音視頻壓縮系統具有較好的功能擴展性,正如前面所介紹的,由于Z1510具有多種工作模式,在系統初始化時可根據所需工作模式加載不同的代碼,對相應的寄存器進行不同的初始化,通過改變工作模式,可完成單獨的視頻壓縮、音頻壓縮、靜態非壓縮或壓縮圖像獲?。≒C CAMERA)等多種功能。如再在系統中設計大容量FLASH,還可升級為獨立的音視頻壓縮記錄系統。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    30

    文章

    5164

    瀏覽量

    118133
  • usb
    usb
    +關注

    關注

    59

    文章

    7508

    瀏覽量

    259716
  • 視頻
    +關注

    關注

    6

    文章

    1896

    瀏覽量

    72028
  • 計算機
    +關注

    關注

    19

    文章

    6757

    瀏覽量

    85287
  • PCI
    PCI
    +關注

    關注

    4

    文章

    609

    瀏覽量

    129717
收藏 人收藏

    評論

    相關推薦

    【RTC程序設計:實時音視頻權威指南】音視頻的編解碼壓縮技術

    音視頻所載有的信息在通過傳輸的時候就需要壓縮編碼。 其中,文本壓縮是指通過使用各種算法和技術,將文本數據表示為更緊湊的形式,以減少存儲空間。 霍夫曼編碼是一種無損壓縮算法,它可以根
    發表于 04-28 21:04

    基于ARM Linux的無線音視頻對講系統

    單向采集、壓縮、傳輸、接收、解壓縮、處理回放音視頻流控制過程,各個模塊采用線程處理,由信號量處理線程間優先級構成循環的線程,有效地處理了音視頻數據流。
    發表于 07-24 13:48

    求一種基于FH8735的音視頻壓縮卡方案

    FH8735是什么?FH8735有哪些主要技術優勢?求一種基于FH8735的音視頻壓縮卡方案
    發表于 06-03 06:42

    怎么實現基于VW2005的MPEG-4音視頻壓縮卡的設計?

    本文詳細介紹了基于VW2005芯片的MPEG-4音視頻壓縮卡的設計方案,包括硬件設計和Windows下設備驅動程序的設計。
    發表于 06-04 06:10

    什么是音視頻同步?音視頻同步的影響因素有哪些?

    什么是音視頻同步?有什么要求?音視頻同步的影響因素有哪些?音視頻同步的常見技術有哪些?
    發表于 06-15 08:48

    基于Z1510音視頻壓縮卡的設計

    隨著數字音視頻日益廣泛的應用,解決音視頻數據的存儲和傳輸,唯一的途徑就是對音視頻數據進行壓縮?;?b class='flag-5'>Z1510編碼芯片設計了實時MPEG-1
    發表于 11-19 14:49 ?29次下載

    富瀚微電子FH8735的H.264音視頻壓縮卡方案

    音視頻壓縮卡是數字視頻監控的重要產品,主要有軟壓縮卡和硬壓縮卡。軟壓縮卡,由于PCI總線數據吞吐量太大,而且主要由CPU進行H.264圖像
    發表于 09-06 08:55 ?2531次閱讀

    FH8735在音視頻壓縮卡上的應用設計

    隨著視頻監控產品的規格化,ASIC 方案在成本和穩定性方面逐漸顯露出優勢,針對音視頻壓縮卡市場適時推出了FH8735 芯片。
    發表于 08-24 14:12 ?1149次閱讀
    FH8735在<b class='flag-5'>音視頻壓縮</b>卡上的應用設計

    FH8735 在H.264 音視頻壓縮卡上的應用

    關鍵詞:FH8735 , 壓縮卡 , 音視頻 1 前言 音視頻壓縮卡是數字視頻監控的重要產品,主要有軟壓縮卡和硬
    發表于 10-22 22:06 ?272次閱讀

    4音視頻壓縮卡的設計

    首選的視頻壓縮標準。 本文設計的壓縮卡基于MPEG-4音視頻編碼技術,具有USB2.0接口,支持熱插拔,在實現上采用硬壓縮,所用壓縮芯片為V
    發表于 01-20 16:16 ?446次閱讀

    數字音視頻壓縮編碼標準及H.265的編碼優勢

    在制定數字音視頻壓縮編碼標準的過程中,聯合圖像專家組(Joint Photographic Experts Group, JPEG)、動態圖像專家組(Moving Pictures Experts
    發表于 05-02 15:21 ?1761次閱讀

    視頻壓縮是什么?視頻壓縮有什么好處?

    視頻壓縮是什么?視頻壓縮有什么好處? 視頻壓縮其實就是指通過特定的壓縮技術比如調節視頻的參數等,從而達到縮減
    的頭像 發表于 08-07 17:08 ?3484次閱讀

    視頻壓縮是什么?視頻壓縮有什么好處?

    視頻壓縮是什么?視頻壓縮有什么好處? 視頻壓縮其實就是指通過特定的壓縮技術比如調節視頻的參數等,從而達到縮減
    的頭像 發表于 08-07 17:08 ?3.1w次閱讀

    音視頻集成是什么 音視頻視頻有什么區別

    音視頻集成是將音頻和視頻設備、系統和技術進行整合,以實現全面的音視頻功能和體驗的過程。
    發表于 06-19 17:14 ?1963次閱讀

    音視頻IP化浪潮全面來襲,分布式系統開創音視頻行業新時代!

    在傳統音視頻系統中,廠商們各自采用不同的通訊方式和控制協議,這使得不同的產品之間就像一座座的信息孤島,要連接起來就需要復雜的轉換設備和系統再開發。隨著
    的頭像 發表于 05-30 16:55 ?139次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>