<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于A(yíng)ndroid的機頂盒CAS系統的開(kāi)發(fā)

基于A(yíng)ndroid的機頂盒CAS系統的開(kāi)發(fā)

作者: 時(shí)間:2012-08-21 來(lái)源:網(wǎng)絡(luò ) 收藏

從圖2可以看出此TS流中的CAT表中含有ca_descriptor描述符,并可以得出ECM的ca_pid為0x0562。而從圖3中可以看出,PMT表中含有的EMM表的ca_pid為0xoffe。此時(shí)就可以設置操作demod來(lái)分配filter通道,過(guò)濾出EMM、ECM表的section_descriptor_table,來(lái)取得CA有關(guān)的信息。如果用戶(hù)要流暢地播放節目,(Set_Top Box,STB)就要不斷地獲得密文CW送入智能卡中,從整個(gè)解碼過(guò)程中可以把整個(gè)終端子分為3個(gè)模塊:EMM解析模塊、ECM解析模塊、智能卡任務(wù)模塊。采用的是Linux內核,保留了posix的pthread、message、memory pool等通用的API,所以在設計3個(gè)模塊時(shí),可以使用pthread_create()創(chuàng )建任務(wù)模塊;使用msgget()創(chuàng )建消息,實(shí)現3個(gè)任務(wù)模塊的通信與同步。
2.1 EMM任務(wù)模塊
由圖1可知,TS流經(jīng)tuner調諧,把高頻載波去掉,再經(jīng)過(guò)demod解調,就可以根據PES包的PID號和TABLEID號設置其里面的filter。一般來(lái)說(shuō)一個(gè)demod含有多個(gè)filter,在啟動(dòng)開(kāi)始就會(huì )分配PAT表的filter,有PAT表的setction descriptor的描述就可以得到PMT表的PID,此時(shí)同樣分配PMT表的filter。如果此節目是加密節目,在其段描述符中就會(huì )含有EMM表的PID號,一旦找到EMM的PID號,就可以為EMM表分配filter。如果EMM里面的CA信息版本號和智能卡存儲的CA信息版本號一致,就舍棄此EMM;如果不一致,就重新改寫(xiě)智能卡里面的CA用戶(hù)的信息。EMM任務(wù)模塊流程如圖4所示。

本文引用地址:http://dyxdggzs.com/article/154097.htm

d.JPG


在EMM任務(wù)模塊中,通過(guò)_EMM_TASK()函數創(chuàng )建任務(wù),在_EMM_TASK()中調用CAS_EMM_ReceiveMessage()函數來(lái)接收EMM filter發(fā)送過(guò)來(lái)的CA信息。在沒(méi)有EMM流時(shí),EMM任務(wù)一直掛起,而一旦filter發(fā)現EMM表,就會(huì )把EMM的CA信息發(fā)送到EMM任務(wù)中,同時(shí)關(guān)掉filter,避免其未處理完此EMM,而又接收新的EMM。此時(shí)EMM任務(wù)從掛起進(jìn)入就緒態(tài),從而處理來(lái)自filter的EMM信息,處理完之后再次分配EMM的filter。
2.2 ECM任務(wù)模塊
通過(guò)解瀆CAT表可知,此節目表是否加密,如果加密則設置相應ECM的filter過(guò)濾出對應的ECM表,此時(shí)結合智能卡中存儲的EMM的CA信息,就可以判斷出用戶(hù)是否對此節目授權,若授權則取出智能卡中的SK業(yè)務(wù)密鑰,找出對應的奇偶控制字(CW),送入到智能卡中,通過(guò)智能卡系統解密出CW,送入到STB中實(shí)現數據、視頻、音頻的解碼。整個(gè)過(guò)程如圖5所示。

e.JPG


在ECM任務(wù)模塊中,通過(guò)CAS_ECM_TASK()創(chuàng )建線(xiàn)程任務(wù),在其內部調用CAS_ECM_ReceiveMessage()函數接收來(lái)自ECM的filter過(guò)濾出的CA信息;此時(shí)通過(guò)CAS_CARD_ReadMessage()讀取智能卡內部用戶(hù)授權信息,來(lái)判斷ECM是否有效且取出對應的密文的CW;而用CAS_ECM_Send To Card()函數把密文CW送入到智能卡中解密,解密出明文CW;用CAS_CW_SendToSTB()函數送入到,此時(shí)解復用模塊接收到明文CW就可以得到解碼加密流了。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>