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