交互式機(jī)頂盒、數(shù)字電視已經(jīng)從分立器件結(jié)構(gòu)發(fā)展到單芯片解決方案,這是數(shù)字大規(guī)模集成電路制造工藝技術(shù)進(jìn)步的結(jié)果,也是最大限度降低系統(tǒng)成本的必然要求。
現(xiàn)代單芯片解決方案的機(jī)頂盒一般集成有CPU、解復(fù)用、音頻視頻解碼、二維圖形處理、編碼和外設(shè)端口等模塊。為節(jié)省芯片面積、這些獨(dú)立部分是通過總線方式連接在一起的。改進(jìn)系統(tǒng)的性能,通常是提高CPU的速度、增強(qiáng)二維乃至三維圖形的處理能力、增加外設(shè)端口的接口數(shù)目和類別等方面著手,從而從總體上提高系統(tǒng)的交互處理能力。但由于視頻解復(fù)用器和音頻視頻解碼器對存取數(shù)據(jù)總線實(shí)時(shí)性要求嚴(yán)格,增加了CPU處理等待時(shí)間,形成了所謂的總線瓶頸。有關(guān)測試表明,總線瓶頸使得CPU的執(zhí)行指令等待時(shí)間達(dá)到了76%,這種單純依靠提高CPU性能來克服處理能力不足的方式,并不能提高性價(jià)比,而改善總線瓶頸可以通過改進(jìn)或增加系統(tǒng)互聯(lián)總線來完成,但這必將增加芯片制造中互聯(lián)線的復(fù)雜度,從而增加成本。
除了總線瓶頸帶來的問題外,隨著用戶對接入方式多樣性以及圖形圖象處理要求的日益提高,通過電話線回傳的交互式機(jī)頂盒、數(shù)字電視的窄帶接入方式以及有限的計(jì)算能力也越來越不能滿足人們的要求,隨著有線HFC網(wǎng)的雙向改造以及與電信網(wǎng)、互聯(lián)網(wǎng)三網(wǎng)合一進(jìn)程的加速,為用戶加添CableModemCM、Ethernet等靈活可選的帶寬接入方式以及增加高級2D乃至3D高級圖形處理,便成為機(jī)頂盒應(yīng)用的一個(gè)重要方面。
基于ST40GX1與STi5514的雙CPU方案
為解決上面提出的問題,設(shè)計(jì)時(shí)可選擇ST公司推出的基于STi5514單芯片解碼器和ST40GX1二維圖形處理器的雙處理器解決方案,該方案避免了外設(shè)模塊倍增帶來的總線擁擠以及解碼實(shí)時(shí)性要求帶來的等待延遲。STi5541和ST40GX1內(nèi)部都采用高速先進(jìn)的STBus來實(shí)現(xiàn)互聯(lián),前者負(fù)責(zé)實(shí)時(shí)性要求較高的硬件解復(fù)用、視頻音頻解碼、與解碼相關(guān)聯(lián)的外圍I/O設(shè)備控制等。后者負(fù)責(zé)寬帶交互式應(yīng)用以及高級圖形處理,兩者之間的高速數(shù)據(jù)通信通過MPX(MemoryPeriheralExchange)總線以及存儲映射的郵箱(Mailbox)來進(jìn)行,通過主頻達(dá)100M赫茲的MPX總線,STi5514能直接存取ST40GX1上可高達(dá)256MB的DDRSDRAM存儲資源。
◇STi5514的功能特點(diǎn)及接口
STi5514主要用于完成MPEG-2視頻、音頻信號的解壓縮。其內(nèi)部集成了一個(gè)MP@ML標(biāo)準(zhǔn)清晰度的視頻解碼模塊和一個(gè)杜比AC-3/AAC/DTS音頻解碼模塊以及VideoEncoder和AudioDAC模塊等。內(nèi)部32位RISCCPU工作主頻為120M赫茲在外接V.90的硬件Modem條件下,可以通過電話線進(jìn)行窄帶交互式應(yīng)用,如進(jìn)行基于電話線回傳的視頻點(diǎn)播、低速Internet瀏覽等。
與ST公司早期推出的單芯片解碼器STi5512相比,除一般功能接口相同外,其突出特點(diǎn)是:指令和數(shù)據(jù)緩沖都增加了一倍,同時(shí)并發(fā)處理三路TS(TransportStream)流輸入、支持多種解擾模式(包括DVB、DES、ICM、Fast-I),直接支持杜比AC-3/AAC/DTS音頻解碼,提供ATAPI硬盤電路接口,并直接支持Ultra-DMA66高速數(shù)據(jù)傳送模式的硬盤以實(shí)現(xiàn)數(shù)字電視節(jié)目的實(shí)時(shí)錄制,視頻解碼流可以以ITU-R601-656格式數(shù)據(jù)流輸出或者以復(fù)合視頻信號CVBS、分量信號RGB和YUV等不同模擬模式輸出,支持Teletext解碼輸出,同時(shí)提供對兩路SIM卡接口。利于擴(kuò)展銀行卡等高級應(yīng)用。由于STi5514去掉了1394接口,故需外接1394控制器(如STE422等)來擴(kuò)展基于1394的視頻輸入。
◇ST40GX1的功能結(jié)構(gòu)
ST40GX1內(nèi)部集成有SH-4型32位RISC處理器內(nèi)核,Gamma2D圖象處理,混合模塊以及其他視頻電路接口邏輯,ST40GX1是交互式應(yīng)用的處理核心,它包括系統(tǒng)設(shè)備和外設(shè)兩個(gè)方面:
(1)系統(tǒng)設(shè)備
ST40GX1的系統(tǒng)設(shè)備包括中央處理器(CPU)、用于DSP功能的浮點(diǎn)運(yùn)算單元/加乘處理單元(FPU/Mac)、存儲管理單元(MMU)以及DMA控制模塊。其中,CPU為32位SuperHRISC,它采用2通道超標(biāo)量體系結(jié)構(gòu),主頻166M赫茲,16位指令定長(Load-Store結(jié)構(gòu)),8KB直接指令緩存,16KB直接操作數(shù)緩存,并帶有一個(gè)片上乘法器。而其存儲器則支持4GB的存儲空間,并支持單塊或多塊虛擬內(nèi)存模式,頁面的大小可以是1KB、4KB、64KB或1MB,此外,它還支持4通道全相關(guān)指令I(lǐng)TLB(InstructionTranslationLookaside Buffer)、64通道全相關(guān)指令以及操作數(shù)UTLB,同時(shí)支持軟件控制的更新算法以及隨機(jī)計(jì)數(shù)的更新算法,這為32位保護(hù)模式下的操作系統(tǒng)提供了完備的硬件平臺,ST40GX1中的通用DMA控制器可支持5個(gè)通道的數(shù)據(jù)傳輸,其中4個(gè)通道可以用于存儲器到存儲器或存儲器到外設(shè)之間的數(shù)據(jù)傳送,另外一個(gè)通道為帶緩沖的多路復(fù)合通道,同時(shí)支持2D塊的搬動(dòng)以及鏈表操作,片內(nèi)兩個(gè)通道的DMA握手信號和EMI接口信號還可用于MPX總線操作。
(2)外設(shè)接口模塊
ST40GX1的外設(shè)接口模塊包括通用接口模塊和視頻專用接口模塊,其中通用接口模塊包括兩個(gè)與ST40系列處理器兼容的全雙工異步串行通信端口、中斷控制器、符合IEEE1149規(guī)范的調(diào)制控制器、實(shí)時(shí)時(shí)鐘、4個(gè)用戶可編程的PLL、24位輸入輸出方向可配置的并行I/O口,以及兩個(gè)符合V1.1規(guī)范的USB主控制器和收發(fā)器、Modem模擬前端接口MAFE、兩個(gè)可配置為支持I2C或SPI總線接口標(biāo)準(zhǔn)的同步串行控制器(SSC0和SSC1)、Teletext輸入接口、兩個(gè)使用異步協(xié)議的SmartCard接口、用于和外部微控制器通信的存儲映射郵箱(Mailbox)、符合PCI2.1規(guī)范的PCI接口控制器、兩路音頻PCM輸入接口和一路PCM輸出接口等;而視頻專用接口及處理模塊則包括字視頻輸入端口和2D圖象處理器,這兩個(gè)CCIR601-656視頻輸出端口(DVP0,DVP1)可以同時(shí)輸入VCbCr4:2:2格式的視頻數(shù)據(jù),并將其裝入局部存儲器。也可對沒有內(nèi)嵌同步信號的視頻來根據(jù)SAV/EAV協(xié)議提供外同步信號支持,用戶可以從輸入的視頻圖像中設(shè)定視頻捕獲窗口以及活動(dòng)窗口的子窗口。數(shù)字編碼其(DENC)將數(shù)字視頻流轉(zhuǎn)換為標(biāo)準(zhǔn)的模擬基帶PAL/SECAM/NTSC信號以及RGB和YUV模擬分量信號,如果在LMI上使用32位的DRAM,則可以獲得RGB24位的數(shù)字視頻流,2D圖象處理器(或圖像塊傳送引擎)擁有兩個(gè)2DDMA圖像數(shù)據(jù)輸入源,可完成一整套強(qiáng)大的處理操作,除可完成普通2D圖形加速功能外,還可完成不同圖形格式(RGB/YUV等)之間的轉(zhuǎn)換,其中包括塊填充、塊拷貝、異步復(fù)合、色彩變換以及2D縮放處理等功能。
基于STi5514和ST40GX1的系統(tǒng)構(gòu)成
根據(jù)STi5514和ST40GX1的功能特點(diǎn),圖1給出了本系統(tǒng)的總體結(jié)構(gòu)方案。
◇前端解碼部分
由于STi5514內(nèi)置三路TS流解擾通道,故采用雙路的Turner+STV0297QAM解調(diào)器同時(shí)解調(diào)兩個(gè)頻道的基于DVB-C的視頻數(shù)據(jù)傳輸流,充分利用STi5514的硬件解擾、控制處理以及解碼能力,可以實(shí)現(xiàn)畫中畫功能,其中Turner可以采用MicroTune的MT2040單芯片調(diào)諧器以節(jié)省空間和成本,此外,通過外接STE422,對IEEE1394接口輸入提供支持。
◇后端解碼部分
后端解碼由STi5541完成,STi5514通過外接8MB共享的SDRAM完成在信道解調(diào)、解復(fù)用以及解碼過程中所需要的存儲資源,STi5514通過MPX總線共享位于ST40GX1EMI接口上的16MBFLASH,通過ATA接口外接硬盤存儲器以擴(kuò)展VCR應(yīng)用。STi5514解碼后的符合ITU-R601_656標(biāo)準(zhǔn)的視頻數(shù)據(jù)通過視頻輸出端口直接輸入到ST40GX1的兩路視頻輸入端口中的DVP0。STi5514向ST40GX1發(fā)送27M赫茲的像素時(shí)鐘以及同步信號,以確保STi5514視頻數(shù)據(jù)正確接收。
◇圖形處理
當(dāng)用ST40GX1處理二維圖形時(shí),可先用ST40GX1來接收來自STi5514的解碼視頻流,并經(jīng)過插值、色彩空間坐標(biāo)變換后,與網(wǎng)頁瀏覽等其他視頻進(jìn)行透明度處理(Alphablending)、飽和度處理(GammaProcessing)等復(fù)合處理,從而形成統(tǒng)一的視頻幀緩存數(shù)據(jù),在通過內(nèi)部的DENC將其編碼為模擬電視能接收處理的復(fù)合視頻信號CVBS、SVideo或分量信號RGB、YUV等輸出。
由于ST40GX1只支持3.3V的PCI接口,故可通過Intel的SB21150BC來擴(kuò)展3.3V或5V的PCI插槽;在需要3D圖象處理的情況下,也可以通過外插PCI3D圖形加速卡來實(shí)現(xiàn)。
◇交互式應(yīng)用的網(wǎng)絡(luò)接口
交互式應(yīng)用的硬件部分可由ST40GX1以及相應(yīng)的網(wǎng)絡(luò)接口完成?紤]到網(wǎng)絡(luò)接口的帶寬接入方式要求,設(shè)計(jì)時(shí)可利用ST40GX1對外部提供的PCI總線接口,并集成CableModem、Ethernet等高速接口。
(1)CableModem
首先選擇符合Docsis1.1/Euro-docsis1.1規(guī)范的CableModem前端單芯片接口芯片STV0396作為CableModem解決方案,這一部分既可以作為一個(gè)獨(dú)立的PCI卡來設(shè)計(jì),也可以將其直接嵌入母板上,STV0396是一個(gè)高度集成的調(diào)制解調(diào)系統(tǒng),包括支持上行和下行符合DOCSIS1.1規(guī)范的物理層規(guī)范接口,媒體接入控制(MAC)以及功能強(qiáng)大的32位ST20 RISC處理器、PCI、EMI/MPX等與ST40GX1相兼容的外部接口。STV0396采用316管腳的GBA封裝,除需外接雙向調(diào)諧器外,還需要添加下行方向的聲表面波濾波器(SAW、上行方向的線路放大器以及時(shí)鐘等,才能實(shí)現(xiàn)與線纜頭端設(shè)備CMTS之間的通信連接,其典型接口電路如圖2所示。
(2)以太網(wǎng)接口
可選擇基于RTL8139C的3.3V以太網(wǎng)芯片組作為接口芯片,這是因?yàn)樾酒哂懈叨燃、在嵌入式系統(tǒng)中使用廣泛以及10/100M自適應(yīng)特性、自帶PCI接口、在類Linux操作系統(tǒng)下驅(qū)動(dòng)程序容易找到等優(yōu)點(diǎn)。RTL8139采用128管腳的QPF/LQPF封裝,可通過PCI總線接口與ST40GX1相連。
(3)V.90軟件Modem的支持
對于V.90軟件Modem的支持,可直接利用ST40GX1的Modem前端接口MAFE來完成。不使用硬件Modem可以充分利用ST40GX1的運(yùn)算處理能力來降低成本。
系統(tǒng)的啟動(dòng)及通訊
ST40GX1與STi5514通過配置各自MPX總線接口的主/從(Initiator/target)方式來決定系統(tǒng)的啟動(dòng)順序。在這里,由于系統(tǒng)啟動(dòng)代碼位于ST40GX1局部FLASH中,故將ST40GX1配置為主(Initiator)將STi5514配置為從(target)。具體的啟動(dòng)順序?yàn)椋篠T40GX1首先控制MPX總線并且先啟動(dòng),在啟動(dòng)期間阻止STi5514使用MPX總線,直到其完全完成從Flash里面讀取啟動(dòng)代碼和初始化為止。接著ST40GX1利用MPX總線拷貝STi5514的啟動(dòng)程序以及應(yīng)用程序代碼到自己的LMIDDR內(nèi)存中,拷貝完成后,ST40GX1釋放并允許STi5514控制MPX總線,STi5514從ST40GX1的DDRSDRAM中拷貝自己的啟動(dòng)程序及應(yīng)用程序代碼,借鑒這一點(diǎn),通過MPX總線可以實(shí)現(xiàn)多CPU之間的存儲共享。
STi5514通過MPX總線可以訪問ST40GX1上的Mailbox寄存器。Mailbox被固定映射于ST40GX1存儲空間的基地址0x1B150000處,該寄存器對兩個(gè)CPU都能產(chǎn)生中斷信號。通過Malibox寄存器,ST40GX1與STi5514能實(shí)現(xiàn)進(jìn)程同步、消息傳遞等進(jìn)程間通信。