摘 要:從硬件和軟件上論述了如何在手機平臺MTK系統(tǒng)上實現(xiàn)CMMB功能的方法,詳細(xì)論述了硬件模塊結(jié)構(gòu)和軟件的實現(xiàn),以手機常見平臺MT6225為通信模塊搭配強大的多媒體芯片TCC7690,解調(diào)芯片 IF201,將音頻信號通過D/A轉(zhuǎn)換器件WM8371傳送到發(fā)聲設(shè)備,圖像直接由多媒體芯片傳給液晶顯示模塊(LCD)顯示。軟件需要手機基帶(BB)和多媒體芯片部分代碼共同配合實現(xiàn)解碼以及人機界面的處理。
關(guān)鍵詞:CMMB; 數(shù)字電視; 手機電視; MTK系統(tǒng); 手機CMMB
中圖分類號:TN915 文獻(xiàn)標(biāo)識碼:A
文章編號:1004-373X(2010)13-0086-04
Realization of CMMB Based on MTK System
WANG Guo-fu1,2
(1.Innovatech Information Technology Co. Ltd., Shanghai 200233, China;
2. Electronic Information and Electrical Engineering College, Shanghai Jiaotong University, Shanghai 200030, China)
Abstract: The method to realize CMMB function on the basis of MTK system is described. The structure of hardware module and the realization of software are elaborated. Taking the common platform MT6255 as a communication module to combine the multimedia chip TCC7690 with demodulator chip IF201, the audio signal is transmitted through an audio codec WM8371 to a speaker, and the bitmap data is sent to a liquid display module(LCD) to display. The software needs the cooperation of the mobile BB and the division code of multimedia chip to realize the processing of the coding, decoding and man-machine interface.
Keywords: CMMB; digital TV; mobile TV; MTK system; mobile CMMB
0 引 言
CMMB(中國移動多媒體廣播電視)主要面向手機、PDA等小屏幕便攜手持終端以及車載電視等終端提供廣播電視服務(wù),正在被大力推廣。
除了可以研發(fā)單獨的CMMB設(shè)備外,CMMB正在被集成到越來越多的嵌入式設(shè)備中,手機作為基本的通信設(shè)備正越來越普及,能夠完成基本的通信功能甚至多媒體處理功能,所以在手機上集成CMMB成為一種必然趨勢。本文研究在國內(nèi)比較流行的手機平臺MTK系統(tǒng)中實現(xiàn)CMMB功能。
1 基于MTK系統(tǒng)平臺CMMB實現(xiàn)的框架
MTK系統(tǒng)有多個子平臺,這里選擇比較常見的中端的MT6225系統(tǒng),它是高度集成GSM/GPRS 手機單芯片基帶處理器,集成32 b ARM7EJ-S核,可以完成通話、收發(fā)短信等基本GSM/GPRS通信功能,同時具有簡單的多媒體功能。CMMB視頻和音頻解碼芯片使用Telechips的TCC7690,音頻解碼器選擇Wolfson公司的芯片WM8731,顯示模塊使用的驅(qū)動芯片是ILI9325,CMMB高頻解調(diào)器選擇北京創(chuàng)意視訊的IF201芯片。圖1中的RF表示GSM/GPRS的射頻接收和發(fā)送處理部分,KEY表示鍵盤部分。下面從硬件模塊和軟件兩個方面研究CMMB系統(tǒng)的實現(xiàn)。
圖1 CMMB 系統(tǒng)框架
2 模塊部分
2.1 CMMB解調(diào)
CMMB系統(tǒng)的CMMB高頻信號的解調(diào)器由圖1中所示的IF201承擔(dān),IF201是一高集成度的CMMB接收系統(tǒng)的OFDM接收器,其實現(xiàn)原理如下:
在圖2中清晰顯示出從天線中接收到的信號在解調(diào)器中的路徑。
天線接收到的UHF頻段(即470~860 MHz)的信號經(jīng)過濾波器被傳入到射頻轉(zhuǎn)換器(RF Converter)中經(jīng)過轉(zhuǎn)換成為差分正交的I,Q信號。
圖2 CMMB解調(diào)部分
CMMB采用的是OFDM(正交頻分復(fù)用)技術(shù),其主要的思想是:將信道分成若干正交子信道,將高速數(shù)據(jù)信號轉(zhuǎn)換成并行的低速子數(shù)據(jù)流,調(diào)制后在每個信道上進(jìn)行傳輸。正交信號可以通過在接收端采用相關(guān)技術(shù)來分開,這樣可以減少信道之間的相互干擾ICI。每個子信道上的信號帶寬小于信道的相關(guān)帶寬,因此每個信道上的可以看成平坦性衰落,從而可以消除符號間的干擾。而且由于每個子信道的帶寬僅僅是原信道帶寬的一小部分,信道均衡變得相對容易。
本系統(tǒng)中將接收到的CMMB信號經(jīng)過OFDM解調(diào)傳給低密度奇偶校驗碼(LDPC)解碼器,在CMMB系統(tǒng)中采用如下LDPC編碼方式:
LDPC輸出碼字C={c0,c1,,…,c9 215}由輸入信息比特S={s0,s1,…,sk-1}和校驗比特P={p0, p1,…,p9 215-k}組成,見式(1):
cCOL_ORDER(i)=
pi,0≤i≤9 215-k
si+k-9 216,9 216-k≤i≤9 215
(1)
式中:
cCOL_ORDER(i)為碼字比特映射向量;
k為LDPC碼信息比特長度;
LDPC編碼的校驗比特P={p0,p1,…,p9 215-k}根據(jù)校驗矩陣H求解如下方程得出:
H*CT=0
(2)
式中:0為9 216-k行,1列的全零向量;
H為LDPC奇偶校驗矩陣。
經(jīng)LDPC解碼器后的序列進(jìn)入RS解碼器中進(jìn)行RS解碼和反交織。RS碼采用碼長為240 B的RS(240,K)截短碼。該碼由原始的RS(255,M)系統(tǒng)碼通過截短產(chǎn)生,其中M=K+15。RS碼的每個碼元取自域GF(256),其域生成多項式為p(x)=x8+x4+x3+x2+1。字節(jié)交織器為塊交織器,結(jié)構(gòu)見圖3。
圖3 字節(jié)交織器
2.2 CMMB視頻和音頻解碼部分
根據(jù)CMMB標(biāo)準(zhǔn)所描述的,視頻解碼支持的最大碼率不低于384 Kb/s,音頻解碼支持的最大碼率不低于128 Kb/s。從圖1的框圖中可以看出IF201使用的是I2C總線進(jìn)行控制的,CMMB高頻信號經(jīng)過解調(diào)后變成基帶信號,基帶信號通過SPI接口傳給后端的處理器。考慮對上述性能的要求,選擇Telechips的TCC7690芯片,它是基于ARM940T核的多媒體處理芯片,它能夠很好地處理H.264視頻和AAC音頻,正好符合CMMB中視頻和音頻的格式要求。
如前IF201所述,其將接收到的高頻信號解調(diào)成CMMB基帶數(shù)據(jù)流送到SPI接口,TCC7690通過SPI接口和IF201建立CMMB解碼器的數(shù)據(jù)流通道,在CMMB中,電視數(shù)據(jù)流每秒40個時隙。TS0時隙存儲電視編程信息,同時提供2個邏輯通道用于配置和指定所期望的時隙。TCC7692通過I2C和SPI配置IF201的邏輯信道和接收電視通道數(shù)據(jù)。
處理器內(nèi)置的ARM940T核用于控制系統(tǒng)和處理各種數(shù)字信號,CMMB視頻和音頻處理過程為:
(1) 手機基帶通過并行通信接口向TCC7690發(fā)送命令啟動CMMB工作模式(向TCC7690中下載運行代碼);
(2) 經(jīng)過步驟(1)后,這時TCC7690處于待命狀態(tài),基帶可以向TCC7690發(fā)送搜臺和設(shè)置頻道命令使TCC7690接收CMMB數(shù)據(jù)流;
(3) TCC7690中的代碼通過分析CMMB數(shù)據(jù)流中的復(fù)用幀頭判斷當(dāng)前是否是視頻和音頻數(shù)據(jù),如果是則檢查子幀頭的頭長度、起始播放時間、視頻段長度、音頻段長度、數(shù)據(jù)段長度以及擴展區(qū)參數(shù)等。從中提取視頻段調(diào)用H.264解碼程序轉(zhuǎn)換成LCD能夠顯示的RGB 16位數(shù)據(jù),并傳送到芯片的顯示模塊接口上給LCD顯示,同時從中提取音頻數(shù)據(jù)段,調(diào)用AAC解碼程序解碼成PCM,PCM信號通過IIS接口傳給音頻解碼器作A/D轉(zhuǎn)換,變?yōu)槟M信號送到揚聲器或者耳機。
2.3 音頻編解碼器
考慮到成本和性能穩(wěn)定性,在這個系統(tǒng)中采用的是WM8731。它是一低功耗擁有耳機驅(qū)動能力的立體聲編解碼器。在CMMB系統(tǒng)中,它被用作DAC,從上文了解到,TCC7690傳送給編解碼器的是PCM數(shù)據(jù),需要轉(zhuǎn)換成模擬信號送到揚聲器或者耳機。
TCC7690和音頻編解碼器之間的數(shù)據(jù)傳送方式采用的是IIS總線,IIS信號如圖4所示。
圖4 IIS工作模式信號圖
音頻編解碼器的工作模式設(shè)置需要MTK系統(tǒng)的MT6225通過I2C接口進(jìn)行設(shè)置。數(shù)據(jù)從IIS到揚聲器或者耳機輸出流程如圖5所示。
圖5 音頻數(shù)據(jù)輸出流程
2.4 顯示處理模塊
在此系統(tǒng)中,顯示模塊既需要能夠被手機的基帶芯片MT6225控制,也要能夠被TCC7690控制,但是為了電路的連接方便,如圖1中顯示,LCD是連接在TCC7690上的,其和TCC7690的接口是8058接口,占用16位數(shù)據(jù)總線。
為了解決TCC7690和基帶芯片對LCD的控制沖突,采用一種所謂bypass的控制方式,這種方式的工作原理如下:
在CMMB工作時,LCD的控制權(quán)完全交給TCC7690,所以這個時候能夠顯示節(jié)目和菜單。在CMMB不工作時,通常將TCC7690設(shè)置成待命(standby)狀態(tài),并且將其設(shè)置成bypass模式,此時,基帶芯片原來連接到TCC7690上的片選CS、命令數(shù)據(jù)選擇RS(圖1中BB和TCC7690的A1)和數(shù)據(jù)線DATA0~DATA16可以看作和LCD上的數(shù)據(jù)線直連,TCC7690可以看作起一個延時作用,這時基帶芯片就能夠直接控制LCD用來顯示平時的待機、來電、短消息等了。
2.5 MTK手機系統(tǒng)
在圖1中,MT6225、RF和鍵盤都可以看作MTK系統(tǒng)的一部分,RF負(fù)責(zé)接收和發(fā)送GSM信號;鍵盤用于人機交互;MT6225負(fù)責(zé)各種任務(wù),其是一ARM7核,工作于104 MHz的基帶處理器。
在CMMB系統(tǒng)中,MTK系統(tǒng)除了完成手機系統(tǒng)的一些基本任務(wù)外,還需要完成對TCC7690的操作、耗電的處理、音頻編解碼器的配置等工作。
3 軟件部分
3.1 代碼結(jié)構(gòu)
總的代碼結(jié)構(gòu)見圖6。
圖6 CMMB系統(tǒng)代碼框架
各個模塊的作用如下:
(1) Application主要是集成MTK系統(tǒng)中MMI任務(wù)的有關(guān)人機處理方面的代碼;
(2) CP Management主要是提供給上層的啟動和關(guān)閉CMMB功能的接口和存儲當(dāng)前CMMB設(shè)置如當(dāng)前搜到的頻道的信息;
(3) CP API主要提供設(shè)置頻道、調(diào)節(jié)音量、顯示菜單、自動和人工搜臺主要功能的代碼,而且也能夠通過這一層通知多媒體芯片當(dāng)前需要特殊處理的狀態(tài)(如觀看電視過程中來電,低電等);
(4) 中斷處理為多媒體芯片通知基帶的事件處理函數(shù);
(5) IO_driver為底層驅(qū)動,提供訪問寄存器,中斷控制等接口;
(6) Configuration為TCC7690的相關(guān)配置文件,如地址、中斷口、等待時間等。
3.2 硬件配置代碼
在需要使CMMB芯片正常工作,需要配置基帶芯片和TCC7690的相關(guān)接口以及TCC7690的相關(guān)硬件控制狀態(tài),涉及的函數(shù)為:
void CMMBSAL_IO_Init(void)//I/O的初始化
void CMMBSAL_IO_EnableBPEN(void)
//啟動LCD顯示bypass模式,基帶芯片直接控制LCD
void CMMBSAL_IO_DisableBPEN(void)
//取消LCD顯示bypass模式,TCC7690控制LCD顯示
void CMMBSAL_IO_EnableReset(void)//TCC7690 復(fù)位腳拉高
void CMMBSAL_IO_DisableReset(void)//TCC7690 復(fù)位腳拉低
void CMMBSAL_IO_SlavePowerOn(void)//TCC7690加電
void CMMBSAL_IO_SlavePowerOff(void)//TCC7690斷電
3.3 TCC7690底層IO_Driver
為了使得基帶芯片能夠訪問TCC7690的相關(guān)寄存器和方便兩者之間的通信,必須建立兩者之間的通信接口,通過上述硬件的描述可知,基帶芯片和TCC7690之間是通過并口進(jìn)行通信的,在軟件方面提供如下底層通信函數(shù):
void IO_EHI_WriteREG(U32 uADDR, U32 uDATA, U32 uSize)//往指定寄存器中寫入數(shù)據(jù)
U32 IO_EHI_ReadREG(U32 uADDR, U32 uSize)//讀取指定寄存器的值
U32 CMMBSAL_IO_EnableINT(void)//使能中斷
U32 CMMBSAL_IO_DisableINT(void)//關(guān)閉中斷
int CMMBSAL_InstallIntHandler(void (*pHdlr)(void))//設(shè)置中斷處理函數(shù)
3.4 顯示和音頻設(shè)備操作
在軟件中LCD和音頻編解碼器有如下處理函數(shù):
void CMMBHost_LCDInit(void)//LCD的初始化
void WM8731Initial(void)//音頻編解碼器初始化
void WM8731ModeBypass(void)//音頻編解碼器進(jìn)入省電狀態(tài)
3.5 開啟和關(guān)閉CMMB流程
圖7和圖8表示開啟和關(guān)閉CMMB的過程。
圖7 開啟CMMB過程
圖8 關(guān)閉CMMB過程
3.6 人機操作方式
在啟動完CMMB后需要讓用戶能夠進(jìn)行數(shù)字電視的操作,為此特定添加以下函數(shù):
int CMMB_SendKey(unsigned int key,unsigned int opr)
//按鍵操作,針對左按鍵、右按鍵、確定鍵設(shè)置處理函數(shù)
int CMMB_AirPlay(unsigned int ChannelID)//切換到指定臺
int CMMB_AirStop(void)//停止播放當(dāng)前節(jié)目
int CMMB_ScanStart(void)//自動搜臺
int CMMB_ScanStop(void)//在搜臺過程中停止搜臺
4 結(jié) 語
通過在MTK平臺中外接多媒體處理芯片(TCC7690),使得MTK負(fù)責(zé)基本的通話、短信服務(wù),多媒體芯片負(fù)責(zé)H.264 解碼和IF201負(fù)責(zé)CMMB信號的解制組合在一起完成CMMB的實現(xiàn),在基帶端和多媒體芯片端的軟件相互配合從而在手機平臺上能夠?qū)崿F(xiàn)CMMB的功能。
參考文獻(xiàn)
[1]國家廣播電影電視總局.CMMB-GYT220.1 移動多媒體廣播 第1部分:廣播信道幀結(jié)構(gòu)、信道編碼和調(diào)制[ S] .北京:中國標(biāo)準(zhǔn)出版社,2006.
[2]國家廣播電影電視總局.CMMB-GYT220.2 移動多媒體廣播 第2部分:復(fù)用[ S] .北京:中國標(biāo)準(zhǔn)出版社,2006.
[3]國家廣播電影電視總局.CMMB-GYT220.3 移動多媒體廣播 第3部分:電子業(yè)務(wù)指南[ S] .北京:中國標(biāo)準(zhǔn)出版社,2006.
[4]國家廣播電影電視總局.CMMB-GYT220.4 移動多媒體廣播 第4部分:緊急廣播[ S] .北京:中國標(biāo)準(zhǔn)出版社,2006.
[5]國家廣播電影電視總局 CMMB-GYT220.5 移動多媒體廣播 第5部分:數(shù)據(jù)廣播[ S] .北京:中國標(biāo)準(zhǔn)出版社,2006.
[6]國家廣播電影電視總局.CMMB-GYT220.6 移動多媒體廣播 第6部分:條件接收[ S] .北京:中國標(biāo)準(zhǔn)出版社,2006.
[7]國家廣播電影電視總局.CMMB-GYT220.7 移動多媒體廣播 第7部分:接收解碼終端技術(shù)要求[ S] .北京:中國標(biāo)準(zhǔn)出版社,2006.
[8]H.264/MPEG-4 white paper[ R/OL] . [ 2009-03-18] . http://www.vcodex.com.
[9]H.264 video compression standard[ S/OL] . [ 2009-01-09] . http://www.elecfans.com.
[10]馬忠梅,馬廣云,徐英慧,等.ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2002.
[11]PROAKIS J G. Digital communications[M]. [ S.l.] : McGraw-Hill, 2003.