收藏 分销(赏)

同密条件接收系统软件适配层的设计及其实现.doc

上传人:精**** 文档编号:2881929 上传时间:2024-06-08 格式:DOC 页数:7 大小:79.04KB
下载 相关 举报
同密条件接收系统软件适配层的设计及其实现.doc_第1页
第1页 / 共7页
同密条件接收系统软件适配层的设计及其实现.doc_第2页
第2页 / 共7页
同密条件接收系统软件适配层的设计及其实现.doc_第3页
第3页 / 共7页
同密条件接收系统软件适配层的设计及其实现.doc_第4页
第4页 / 共7页
同密条件接收系统软件适配层的设计及其实现.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、同密条件接收系统软件适配层设计和实现1 引言 条件接收系统(Conditional Access System,CAS)是数字电视接收控制关键技术保障系统。在目前中国有线数字电视市场上,运行商大多全部采取同密技术运行CA系统;为了维护系统安全性,CAS开发商对条件接收系统内部技术细节严格保密,在进行用户端软件移植时,CAS开发商仅提供已经生成函数库,再由终端设备开发者完成底层驱动程序、上层数据调用、屏幕显示等内容,共同完成CAS用户端软件移植工作。 同时,不一样CA系统在软件架构、接口参数、调用步骤定义等方面全部有各自特点,没有统一规范可循,所以对终端厂商而言,在更换不一样芯片平台或在同一平台

2、移植不一样CA系统时,需要按摄影关要求重新开发移植软件。为处理CA移植工作中简易化、再复用等问题,笔者设计和开发了数字电视接收终端CAS适配层软件。 2 适配层设计基础和总体设计 通常而言,CAS由加扰和加密两个部分组成,对应到终端设备就是解密和解扰。同密CAS关键是采取一个通用加扰算法,不一样CA系统能够对各自密钥数据使用各自加密算法,但全部要遵照通用加扰算法来加扰信息,这就使得一个传输系统中可运行多个CAS,这种共同点就是接收终端CAS适配层技术基础之一。 接收终端设备经过调谐和解调取得传输流,传输流经过硬件解复用分离出音频流、视频流、EMM、ECM和其它SI信息。其中EMM和ECM被送入

3、智能卡,EMM数据先经过卡内密钥被解密,将目前卡授权信息写入智能卡,这些授权信息就是业务密钥SK。ECM数据在卡内用SK解密生成控制字CW及节目本身信息。终端设备得到控制字CW后写入解扰器,实现对相关节目标音视频进行解扰,最终实现加扰节目标收看。以上工作是由终端软件提供上层调用、步骤控制,底层驱动软件提供支持,并配合智能卡和CAS函数库共同完成;由此也可看到,正是因为原理上相同性,使得设计一个条件接收适配层来适应多种条件接收系统成为可能。 依据对多个条件接收系统分析,可见各个系统所包含到终端调用和驱动软件大致相同,包含实时操作系统抽象层、智能卡驱动、NVRAM存放器驱动、解复用器驱动、解扰器驱

4、动和屏幕显示等内容。依据这些模块功效区分和调用关系将其分为业务、通用驱动、解扰3类适配组件,同时将调用步骤标准化,屏蔽了相关接口和驱动差异,由此组成了CA系统适配层,其总体架构设计及和其它模块关系参见图1。 1) 业务适配组件内部包含节目播放模块和界面接口模块。节目播放模块关键作用是作为CA适配层和CAS函数库输入输出管理器来传输调用和数据,包含连接节目管理模块、SI动态更新模块、频道数据库,向这些模块请求数据,并处理来自这些模块消息。其中最关键功效是传输上层播放新节目调用到CA函数库,准备相关节目数据,接收更新模块消息从而更新节目标播放,和停止节目标播放等。界面接口模块传输CA函数库、适配层

5、、驱动层状态和消息到用户界面。该模块定义了发送给界面消息结构和使用方法,这些消息包含购置消息弹出和消隐,通知消息弹出和消隐,邮通知、消隐和闪烁,IPPV购置框弹出和消隐。在该模块将不一样CA系统数据结构和消息传输方法统一,这包含消息在屏幕上显示位置、动作(闪烁、滚动)、优先级处理等,从而最终实现和用户界面适配。 2) 通用驱动适配组件包含操作系统移植层、NVRAM数据管理层和解复用层3个模块。操作系统移植层提供任务、消息、定时器、信号量和存放器操作系统服务。NVRAM数据管理层用三元组(Address,Buffer,Length)描述适配层传输参数,并在底层实现数据隐藏。解复用驱动实施传输流解

