MPEG4音、視頻編碼芯片IME6400及其應(yīng)用
關(guān)鍵詞:MPEG4;IME6400;嵌入式系統(tǒng);編碼器
1 概述
MPEG4是運動圖像專家組(Moving Picture Expert Group)標(biāo)準(zhǔn)系列中的一員,是國際標(biāo)準(zhǔn)化組織為多媒體通信制定的一種解決方案。MPEG4的主要特點是對圖像中的內(nèi)容進(jìn)行編碼。它比MPEG2編碼具有更多的優(yōu)點。為此,韓國INTiME公司推出可支持MPEG4標(biāo)準(zhǔn)編碼方案的集成電路芯片IME6400,從而引發(fā)人們開始研究利用該集成電路來提升監(jiān)控系統(tǒng)的速度和性能。本文結(jié)合IME6400在嵌入式系統(tǒng)下的應(yīng)用對該芯片進(jìn)行了簡要介紹。
2 IME6400的性能特點
IME6400是一片采用240腳PQFP封裝的多通道數(shù)字音、視頻編碼系統(tǒng)級芯片,該芯片可以支持MPEG4/2/1視頻壓縮編碼標(biāo)準(zhǔn);同時支持I、P和B幀壓縮。其圖像大小可以編程設(shè)定,最大尺寸可達(dá)2048×2048;碼率可以支持固定和可變碼率壓縮,并且支持動態(tài)檢測。
IME6400可支持48/44.1/ 32/ 24/ 22.05/ 16kHz音頻采樣。它的同步串行接口為可選的外部音頻DSP。而外部接口則用32-Bit來同步DRAM總線接口和8/16Bit的外部HOST接口。另外?IME6400需要27MHz的外部時鐘。
3 IME6400主要引腳功能
3.1 SDRAM引腳
IME6400中的SDRAM接口能支持32bit同步DRAM總線接口。根據(jù)不同的需要可選用4Mbits到64Mbits不同大小的SDRAM。當(dāng)需支持高分辨率、MPEG4編碼時,其最小的SDRAM大小應(yīng)為32Mbits。SDRAM接口的主要引腳功能如下:
DD[31:0]:SDRAM數(shù)據(jù)總線。
DA[14:0]:SDRAM地址總線,其中DA[14:13]和SDRAM的BANK[1:0]連接。
DNWE:SDRAM的寫使能信號端,低有效。
DNCS:SDRAM的片選信號,低有效。
DQM:SDRAM數(shù)據(jù)的輸入/輸出mask使能。
NRAS:SDRAM行地址選通端,低有效。
NCAS:SDRAM列地址選通端,低有效。
CKE:時鐘使能信號端,高有效。
CKO:外部的SDRAM時鐘輸出端。從SDRAM讀寫數(shù)據(jù)時應(yīng)從它的上升沿采樣。
3.2 視頻信號引腳
IME6400芯片可對CCIR-601接口的數(shù)字視頻信號進(jìn)行編碼。對于從攝像頭或者播放設(shè)備來的模擬視頻信號,則需要先進(jìn)行A/D采樣,以將其變成所需要的信號格式。視頻信號接口引腳的功能描述如下:
VD[15:0]:數(shù)字YUV信號輸入端。
VSYNC:垂直同步信號,它的活動極性是可以編程設(shè)定的,默認(rèn)為高有效。
HSYNC:水平同步信號,高有效。
DVALID:視頻信號有效指示端。當(dāng)其為低時,表示視頻數(shù)據(jù)無效;而當(dāng)其為高時,表示輸入視頻數(shù)據(jù)有效。
PCLK:點時鐘輸入,輸入的視頻數(shù)據(jù)在時鐘的上升沿被采樣。這個時鐘應(yīng)當(dāng)由外部的視頻A/D芯片提供。因為IME6400只支持16bits視頻接口,所以應(yīng)當(dāng)提供13.5MHz的時鐘頻率。
FIELD:奇偶指示端。
3.3 靜態(tài)內(nèi)存引腳
由于IME6400是基于一個CPU的內(nèi)核,所以上電初始化必須從ROM啟動。IME6400的啟動有兩種方式,一種是通過內(nèi)部ROM,一種是通過靜態(tài)內(nèi)存接口外接ROM來引導(dǎo)。推薦使用外接ROM來引導(dǎo)IME6400的初始化。這個接口的引腳功能如下:
ADR[16:0]:靜態(tài)內(nèi)存地址總線。
DATA[7:0]:靜態(tài)內(nèi)存數(shù)據(jù)總線。
NRST:主芯片復(fù)位信號,低有效。
MCLK:主芯片時鐘輸入端,不同的頻率對應(yīng)不同的分辨率,當(dāng)其接高分辨時,應(yīng)接27MHz時鐘,此時圖像尺寸可以為640×480、720×480、768×576等,幀率為25~30幀/秒。
RADR[1:0]:ROM低地址信號。
RNOE:ROM數(shù)據(jù)輸出使能信號端,低有效。
EXTBOOT:該端接低時?芯片從內(nèi)部ROM引導(dǎo)啟動;接高時?芯片從外部ROM引導(dǎo)啟動。
SNOE:SRAM數(shù)據(jù)輸出使能信號端,低有效。
SNWE:SRAN數(shù)據(jù)寫使能信號端,低有效。
GPIO[7:0]:可編程引腳。
3.4 I2C接口引腳
IME6400可以作為I2C的主設(shè)備來對視頻A/D芯片的內(nèi)部寄存器進(jìn)行配置以管理視頻A/D芯片。I2C接口引腳功能如下:
IICSDA:I2C串行數(shù)據(jù)端。
IICSCL:I2C串行時鐘輸出端。
3.5 外部HOST接口引腳
這個接口引腳功能如下:
MODE[1:0]:外部HOST接口模式選擇端?具體選擇方式如表1所列。有四種模式可供選擇,本文設(shè)計的系統(tǒng)選用同步BURST模式1。
表1 外部HOST接口模式選擇表
模 式 | MODE[1:0] | CPU |
同步BURST模式0 | 00 | PLX9050/9080 |
同步BURST模式1 | 01 | MPC850/860 |
同步BURST模式2 | 10 | CYPRESS EZ-USB |
異步SINGLE模式 | 11 | INTEL MCU |
BW:外部HOST接口總線寬度設(shè)定端,接低時,HOST接口適應(yīng)16bits;接高時,HOST接口適應(yīng)8bits寬度。
HD[15:0]:外部HOST接口數(shù)據(jù)總線。
HA[4:0]:外部HOST接口地址總線。
NCS:IME6400的片選信號端,低有效。
ADS:外部HOST地址選通信號,低有效。
NRD:外部HOST數(shù)據(jù)讀選通信號,低有效。
NWR:外部HOST數(shù)據(jù)寫選通信號端,低有效。
FRD:外部HOST數(shù)據(jù)快速讀選通信號端,低有效。
USEOCK:用于指示外部HOST接口使用的時鐘源。該腳接低時,表示使用內(nèi)部時鐘,接高時,則表示用外部時鐘。
HCLK:外部HOST接口時鐘輸出端。
NFULL:Bit 流FIFO狀態(tài)信號端。當(dāng)FIFO是Half-full或者Full時,此引腳輸出高電平。
READY:當(dāng)接口模式是同步模式時,此引腳可用來指示數(shù)據(jù)準(zhǔn)備狀態(tài)。
3.6 音頻編解碼引腳
這個接口引腳的功能如下:
CCLK:音頻編解碼時鐘信號輸入端。IME6400支持音頻的采樣速率為32、44.1和48kHz,為了支持不同的采樣率,輸入的時鐘也應(yīng)當(dāng)不同。當(dāng)CCLK輸入12.2880MHz時鐘時,系統(tǒng)將支持32kHz或者8kHz的采樣頻率;而當(dāng)CCLK輸入11.2896MHz時,則支持44.1kHz的采樣頻率。
SDATA:串行音頻數(shù)據(jù)線輸入端。
SCLK:串行音頻時鐘信號輸出端。
IRCK:左-右時鐘信號輸出端。
3.7 其它引腳功能描述
CPUTEST:內(nèi)部CPU測試端,高有效。
PLLTEST:內(nèi)部鎖相環(huán)測試端,高有效。
FUNTEST:芯片功能測試端,高有效。
DIV34:SDRAM的時鐘模式選擇端。接低時,表示SDRAM的時鐘頻率為芯片主時鐘MCLK的3倍;接高則表示SDRAM的時鐘頻率為MCLK的4倍。
4 嵌入式監(jiān)控系統(tǒng)設(shè)計
通過對IME6400的研究,筆者設(shè)計了一個嵌入式監(jiān)控系統(tǒng),圖1是該監(jiān)控系統(tǒng)的設(shè)計框圖。圖中,音頻、視頻信號分別進(jìn)行A/D采樣后,其數(shù)據(jù)將輸入IME6400以進(jìn)行MPEG4壓縮編碼,編碼后的壓縮視頻流通過HOST接口被嵌入式CPU讀取,隨后即可存儲到硬盤或者通過網(wǎng)絡(luò)存儲到其它載體之中。
4.1 音頻接口的設(shè)計
本設(shè)計中,音頻A/D采樣選用TEXAS公司的PCM1801,它是一個5V供電的雙聲道ADC。輸入的時鐘為11.2896MHz,可適應(yīng)44.1Kbits的采樣。PCM1801與IME6400的連接方式如圖2所示。
4.2 視頻接口及I2C接口的設(shè)計
視頻A/D選用ROCKWELL公司的BT829B。它可以輸出CCIR-601接口的數(shù)字視頻。BT829B有兩組時鐘輸入,如果只用其解碼PAL制式的視頻信號,應(yīng)把時鐘輸入到XT0I,并把XT1I接低。BT829B可作為I2C的從設(shè)備與IME6400的I2C接口進(jìn)行連接,這樣IME6400可以完成對BT829的管理。其視頻接口連接方式如圖3所示。
4.3 HOST接口的設(shè)計
IME6400的外部HOST接口主要用來傳輸編碼后的數(shù)據(jù)流。四種外部HOST接口的模式可由MODE管腳來決定。本設(shè)計選用的模式為同步Burst 模式1,對應(yīng)于MODE?1:0? pin = 2' b 01。即對應(yīng)MPC850/860的情況。
嵌入式CPU可選用MOTORALA公司的MPC850。HOST接口時鐘可以由MCLK或者FRD來提供,其值則可由USEOCK的值來決定。本設(shè)計中,由于USEOCK為1,因此,FRD被用作內(nèi)部的時鐘源。這個27MHz的時鐘源可由主控板提供。HOST接口的連接方式如圖4所示。
MPC850從HOST接口讀取壓縮數(shù)據(jù)采用Burst方式,IME6400的NFULL信號直接輸入到MPC850的 IRQ。Burst可編程設(shè)定,并且只是用在讀取壓縮數(shù)據(jù)時,最大的Burst長度為256個字節(jié),即一次操作可以讀取256個字節(jié),由此可見,該設(shè)計可大大提高讀取速度。
4.4 SDRAM接口的設(shè)計
為了壓縮視頻和音頻數(shù)據(jù)以及存儲編碼流,一般都需要用外部的SDRAM。其大小與要壓縮的圖像大小和模式有關(guān)。本設(shè)計選用的SDRAM大小為2MB×32。IME6400最大可以訪問2Gbits的外部SDRAM。目前本設(shè)計選用的地址大小為11行8列。
SDRAM的時鐘是三倍或者四倍的MCLK時鐘,可由DIV34的值決定。本設(shè)計中,MCLK時鐘是27MHz,選三倍MCLK時鐘時,SDRAM的時鐘為27×3=81MHz。SDRAM選用K4643232E。其連接方式如圖5所示。
4.5 ROM接口的設(shè)計
如果用內(nèi)部引導(dǎo)ROM,IME6400不需要外部ROM,但在外部引導(dǎo)模式,則需要一個ROM接口。外部的ROM最大可達(dá)4MB。本設(shè)計中,EXTBOOT選用跳線方式來控制用外部還是內(nèi)部ROM來引導(dǎo)。本設(shè)計中的外部ROM選用28C256,這是一款256kB(32KB×8)并采用5V供電的存儲器件。MCLK的27MHz時鐘由主控板提供。
IME6400對于FIRMWARE的下載有2種方式,可通過管腳P236(EXTBOOT)上的跳線開關(guān)來選擇,該跳線開關(guān)為高電平時選擇外部28C256啟動,低電平時選擇從MPC850啟動。
5 該監(jiān)控系統(tǒng)的優(yōu)點
應(yīng)用IME6400硬件設(shè)計的MPEG4壓縮和嵌入式系統(tǒng)可以使監(jiān)控系統(tǒng)的性能大大提高,主要表現(xiàn)在:
(1)錄像和預(yù)覽同樣清晰,圖像格式均可以實現(xiàn)D1,全動態(tài)碼率最大可控制在200MB/小時。
(2)壓縮速度更快,實時流播放時無滯后延遲。最小延遲可以小于1秒。
(3)壓縮數(shù)據(jù)的讀取可以采用Burst方式,從而提高了讀取速度,同時也為嵌入式CPU的采用創(chuàng)造了條件。
6 結(jié)束語
本文通過對IME6400芯片的分析,提供了一種MPEG4的實時音、視頻壓縮技術(shù)方案。并針對商業(yè)用途設(shè)計了一種嵌入式MPEG4視頻監(jiān)控系統(tǒng)。