優(yōu)勝從選擇開始,我們是您最好的選擇!—— 中州期刊聯(lián)盟(新鄉(xiāng)市博翰文化傳媒有限公司)
0373-5939925
2851259250@qq.com
我要檢測 我要投稿 合法期刊查詢
您的位置:網(wǎng)站首頁 > 優(yōu)秀論文 > 正文

基于Linux嵌入式衛(wèi)星接收機及第三方條件接收系統(tǒng)的移植

作者:劉繼恩來源:原創(chuàng)日期:2013-12-17人氣:1531
1、引言
隨著人們生活水平的不斷提高以及嵌入式技術(shù)的日益成熟,數(shù)字電視作為一項全新的電視服務(wù)系統(tǒng),已經(jīng)走進了千家萬戶,給我們帶來了視覺上的沖擊享受。目前應(yīng)用較為廣泛的數(shù)字電視標準標準清晰度電視(SDTV)和高清晰度電視(HDTV)[1]兩種,其中SDTV已趨于成熟,HDTV也正在迅速發(fā)展。由于嵌入式Linux操作系統(tǒng)[2]的強大優(yōu)勢,Linux的開源性、免費性和可裁減性而且能夠適應(yīng)多種CPU和多種硬件平臺,所以成為了數(shù)字機頂盒一個理想的選擇。條件接收系統(tǒng)CAS[3],作為該系統(tǒng)的一個模塊,可以通過第三方CA提供商封裝的接口,以函數(shù)庫的形式實現(xiàn)在嵌入式Linux系統(tǒng)中移植。
2、機頂盒系統(tǒng)架構(gòu)
2.1硬件架構(gòu)
我們采用的是相對比較普及的標準清晰度電視機頂盒平臺,選用了國芯(GX)公司的DVB-S標準的機頂盒芯片GX3113B來作為主芯片,搭配選擇AIROHA的AV2012高頻頭和GX的GX1131衛(wèi)星解調(diào)芯片,構(gòu)成衛(wèi)星接收機的硬件架構(gòu),如圖1所示。該DTV機頂盒方案即可作為優(yōu)良的衛(wèi)星接收機方案還可以作為地面和有線機頂盒方案,具有多樣性和很強實用性。
GX公司的這款主芯片是32-bitARM926EJ-S嵌入式CPU,這款CPU應(yīng)用領(lǐng)域很廣,價格低廉,集成度很高,最主要的是嵌入式操作系統(tǒng)移植簡單方便,該芯片還集成了音視頻解碼器,電路設(shè)計相對簡單。該芯片采用國芯公司自主開發(fā)的GoXceed體系結(jié)構(gòu),最高頻率可以達到300MHZ;支持包括H.264、MPEG-2/1/4、基于硬件加速的JPEG/MJPEG解碼在內(nèi)的多種視頻和圖像解碼標準;支持包括MPEG1/2LayerI/II/III,MPEG2/4AAC音頻標準;其中該芯片還提供了豐富的外設(shè)接口,包括CA、SDR/DDR、SPIFLASH、前面板、IR、USB接口。Tuner用來對衛(wèi)星天線接收來的數(shù)字電視信號通過內(nèi)部電壓增益(AGC)和鎖相環(huán)(PLL)電路轉(zhuǎn)換成第二中頻信號,然后送到正交檢相器分解出I、Q兩路模擬信號,接著經(jīng)過A/D轉(zhuǎn)換變成數(shù)字信號。IQ數(shù)字信號通過衛(wèi)星解調(diào)芯片Demodulator進行QPSK解調(diào)等信號處理,最后解調(diào)出包含音頻和視頻以及其他數(shù)據(jù)信息的傳輸流(TS)進入主芯片。
2.2軟件架構(gòu)
接收機的軟件系統(tǒng)采用GX公司自主研發(fā)的軟件體系架構(gòu),如圖2所示,我們可以清晰的看到該架構(gòu)從下至上分為硬件層、設(shè)備驅(qū)動層、通用接口層、子系統(tǒng)層、中間服務(wù)層和方案層。其中硬件層包含嵌入式微處理器、存儲器(SDRAM、ROM、Flash)、通用設(shè)備接口和I/O接口(USB、SPI、GPIO、I2C等)、音視頻解碼器等。以及具體各種型號的SOC芯片。設(shè)備驅(qū)動層負責各類設(shè)備的驅(qū)動程序、驅(qū)動框架,具體操作系統(tǒng)的實現(xiàn),文件系統(tǒng)支持。AVCDI,即Audio/VideoCommonDriverInterface。是完成GoXceed框架中對音頻、視頻編碼及解碼的驅(qū)動框架,定義了音視頻框架中各類子模塊的接口,實現(xiàn)不同類型的芯片的統(tǒng)一。同時AVCDI是一個與操作系統(tǒng)無關(guān)性的音視頻驅(qū)動框架,可以方便地在各類操作系統(tǒng)上移植。通用接口層是GoXceed平臺的最底層的應(yīng)用程序接口。設(shè)備驅(qū)動層及其以下層是面象GoXceed框架開發(fā)者,而通用接口層是面向應(yīng)用程序開發(fā)。它包括:操作系統(tǒng)接口(GxCore-OS)、文件及設(shè)備操作接口(GxCore-FS)、網(wǎng)絡(luò)接口(GxCore-Net)、通用接口(GxCore-Common)、音視頻接口(GxCore-AV)、測試接口(GxCore-Test)。子系統(tǒng)層中,實現(xiàn)了通用的獨立模塊。中間服務(wù)層提供一套應(yīng)用方案的軟件框架。同時,采用服務(wù)的概念將應(yīng)用的各類應(yīng)用獨立。使用BUS來傳遞各個服務(wù)之間的消息,實現(xiàn)對服務(wù)的操作。方案層是用戶在使用GoXceed時需要自行開發(fā)的部分。在GoXceed平臺上,已經(jīng)實現(xiàn)DVB-S、DVB-T、Player等具體方案的實現(xiàn)。
GoXceed內(nèi)核能夠很好的融入嵌入式Linux中,我們只需要對系統(tǒng)進行少量的裁減和設(shè)置以適應(yīng)這種家用式的衛(wèi)星接收機產(chǎn)品,就可以實現(xiàn)對GX3113B的支持。文件系統(tǒng)可以采用以下幾種:FAT32/16/12、NTFS、CRAMFS、JFFS2、YAFFS2、ROMFS等文件系統(tǒng)。
3、DVB條件接收系統(tǒng)原理介紹
3.1條件接收系統(tǒng)的組成部分
CAS由前端(廣播)和終端(接收)兩部分組成[4]:前端完成廣播數(shù)據(jù)的加擾并生成授權(quán)信息以及完成解擾密鑰的加密工作,從而將傳送的節(jié)目數(shù)據(jù)由明碼變?yōu)槊艽a,加擾后的數(shù)據(jù)對未授權(quán)的用戶無用,而向授權(quán)用戶提供解擾用的信息,這些信息以加密的形式復(fù)用到TS流中,授權(quán)用戶對它進行解密后即可得到解擾密鑰(即控制字CW)并實現(xiàn)對信號的解擾和解密。終端由智能卡(或其他CA卡)和解擾器完成解密和解擾。CAS是實現(xiàn)付費電視廣播的技術(shù)保障。其工作原理及框圖如圖3所示
3.2條件接收系統(tǒng)的加、解密流程
首先需要對CW進行加密,直接對CW加密的第一層加密所產(chǎn)生的密文為授權(quán)控制信息ECM,通過復(fù)用器與加擾的碼流一起傳送,ECM還包含有時間、節(jié)目價格、節(jié)目授權(quán)控制信息,因此ECM是面向節(jié)目的管理信息。對CW加密的密鑰稱為業(yè)務(wù)密鑰SK,通常每月?lián)Q一次,每換一次SK,系統(tǒng)都要重新對所有用戶進行授權(quán)。
接著第二層是用PDK(個人分配密鑰公鑰)對SK進行加密,所產(chǎn)生的密文和從SMS獲取的授權(quán)指令通過SMS生成的授權(quán)信息組成授權(quán)管理信息EMM,EMM還包含有智能卡號、授權(quán)時間、授權(quán)等級等用戶授權(quán)信息。這些信息主要是完成對用戶的授權(quán),因此EMM是面向用戶的管理信息,EMM對用戶在什么時間看、看什么頻道進行授權(quán),它也通過復(fù)用器與加擾碼流一起傳送。
4、第三方CAS實例
4.1如何移植第三方CAS
由GoXceed系統(tǒng)框圖可知,ServiceBus是為一系列新開發(fā)的STB信道、信源芯片開發(fā)的解決方案的架構(gòu)Goxceed的一個組成部分。ServiceBus位于GoXceed架構(gòu)中GXcore_API與解決方案層之間,為GoXceed中的各種通用服務(wù)(CA服務(wù)、EPG服務(wù)、search服務(wù)、player服務(wù)、Update服務(wù)等)提供一個封裝。方案開發(fā)者通過調(diào)用統(tǒng)一的ServiceBus的消息發(fā)送API接口實現(xiàn)來調(diào)用各種不同功能,使得方案開發(fā)者不需要關(guān)心服務(wù)API接口實現(xiàn),從而簡化方案開發(fā),縮短方案的開發(fā)周期。
移植一個第三方CAS可以按照以下步驟進行:(1)首先要先查看第三方CAS的相關(guān)文檔;(2)使用CA模塊的API實現(xiàn)第三方CAS需要的Demux,SmartCard,NVRAM,Descrambler,OS接口;(3)使用GxCA_OnEvent()接口實現(xiàn)第三方CAS向應(yīng)用程序發(fā)送的狀態(tài)及數(shù)據(jù)接口,并為個接口定義EVENTKEY及基參數(shù)結(jié)構(gòu)體;(4)將第三方CAS接收應(yīng)用程序發(fā)送的狀態(tài)和數(shù)據(jù)每個接口定義成IOCTRLKEY和參數(shù);(5)定義GxCA_System結(jié)構(gòu)體變量,將其成員函數(shù)填入;(6)將CA服務(wù)加載以BUS,并將GxCA_System變量使用GMSG_CA_REGOSTER_CAS消息注冊到CA服務(wù);(7)使用GXMSG_CA_ON_IOCTRL消息向CAS發(fā)送數(shù)據(jù)和狀態(tài);(8)接收GXMSG_CA_ON_EVENT消息響應(yīng)CAS發(fā)送的數(shù)據(jù)和狀態(tài)。
4.2如何使用CA服務(wù)
使用CA服務(wù)必須按照以下步驟:(1)查看gxservices.h,得到CA服務(wù)的操作函數(shù)結(jié)構(gòu)體變量為externGxServiceOpsca_service;(2)將CA服務(wù)利用GxBus_Init()加載到BUS;(3)發(fā)送消息GMSG_CA_REGOSTER_CAS,將移植的第三方CAS操作函數(shù)結(jié)構(gòu)體變量注冊到CA服務(wù);(4)查看移植的第三方CASIOCTLKEY值列表,使用消息GXMSG_CA_ON_IOCTRL,控制CAS;(5)查看移植的第三方CASEVENTKEY值列表,應(yīng)用程序接收CA服務(wù)發(fā)出來的消息GXMSG_CA_ON_EVENT,響應(yīng)CAS事件。
5、結(jié)語
基于嵌入式Linux系統(tǒng)的開源性和免費性的優(yōu)點,各種機頂盒的采用這種技術(shù)是必然的趨勢。條件接收系統(tǒng)是為了商業(yè)目的的對廣播服務(wù)實施接收控制,確保只有已付費或?qū)⒏顿M的用戶才收看節(jié)目,既能使用戶自由選擇節(jié)目,又能保護廣播業(yè)者的利益。本文的解決方案已應(yīng)用于某公司的衛(wèi)星接收機并實現(xiàn)量產(chǎn)且遠銷國外。
參考文獻
[1]鄭志航.數(shù)字電視原理與應(yīng)用.北京:中國廣播電視出版社.2000年1月:10-50.
[2]王學龍.嵌入式Linux系統(tǒng)設(shè)計與應(yīng)用[M].北京:清華大學出版社,2001.
[3]胡宏平.基于數(shù)字電視機頂盒的嵌入式Linux操作系統(tǒng)的設(shè)計[J].電視技術(shù),2005(8):52-57.

網(wǎng)絡(luò)客服QQ: 沈編輯

投訴建議:0373-5939925????投訴建議QQ:

招聘合作:2851259250@qq.com (如您是期刊主編、文章高手,可通過郵件合作)

地址:河南省新鄉(xiāng)市金穗大道東段266號中州期刊聯(lián)盟 ICP備案號:豫ICP備2020036848

【免責聲明】:中州期刊聯(lián)盟所提供的信息資源如有侵權(quán)、違規(guī),請及時告知。

版權(quán)所有:中州期刊聯(lián)盟(新鄉(xiāng)市博翰文化傳媒有限公司)

關(guān)注”中州期刊聯(lián)盟”公眾號
了解論文寫作全系列課程

核心期刊為何難發(fā)?

論文發(fā)表總嫌貴?

職院單位發(fā)核心?

掃描關(guān)注公眾號

論文發(fā)表不再有疑惑

論文寫作全系列課程

掃碼了解更多

輕松寫核心期刊論文

在線留言