基于DSP的两路DVB条件接收系统的设计与实现*
2010-08-10敖发良
於 辉,敖发良,石 涛
(桂林电子科技大学 信息与通信学院,广西 桂林 541004)
1 引言
数据统计显示,截至2009年底中国有线数字电视用户已超过6 500万户。随着人们生活水平的提高,家庭中有2台及以上电视的现象极为普遍,然而当今推广的机顶盒产品只能支持1台电视信号的接收,并已成为当前阻碍数字电视推广的重大因素之一。人们要求新一代数字机顶盒具有类似“路由”的功能,可以同时支持家庭中多台电视接收不同节目的信号。因此,对于双解码甚至多解码机顶盒的研发势在必行。文献[1]提出了一种多显示数字电视机顶盒的设计方案,已获国家知识产权局的专利授权。
在过去的近20年里,DSP处理器的性能得到很大改善,软件和开发工具也得到相应发展,价格大幅下降,应用也越来越广泛。本设计的重点就是要把2路数字电视信号的解扰算法应用于以TMS320VC5410DSP芯片为内核的单板硬件环境。在增加一定硬件开销的前提下,快速提高解扰算法。DSP芯片同时为2块解码模块实现解扰运算,满足系统要求,实现了双解码机顶盒。
2 机顶盒条件接收基本原理
国内有线数字电视采用DVB-C作为行业标准,以MPEG-2作为音视频编码方式。为保证收费电视可被合法用户正常收看,数字电视传输时通常采用对传输流(TS)进行加扰的条件接收系统。因此解扰模块的实现是机顶盒中的一项关键技术。数字电视条件接收系统包括3层结构[2]:1)利用控制字(CW)对原始电视信号(图像、声音和数据)进行加扰,得到加扰后的电视信号。CW通常为64 bit,它在 5~20 s内变化可调[3]。2)利用业务密钥(SK)对CW加密成为授权控制信号(ECM),其中还包括节目来源、时间、内容分类和节目价格等节目信息。CW由于数据量大,变化比较快,通常使用对称密钥算法加解密,如DES算法。3)利用分配密钥(PDK)对SK进行加密,形成授权管理信息(EMM)数据包,包括地址、用户授权信息、用户付费情况等。由于SK变化周期比较长,通常为1个月,一般采用RSA算法加密。
ECM,EMM和加扰的音视频信号复用在一起传送到接收端。接收端根据智能卡提供的信息在TS流中过滤出属于自己的EMM和对应节目的ECM数据包后,利用固化在智能卡中的PDK依次解密出SK和CW,最后通过解扰器还原出标准的MPEG-2音视频信号供解码电路进行解码后输出声音和图像信号。
3 双解码机顶盒硬件平台设计
本设计方案中采用两块ST公司的单片信源解码器芯片STi5518[4]实现标清数字电视解码。该芯片主要由高频调谐器、QAM解调器、硬件TS流解复用器、MPGE-2音视频解码器、条件接收模块、存储器模块、红外遥控接收模块和各种接口电路组成。
STi5518有线数字电视双解码机顶盒的硬件平台如图1所示。工作过程如下:2路高频调谐器接收来自有线电视网络的射频信号,2路信号分别经过QAM解调完成信道解码,从载波中解调出含有音视频和其他数据的MPEG-2格式的传输流,2片STi5518芯片内部的解复用器根据所选择的频道在传输流中提取相应的音视频数据流(ES包)和一些控制数据包。ES包即可以被送往各自内部对应的音视频解码器解码,经软硬件解码后输出至电视显示终端。从图1中可以看出,双解码机顶盒中最关键的技术是2路数字电视信号条件接收系统的实现,即通过DSP芯片与智能卡片的接口电路实现对用户密钥(PDK)的读取,同时计算出2路电视信号的解扰密钥CW1和CW2,并实时传送至2块STi5518解码芯片中。
图1 基于STi5518双解码机顶盒硬件平台
4 基于TMS320VC5410的解扰系统
4.1 硬件设计
基于TMS320VC5410的双解扰系统的硬件设计结构如图2所示。除了采用TMS320VC5410作为主控芯片外,还有专用的电源芯片、Flash芯片及智能卡接口芯片。系统启动后,DSP通过与智能卡的接口电路读取固化在卡片中的PDK,同时实时接收来自2片STi5518解码芯片的ECM信息和EMM信息,利用内存中读取到的PDK运行解密算法后得到CW1与CW2,并反馈到各自的STi5518芯片中供解扰电路使用。TMS320VC5410提供了3个多通道缓冲串口 McBSP0,McBSP1和 McBSP2。McBSP与外设的数据交换,通过DX引脚发送,RX引脚接收。通信的时钟与帧信号由CLKX,CLKR,FSX及FSR引脚来控制[5]。DSP通过BDX0,BDX1,BDX2向外围接口发送数据;通过BDR0,BDR1,BDR2接收外围芯片发送来的数据。
图2 基于TMS320VC5410条件接收系统硬件设计
硬件系统主要包括以下4个模块:
1)电源管理模块。TMS320VC5410DSP芯片的电源分为CPU 内核电源(CVDD,2.5 V)和 I/O 电源(DVDD,3.3 V),而实际常用的电源都是5 V,所以必须采用合适的电源转换芯片,本系统选用TI公司的TPS73SD325电压调节器为电源适配。
2)外部存储器模块。采用了可工作在3.3 V的Flash芯片SST39VF400A作为外部程序存储器来实现DSP的并行自举加载,其存储容量为256×103×16 bit。它有A0~A17共18个地址引脚和DQ0~DQ15共16条数据引脚,连接时只需将这些地址与数据引脚连至TMS320VC5410对应的地址和数据引脚即可。将TMS320VC5410的读写状态信号引脚R/W直接接到SST39VF400A的写使能引脚WE,并在反相后接到读使能引脚OE,即可实现TMS320VC5410对Flash的读写控制。同时将TMS320VC5410的外部存储器选通信号MSTRB引脚接到SST39VF400A的片选信号CE。这样当需要外部存储器进行操作时MSTRB信号有效就可选中Flash。
3)智能卡接口模块。IC卡接口需要外接一个IC卡接口芯片才能与DSP芯片进行通信。本设计采用了Philips公司的TDA8004芯片。TDA8004是一种IC卡接口芯片,该芯片可以提供一个低成本的异步智能卡模拟接口。TDA8004的OFF引脚与DSP芯片的外部中断信号引脚相连,用于在智能卡插入时向DSP发出中断;由DSP芯片的通用输出引脚XF控制TDA8004的供电使能引脚;通过I/OUC引脚将数据送入DSP的BDR0引脚,实现了智能卡中数据的读取。
4)STi5518连接模块。TMS320VC5410与STi5518芯片主要进行解密数据的交换,DSP通过BDR1和BDR2这2个引脚接收来自STi5518送来的待解密数据包EMM和 ECM。DSP内部完成解密后,将CW通过BDX1和BDX2反馈给STi5518。
4.2 软件设计
系统的主要功能是快速解密EMM和ECM这2个数据段,得到CW。前端信源系统在形成EMM时一般采用的是RSA加密算法,在形成ECM时则是采用DES加密算法。因此,软件设计主要包括以下两方面:
1)RSA解密算法的实现
RSA加解密算法是一种公钥(非对称)密码体制。通常是首先生成一对RSA密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,人们用公钥加密文件发送给个人,个人就可以用私钥解密接收,为提高保密强度,RSA密钥长度至少为512 bit[6]。RSA加密过程如图3所示。
图3 RSA加解密流程图
首先选择2个大素数p和q,计算N=p×q。然后随机选择加密密钥 e,要求 e 和(p-1)×(q-1)互质,最后利用Euclid算法计算解密密钥d,满足
式中: N和d也要互质,e和N是公开密钥,d是私密密钥,2个素数p和q不再需要,可以丢弃,因此加密算法为
而解密算法则为
在数字电视传播系统中,前端信源通过事先确定的密钥对SK进行RSA加密运算后形成EMM包。同时解密密钥PDK已经固化在智能卡中并发放给用户。DSP接收到来自STi5518的EMM包后,即可读取智能卡中的PDK,通过解密运算得到SK,并进行下一阶段解密。为加快运算速度,在进行算法程序编写时采用了幂模算法的二进制移位运算实现,大大节省了运算处理的时间。
2)DES解密算法的实现
DES加解密算法是一种私钥(对称)密码体制。DES使用长度为56 bit的密钥加密64 bit的明文,获得长度为64 bit的密文[7]。加密时给定一个明文x,通过一个固定的初始置换IP来置换x而获得x0,可以将其记为x0=IP(x)=L0R0(L0代表左边 32 bit,R0代表右边 32 bit)。 然后进行16轮完全相同的运算。根据下列规则计算LiRi(1≤i≤16)
式中:f是函数,ki是密钥k的函数,长度为48 bit。DES加密移位过程如图4所示。
图4 DES加密移位图
对比特串R16L16应用初始置换IP的逆转换IP-1作用之后获得密文y,即y=IP-1(R16L16)。以上算法可同时用于DES加密和解密。电视前端信源以SK对CW采用DES加密后形成ECM包。DSP芯片接收到ECM包后利用已经解密出的SK对ECM包进行解密后即可得到CW。
本设计系统的工作流程描述如下:
(1)当IC卡插入接口电路后,通过TMS320VC5410DSP芯片对其进行上电复位,置TDA8004芯片的使能信号有效,并约定传输协议(采用T=0,传输速率为9 600 bit/s)。IC卡完成初始化后,DSP读取IC卡的各种信息,并传输至2片STi5518芯片中。
(2)STi5518根据IC卡的CA_system_ID在TS流中过滤出PID为0x0001的条件接收表 (CAT),然后根据CAT找到该CA系统中EMM对应的PID,获取EMM码流后送至DSP芯片,并触发DSP的外部中断;DSP用读取到的IC卡中固化的PDK运行RSA算法解密出SK,由于2个解码芯片共用1个SK,且SK变化周期长(一般为1个月),因此将SK暂存在DSP的RAM中。
(3)STi5518解码器根据节目信息表(PMT),得到节目ECM码流的PID,过滤出ECM包并传给DSP,触发DSP外部中断。DSP利用得到的用户密钥SK对ECM进行DES解密即可得到CW,并传送给STi5518解扰电路保存并且使用。通常CW在5~20 s变化1次。若在解密过程中第2块解码器芯片触发DSP外部中断,则进入中断等待状态。
(4)DSP解密出1路电视信号的CW后,紧接着响应第2片STi5518芯片的中断请求。按照先来先处理的中断响应原则进行2路信号控制字的解密,从而完成多路数字电视解扰系统的关键部分。
5 小结
随着数字电视技术在我国各地的推广与普及,机顶盒产业存在广阔的市场,各大公司相继投入大量资源开发新一代产品,希望可以在竞争中占据有利地位。本设计中的产品成本低,可以同时为家庭中2台电视机提供不同的信号接收,满足人们的需求,加之广电部门出台相应管理措施,必然有着非常巨大的市场价值。
[1]敖发良.多显示数字电视机顶盒:中国,200810073780[P].2009-01-28.
[2]JIANG Tianpu,HOU Yongmin,ZHENG Shibao.Secure communication between set-top box and smart card in DTV broadcasting[J].IEEE Trans.Communications,2004,50(3):882-886.
[3]郑雯,翟希山,王志广,等.数字电视原理、传输与接收[M].北京:人民邮电出版社,2006.
[4]陈颖琪,陈军华,王旭,等.单片式DVB-C/S机顶盒的设计与实现[J].电视技术,2003(6):54-56.
[5]彭启琮,李玉柏,管庆.DSP技术的发展与应用[M].北京:高等教育出版社,2007.
[6]杨晓云.现代密码学[M].西安:西安电子科技大学出版社,2009.
[7]张萍.机顶盒中智能卡通信的实现[J].电子应用技术,2005(10):54-55.