5. 內(nèi)嵌高速DVB通用解擾算法
通用加擾算法是DVB標(biāo)準(zhǔn)組織推薦的對(duì)于TS流的標(biāo)準(zhǔn)加擾算法。目前,在歐洲的數(shù)字廣播節(jié)目中普遍采用了這個(gè)算法。我國目前商業(yè)化的CA中,TS節(jié)目的加擾也基本上是采用的這個(gè)算法。因此,我們向DVB組織申請(qǐng)了此算法的授權(quán),并以固核的模式嵌入到了我們的SM1658芯片中。
在此固核的設(shè)計(jì)中充分考慮到了芯片對(duì)將來可能出現(xiàn)的多路高清節(jié)目的適應(yīng)能力,將此解擾模塊的處理能力設(shè)計(jì)到了175Mbps,可以滿足同時(shí)處理2路高清節(jié)目流或4路標(biāo)清節(jié)目流的水平。
6.高性能的TS流處理引擎
在SM1658中,我們還設(shè)計(jì)了一套TS流處理引擎,用來對(duì)CI接口傳送過來的TS流進(jìn)行整形、過濾、提取特定數(shù)據(jù)、回送解擾后的節(jié)目流等。在此引擎中,我們?cè)O(shè)計(jì)了64個(gè)PID過濾器和16個(gè)SECTION過濾器,根據(jù)不同的配置狀態(tài),此引擎可以完成對(duì)TS流7種不同的路由功能。
SM1658性能指標(biāo)
1. 最高工作時(shí)鐘頻率
SM1658芯片采用了中芯國際的0.18um的標(biāo)準(zhǔn)邏輯CMOS工藝生產(chǎn)。在SM1658的芯片設(shè)計(jì)中,我們采用了ARTISAN的0.18um工藝庫和MC編譯器,采用了SYNOPSYS的DC綜合工具進(jìn)行綜合,并采用最新的CADENCE的后端設(shè)計(jì)工具ENCOUNTER進(jìn)行布局布線和SI分析,通過對(duì)芯片內(nèi)部總線、存儲(chǔ)器和關(guān)鍵路徑模塊進(jìn)行優(yōu)化,使芯片的時(shí)序基本上達(dá)到了ARM7TDMI IP核手冊(cè)上測(cè)試的標(biāo)準(zhǔn)性能。
我們完成流片后對(duì)芯片進(jìn)行了最高時(shí)鐘頻率的測(cè)試。常溫下以1.8V的核心電壓和3.3V的IO口電壓條件,SM1658可以工作在125MHz~135MHz的頻率下,這可能是已經(jīng)商用化的ARM7TDMI類芯片的最高工作頻率了。
由于我們對(duì)芯片的總線、內(nèi)部存儲(chǔ)器進(jìn)行了優(yōu)化,為了證實(shí)此優(yōu)化效果。我們對(duì)于芯片的最高運(yùn)算能力進(jìn)行了基準(zhǔn)測(cè)試。我們的測(cè)試程序使用的是ARM公司提供的參考測(cè)試程序Dhrystone2.1(C語言編寫),以性能最優(yōu)的方式進(jìn)行編譯。該測(cè)試程序在芯片的內(nèi)部SRAM中運(yùn)行。下表是我們的測(cè)試結(jié)果以及與軟件仿真測(cè)試結(jié)果的比較??梢钥吹?,我們的芯片在最高性能時(shí)的執(zhí)行效率已經(jīng)基本達(dá)到了ARM7TDMI的最好的指標(biāo),這也說明,我們的設(shè)計(jì)是非常優(yōu)化的。
表1:SM1658的最高運(yùn)算能力基準(zhǔn)測(cè)試結(jié)果。
2. 電流消耗
由于芯片內(nèi)部嵌入了一個(gè)大容量的SRAM和高速PLL,芯片在工作中的主要電流消耗將由其產(chǎn)生。在設(shè)計(jì)中也充分考慮到了其電源消耗的狀態(tài),將SRAM的分解成多個(gè)獨(dú)立的部分,保證同時(shí)只有一個(gè)部分的SRAM在工作。通過電路管理和優(yōu)化,芯片全速運(yùn)行程序時(shí)的平均電源消耗如下表:
軟件體系簡(jiǎn)單介紹
對(duì)于任何一個(gè)SoC芯片,其軟件的設(shè)計(jì)、開發(fā)和應(yīng)用體系是其商用化不可缺少的重要部分。我們從一開始設(shè)計(jì)SM1658芯片的同時(shí),就在項(xiàng)目內(nèi)組織了一個(gè)軟件開發(fā)團(tuán)隊(duì)對(duì)SM1658的軟件進(jìn)行開發(fā)。在芯片的設(shè)計(jì)過程中,軟件組同步進(jìn)行設(shè)計(jì),在芯片完成設(shè)計(jì)流片出來后,我們的軟件底層、應(yīng)用開發(fā)平臺(tái)和部分應(yīng)用軟件就已經(jīng)基本完成了。
這里簡(jiǎn)單介紹一下SM1658的軟件體系結(jié)構(gòu)。SM1658的軟件體系可以分為兩個(gè)大的部分:API庫(應(yīng)用程序接口)和應(yīng)用程序。API類似WINDOWS下的API庫,它完成了與芯片硬件相關(guān)的所有驅(qū)動(dòng)和上層軟件開發(fā)需要的一些基本和專用的函數(shù)庫(包括OS系統(tǒng)的基本功能函數(shù)),用戶在API庫的基礎(chǔ)上可以比較方便地建立起用戶應(yīng)用程序。
API庫又可以分為底層硬件驅(qū)動(dòng)函數(shù)庫、基本應(yīng)用服務(wù)函數(shù)庫和高級(jí)應(yīng)用服務(wù)函數(shù)庫。SM1658的底層驅(qū)動(dòng)程序包括基本設(shè)備如定時(shí)器、看門狗、存儲(chǔ)器管理、中斷管理、串口等設(shè)備的驅(qū)動(dòng)之外,還包括專用的智能卡接口、機(jī)卡分離CI接口、TS流處理引擎驅(qū)動(dòng)等特定設(shè)備的物理驅(qū)動(dòng)。底層驅(qū)動(dòng)的功能是完成設(shè)備的初始化配置、工作狀態(tài)的變換、基本數(shù)據(jù)包的發(fā)送接收校驗(yàn)、與其他設(shè)備的握手、錯(cuò)誤狀態(tài)的處理等與硬件密切相關(guān)的基本處理工作。
基本應(yīng)用服務(wù)包括TS流處理狀態(tài)的管理、CI命令通道數(shù)據(jù)的管理、智能卡的底層協(xié)議實(shí)現(xiàn)等功能,包括OS系統(tǒng)的底層管理功能。它提供了一些比較底層的函數(shù),用戶可以通過這些函數(shù)的調(diào)用,比較深入仔細(xì)地控制芯片的一些工作狀態(tài)。也可以針對(duì)應(yīng)用中的一些特殊情況,優(yōu)化某些應(yīng)用任務(wù)的性能。
高級(jí)應(yīng)用服務(wù)實(shí)現(xiàn)具體的各個(gè)設(shè)備的資源管理、用戶顯示界面MMI管理、CAT和EMM數(shù)據(jù)的管理、智能卡的應(yīng)用接口以及OS系統(tǒng)的高層管理功能。它提供了一些比較上層或抽象的函數(shù)調(diào)用。用戶通過對(duì)這些函數(shù)的調(diào)用,可以比較簡(jiǎn)單地完成一些任務(wù)和功能,讓用戶專注于建立應(yīng)用體系的內(nèi)容。
在本軟件體系的API庫中還比較完整地實(shí)現(xiàn)了兩套通訊協(xié)議接口,它們分別是DVB-CI協(xié)議和智能卡的7816協(xié)議。用戶直接使用這些協(xié)議的上層函數(shù),可以大大簡(jiǎn)化在進(jìn)行CAM卡應(yīng)用設(shè)計(jì)時(shí)的軟件開發(fā)工作量。
在操作系統(tǒng)方面,我們采用了非常靈活的ECOS作為此嵌入系統(tǒng)的操作系統(tǒng)。ECOS系統(tǒng)功能強(qiáng)大,但是又有非常方便的可訂制的配置模式,特別適合本系統(tǒng)及將來擴(kuò)充模式的需要。由于當(dāng)前的CAM既不需要文件管理,又沒有GUI界面,所以在ECOS針對(duì)此芯片進(jìn)行配置后,其OS核心代碼只有50KB左右。
本文結(jié)論
作為數(shù)字電視傳播環(huán)節(jié)中一個(gè)部分,CAM還有一個(gè)重要的特色是內(nèi)容保護(hù)和拷貝管理(CPCM)功能。由于機(jī)卡分離導(dǎo)致的透明節(jié)目流在接口上面出現(xiàn),不利于節(jié)目產(chǎn)品的版權(quán)保護(hù),所以,必須要在機(jī)頂盒與CAM之間加入一種防拷貝機(jī)制。在美國,POD標(biāo)準(zhǔn)的內(nèi)容中早已經(jīng)有了CP方面的內(nèi)容;而在歐洲,有關(guān)CPCM的內(nèi)容也已經(jīng)在2005年的第四季度公布了;目前在國內(nèi),有關(guān)CP保護(hù)的標(biāo)準(zhǔn)也在制訂中。一旦國家的CP標(biāo)準(zhǔn)宣布,我們就可以在SM1658的基礎(chǔ)上加入符合標(biāo)準(zhǔn)的CPCM結(jié)構(gòu),完成一個(gè)真正的CAM需要的全部基本功能。
參考文獻(xiàn):
1、ARM7TDMI(Rev4) Technical Reference Manual
2、ISO/IEC 7816 Specification