6、复用,并从中过滤出符合指定条件数据。 3) 解扰适配组件由仅和CA直接相关驱动模块组成,包含智能卡和解扰器模块,关键接收来自其它组件消息和数据,配合CAS函数库共同完成解密和解扰工作。智能卡模块提供T=0和T=14两种协议系统接口,完成智能卡初始化,复位和读写功效,并随时检测卡状态,将改变状态通知系统和CAS库。终端软件将ECM和EMM内包含信息送到智能卡内部,最终取得控制字。系统再经过解扰器模块将控制字写入到通用解扰器指定寄存器中以最终进行解扰。 3 适配层关键模块设计和实现 3.1 节目播放模块 本模块传输上层播放新节目标调用到CA函数库,并接收更新模块消息从而更新节目标播放,和停止节目标

7、播放。节目播放模块经过CA_HAL_PlayNotify(pvoid *Param)取得播放节目标消息,该消息传输了需要播放节目wNewProgramID,这是一个由(TSID,Servi-ceID,NetworkID)三元组来确定值,能够唯一识别一套节目。模块使用函数GLOB_DB_GetProgramlnfo(UINT32 ProgramId,pVoid* sCurProginfo)从频道数据库取得相关节目数据,使用函数CA_HAL_PlaySendMes-sage()将ECM PID,EMM PID传输到解复用模块,并经过注册回调函数CA_HAL_DemuxCallBack(UINT32

8、TableType,pVoid*PayamFunc(),取得ECM和EMM数据,并传输给给CAS库。和此同时播放模块将AV PID等设置到AV模块,对该模块使能。 另外,节目播放模块经过函数CA_HAL_SIMonitor-CallBack(UINT32 ModuleId,UINT32 ProgramlD,UINT32ChangeType)取得SI动态更新模块消息,并进行对应处理,如重新加载改变后参数、卸载CA库关联等。系统在实施上述动作同时,EMM和ECM数据被送入CAS库实施后续解密动作。 3.2 解复用模块 本模块设计目标就是对解复用驱动进行接口适配层封装和数据接收标准化处理,这么就可依

9、据条件接收系统厂商提供接口不一样,将这些已经封装好接口按着CA库要求调用。 本适配层解复用模块所要完成关键功效就是过滤和接收ECM和EMM表,本设计考虑了3种形式数据接收方法,可兼容不一样硬件平台EMM和ECM接收设计上差异,和兼容多种第三方CAS库。第一个情况是适配层经过SI动态监测模块获取PSI数据。在这种设计中将全部PSI,SI表过滤交给统一模块SI动态监测模块设置解复用通道,以取得CAT,PMT,ECM和EMM表,但这些表处理返回给各个请求模块,有利于解复用模块资源使用和跨平台移植。第二种情况是由解复用适配层过滤EMM,ECM数据,然后经过CA接口传给所移植CAS库。另一个情况是解复用

10、适配层传送EMM PID和ECM PID给第三方CAS库,由CAS库直接操作过滤器完成EMM和ECM数据过滤和处理。在本模块设计中,经过系统初始化选择不一样工作方法,对第一个情况,经过CA_HAL_RegisterCallBack(UINT32TableType,pVoid*ParamFunc()在SI中注册请求,并经过回调函数取得数据存放地址。对后两种情况也是用类似方法,不一样是由其它模块向本模块申请注册,本模块取得数据后回送到请求方。 通常来说,对某个节目进行授权EMM数据流只有一个,而解扰一个节目所需接收ECM则可能是1个(TS层加扰),也可能是多个(PES层加扰),这么终端软件要求多个

11、ECM过滤通道。同时,通常CA会支持多个授权方法,多种方法EMM寻址方法不相同,所以EMM又有多个不一样table id,EMM过滤通道上也需要多个独立过滤器。经过UINT32 *pChannelId,UINT8FilterCount,UINT32 FilterLength,UINT32 BufferLength四元组就能够唯一确定一个ECM或EMM过滤通道属性,其中UINT32 *pChannelId指向定义通道变量,用于设置流PID;UINT8 FilterCount,统计通道中使用过滤器个数;UINT32 FilterLength存放过滤器最大长度;UINT32 BufferLength

12、指定缓存能存放Section信息长度。其它相关功效如分配通道,设定PID,注册通道回调函数,控制通道动作,设置过滤器状态全部能够经过对应接口函数完成CAS库所要求动作。 解复用适配层经过CA_HAL_DemuxSendMessage(UINT32 Moduleld,void *g_cmd)函数传送请求到所需要模块如SI模块或CA库。并经过CA_HAL_De-muxCallBack(UINT32 iTableType,pVoid *ParamFunc()注册回调函数,用于取得从其它模块传入数据,对ECM和EMM数据则调用接口函数通知CAS库。 3.3 智能卡适配模块 在同密系统终端中,常见ISO

13、7816标准中T=0协议,和为了简化通信过程而设计T=14协议。软件对智能卡操作步骤全部遵照初始化、打开、复位、读写、关闭次序动作,其中复位过程可使智能卡进行复位应答,且在每次插入卡后肯定会调用实施,以使卡进人安全工作状态。对于T=0和T=14协议硬件参数配置要求不一样,复位时要用不一样驱动参数进行复位,得到复位应答参数,再对后面读写参数进行深入设置。所以在适配层软件设汁中,将复位应答参数和复位程序运行时得到参数进行比较,得到智能卡协议类型,再依据协议要求对智能卡进行读写操作。这么除了初始化差异外,适配层就可使用同一个版本软件来兼容多个情况处理。 3.4 解扰适配模块 在解扰适配层首先需要处理

14、不一样加扰层次问题,这包含TS加扰、PES加扰及两种加扰同时存在情况,对这3种情况即使在DVB标准中严禁,但实际运行中会存在。经过全局变量保留节目标EMM_PID、音频PID、视频PID、加扰层等信息,在取到解扰字后,依据这些信息对解扰器进行设置,这么就将不一样条件接收系统函数统一到适配层中对数据进行处理。同时,对解扰器资源进行统一封装和管理。 4 系统调试及性能优化 因为适配层软件包含到多个软件模块及它们之间配合关系,为方便适配层软件调试,尤其在现场环境下状态观察,在适配层中设计了对应监测模块。技术人员可经过UI或串口查询各个模块状态,这包含目前节目信息(如AudioPID,VideoPID

15、,ECM PID,EMM PID。AudioECM PID,VideoECM PID,节目加密状态等);CA模块状态(如ECM和EMM读写状态,智能卡和控制字读写状态等);DEMUX状态数据(PID所用SLOT是否被正常分配,有效地址分配状态)等,这是经过在适配层边界上设置观察点并以主动查询方法实现。 另外,本适配层设计不仅要满足多个CA移植需求,同时还要满足不一样CA系统性能要求。比较经典性能要求是系统处理能力必需要满足在CA系统用户数达成极限时处理EMM和ECM过滤需要,如对一个100万用户CA系统,其EMM数据高峰值就可达成2 Mbits,ECM数据则超出150 Kbits,为确保EMM

16、和ECM必需完整地过滤接收,终端接收软件需要对适配层软件进行对应优化。笔者采取数据连续接收、两个任务配合、二次复制数据到用户空间处理方法。在对解复用通道控制上,将通道和过滤器保持在同一个状态,即一直保持在打开状态,包含在Section数据等候接收状态下,也不关闭通道和过滤器,直到智能卡被拔出,或用户操作关闭了EMM过滤。 同时,为了快速取走数据而不致数据被覆盖,设置解复用底层循环缓冲足够存放多个Section,通常设为4096整数倍。另外,为了加速数据复制,在适配层使用专门任务将底层线性缓冲数据复制到应用空间,然后在应用空间内进行下一步处理。在这种方法中,增加了一个专门任务来进行数据复制。经过

17、实际测试,效率和系统全部好于经过单纯提升任务优先级方法,接收性能和扩展性全部能很好地满足系统应用需求。 在适配层设计中,对系统鲁棒性(如智能卡数次插拔)、传输流多种加扰模式、节目成人级控制、IPPV节目、区域阻塞功效和系统状态监测等功效进行充足测试,测试结果表明本设计能够满足系统需求。 5 小结 本文提到设计方法在一个平台上开发实现后,前后又在两个芯片平台移植了3个CAS系统,由此形成多款产品在多个市场中得到应用。实践证实,采取适配层设计,使得移植工作代码复用率提升到35,并缩短了40工期;在质量上不仅经过了CAS厂商认证测试,也经受了外部复杂网络环境考验。这全部为企业产品快速上市奠定了良好基础。也证实这种方法简化了数字电视条件接收系统移植工作,能够加速新条件接收系统移植和整合。当然,作为CA系统应用一个尝试,在实践过程中也逐步暴露出部分问题,需要优化,比如深入完善和扩展适配层功效、优化适配层边界条件、缩短判定智能卡读写协议过程延时等,这全部是以后努力方向。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服