已阅读5页,还剩63页未读, 继续免费阅读
(电路与系统专业论文)windows下ieee+1394双向传输系统的驱动程序及应用程序设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 i e e e1 3 9 4 总线是一种串行总线技术,其以高速性、热插拔、方便使用且成 本较低等特性在消费类电子及计算机接口领域得到了广泛的使用。 在课题中,i e e e1 3 9 4 串行总线被用来设计对传输速率要求较高的双向传输系 统。本文首先分析了1 3 9 4 及1 3 9 4 b 协议及其数据传输模型,并对1 3 9 4 开放式主机 控制接口协议进行了简单的介绍。结合w i n d o w s 操作系统的架构,在微软对1 3 9 4 的支持下,开发了w i n d o w sx p 下基于i e e e1 3 9 4 a 的双向数据传输系统的计算机 端的w d m 设备驱动程序和客户应用程序,并且在u n i b r a i n 的支持下,利用f i r e a p i 开发了i e e e1 3 9 4 b 双向数据传输系统的计算机端的客户应用程序。文中详细介绍 了w i n d c w sx p 下两种1 3 9 4 驱动栈的构成,设备驱动程序的开发流程,实现方法 以及客户应用程序的设计思想和具体功能实现。 本文所描述的驱动程序及应用程序在双向传输系统中使用良好,实现了异步传 输和等时传输。 关键词:i e e e1 3 9 4驱动程序w d m f i r e a p l a b s t r a c t a sas e r i a lb u s ,i e e e13 9 4b u sh a sb e e nw i d e l yu s e dl nc o n s u m e re l e c t r o n i c s p r o d u c t sa n dc o m p u t e ri n t e r f a c eb e c a u s eo fi t sa d v a n t a g e so fh i g h s p e e d ,h o t - p l u g g i n g , c o n v e n i e n c ea n dl o w p r i c e i nt h ep r o j e c t ,i e e e13 9 4s e r i a lb u si su s e dt od e s i g nt h eb i d i r e c t i o n a ld a t a t r a n s m i s s i o ns y s t e m sw h i c hr e q u i r e sh i g h e rs p e e d 13 9 4a n d13 9 4 bp r o t o c o la n dt h e i r d a t at r a n s f e rm o d e l sa r ef i r s t l ya n a l y z e di nt h ep a p e r ,t h e nt h e13 9 4o p e nh o s tc o n t r o l i n t e r f a c es p e c i f i c a t i o ni sb r i e f l yi n t r o d u c e d c o m b i n e dw i t ht h ew i n d o w so p e r a t i n g s y s t e ma r c h i t e c t u r ea n dt h es u p p o r to fm i c r o s o f ta n du n i b r a i np r o v i d ef o rt h e13 9 4 ,t h e w d md e v i c ed r i v e ra n dc l i e n t a p p l i c a t i o n s o ft h ei e e e13 9 4 ab i - d i r e c t i o n a l t r a n s m i s s i o ns y s t e ma r ed e v e l o p e d ,a n dt h ec l i e n ta p p l i c a t i o n so ft h ei e e e139 4 b b i d i r e c t i o n a lt r a n s m i s s i o ns y s t e mo nw i n d o w sx pa l ed e v e l o p e dw i t hf i r e a p i f i n a l l y , t h ec o m p o s i t i o no ft h et w ok i n d so f13 9 4s t a c ko nw i n d o w sx p , t h ep r o c e s s i n ga n d m e t h o d so fd r i v e rd e v e l o p m e n ta n dt h ed e s i g ni d e aa n dr e a l i z a t i o no ft h ea p p l i c a t i o na le i n t r o d u c e di nd e t a i l - t h ed e v i c ed r i v e ra n dt h ea p p l i c a t i o ng i v e ni nt h i sp a p e rn o ww o r kw e l li nt h e b i - d i r e c t i o n a ld a t at r a n s m i s s i o ns y s t e m s a s y n c h r o n o u st r a n s m i s s i o na n di s o c h r o n o u s t r a n s m i s s i o na r ea l lr e a l i z e di nt h es y s t e m s k e y w o r d :i e e e1 3 9 4 d r i v e rw d mf i r e a p l 西安电子科技大学 学位论文独创性( 或创新性) 声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导w j i l i t h 导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名: 日期趁fq :,毕 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。 本人签名: 导师签名: 日期丝坦:! : b 期趁! 呈:兰 第一章绪论 第一章绪论 随着计算机工业的不断发展,计算机技术推陈出新,计算机外围设备的发展 更是迅猛,对高速性和高通用性的要求也越来越高。 i e e e1 3 9 4 串行总线高速、 实时传输的特点,特别是升级后的i e e e1 3 9 4 b 对速度和传输距离的进一步扩展, 使其在对速度要求较高的图像传输系统中及相关领域展现出了极大的魅力。 1 1i e e e1 3 9 4 总线发展及现状 i e e e1 3 9 4 又称为火线( f i r ew i r e ) ,最初是由美国苹果电脑公司提出的一种 串行总线技术。1 9 9 5 年i e e e ( 电气和电子工程师协会) 正式认可为i e e e1 3 9 4 1 9 9 5 规范,并于2 0 0 0 年又推出了i e e e1 3 9 4 a - 2 0 0 0 规范,对i e e e1 3 9 4 1 9 9 5 一些模糊 的地方做出了补充和改进。2 0 0 2 年推出了i e e e1 3 9 4 b 2 0 0 2 ,兼容于i e e e1 3 9 4 a , 在速度和传输距离等方面做出了扩展。最新的i e e e1 3 9 4 c 2 0 0 6 公布于2 0 0 7 年6 月8 日,其中提出了一个重大的技术改进,新的接头规格和r j 4 5 相同,并使用 c a t - 5 ( 5 类双绞线) 和相同的自动协议,可以使用相同的端口来连接任何i e e e 1 3 9 4 设备或i e e e8 0 2 3 ( 1 0 0 0 b a s e t 以太网双绞线) 的设备,不过到现在为止, 还没有任何包含i e e e1 3 9 4 c 能力的芯片或设备面世。 i e e e1 3 9 4 总线是一种比多数并行总线便宜的设计,与p c i 、i d e 等并行总线 相比,i e e e1 3 9 4 串行总线更容易实现,成本更低,且具有更大的灵活性,其统 一的标准可以消除各种协议之间的局限,使总线的性能大大地提高【l 】。i e e e1 3 9 4 b 拓展后速度更快。与同类的串行总线如u s b 相比,i e e e1 3 9 4 也具有很多优点, 如高速和点对点传输等。作为一种数据传输的开放式技术标准,i e e e1 3 9 4 被应 用在众多的领域,i e e e1 3 9 4 的优点主要表现在【l 】: 1 支持高速可升级性:支持1 0 0 m b s 、2 0 0 m b s 和4 0 0 m b s ,i e e e 1 3 9 4 b 最高能 到3 2 g b s 。 2 支持点到点的传输:串行总线各个节点能自主执行事务,可以脱离主机c p u 的干涉,占用更少的系统资源,i e e e1 3 9 4 不需要集线器最多可连接6 3 台设备。 3 支持即插即用:每次当i e e e1 3 9 4 网络中有外部设备添加或删除时,会自动重 设网络,总线自动枚举,节点自动配置,无需主机系统的干预,不用担心影响数 据的传输。 4 支持热插拔:在不用将系统断电的情况下可以动态地加入或移除设备,不必重 新启动机器。 5 支持距离:i e e e1 3 9 4 中两个节点间可支持到4 5 米,在扩展后的i e e e1 3 9 4 b 中最长可支持到1 0 0 米。 2 w i n d o w s 下i e e e1 3 9 4 双向传输系统的驱动程序及应用程序设计 随着现在p c 行业与通信和其它媒体之间的合作逐步加深,越来越需要一个 统一的接口标准【2 】。1 3 9 4 串行总线可以满足各方面的需要,而且成本比起很多总 线来都较低,也易于实现,且具有跨平台的能力。随着i e e e1 3 9 4 技术的不断发 展,其应用领域也在不断扩大,尤其是基于i e e e1 3 9 4 b 的应用也在不断增多。1 3 9 4 产品的出现与应用已经改变了以前对多媒体及消费类电子产品的观念,突破了以 往传输介质的限制,实现了各种高速轻便的计算机设备。 由于对高速率通信设备需求的增长,i e e e1 3 9 4 设备的应用将会越来越广, 包括正在迅速发展的i e e e1 3 9 4 b 的应用也将增多。现在各种操作系统开始对i e e e 1 3 9 4 设备及i e e e1 3 9 4 b 设备的a p i 函数和驱动支持,更是加速了i e e e1 3 9 4 设 备的普及和推广。 1 2 设备驱动程序的介绍 在计算机系统中,作为一个完整的系统运行都是系统中软硬件协作的结果, 没有硬件的软件是无法运行的,而没有软件的硬件也是毫无用武之地。驱动程序 是连接着硬件、应用软件及操作系统之间的桥梁,随着电子技术的飞速发展,电 脑硬件的性能越来越强大。如果操作系统让应用程序随意直接访问硬件,就可能 引起导致系统崩溃的混乱。驱动程序是直接工作在各种硬件设备上的软件,正是 通过驱动程序,各种硬件设备才能正常运行,达到既定的工作效果,它提供应用 程序和实际物理设备之间交互的软件接口。驱动程序实际上可以理解为一系列控 制硬件设备的函数。在w i n d o w s 系列操作系统中,系统出于安全与稳定性的考虑不 提倡对硬件的直接访问,设备驱动程序使得用户程序以一种规范的方式访问硬件 资源,既可以保护系统的健壮性,又可以提供充分的设备无关性。 1 3 课题的背景和意义 近年来,i e e e1 3 9 4 作为一种开放式技术标准的高速串行总线,已被应用在 众多的领域。而正在发展中的i e e e1 3 9 4 b 技术以极高的速率、更多的传输媒介和 更远的传输距离展现出了极大的魅力,不过就目前而言,i e e e1 3 9 4 使用最广也 还是在数字影像领域,并且i e e e1 3 9 4 b 在使用中也受到了各方面相当大的局限, 其主要产品只有摄像机和硬盘等设备。然而不管是i e e e1 3 9 4 a 还是i e e e1 3 9 4 b , 它们的潜在市场都远非这些,它的高速率实时传输特性,使其无论是在计算机外 设还是网络互连等方面都有广阔的发展前景。 本课题充分利用i e e e1 3 9 4 总线的高速传输特性,完成了基于i e e e1 3 9 4 a 及 基于i e e e1 3 9 4 b 的双向传输系统,前者采用了d s p 和f p g a 协同工作的硬件体 系结构,实现了基于i e e e1 3 9 4 a 总线的双向数据传输系统的软硬件平台。后者采 第一章绪论3 用了f p g a 工作的硬件体系结构,实现了基于i e e e1 3 9 4 b 总线的双向数据传输系 统的软硬件平台。两个系统都可大体分为数据处理、数据传输和p c 机端软件三 部分。本课题研究方向为i e e e1 3 9 4 a 双向传输系统的p c 机端软件,即w i n d o w s 下i e e e1 3 9 4 a 设备驱动程序和应用程序的具体开发,以及i e e e1 3 9 4 b 双向数据 传输系统的p c 机端设备驱动程序的研究和用户应用程序的设计开发。 1 4 论文的组织结构 本课题在对i e e e1 3 9 4 总线和i e e e1 3 9 4 b 总线的结构、协议、系统体系以及 w i n d o w s 操作系统支持的1 3 9 4 驱动程序栈进行充分研究的基础上,完成了基于 i e e e1 3 9 4 a 双向数据传输系统的设备驱动和应用程序的设计,以及及i e e e1 3 9 4 b 双向数据传输系统应用程序的设计。本文重点阐述了两个系统中驱动程序的研究 设计及应用程序的开发。各章节的安排如下: 第一章简要地介绍了i e e e1 3 9 4 串行总线的发展及现状,驱动程序和系统的 联系,及整个系统的设计依据。 第二章深入介绍了i e e e1 3 9 4 串行总线的体系结构和相关协议标准,以及整 个系统的设计方案选择。 第三章重点介绍了w d m 驱动模型的基本架构,以及w i n d o w s 下i e e e1 3 9 4 a 双向传输系统的设备驱动程序及用户应用程序的设计与开发,并简单介绍了驱动 程序的编译、安装。 第四章介绍了i e e e1 3 9 4 b 双向传输系统的设备驱动栈的选择及研究,并在此 基础上详细介绍了用户应用程序的开发。 第五章总结了系统设计中的一些经验,并展望了下一步的研究内容。 第二章i e e e1 3 9 4 技术概要 第二章i e e e1 3 9 4 技术概要 2 1i e e e1 3 9 4 协议模型 i e e e1 3 9 4 b 向下兼容i e e e1 3 9 4 及i e e e1 3 9 4 a ,它们的体系结构基本一致, 本节丰要介绍1 3 9 4 体系结构,这是实现1 3 9 4 双向传输系统的理论基础。 i e e e1 3 9 4 以广泛采用的i e e e1 2 1 2 1 9 9 1 标准为基础,该标准也称为“微型计 算机总线的信息技术一微处理器系统控制及状态寄存器体系结构”,或c s r ( 微 机总线控制和状态寄存器) 体系结构,它定义了一组能被多种总线实现的核心特 征集。i e e e1 3 9 4 定义了对c s r 体系结构的关于串行总线的扩展。 2 1 1i e e e1 3 9 4 的拓扑结构 1 节点模块体系 i e e e1 3 9 4 串行总线的体系结构是按照节点来定义的。一个节点即是一个寻址 实体,它有着自己的标识r o m 和标准的控制状态寄存器,能独立进行初始化及配 置。一个模块可以有多个节点,一个节点可以有多个元件。 模块是指连接到总线上的物理设备。每个模块包含一个或多个可以独立进行 初始化和配置的节点。节点则是模块内部的一个逻辑实体,有独立的c s r 和唯一 的地址。元件是节点内部实现具体功能的部分。在这里模块是一个物理概念,而 节点和元件属于逻辑寻址实体。 2 拓扑结构 i e e e1 3 9 4 串行总线的拓扑结构有两种环境:底板环境和线缆环境。 线缆环境下的物理拓扑结构是无环网络结构,由电缆连接各节点的端口,呈 分支扩散,形成树状或者菊花状的网络拓扑。每个端口都由收发器和一些简单的 逻辑单元构成,线缆和端口的作用是总线中继器,在节点间形成一条逻辑总线。 在底板环境中物理拓扑是多点接入总线。总线上分布着多个连接器,允许节 点直接插入,通过仲裁来使各个节点享用总线。1 3 9 4 串行总线可以和一组标准的 并行总线并存于设备的底板上。 3 寻址方式 i e e e1 3 9 4 总线遵循c s r 体系结构,c s r 体系结构定义了3 2 位和6 4 位的寻 址方式,1 3 9 4 总线只遵循其中的6 4 位寻址方式,其中的高1 6 位是节点标识,节 点标识又分成两部分:总线标识( b u si d ) 占其中1 0 位,物理标识( p h y s i c a li d ) 占其中6 位。因此1 3 9 4 可支持6 4 k 个节点,最多可以有1 0 2 3 条总线,每条总线 最多可挂6 3 个节点( 地址全为“1 ”的保留作为特殊用途) 。余下的4 8 位作为节 6 w i n d o w s 下i e e e1 3 9 4 双向传输系统的驱动程序及应用程序设计 点内部寻址【3 1 。2 4 8 字节的1 3 9 4 节点空间分为初始存储空间,私有空间和寄存器空 间三种,如表2 1 所示。 表2 1 节点内部地址分配 1 6 位节点标识4 8 位节点内部地址分配 总线号节点号初始存储空间0 - f f f fd f f ff f f f h ( 2 5 6 t - 2 5 6 m ) 总线号节点号私有空间f f f fe 0 0 00 0 0 0 h f f f fe f f ff f f f h ( 2 5 6 m ) 总线号节点号寄存器空间f f f ff 0 0 00 0 0 0 h f f f ff f f ff f f f h ( 2 5 6 m ) 其中的私有空间是为本地节点保留的。在2 5 6 m 的寄存器空间中,起始处的 2 k b 保留给控制状态寄存器、1 3 9 4 总线寄存器和r o m 标识的开头1 k b 空间,剩 下的作为初始元件空间。 2 1 2i e e e1 3 9 4 协议结构 在1 3 9 4 协议中定义了三个协议层,用于在请求者和响应者之间的数据传输过 程中完成相关服务。 1 事务层 事务层支持异步传输的读、写和锁定操作,遵循c s r 结构的请求响应协议, 事务层只支持异步传输,不提供任何用于等时传输的服务。 2 链路层 链路层主要为事务层服务,它实现对等时和异步数据包的寻址、数据校验、 分析等功能,链路层还提供了等时传输服务。链路层可以将事务层请求转化为相 应的包和子事务。链路层提供了一种半双工的数据包发送服务。 3 物理层 物理层主要有三个功能:将链路层的逻辑信号转化成在串行总线上传输的电 信号;实现仲裁服务,保证同一时刻总线上只有一个节点在发送数据;提供电气 和机械接口。 2 1 3i e e e1 3 9 4 传输类型 i e e e1 3 9 4 串行总线支持两种传输类型:异步传输和等时传输。 1 异步传输 在异步传输时,要求能够毫无差错地传输数据,接收方总是通过c r c 校验验 证串行总线是否正确传输。异步传输有三种基本类型:读取、写入和锁定操作。 每个异步事务都由请求子事务和响应子事务组成。异步传输使用确定的6 4 位地址 来指向某一特定节点,所有的异步传输共同占有2 0 的总线带宽。图2 1 说明了异 第二章i e e e1 3 9 4 技术概要 步传输模型。 图2 1 异步传输事务模型 2 等时传输 与异步传输不同,等时传输是一种不需要确认数据的传输类型,它主要强调 的是传输数据的实时性。等时传输使用一个6 位的信道号码来确定一个或多个设 备。以固定时间间隔( 1 2 5 微秒) 发送数据,在等时传输前,发起等时传输的节点 ( t a l k e r ) 首先要向等时资源管理器申请所需要的带宽和信道才能进行等时传输。 和异步传输相比,等时传输有较高的优先级。等时传输所用的最大带宽是整个带 宽的8 0 。图2 2 说明了等时传输模型。 图2 2 等时传输事务模型 2 2i e e e13 9 4 b 总线协议介绍 i e e e1 3 9 4 b 2 0 0 2 标准是对i e e e1 3 9 4 标准及i e e e1 3 9 4 a - 2 0 0 0 标准修正及补 充。它兼容于i e e e1 3 9 4 a ,同时又作出了很多的改进,以下是i e e e1 3 9 4 b 与i e e e 1 3 9 4 及i e e e1 3 9 4 a 相比的丰要补充: 1 数据传送模式的改进:i e e e1 3 9 4 和i e e e1 3 9 4 a 中使用的d s 编码( d a t as t r o b e ) , i e e e1 3 9 4 b 新增了b e t a 模式,采用8 b 1 0 b 编码,比起原来使用的d s 编码可以减 少信号的失真。 2 i e e e1 3 9 4 b 接头的形状从i e e e1 3 9 4 a 的4 针或6 针变成9 针。 3 支持更多的传输媒介:支持5 类双绞线( c a b 5 ) ,非屏蔽双绞线( u t p s ) ,塑 料光纤( g o f ) 和玻璃光纤( p o f ) 。 4 更快的传输速度:i e e e1 3 9 4 b 将总线速度扩展到8 0 0 m b s ,1 6 g b s ,3 2 g b s , 不过3 2 g b s 就目前的技术而言还达不到。现在所提供的支持i e e e1 3 9 4 b 的芯片 w i n d o w s 下i e e e1 3 9 4 双向传输系统的驱动程序及应用程序设计 实际可支持到8 0 0 m s 。 5 更远的传输距离:i e e e1 3 9 4 及i e e e1 3 9 4 a 支持的最长线缆长度均为4 5 米。 i e e e1 3 9 4 b 协议将传输距离扩展到了1 0 0 米,在塑料光纤下可支持到5 0 米,玻璃 光纤可到1 0 0 米,另外5 类双绞线在s 1 0 0 的情况下也可支持到1 0 0 米。 6 i e e e1 3 9 4 a 连接在一起的设备不能形成一个环( 圈) 。否则就可能不能正常工 作。i e e e1 3 9 4 b 提出了一个避免环状结构的方法,在即使设备连接形成一个圆圈 时,也能保证正常工作。 7 传输媒介共同性质:所有使用b e t a 模式的媒介都使用同一种编码策略( 8 b 1 0 b 编码) 。两个平行的物理连接( 例如两对双绞线或是两条光纤) 可以通过全双工方 式从两个相反的方向传输数据。8 b 1 0 b 编码加强了直流平衡,限制了允许交流耦 合的传输位的行程,使得其在信号完整性方面得到了卓越的控制。所有媒介都将 误码率控制在1 0 。1 2 以下。 所有的传输媒介有着同样的连接管理,这允许不同的媒介能使用同样的物理 层,这样一个光纤收发器与一个标准的物理层相连便是一件很容易的事情。但是 不同的传输媒介在b e t a 模式下支持不同的传输距离和速度,表2 2 说明了b e t a 模 式下使用多种传输媒介的允许速度和传输范围。 表2 2b e t a 模式下各种传输媒介的特性 传输媒介传输范同( m ) s 1 0 0$ 2 0 0$ 4 0 0$ 8 0 0s 1 6 0 0 5 类双绞线 1 0 0 , 塑料光纤5 0 , m p c f1 0 0 、, m m f1 0 0 ,、,、, 屏蔽双绞线 4 5 8 仲裁改进:i e e e1 3 9 4 b 利用b e t a 模式的全双工特性来减少i e e e1 3 9 4 中的仲裁 空余间隔,以提高仲裁的效率。当数据包被发送时,就开始了对下次事务的仲裁【4 】。 在仲裁中新增加了b o s s ( b u so w n e r s u p e r v i s o r s e l e c t o r ) 仲裁方法,在b o s s 中,仲裁请求信号与数据传输在全双工总线上交迭,等时请求和异步请求都分别 在随后的等时间隔或公平间隔时传输。b o s s 仲裁策略可以工作在所有节点都符合 i e e e1 3 9 4 b 协议的总线上,也可以工作在只有部分节点符合i e e e1 3 9 4 b 协议的总线 上。图2 3 说明了b o s s 仲裁法的基本概念,以及仲裁请求信号在全双工总线上是如 何与数据传输交迭的。 第二章i e e e1 3 9 4 技术概要 9 图2 3b o s s 仲裁方法 9 物理层链路层接口:i e e e1 3 9 4 b 协议新增了两个物理层链路层接口说明,第一 个接口是在原有的物理层链路层接口规范上做了改进,这个接口是一个8 位并行 的数据接口,它的改进使得它能够在$ 8 0 0 的速度上传输数据并能支持i e e e1 3 9 4 b 协议所需的其它请求类型;另一个接口是一个高速,b e t a 模式的接口,它允许物 理层和链路层之间有更高的速度和更远的距离,并使系统执行更加灵活。 另外i e e e1 3 9 4 b 还增加了很多特性,包括物理层增加了自动协商检测功能来 确定节点间的速度和使用的信令模式,初始化时自动循环中断功能,电源保护改 进等。 2 31 3 9 4 0 h c i 简介 在本课题的双向传输系统中是以p c 机作为总线上的一个节点,在1 3 9 4 中针 对主机端专门开发了一种称为1 3 9 4 0 h c i ( o p e nh o s tc o n t r o l l e r i n t e r f a c e s p e c i f i c a t i o n ) 的协议标准,也就是1 3 9 4 开放式主机控制接口协议,这种丰机控制 协议主要对p c 机中的p c i 总线作了详细的描述。到目前为止,市面上所推出的支 持i e e e1 3 9 4 b 的链路层芯片均为支持1 3 9 4 0 h c i 规范的芯片。 i e e e1 3 9 4 开放式主机控制器接口( o h c i ) 是1 3 9 4 串行总线链路层协议的一 种实现方式,它支持事务层和管理层的实现,还包括用于高性能d m a 数据传输和 主机总线接口,如典型的p c i 。它保证了操作系统在不同平台上的兼容性,同时也 支持异步传输和等时传输。 1 0 w i n d o w s 下i e e e1 3 9 4 双向传输系统的驱动程序及应用程序设计 2 3 113 9 4 0 h c i 硬件描述 1 3 9 4 0 h c i 硬件包括主机总线接口、内部寄存器、d m a 、串行r o m 、f i f o s 、 链路模块。图2 4 描述了1 3 9 4 0 h c i 的原理框图。硬件主要模块描述如下: i td m a箩i tf i f 0 a t 请求 d n a t 请求f i f 0 一 a t 响应 毒 a t 响应f i f 0 d m a 可 f 一物理响应单元物理相响应单元 1 3 主 悃 。l 9 主机总线 机 4 链 1 3 9 4 总线 ( p c i ) 总 路 线 物理层读 物理读请求f i f 0 层 接 请求接收 及 口 物理层写 物理写请求f i f 0 物 请求接收 理 层 通用请求 a r 请求f i f 0 接收d m a 串行r o m 通用响应 ( 可选) 接收d m a 善 a r 响应f i f 0 口 i rm n 爹i rf i f 0 串行r o m 口 ( 可选) r 自标识接收 自标识接收f i f 0 d m a 图2 41 3 9 4 0 h c i 原理框图 主机总线接口:1 3 9 4 0 h c i 通过主机总线与主机相连。主机总线的宽度至少为 3 2 位,与丰机总线相连的是主机总线接口,主机总线接口在丰机总线( p c i ) 上作 为主控器和从属控制器。作为从属控制器,它译码和响应1 3 9 4 0 h c i 的寄存器访 问;作为主控器时,它代表1 3 9 4 0 h c i 的d m a 单元产生主机总线上的事务。 d m a :1 3 9 4 0 h c l 支持7 种类型的d m a ,分别是:异步发送,异步接收,等 时发送,等时接收,自标识接收,物理层接收和物理层响应,每种类型的d m a 都 有各自的寄存器保留空间,并支持至少一个被称为d m a 关联( d m ac o n t e x t ) 的 独特数据流。每个异步和等时关联都由一个存储在主存储器中的被称为“d m a 关 联纲要”的缓冲器描述符列表组成,这些缓冲器叫做d m a 描述符。虽然不同的控 制器之间有一些差别,但所有的d m a 描述符使用的是基本相同的规则p j 。下面以 等时发送为例,说明1 3 9 4 0 h c i 的d m a 机制。 第二章i e e e1 3 9 4 技术概要 等时发送d m a 控制器至少支持4 个等时发送d m a 关联,最高可以实现3 2 个等时发送的d m a 事务。每一个关联都可用一个单独的等时信道来发送数据。在 每个等时循环中,数据都能通过i td m a 发送出去。 f i f o :f i f o 是待发送和接收的数据包的暂存区域,分为异步发送f i f o 、等 时发送f i f o 和接收f i f o 。由于i e e e1 3 9 4 中规定数据为b i ge n d i a n 模式,即高 字节先发送,而丰机系统为l i t t l ee n d i a n 模式,所以进出f i f o 的四字节数据要进 行字节交换操作。 链路模块:链路模块主要完成1 3 9 4 串行总线数据包的正确发送和接收,并为 所有接收到的异步数据包产生正确的应答信号,并能充当循环控制器,产生3 2 位 的c r c 校验,提供与物理层的接口。 2 3 21 3 9 4 0 h c i 软件接口 软件与1 3 9 4 主机控制接口通信有三种基本的方式:寄存器方式、d m a 操作 和中断方式。 1 寄存器方式:主机总线( p c i ) 能够可靠地将1 3 9 4 0 h c i 的寄存器直接映射到一 部分丰机地址空间中。 2 d m a 操作:1 3 9 4 0 h c i 的d m a 传输通过两种方式完成:d m a 和物理响应 d m a 。d m a 用于描述数据缓冲区的列表的存储器数据结构,1 3 9 4 0 h c i 通过这个 缓冲区描述列表实现自动排序。物理响应d m a 可以通过对1 3 9 4 0 h c i 进行编程来 进行1 3 9 4 的读和写事务如同对丰机存储空间进行读和写一样。 3 中断方式:任何d m a 传输完成或失败时,都将向主机系统发送一个中断信号。 1 3 9 4 0 h c i 用中断事件和中断屏蔽寄存器来报告和控制中断。中断事件寄存器指出 发生的事件,中断屏蔽寄存器用来使能选择的中断。 2 4i e e e1 3 9 4 双向传输系统平台简介 2 4 1i e e e1 3 9 4 a 双向传输系统介绍 本系统分为两个部分,分别为1 3 9 4 串行总线上的两个节点,一个是1 3 9 4 传 输板节点模块,一个是p c 机节点模块。系统框图如图2 5 所示。 如图2 4 ,1 3 9 4 传输板节点模块是由d s p 和f p g a 为主要控制芯片,1 3 9 4 套 片采用t s b l 2 l v 3 2 链路层控制芯片和t s b 4 1 a b 3 物理层控制芯片。t s b l 2 l v 3 2 是一个通用的链路层设备,主要用于1 3 9 4 网络中非主机节点的链路层功能,其中 通过m c u 接口和d m 接口与f p g a 直接相连,m c u 接口留给d s p 做链路层和物 理层内部寄存器配置,d m 接口用于做大批量数据传输使用。其中d s p 选用t i 公 1 2 w i n d o w s 下i e e e1 3 9 4 双向传输系统的驱动程序及应用程序设计 司的定点控制器t m s 3 2 0 c 6 4 1 5 ,f p g a 选用x i l i n x 公司的x q 2 v 3 0 0 0 芯片,主要 负责的是u a r t 、s p i 数据接收和发送、数据拼接与数据缓存、s r a m 读写控制、 d m 端口控制、d s p 与链路层芯片之间的接口转换。 图2 5 基于i e e e1 3 9 4 的双向数据传输系统框图 p c 机模块是以符合“开放主机控制器接口”( o h c i 标准) 的丰机适配器为一 个1 3 9 4 节点,以w i n d o w s 系统为平台,w i n d o w s 系统中有一个m i c r o s o f t1 3 9 4 栈, 支持1 3 9 4 适配器,本课题丰要研究了在此基础上的w d m 设备驱动程序和上层应 用程序,这些将在第三章重点讲述。 2 4 2i e e e1 3 9 4 b 双向传输系统简介 1 3 9 4 双向传输系统的实现取决于1 3 9 4 控制芯片。t i 公司于2 0 0 3 年推出了第 一款支持i e e e1 3 9 4 b 的套片,链路层控制芯片t s b 8 2 a a 2 和物理层控制芯片 t s b 8 1 b a 3 ,支持速度可达8 0 0 m b s ,其中链路层控制芯片t s b 8 2 a a 2 支持 1 3 9 4 0 h c i ,现在这组1 3 9 4 b 套片已成为最常用的1 3 9 4 b 套片,在计算机端的使用 也比较广泛。到目前为止,1 3 9 4 b 链路层控制芯片均为支持1 3 9 4 0 h c i 的芯片,其 提供与p c i 的接口,所以系统中的1 3 9 4 传输板为基于p c i 总线1 3 9 4 系统。图2 6 为双向传输系统的系统框图,其中主要分为p c 机端模块和1 3 9 4 传输板模块两个 部分。 1 3 9 4 传输板模块:该模块主要由现场可编程阵列( f p g a ) 模块、数据输入模 块、a d 转换模块、外部s r a m 模块、1 3 9 4 b 套片模块、串口通信模块组成。 第二章i e e e1 3 9 4 技术概要 图2 6 基于i e e e1 3 9 4 b 的双向数据传输系统框图 系统中f p g a 芯片为a l t e r a 的e p 2 c 7 0 f 6 7 2 c 8 n ,链路层控制芯片为 t s b 8 2 a a 2 ,物理层控制芯片为t s b 8 1 b a 3 ,这是目前常用的1 3 9 4 b 一组套片, s r a m 为i s 6 1 l v 5 1 2 1 6 ,f p g a 与1 3 9 4 链路层芯片通过p c i 总线相连,在f p g a 中用嵌入式软核n i o si i 作为控制模块,n i o si i 是a l t e r a 公司的第二代f p g a 嵌 入式处理器,该处理器是流水线型通用r i s c 微处理器,支持3 2 位和1 6 位可 变架构,其有良好的可扩展性且价格低廉,可以根据用户的需求裁剪系统,可通 过s o p cb u i l d e r 建立a v a l o n 总线架构与外界进行数据的传输,通过s o p cb u i l d e r 建立了一个p c i 连接端口同与1 3 9 4 链路层控制芯片的p c i 总线进行互联通信,使 用n i o si ii d e 开发工具通过处理器用编写p c i 与1 3 9 4 b o h c i 的驱动和应用程序来 控制数据的传输。其中a v a l o n 结构可直接建立连接于外部f l a s h 和s r a m 连接 完成程序的少些和数据的缓存等操作。通过s o p cb u i l d e r 还可以建立u a r t 串口 模块与外部相连来传输数据。 f p g a 通过a d 转换完成数据的采集,经过n i o si i 软核控制p c i 总线上的1 3 9 4 芯片,与p c 机端的1 3 9 4 适配卡通过1 3 9 4 串行总线进行数据传输。 p c 机模块:这是本课题的主要研究对象,该模块是以p c 端的1 3 9 4 b 适配卡 为主要模块,1 3 9 4 适配卡为商业用p c 机端1 3 9 4 b 适配卡,与p c 机上p c i 总线相 连,上面的链路层控制芯片为t s b 8 2 a a 2 ,物理层控制芯片为t s b 8 1 b a 3 。1 3 9 4 b 适配卡为作为1 3 9 4 总线上的一个节点,在w i n d o w s 操作系统下通过上层应用程序, 设备驱动程序控制1 3 9 4 适配卡与1 3 9 4 b 传输板模块进行通信。p c 机模块以软件 1 4 w i n d o w s 下i e e e1 3 9 4 双向传输系统的驱动程序及应用程序设计 部分即上层应用程序为主要重点,这部分将在第四章中重点介绍。 第三章i e e e1 3 9 4 a 双向传输系统驱动程序及应用程序设计 1 5 第三章i e e e1 3 9 4 a 双向传输系统驱动程序及应用程序设计 在本课题中,i e e e1 3 9 4 设备虽然和丰机同样作为1 3 9 4 串行总线上的两个节 点,两个节点都可作为主节点,但是对计算机来说,i e e e1 3 9 4 总线设备依然是作 为计算机的外部设备而存在的,不可避免地需要计算机软硬件的支持。设备驱动 程序是操作系统识别硬件、上层应用程序和底层硬件之间进行通信的桥梁。为了 实现i e e e1 3 9 4 总线设备和计算机之间的通信,计算机端设备驱动的设计与开发是 检验系统能正常工作的关键。w i n d o w sx p 是现在最主流的操作系统,双向传输系 统就是在w i n d o w sx p 上实现的。本章主要讲述i e e e1 3 9 4 a 传输系统的驱动程序 及应用程序设计与开发。 3 1w i n d o w s 系统的驱动程序总体架构 w i n d o w s 系统存在两大分支:d o s w i n d o w s ( 3 x 和9 x ) 和w i n n t 系列,前 一个分支基于d o s ,包括后来的w i n d o w s9 5 、w i n d o w s9 8 等,w o n d o w s9 x 系列 作为从1 6 位操作系统到3 2 位操作系统的过渡产品,基本已被淘汰【6 】。另一个分支 则是w i n d o w sn t 系列,它包括w i n d o w sn t 3 1 ,w i n d o w s n t 4 0 ,w i n d o w s2 0 0 0 , w i n d o w sx p ,还有m i c r o s o f t 刚推出不久的w i n d o w s 7 ,它的内核版本是w i n d o w s n t 6 1 。 3 1 1 用户模式和内核模式 从i n t e l 8 0 3 8 6 开始,出于安全性和稳定性的考虑,该系列及以后的c p u 可以 运行于r i n 9 0 r i n 9 3 这四个从高到低不同的权限级,对数据也提供相应的四个保护 级别,不同的程序运行在不同的c p u 级别上,运行于较低级别的代码不能随意调 用高级别的代码和访问较高级别的数据,而且也只有运行在r i n 9 0 层的代码可以直 接对物理硬件进行访问。由于w i n d o w s 是一个支持多平台的操作系统,为了与其 它平台兼容,它只利用了c p u 的两个运行级别。一个被称为内核模式( k e r n e l m o d e ) ,对应8 0 x 8 6 的r i n 9 0 层,是操作系统的核心部分,设备驱动程序就是运行 在该模式下;另个被称为用户模式( u s e rm o d e ) ,对应8 0 x 8 6 的r i n 9 3 层,操作 系统的用户接口部分( 就是通常所说的w i n 3 2 a p i ) 以及所有的用户应用程序都运 行在该级别。如图3 1 所示,内核模式和用户模式是操作系统上的概念,而r i n 9 0 和r i n 9 3 是c p u 上的概念。从而,w i n d o w s 系统很好地屏蔽了底层操作,使系统 变得更安全,但它所屏蔽的正是驱动程序开发者所关心的。 1 6 w i n d o w s 下i e e e1 3 9 4 双向传输系统的驱动程序及应用程序设计 c p u操作系统 图3 1c p u 特权层和操作系统用户模式、内核模式的关系 驱动程序一般在内核模式下,拥有操作系统的最高权限。因此,编写访问硬 件设备的驱动程序时需要格外小心。在用户模式下的各种保护措施,在内核模式 下都没有,编写的时候出现的小小漏洞都有可能造成系统的崩溃。 3 1 2w d m 驱动程序概念及重要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内蒙古乌海市第十中学2026届高三上学期11月月考化学试卷(含答案)
- 江西省上饶市民校考试联盟2025-2026学年高三上学期阶段测试(二)化学试卷(含答案)
- 林草种苗工安全实践模拟考核试卷含答案
- 农作物种植技术员岗前实操能力考核试卷含答案
- 乙烯装置操作工岗前基础在岗考核试卷含答案
- 药用动物养殖员岗前生产安全效果考核试卷含答案
- 耐蚀衬胶工安全技能测试模拟考核试卷含答案
- 矿石破碎筛分工达标测试考核试卷含答案
- 2026年病理科规培医师出科考试题(含答案)
- 2026年《汽车车载网络技术》期末考试考前冲刺测试卷包含答案详解(综合卷)
- 企业级BOM培训课件
- 主井提升培训课件
- 浙江金石亚药医药科技有限公司迁扩建项目环评报告
- 酒店安全巡查日常检查记录表
- 招商岗位测试题及答案
- 医院后勤管理与设备职责
- 绩效评价实施方案及报告
- 《左传》完整版本
- 周三多-管理学:原理与方法(第七版),第三章
- 无人机遥感图像融合
- 高考英语复习读后续写练习 善举篇 改变家乡为无法使用操场的孩子们带来福音 课件
评论
0/150
提交评论