为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

USB主机接口在机顶盒上的设计与实现(可编辑)

2017-11-12 33页 doc 66KB 17阅读

用户头像

is_196623

暂无简介

举报
USB主机接口在机顶盒上的设计与实现(可编辑)USB主机接口在机顶盒上的设计与实现(可编辑) 武汉理工大学 硕士学位论文 USB主机接口在机顶盒上的设计与实现 姓名王少龙 申请学位级别硕士 专业通信与信息系统 指导教师徐成 20080401武汉理工大学硕士学位论文 摘 要 当前伴随着通用串行总线技术在领域的日益成熟移动数据 的交换和存储成为近年来行业的一个热点既是数据交换的媒介又是 控制数据交换的核心机制而随着应用领域的扩展业界迫切的期望把 应用到非应用领域即嵌入式领域因此实现嵌入式主机 接口成为了当今电子世界中的热门话题 正是在这样的背景和...
USB主机接口在机顶盒上的设计与实现(可编辑)
USB主机接口在机顶盒上的设计与实现(可编辑) 武汉理工大学 硕士学位论文 USB主机接口在机顶盒上的设计与实现 姓名王少龙 申请学位级别硕士 专业通信与信息系统 指导教师徐成 20080401武汉理工大学硕士学位论文 摘 要 当前伴随着通用串行总线技术在领域的日益成熟移动数据 的交换和存储成为近年来行业的一个热点既是数据交换的媒介又是 控制数据交换的核心机制而随着应用领域的扩展业界迫切的期望把 应用到非应用领域即嵌入式领域因此实现嵌入式主机 接口成为了当今电子世界中的热门话题 正是在这样的背景和趋势下本文探讨了怎样在多媒体数字机顶盒系统中 实现嵌入式主机接口完成机顶盒系统与盘大容量的快速的数据交换 满足机顶盒作为一种真正的多媒体平台的要求 本文首先对数字电视原理数字机顶盒及总线进行了概述包括 总线拓扑结构通信原理和设备与主机等几个方面同时对当前 主机接设计的两种研究方法进行了对比分析主机控制器 主机控制器综合考虑两种之后采用方案来 实现主机接口其次本文阐述了主机接口芯片的选型原则选用 公司的 作为主机控制芯片构建了 主机控 制芯片双端口的实验模型完成了系统硬件设计并对部分芯片进行了 详细的说明接下来着重探讨了系统的软件设计实现这是整个系统设计的 重点和难点分别完成了主机控制器驱动程序精简后的核心驱动程序 针对本系统设备盘实现了裁减后的 协议并建立了简易 的文件系统完成后的主机系统可以实现对盘文件的读写操作 最后对设计出来的主机接口硬件电路和相应的驱动系统进行了测试 与评估着重分析了测试的方法和测试指标以及测试的结果各种参数都达到 了预期的设计要求同时对整个项目研究过程中碰到的问题进行了思考为以 后更深入的研究提出了许多建议文章的结尾总结了全文探讨了该主机接口 在机顶盒上相关的上层应用并对该 接口在嵌入式领域中更广泛的 应用作了展望 关键字数字机项盒双端口 大容量存储文件系统武汉理工大学硕士学位论文 武汉理工大学硕士学位论文 独创性声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果尽 我所知除了文中特别加以标注和致谢的地方外论文中不包含其他人已经发表或撰写过 的研究成果也不包含为获得武汉理工大学或其它教育机构的学位或证书而使用过的材 料与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示了 谢意 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留使用学位论文的规定即学校有权保留送交 论文的复印件允许论文被查阅和借阅学校可以公布论文的全部或部分内容可以采用 影印缩印或其他复制手段保存论文 保密的论文在解密后应遵守此规定 导师签名 日期生鱼亨 签名垂立垄武汉理工大学硕士学位论文 第章绪论 课题背景 随着通信计算机信息处理技术的不断发展美国日本欧洲先后都 提出了自己的数字电视数字电视已经开始进入产业化阶段得到了广泛 的应用正在逐步取代传统的模拟电视而进入大众家庭数字电视作为一种真 正的多媒体数字业务平台在不久的将来必将成为家庭信息获取娱乐的主 要工具成为家庭网络的终端在这种情况下数字电视机项盒作为数字电视 的终端接收系统得到越来越多的应用与发展我们在通过数字机顶盒收看高 清晰度电视节目的同时基于机项盒的各种多媒体扩展业务正被众多的公司和 工程开发人员不断完善和丰富儿如在线点播数据广播等随着这一系列多 媒体业务的继续发展数字电视系统对数据存储容量和交换速度的要求也越来 越高机顶盒上传统的存储介质如等已经不能满足众多新的业 务需求了因此我们需要设法扩展外界的存储媒介如硬盘盘等 在机项盒上扩展存储设备是可能的有很多可供选择的实现方法如使用 普通上的硬盘就是一种不错的方法其产品价格随着技术的不断进步已经逐 渐下降了而硬盘的存储容量却越来越大了同时硬盘的接口标准已经很成 熟了很多的都提供对硬盘的接口支持但是使用机硬盘也有不足 之处它必须固定在机顶盒上不能热插拨不方便文件的交换使用综合考 虑存储容量和交换方便等实际需求我们需要一种容量大支持即插即用和热 插拔的移动存储介质同时考虑到应用的通用性成本实现的技术 难度等因 素我们选用接口来实现对数字机项盒的存储空间扩展和文件交换即 在机顶盒上实现嵌入式主机接口实现机顶盒在脱离的情况下对大容 量存储设备的访问 国内外研究现状 通用串行总线是一种新兴的正被广泛使用的计算机外围串行通信 接口标准从国外的发展情况来看人们对技术极为关注这从武汉理工大学硕士学位论文 的改进速度和国际市场上基于产品普及程度可以看出自年 公布之后短短几年时间总线经历了三个主要阶段 另外国外利用技术开发的产品层出不穷像存储设备 通讯设备等最近还推出了接口的数据采集存储系统 设 备等国外市场上基于的外设己经囊括几乎所有的主流数字产品可见国 外在实用性方面已作了很多工作并且目前也正以很快的速度发展由于 的各种协议标准都是由国外提出的国内目前对系统的研究主要在实 际应用方面例如一些以往的计算机通用外设和主流的数码电子 产品中也广泛 采用技术 作为当前热门技术的标志到年技术以的年增长率高速 发展技术正在从全速平稳地过渡到高速高速能够向后 支持市场上数亿低速和全速设备 随着应用领域的逐渐扩大人们对于的期望也越来越高希望 除能应用在领域外还能广泛应用在各种嵌入式系统中目前在嵌入 式领域已经实现了诸多的基于的移动存储设备而具备主机功能 实现无参与就可进行嵌入式系统之问的数据通信己经成为众多使用 的嵌入式应用的发展方向将应用到嵌入式系统中的需求越来 越高尤其是移动数据领域然而由于拓扑结构的原因非应用领域恰好 是的一个致命的弱点过去大量的数以亿计的嵌入位单片机的嵌入式 设备如各种仪器仪表数据采集和显示过程控制等设备正成为主机 的发展目标和对象顺应领域向嵌入式领域扩展的大潮把协 议栈实现在各种嵌入式系统中构建嵌入式系统中的主机功能逐渐成为了 一项基本要求 本课题的主要研究工作与预期目的 本课题研究的主要方法是在深刻理解协议的条件下总结了当前国内 外关于嵌入式主机接口设计的方法和研究手段提出了本系统的研究和设 计方案在完成了系统中最重要的主机控制芯片的选型后逐步完成了系 统的硬件和软件的实现最后对系统性能进行了测试和评估提出了系统测试 的方法和测试指标给出了测试的结果最终完成了整个主机接口的设计 工作本课题研究的主要目的是在机顶盒上开发主机接口通过主机 武汉理工大学硕士学位论文 控制芯片实现对特定子类的 设备一盘的读写功能完成系统 与盘的数据交互主要的研究工作首先是选择一个满足性能要求的性价比 合适的 控制芯片在选择芯片之后搭建该模块硬件电路编写 主机控制芯片的驱动程序实现裁减后的核心驱动程序实现 类的设备驱动程序构建精简的文件系统最后在系统的硬软件实现 后对系统是否满足预期目标进行了测试与评估提出了系统的评估方法完 成了系统的测试 本论文的组织安排 第一章阐述了本课题的研究背景和国内外的发展与研究现状本论文 的研究方法及预期目的和章节安排 第二章对数字电视原理和数字机项盒作了介绍包括数字电视标准机顶 盒的外设接口功能等对总线协议进行了简要概述包括总线拓扑 结构数据通信原理设备主机等几个方面 第三章提出主机接口研究的几种方案并从系统性能实现难易程度 可扩展性等方面做了对比对系统主机控制芯片的选型做了介绍并给出了系 统的构成模块 第四章详细介绍了本课题的硬件实现和软件实现的方法绘制了电路原理 图并完成系统软件的分层实现 第五章给出了系统性能测试评估的方法与指标对系统硬件和软件进行了 测试编写了部分测试程序并对开发过程中碰到的问题做了总结 思考 第六章对全文做了总结并对以后的进一步研究开发提出建议武汉理工大学硕士学位论文 第章数字机顶盒和总线原理 数字机顶盒原理 数字电视概述 所谓数字电视 是从节目采集编辑制作到信号的发送传输和接收全部 采用数字处理的全新电视系统它利用了先进的数字图像压缩技术数字信号 纠错编码技术高效的数字信号调制技术等在处理传输信号过程中引入的 噪波只要幅度不超过一定的门限都可以被清除掉即使有误码也可利用 纠错技术纠正过来所以数字电视接收的图像质量较高数字电视采用压缩 编码技术在只能传送一套模拟电视节目的频带内可传送多套数字电视节目 使电视频道数迅速增多数字电视便于开展多种数字信息服务如数据广播 文字广播等数字电视容易实现加密加扰便于开展各类收费业务 近十多年来由于微电子技术超大规模集成电路技术数字信号处 理技 术计算机技术的突飞猛进使数字电视的发展已取得了令人鼓舞的成果特 别是数字图像获取数字存储位图打印和图形显示的数字设备的出现带来了 许多数字图像方面的应用技术先进国家的电视演播室设备数字化已完成数 字电视机项盒也广泛进入了大众家庭各种数字图像编码压缩设备随多媒体技 术的发展已投入使用国际上也相应地制定了统一的数字电视的编码压缩标准 为数字电视的发展奠定了坚定的基础从应用讲数字电视的使用范围已超越 了广播娱乐界并逐渐地扩展到文化教育科研管理工矿企业公安交通 军事宇航等各个重要部门 目前数字电视广播有三个相对成熟的标准制式欧洲的 美国的 日本的其中欧洲的标准出现时间 较早发展最快普及范围最大目前已被欧洲非洲东南亚等的许多国家 和地区的众多成员采用它包括了数字卫星电视数字有线电视 和数字地面广播电视三个主要标准 在国外美国和欧洲很早就开始了模拟电视向数字电视的转换到目前己 武汉理工大学硕士学位论文 经基本达到预期目标我国的数字电视在十一五中己被列为发展的重 点并计划年用数字电视转播北京奥运会年全面实现数字电视广播 数字电视机顶盒简介 数字电视机顶盒是一种能够让用户在现有模拟电视机上观看数字电视节目 的电视终端接收设备它接收各种传输介质来的数字电视节目和各种数据信息 通过解调解复用解码和音视频编码或者通过相应的数据解析模块使用户 可以在模拟电视机上观看这些节目和信息并进行交互式数字化娱乐教育和 商业化活动等根据数字电视标准所定义的传输媒体的不同数字电视机顶盒 又分为数字卫星机顶盒地面数字电视机顶盒和有线数 字电视机顶盒三种三种机顶盒的硬件结构主要区别在解调部分 数字电视机顶盒的功能 数字电视机顶盒的基本功能是接收数字电视广播节目同时具有 广播各种 数据信息和交互式多媒体应用功能包括 电子节目指南它为用户提供一种容易使用界面友好可以 快速访问想看节目的方式用户可以通过该功能看到一个或多个频道甚至所有 频道上近期将播放的电视节目 高速数据广播它能为用户提供股市行情票务信息电子报纸热 门网站等各种信息 软件在线升级它可看成是数据广播的应用之一数据广播服务器按 数据广播标准将升级软件广播下来机项盒能识别该软件的版本号在版 本不同时接收该软件并对保存在存储器中的软件进行更新 因特网接入和电子邮件数字机顶盒可通过内置的电缆调制解调器方 便地实现因特网接入功能用户可以通过机顶盒内置的浏览器上网发送电子 邮件同时机项盒也可以提供各种接口与相连使用接入因特网 支持交互式应用如视频点播互动游戏等 有条件接收有条件接收的核心是加扰和加密数字机顶盒应具有解 扰和解密功能武汉理工大学硕士学位论文 数字电视机顶盒的结构 根据接收数字电视广播和数据信息的要求一个数字电视机顶盒的硬件结 构由信号处理信道解码和信源解码控制和外围接口几大部分组成机项盒 的结构如图所示 数 图机顶盒结构图 嵌入式是数字电视机顶盒的心脏它与存储器模块用来存储和运行软 件系统并对各个硬件模块进行控制接口电路提供丰富的外部接口包括通 用串行接口以太网接口及接口等 在我们目前使用的数字电视机项盒中前端的各种数字电视标准都是规范 标准化的后端数字机顶盒硬件却因厂家的不同各有差异运行的操作系统也 不径相同且外围接口都是自主开发自由设计因此要实现数字机顶盒与 设备的数据交互完成各种广播数据信息的存储和交换我们必须要自己 扩展主机接口实现对主机协议的软件和硬件支持 在我们使用的数字机顶盒系统中所采用的是由公司设计的 芯片它集成了解码器以及丰富的外围电路接口如接 口接口等除了这些特定的外围接口外还提供了扩展总线接 口通过对它的灵活配置我们可以方便地扩展对多个外部设备的 支 持如接口以太网接口等因此本文我们通过连接主机接 口电路 武汉理工大学硕士学位论文 总线概述 是一种查询总线它都是由主机控制器启动在主机和各种设备之 间的数据传输上所挂接的各种外设都通过主机调度基于令牌的 协议来 共享带宽 技术的特点 从最初的规范到现在的规范及其补充规范 乃不仅已经成为所有外设在与相连时的常用标准协议且在当前 飞速发展的 嵌入式系统领域也成为了必备接口主要优点有以下几个方面 的易用性 支持热插拔和即插既用以及操作系统的自动配置在不关闭系统 的情况 下可以安全的插上和断开设备计算机系统可以动态的检查外设 的插拔并 动态的加载程序 总线拓扑结构完备易于扩展 分层的星型拓扑结构能够支持多达个外设同时连接具有很灵 活端口扩展性 硬件结构标准化 协议规定了种标准的接插件型和型其中型是下行端口 型是上行端口不同设备之间的硬件接口的统一为整个拓扑结构 的实现奠定了基础为最终用户的使用提供了便捷 可供选择的速度模式及传输模式 支持种类型的传输速率的低速传输的全速传输 和的高速传输支持种传输类型批量传输同步传输中断传输 和控制传输满足不同环境下系统设计的不同需求 总线拓扑结构 系统采用级联式星型拓扑结构典型的总线拓扑结构如图所 示可见的拓扑结构由三种元素组成主机集线器和设备 武汉理上大学硕士学位论文 图 拓扑结构图 主机由软件和硬件两部分组成软件部分包括主机控制器驱动程 序 和核心驱动程序硬件部分包括控制器和一个集成的 根集线器 集线器 是结构中的特定元素每个集线器都具有一个上行端 口和多个下行端口集线器的功能是负责扩展主机端口设备的检测和电 源管理设备是为主机系统提供某种功能的设备例如鼠标 键盘盘等 通信原理 是以差模串行信号为载体传送二进制代码来传输信号数据包作为最基 本的完整信息单元包含了一系列数据信息数据包可以分解为更小的单元域 以包为基础构成的种事物处理进而组合成种不同的数据 传输类型中断传输实时传输控制传输批量传输通过各种类型的数据 传输实现的各种功能下面分别对包事物处理传输类型进行逐一介 绍 包的组成和类型 包是最基本的数据单元包含一个完整的信息所有数据都是经 过打包后在总线上传输的包可分为类令牌包数据包和握手包他们之 间的区别是由更小的单元域来区分的域又可分为类同步域 标识域地址域端点域帧号域数据域武汉理工人学硕士学位论文 及效验域 同步域位于每个包的最开始代表包的起始用于本地时 钟与输入信号的同步同步域的数值固定为最后两位表明标识域的 开始同步域主要由硬件来处理 标识域紧跟在同步域之后用于标识包的类型和格式以及 检测包的错误标识域由位标识符和紧跟的位标识符的反码组成能够定 义种类型的包 地址域存放设备在主机上的地址共位由主机分配给 设备具有唯一性其中零地址是保留的缺省地址当任何一个 设备连接到主机时主机都通过零地址与设备进行通信 端点域用于标识与主机通行的端点端点实际就是系 统中的物理数据缓冲区设备的端点一般由接口芯片提供每次数据 传输都是在某个特定的端点与主机之间进行端点域由位二进制数组成最 多标识个端点协议规定所有设备必须支持一个控制端点低速设 备最多支持个端点端点和而全速设备最多可支持个端点除端点 外的任何端点都能定义为输入或输出端点 帧号域洲在协议中帧是时间概念帧是帧号 域是一个位的二迸制数表示当前的帧号每过一帧这个域的值加达到 最大值后返回再循环增加这个域存在每帧开始的令牌中 数据域存放要传输的数据长度为在不同的 传输类型中数据域可以长度不同但必须是整数个字节的数据 效验域全称循环冗余效验域包括对令牌效验和数据效验 令牌效验是对令牌包和数据包中的地址域和端点域进行效验采用位的 校验法数据效验是对数据域的效验采用位的校验法在多数的 接口芯片中校验都是由硬件实现的 定义了四种类型的包令牌包数据包握手包和前导包包类型不 同其所包含的域也不同根据包结构的不同令牌包细分为令牌包和帧起始 包 令牌包包括输入包输出包和设置包由标识域 指出帧起始包帧起始包是主机以次的速率发送的它可以被 任何设备和接收但不引起任何操作对于需要帧同步的设备可能会利用 武汉理工大学硕士学位论文 帧号信息来定时数据包根据的不同分为和两种发 送方以交替的顺序发送数据包同时接收方在接收数据的时候 检查数据包的顺序是否是交替的这是协议保证数据通 信下确的机制之一握手包用于报告上一个数据传输的状态根据的不同 握手包分为确认包收到正确的数据包无效包接收端无法接收 数据或发送端无法发送数据和停止包端点被禁止或不支持控制管道 请求各种数据包的格式可参考相关文献 事务处理 在上数据信息的一次接收或发送的处理过程称为事务处理 ?事务处理由包组成其类型包括输事务处理输出事务处理和 设置事务处理 输入烈事务处理表示主机从总线上某个设备接收一个数据包的 过程输出事务处理表示主机向总线上的某个设备发送一个数 据包的过程设置事务处理表示主机向某个设备发送控制命 令的过程每种事务处理一般都包括令牌包数据包和握手包设置事务处理 数据包中装的是主机发送给设备的控制命令用来控制设备完成某种操作 数据传输 数据传输由总线上的一个或多个事务处理组成位于传输的最高 层用来传输主机和设备之间完整意思的数据协议提供了四种数据传输 类型控制传输批量传输中断传输和实时传输四种不同的传输模式均是 由种事务来完成数据交换的不同的是这种事务的组合和搭配有所差异而 已见图所示 中断传输 中断传输适用于那些小批量的非连续的有一定传输周期的数据传输场 合如鼠标键盘等中断传输是以错误检测和重传的机制保证主机 和设备之间的数据被正确地传送但要定期占用总线带宽中断传输的事务处 理过程按令牌时相数据时相和握手时相的时间顺序完成但进行中断传输的 管道是单向的要进行双向传输需要一收一发两个管道 武汉理入学硕士学位论文 ?传输 ‖二二二? 输入事务 设置事务 输出事务 ? 一一二一?二二一?一??二 令牌包 握手包 一数据包 『?一?一弋一一\一『?『?『?『?一 标识域誓 数据域 ?校验域 图包域事务和传输关系图 实时传输 实时传输适用于那些要求数据连续的实时的以固定数据传输率传送的 场合如音视频播放设备对于实时传输来说实时性比正确性更重要因此 需要足够多的带宽且不进行数据错误的检测实时传输的事务处理过程中只 有令牌时相和数据时相没有握手时相主机发出输入或输出令牌包后 紧跟着是端点输入或主机输出传送的数据包同中断传输一样实时 传输的管道也是单向的要进行双向通信只能采用两个实时管道 控制传输 控制传输是最为重要也是最复杂的传输类型它是枚举阶段最主要的 数据交换方式控制传输用于在设备接入时对设备的识别配置控制传输一 般包括设置阶段数据阶段可选和状态阶段在设置阶段主 机首先向某个设备的控制端点发送设置令牌包后面紧跟着装有命令信息 的数据包设备接收到数据包后必须接受数据并用握手包应答但如果数 据损坏则丢弃数据且不返回握手包数据包使用的包标识符数据长 度是固定的个字节包含了命令的完整信息控制传输的所有的数据阶段中 的事务处理都必须是同一个方向的数据传输的数量和方向由设置阶段制定 设置信息通过输出事务处理发送信息那些获取设备状态的控制命令则通过输 入事务处理接受信息数据发送正确时指定的设备会返回握手包设备 忙时返回握手包当设备出现问题时设备返回握手包当数据出 错时设备不做任何应答主机在完成数据阶段后进入控制传输的状态阶段 首先主机发出一个输入令牌包设备接收到令牌包后在数据时相返回一个长 度为零的数据包主机接受到数据包后发送一个握手包如果主机忙就返武汉理工大学硕士学位论文 回握手包如果主机出错就返回握手包 根据不同的三个阶段就可拥有不同的令牌包比如控制读取传输 为 一或者控制写入传输一下面的图反映了 整个控制传输的数据流程 初始设置 可选数据传输阶段 状态信息 蒯写曰回圈圈回 汀 正 控制读 曰回回圈回 觚 盯 正 控制无数据 曰 回 图控制传输数据发送顺序 批量传输 批量传输适用于那些大量的非实时数据传输的场合如移动硬盘 打印 机等主机在总线带宽空闲时将剩余带宽分配给批量传输并以差 错检测 和出错重传保证数据无差错地传输没有固定地传输速率只有全速和高速设 备才支持批量传输全速数据包大小为或字节高速数据包固定 字节数据的传输过程采用和数据切换来进行批量传输的 事务处理的过程是按令牌时相数据时相和握手时相的时间顺序完成的根据 传输方向的不同可分为输入和输出两种类型图为批量传输的 数据过程 批量写 圈回 圈 钔 ?町 批量读 回圈 圈 芦 盯 ? 图为批量传输的数据过程 在机顶盒的主机接口系统中我们存储数据采用的媒介是通用的盘武汉理大学硕士学位论文 盘属于大容量存储设备设备枚举是控制传输方式数据的传输是批量传输 因此认真研究批量传输和控制传输十分关键 设备 标准描述符 设备是总线系统的重要组成部分协议对外部设备进行了标 准化根据设备完成的功能不同被划分为不同的子类大规模存储类如 盘人机接口设备类如鼠标键盘等音频视频设备类打印机类和图像设 备类等在逻辑功能上设备又被分成设备层配置层接口层和端点层 在规范中规定了种标准的描述符设备描述符 配置描述符 接口描述符 端点描述符 和字符串描述符 它们共同来描述设备功能和属性 图 标准描述符结构 每个设备只有一个设备描述符比较特殊的是默认控制管道数据包的 长度是在设备描述符中定义的而不像其他端点一样是在端点描述符中定义的 一个设备中可以包含一个或多个配置描述符即一个设备可以支持多种配武汉理工大学硕士学位论文 置但一次只能有一个配置是活动的称为当前配置设备的每个配置中可以 包含一个或多个接口即一个设备可以支持多个接口功能一般一个 设备只需要一个接口例如对于盘设备仅需要一个用于实现 和批量输出 个非 类的接口在该接口下使用了批量输入 端点用于传输文件为了与主机进行数据传输每个接口包含一个或多个 端点端点就是设备硬件上具有一定容量的数据缓冲区每个端点都有唯 一的地址即端点号由包中的端点域标识每个端点有自己的端点描述符 其中描述了端点的类型传输包的能力和方向等信息除了描述符中描述的端 点外每个设备必须要有一个默认的控制端点其数据传输为双向而且没有 描述符只在设备描述符中定义了它的最大包长度主机通过此端点向设备发 送命令获得设备的各种描述符信息并通过它来配置设备图显示了设备 的各种标准描述符的结构清楚地说明了设备配置接口和端点之 间的关系 要了解各种标准描述符更详细的信息请参考协议规范 标准设备命令 设备连上主机控制器芯片的时候主机需要对设备进行一系列设置 主机通过缺省的控制管道端点对设备发送一些基本的请求命令完成设备 状态设定获取设备的各种描述符并对设备重新分配地址配置端口等功能 这些命令对于控制传输来讲是主机配置设备的最关键因子协议定 义了个标准命令所有的命令虽然有不同的数据和使用目的但是它们具 有相同的数据结构其语言定义如下 严位图含义数据的传输方向主机 到设备设备到主机命令的类型 标准命令类命令厂商提供的命 令保留接收对象设备 接口端点其他保留事 命令甑芹号 值根据不同的命令含义不同 索引根据不同的命令含义不同 ‖如果有数据段此段为数据的字节数 武汉理工火学硕士学位论文 幸 设备请求命令根据的不同可分为不同的类型种不同的设 备请求命令如下 获取状态请求用于返回特定接收者的状态信息比如端点 接口等的状态字段值为 清除特性请求用于清除或禁止接受者的某些特性 字段值为 设置特性请求用来启用或激活命令接受者的某些特性 字段值为 设置地址请求用于主机给设备分配地址字段值 为 获取描述符请求用于主机获取设备的特定描述符 字段值为 设置描述符请求主机利用该请求命令来修改设备中的 有关描述符或者增加新的描述符字段值为 获取配置请求用于获取当前设备的配置值 字段值为 设置配置请求用于激活设备上的某个配置 字段值为 获取接口请求用于获取当前的某个接口的接口描述符编 号字段值为 设置接口请求用于要求设备用某个接口描述符来描述 接口字段值为 同步帧请求用于设备设置和报告一个端点的同步帧 字段值为 主机 主机是总线的核心部分负责管理整个总线的所有信息 它包含主机控制器和主机端软件 主机控制器提供了主机与设备之间连接的物理接口控制 器硬件部分除了提供主机的物理和电气特性外还和控制器驱动 程序武汉理工大学硕士学位论文 协同工作完成主机的协议功能主机控制提供的功能主要包括以 下几个方面 帧管理主机负责把传输的时间分成为单位的时间段称为 帧控制器每隔广播发送一个包表示一帧的开始总线上的设 备也以此来和主机同步 数据传输管理主机负责接收来自上层软件的数据并将其发送到 总线上的设备接口处还负责通过总线从设备的功能接口处接收 数据并将其发 送到上层软件包括完成数据的序列化与反序列化传输带宽的管理同时 控制器必须对不同特性的数据传输进行分类排队针对不同的数据传输 做出不同的处理 容错性处理主机控制器必须能够诊断数据传输错误并根据错 误类型做出处理控制器能检测的错误主要有协议错误超时错误数据错 误当数据传输出错时控制不改变数据缓冲区的指针并对其进行不同程度 的数据重传当错误超过三次时控制器会停止当前的传输请求并将错误的 情况汇报给主机控制器的驱动程序分析处理 控制器总线接口主机控制器提供一条高速的读写系统内存的总 线接口内存与电缆的物理数据的交换是在主控制器的控制下自动完成的 当数据缓冲区满或空时主机控制器以中断的方式通知主机系统 数据串并行转换主机控制器中的串行接口引擎负责将主机上 的并行数据转换成串行数据并把从设备发来的串行数据转换成并行数据 根集线器根集线器提供主机控制器与一个或多个设备的连接 根集线器主要由两部分构成集线器控制器 和集线器转发器 它主要控制下行端口的电源使能禁止下行端口 动态检测连接在每一个下行端口的设备设置并报告每一端口的状态提供过 流保护机制 此外根集线器端口必须能够响应远程 唤醒信号 主机端软件由主机控制器驱动程序驱动软件 和一系列与设备有关的客户端驱动程序组成这里简要介绍一 下主机端软件在后面第四章详细介绍软件开发过程 武汉理工大学硕士学位论文 第章主机接口设计方案 主机接口设计技术对比研究 在嵌入式系统中通常各种资源如处理能力存储空间等都受到 一定程度的限制因此在实现主机接口时需要综合考虑软件硬件方 面的各种限制条件以满足接口的各种性能指标且不会影响整个系统其 它部分的正常工作目前在国内外市场上主要有以下两种实现方案 主机控制器 主机控制器 方案中一个完成整个系统的所有处理对的要求比较高因 资源丰富系统的可扩展性强适用于多个设备同时使用的情况但 系统性能相对较低而方案中一个主处理其它的工作由一个专门的 处理与有关的通信所以实现的接口性能比方案要高 机项盒对 盘的读写速度相对较快但受本身资源的限制系统的可扩展性较差 根据当前上述两种方案的对比考虑到和机顶盒的难易程度 我们选用了方案来实现数字机顶盒平台的主机接口便于用较为熟悉的 单片机来开发接口 在选定了设计方案后最重要的是选择主机控制芯片一款合适的 主机控制芯片不仅要能完成系统功能而且要最符合数字机顶盒系统的实际条 件达到性价比的最佳在脱离的微控制时代嵌入式系统中的各种资源如 的处理能力存储空间大小等都有一定的限制因此在实现主机接 口时必须综合考虑软硬件方面的各种限制条件生产成本实现的难易程度 稳定性等多个方面的因素选择最适用于我们的机顶盒系统的主机控制器 芯片然后基于所选择的主机控制器芯片设计出硬件接口电路该接 口电路需要完成与既有机项盒主板电路的高效稳定通信 主机接口芯片的选型 目前在国内外嵌入式主机接口设计中遵循协议的芯片各种各武汉理工大学硕士学位论文 样许多芯片生产商都提供符合协议的 控制器芯片虽然在市场上严格遵循协议的芯片多种多样但由于生 产目的及面向对象的不同控制芯片在功能和用途上是有很大差异的比 较典型的有强公司的系列公司的 以及飞利浦公司的系列主机芯片等各种芯片的封装支持的速度 大小接口数目外部电路的简易等基本各不相同但从芯片的架构上看 控制器芯片都可以分为需要外接微控制器的芯片和自带微控制器的芯片两种 需要外接微控制器的接口芯片结构简单价格低廉通常仅包含 的串行接口引擎收发器等模块此类接口芯片只处理相关的通信工 作必须外加一个微控制器来管理的数据传输芯片通过串行或并 行的数据总线与外部的微控制器进行连接当芯片进行数据传输 时使用中断 与外部微控制器通信一般来讲此类接口芯片的数据传输要比的最 大速度低因此这类芯片只适合传送间歇数据对适时性要求不高的场合 优点是用户可以根据自身需要选择合适的微控制器利用普通单片机开发系 统开发外设应用程序常见的需外接微控制器的接口芯片有公司的 和 的等 无需外接微控制器的接口芯片内部已经集成了核来管理 数据传输相当于通用微控制器扩展了功能常见的集成有微控制器核的 芯片有公司的系列芯片 在本文所述的数字机项盒系统中主要的目的是为了支持移动存储设 备对接口性能和传输速度的要求不是特别高根据两种类别的芯片的对 比综合考虑成本设计的难易程度等因素我们最终选用了市面上常见的 公司主控芯片该芯片是不集成核的需要外接微控制 器我们采用了公司的单片机 主控芯片介绍是一款使用极其方便性价比也很高的主机控制器 接芯 片该芯片采用脚和脚两种封装形式本文采用脚的封 装它具有以下的特点 ?完全与规范兼容 ?软件设置可以支持主机机或者设备功能 武汉理工大学硕士学位论文 自动诊断设备类型全速设备或低速设备 ?集成了 串行接口引擎和数据收发器 集成了支持一个接口的根集线器 ?字节片内用作寄存器和数据缓冲区 ?支持和两种外部时钟 支持挂起唤醒以及低功耗模式 ?自动生成和 该芯片的功能结构如图所示它主要由处理器接口中断控制主从 模式控制 串行接口引擎时钟模块以及根集线器等模块 组成各模块功能如下 主从模式 控制器 中断控 上 制器 缓冲 区 根 串行接口引 ?? 控制状 擎 一 集线 态寄存器 器接 口 ? 处理器 时钟发生 接口 器图主机控制器功能结构图 ?处理器接口 提供位双向数据总线与处理器进行数据传输同时提供控制数 据传输的读写信号线片选信号线以及一个地址控制线其中地址 控制线被 用来作为地址和数据选择用当地址控制线设为低电平时在数据 总线上发送 的为要读写的寄存器的地址当地址控制线设为高电平在数据总 线上 发送的为相关的读写数据 中断控制 提供一根可与连接的中断信号线当有事件发生 武汉理工大学硕士学位论文 并需要处理器作出响应时该信号线被激活可以通过读取的中 断状态寄存器进而判断中断类型并作出相应处理 主从模式控制 支持主机主模式和设备接口从模式两种模式 通过控制的主从模式控制模块用户可以选定所需要支持的模式 ? 包含 模块支持接口的相关功能与规范 兼容 ?时钟模块可以支持和两种外部时钟 包含两个 晶振输入引脚如果已经有的时钟信号则只需要将其接在输入 引脚上可以悬空 ? 在片内集成了字节的其中前个字节用作控状态 寄存器后面的空间可被用作数据传输缓冲区支持自动地址增加 的 访问方式即在如前面接口所述的设置完地址后可以连续地填写 数 据地址指针自动增加如要将这个 数据分别写入这个地址中可采用下面的方 式通过次数据总线访问完成操作过程 设置地址信号线为低写到数据总线上设置起始地址 设置地址信号线为高写到数据总线上写到地址 中 设置地址信号线为高写到数据总线上写到地址中 设置地址信号线为高写到数据总线上写到地址 中 设置地址信号线为高写到数据总线上写到地址 中 设置地址信号线为高写到数据总线上写到地址 中 根集线器 包含一个下游端口的根集线器并集成了数据收发器用户 武汉理工大学硕士学位论文 在设计硬件电路时只需要根据不同的主从模式添加相应的上拉 下拉电阻即 可 从上面的简单介绍可以看出 在接口的设计上非常适用于各种嵌 入式系统从软件的角度看对主控芯片的各种控制以及数据传输都 可以通过简单的寄存器访问实现 的寄存器可以分为两大部分 控制寄存器地址一和和 控制寄存器地址 和 一和两类控制寄存器包含 寄存器组主要功能是进行传输和数据流的控制提供传输的缓冲区 的首地址传输数据包的最大包的大小等状态信息其它的寄存器为 控制寄存器提供的其它基本操作的控制和状态信息如使能各种中 断确认中断的类型等等需要提到的是 包含两组和 相同的控制寄存器这两组寄存器可被用作交替的读写操作比如在设置 寄存器以后开始进行相关的数据传输在该传输没有结束以前 用户可以通过寄存器设置来准备下一个数据传输在寄存 器相关的数据传输结束以后 会自动进行寄存器相关的 数据传输其目的是为了提高系统处理数据的效率实现乒乓数据 处理机 制两套寄存器组可以交替操作同任何的设备和特定的端点进行通信 具体的寄存器的介绍可以参考相关的文献 主机接口系统的构成 确定作为主机控制器芯片后我们选用公司的 单片机作为主机芯片的使用作为单片机地址 锁存器另外在本嵌入式 接口设计中要实现机顶盒与盘的 数据交互设计一个友好完整的用户接口是必然的而在实现数据交互的过程 中一般的数据传送系统在大数据量的情况下会造成数据堵塞现象大大降低了 数据传输效率在这里我们采用高速双端口构成高速数据交 换接口作为数据交互缓冲区其系统组成框图如图所示武汉理工人学硕士学位论文 冀髓西城 卜 设备 一 \? 图系统组成框图 武汉理工大学硕士学位论文 主机接口的实现 第章 系统硬件实现 在硬件电路的设计上必须满足以下技术要求主机接口电路做成单 独的电路板对机顶盒主板的正常工作无任何不良影响稳定性可靠性高 在数字机项盒系统中主板提供了扩展总线接口通过它可以很方便地实 现外部设备扩展因此在主机接口的设计中我们将主机接口 电路设计在一块扩展电路板中它通过一个双列的插座与机顶盒的 连接另外 的工作电压是而单片机的工作电压是我们都是 采用的插座上从机顶盒的主板上引出电源主控芯片通过位数 据总线与进行数据交互片上的各种中断事件如设备插入拔出中断 中断数据传输完成中断等都通过一根中断信号线接到的某个中 断 引脚上根据中断状态寄存器的内容来区分各种不同的中断源 芯片上有字节的它映射到地址空间的某一段区域可以通过 对它的访问实现对的各种控制和数据传输整个电路板的时钟信号由 一个兆的晶振提供但 内部使用经过四倍频之后的兆时钟也 可以接一个的晶振只是在晶振配置电路上略有不同 有两个引脚其中与单片机的连接 的线是在低电平的时候接收地址高电平的时候接收数据数据是放在先前 送来的地址中存放的单片机的通过一个非门接到的脚同时 也与双端口的片选线连接由于和的片选都为低电平 有效当为时通过一个非门后变为所以此时选中洲当 为 时通过一个非门变成此时选中 的中断是高电平有效所 以也是通过一个非门连到单片机脚的 是公司推出的异步高速双端口静态它有两套独 立的地址线数据和控制信号线允许两个控制器件中的数据通过共同连接的 存储器来进行通信两个控制器可以同时读取任何存储单元包括同时读同一地 址单元但不允许同时写或一读一写同一地址单元它有两套独立的地址线武汉理工大学硕士学位论文 数据线和控制信号线左右两边各有根地址线艮一 根数据线卜单片机的地址线旺与之 相连单片机剩余一根地址线作为它的片选线连接它的 低电平有效在本次设计中不接悬空放置 拉高电平最后两个存储单元可用作两端口 的中断产生器当八时写到单元中断有效 当时访问单元以清除中断同理当 时写到单元烈中断有效当时访问 单元以清除产生的中断忙逻辑是在双端口系统中有时会发生双 同时访问同一存储单元的情况分两种情况第一种情况是一个在读 而另一个在写第二种情况是两个同时写此时写入数据为两端口数据之 合成两种都会读出一个错误的数据忙逻辑电路则专门用于解决此问题在 此双端口中其他功能就不一一介绍此次设计选用双端口大大解 决了系统与外界交互的问题具备的功能也更加完善 整个系统的完整硬件电路图见附录 系统软件实现 在我们整个嵌入式主机接口系统的设计中 系统软件的设计是最关 键的部分它关系到整个系统能否正确高效地运行由于在嵌入式 系统中各 方面的限制条件必须对整个系统软件做适当的裁减主要是对核心驱动 程序和设备驱动程序的裁减其功能没有机上那么完善只需要实现 特定的某些功能模块即可 软件实现方案设计 在主机系统软件的设计中我们参照了操作系统中协议栈 的的设计采用分层模块化设计方便以后的功能扩展为了使设计的嵌入 式主机具有通用性结合嵌入式硬件的情况整个系统软件设计不需要任 何操作系统通过中断来调度各个函数的运行此外为了方便数字机顶盒与 通用机的文件交换我们必须采用与机兼容的常见的文件系统 整个系统从功能模块上主要分为如下几部分主机控制器 驱动程序 武汉理工大学硕士学位论文 核心驱动程序设备驱动程序文件系统外部接口程序其系统软件结 构图如所示 外部接口程序 文件系统篙纂霉 核心驱动主机控制器驱动程序 图主机系统软件结构图 在开发系统软件的过程中要经过以下几步 首先完成系统的初始化实现对 寄存器的配置完成与 的通信设计实现的功能模块和接口模块的设计 完成层驱动设计这是与硬件平台无关的驱动代码实 现了总线枚举总线带宽分配传输控制等操作包括核心功能模 块和接口模块设计首先实现各种事务驱动完成 主机最底层数据包的发送和接收然后实现控制传输批量传输方 式其 中控制传输是主机协议栈中最复杂最难实现的是完成枚举和实 现 的各种标准请求命令的根本所在 实现设备驱动程序的开发本系统中主要是实现机顶盒对 盘的访问所以我们只需要实现 传输协议规范和 类中的 实现 类中子类的读写命令集 构建文件系统文件系统按照的数据组织标准对盘数据分武汉理 工大学硕士学位论文 析处理或保存所有操作均由命令完成需要结合命令构建盘控 制命令实现对盘的各种读写操作 整个主机接口软件流程如图所示 主机控制器驱动程序 主机控制器驱动程序实质上是对主机控制器硬件和数据传输的 一种抽象包括核心功能模块和接口模块 核心功能模块向下直接与主机控制器硬件进行交互操作包括 主机控制器的寄存器和主机驱动程序初始化中断状态处理数据包的调度 传输等向上层模块提供唯一的入口函数并通过识别不同的输入参数来调用不 同的功能代码从而实现不同的功能 接口模块实现与层的功能接口为上层模块提供各种功能函数 的调用利用核心功能模块提供的入口函数将从层获得的各种调 用请求转化成对核心功能模块的相应调用 下面我们功能模块的设计上做介绍首先系统上电后单片机完成初 始化时对各种寄存器的配置由于的外接总线的地址和数据信 号是复用的需通过信号来区分地址和信号因此单片机读取和写入 数据缓冲区的时候首先要发送地址然后再发送数据先定义好 的内部空间值和内部空间数据值和通信代码如下 迮 地址读写 数据读写 其单字节读取函数如下单字节读数据 内部地址反 产 馈给单片机木‖从指定地址读数据 一返回数据 单字节写数据武汉理工大学硕士学位论文 图 主机软件流程图武汉理工大学硕士学位论文 木找到地址 牛写数据 完成了基本的单字节读写数据程序之后就可以实现对主机控制 寄存器控制寄存器中断寄存器等寄存器的设置和读取进行 芯片的初始化配置的工作状态初始化主要是对定义的 的 全局变量进行初始化以及配置相关的寄存器内容实现的正常工 作 其流程如下 系统上电 配置为主机模式 使能对设备的供电 在探测设备前延时直到硬件稳定 存储空间测试探测方法就是用写数据到指定 空间然后用读出写的内容再比较
/
本文档为【USB主机接口在机顶盒上的设计与实现(可编辑)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索