论文部分内容阅读
采用DVB-CI(Digital Video Broadcasting, Common Interface)相关标准的数字电视一体机是国内数字电视发展的方向。数字电视一体机包括主机(Host)和具有条件接收功能的CAM卡(Conitiaonal Access Module)两部分,两者之间通过PCMCIA接口连接,并根据DVB-CI相关标准所规定的协议进行通信。主机和CAM卡可以由不同的软硬件平台分别实现,因此在实际使用环境中,主机会与不同提供商的CAM卡进行交互,需要处理工作过程中出现的复杂情况,所以主机中DVB-CI相关软件的质量直接影响主机的推广和使用。论文中介绍了数字电视一体机主机中与DVB-CI相关的三部分软件模块的设计和实现方法,分别是DVB-CI设备驱动程序、DVB-CI协议栈和主机资源程序。首先,DVB-CI设备驱动程序部分介绍了嵌入式系统中驱动程序开发的特点,以及使用驱动程序屏蔽底层硬件设备的具体特性、为上层软件提供一个功能统一的抽象设备的方法。论文以STB02500硬件平台、Hardhat Linux系统为例,详细介绍了DVB-CI驱动程序的设计与开发,说明了CAM卡操作的一般过程,为其他平台上的DVB-CI驱动程序开发提供了参考。其次,介绍了嵌入式系统中DVB-CI协议栈的设计方法。协议栈根据嵌入式系统的特点进行设计,通过功能分解来降低系统的复杂度,提高可靠性。协议栈采用分层结构、消息驱动机制。每个协议层由一个任务来实现,负责管理相应的协议层对象。协议层对象有多个状态,不同状态能够响应不同的消息。在协议层设计中,采用零内存拷贝技术来提高协议层的效率,通过时钟模块与协议层对象的配合使用来降低对系统资源的消耗,使用移植接口来提高协议栈的可移植性,并通过宏定义对协议栈进行配置和剪裁。最后,介绍了主机资源程序的设计。主机资源程序通过DVB-CI协议栈为CAM卡中的应用程序提供服务。主机资源程序划分为多个独立的程序模块,每个模块对外提供两个接口。其中一个是根据协议栈要求的接口形式向协议栈提供的接口,另一个是根据资源程序模块本身的功能而规定的与主机支持程序之间的接口。以这种设计为基础,通过资源列表可以很方便的实现资源的管理与扩展。DVB-CI设备驱动程序、DVB-CI协议栈和主机资源程序已经应用到实际项目中,能够与不同提供商的CAM卡正常工作,达到了设计的要求,并且成功的移植到了其他系统平台。