第 25卷 第 7期
2005年 7月
计 算机应用
Computer Applications
VO1.25 No.7
July 2005
文 章 编号 :1001—9081(2005)07—1698—03
基 于嵌 入 式 Linux系统 的 DVB—CI设 备 驱 动 程序 开发
周 庆喜 ,刘 强
(清华大学 软件 学院,北京 100084)
(zhouqingxi@ power—digita1.cn)
摘 要 :介 绍 了在嵌 入式 Linux系统 中,使 用设备驱动程序 隐藏 具体 DVB—CI设备 的控 制细 节、向
上层程序提 供抽 象 DVB—CI设备 的方 法 ,并 以 MontaVista的 Hard Hat Linux系统 、IBM 的 STB02500机
顶 盒硬 件 平 台为例 ,说 明 了 DVB—CI设 备驱 动程 序 的 实现 方 法 。
关键词 :嵌 入式 Linux;数 字电视 ;PCMCIA;DVB—CI;条件接收
中图分类号 :TP3l1.52 文献标识码 :A
DVB.CI device driver developm ent on em bedded Linux system
ZHOU Qing—xi,LIU Qiang
(School of Software,Tsinghua Universit) ,Beqing 100084,China)
Abstract:The method was introduced to encapsulate the detailed controls of the concrete DVB—CI device with device
driver and provide the up—layer program an abstract device on the embedded Linux system .A DVB—CI device driver based on
MontaVista’S Hard Hat Linux system an d IBM STB02500 Set—Top Box Integrated Controller was implemented as an example.
Key words:embedded Linux;distal TV;PCMCIA;DVB—CI;CA(Conditional Access)
0 引言 1 系统相关硬件介绍
嵌入式 产 品 中的 软件设 计需 要 考虑硬件 平 台 的体 系结构
与特性 ,具有同一种功能 的产品一般都 可以找到多种硬件实
现方案。因此 ,如何提高软件在不同硬件平 台的可移植性 是
开发人员必须要考虑的一个问题 。解决这个问题的一般方法
是软件分层设计 ,底层软件屏蔽不同硬件设备的具体特性 ,对
上层 软 件提 供统一的函数 接 口。
目前 ,嵌入 式 Linux系统 被 广泛应用 。在 嵌 入式 Linux系
统中,由文件系统来屏蔽硬件设备 的特性 ,具体设备被抽象成
设备文件 ,用户程序可以通过标准的文件操作来实现对设 备
驱动 程 序 的调用 。这种 架构 很有 利于嵌 入式设备 的 驱动 程 序
开 发 。
在数字电视领域 ,基于 DVB—CI标 准的机卡分离方 案是
一
个重要 的发展趋势。机 卡分 离 ,简单 的 说 ,是由数 字电视 一
体机 主 机 (Host)和 控 制 用 户 收 看 节 目 的 条 件 接 收 卡
(Conditional Access Module,CAM)组 成 ,两 者 之 间 通 过
PCMCIA接 口进行 通 信 。
DVB—CI(Distal Video Broadcasting,Common Intefface)设
备驱动程序开发主要受到硬件平台的影响。虽然主机与卡的
接 口规 范 是 固定的 ,但不 同 的 芯片 厂商 可 能 采 用不 同 的 CPU
内核 以及 不 同的内部 总线 ,而且 可能 采 用 不 同 的 PCMCIA控
制芯片 ,因此 对 卡进 行 操作 的 实现 方式 是不同 的 。
本文介绍 了在 IBM 的 STB02500机顶 盒硬 件平 台基 础
上 ,基于 MontaVista嵌入式 Linux系统 的 DVB—CI设 备驱动程
序 的实 现方 法 。 文 章 首先 介 绍 与 DVB—CI有 关 的硬 件 设 备 ,
然后介绍软件的层次结构 ,最后根据硬件平台的特性 ,给出了
本次 DVB—CI设 备驱 动 程序 的设计 方 法 。
PCMCIA接 口
图 1 主机与 CAM 硬件 连接 示意 图
IBM的 STB02500机 顶 盒 硬件 平 台 采 用 的 是 PowerPC内
核 ,通过外部 总线接 口单元 (External Bus Interface Unit,EBIU)
对 PCMCIA插槽 进行控制 。图 1简要 显 示了主机 和 CAM卡 之
间的硬 件 连 接 情 况 。主 机 接 收 数 字 电 视 节 目传输 流 ,通 过
PCMC1A接 口传送 给 CAM 卡 ,传输 流 经 过 CAM卡的解 扰 器 ,
解扰器对 加扰的码 流进 行 解 扰 ,然后再传送 回 主机 。CAM 卡
的命令接 口由四个寄存器构成,分别是数据寄存器、命令/状态
寄存器和数据长度寄存器。主机对卡的控制与数据交换 主要
通过这几个寄存器完成 。数据寄存器是 8位宽度 ,偏移地址为
0;命令/状态寄存器是 8位宽度,偏移地址为 1,主机写操作时
写入的是命令 ,读操作时读 出的是卡 的状态;数据长 度寄存器
是 l6位宽度 ,低 8位的偏移地址是 2,高 8位的偏移地址是 3。
对这几个寄存器的访问必须以 I/O操作的方式进行。
另外 ,CAM卡还包括属性 存储器 (未在图中画 出),保存
收 稿 日期 :2004—12—14;修 订 日期 :2005—03—02
作者简 介:周庆喜 (1976一),男,天津 人 ,硕 士研究生 ,主要研究 方向:软件 工程 、项 目管理; 刘 强 (1963一)。女。山东 济南人 ,副教授,主 要
研 究方 向:软件 工程 、项 目管 理.
维普资讯 http://www.cqvip.com
评论1