(电子科学与技术专业论文)基于wdf的pcie接口高速数据传输卡的驱动程序开发.pdf_第1页
(电子科学与技术专业论文)基于wdf的pcie接口高速数据传输卡的驱动程序开发.pdf_第2页
(电子科学与技术专业论文)基于wdf的pcie接口高速数据传输卡的驱动程序开发.pdf_第3页
(电子科学与技术专业论文)基于wdf的pcie接口高速数据传输卡的驱动程序开发.pdf_第4页
(电子科学与技术专业论文)基于wdf的pcie接口高速数据传输卡的驱动程序开发.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国防科学技术大学研究生院硕士学位论文 4b s t r a c t c o m p u t e ri 0t e c h n o l o g yi s o fk e yi m p o r t a n c ei nt h ed e v e l o p m e n to fh i 曲 p e r f o r m a n c ec o m p u t i n g t h eh i g h - s p e e dd a t ar a t e so fp c ie x p r e s ss y s t e ma r c h i t e c t u r e m a k ei tav e r yb r o a dp r o s p e c tf o rd e v e l o p m e n t o nn o w ,c o m p u t e rc o n t r o l sm o r ea n d m o r ee l e c t r o n i cd e v i c e s ,p c ie x p r e s sb u si sd e f i n e dag o o dc h o i c ei nt h ea r e ao f 1 1 i 曲- s p e e dd a t at r a n s m i s s i o n t h e r e f o r e ,t h ew o r ki s v a l u a b l eo nd e v e l o p i n gp c i e x p r e s sb u sd r i v e r b a s e do nt h eh i :曲- s p e e dd a t at r a n s m i s s i o na d a p t e ro fp c ie x p r e s sb u sd e v e l o p e d b yo u r s e l v e s , w ed i s c u s st h ek e yi s s u e s ,a n dg i v et h er e s o l u t i o n so ft h ed e v e l o p m e n t so f g e n e r a lp c ie x p r e s sd e v i c ed r i v e r ,t h i sp a p e rp l a c e sm o s ti m p o r t a n c eo nt h ea n a l y s i s a n de x p l a n a t i o n so fd e v i c ed r i v e r , h a r d w a r ep o r ta n da p p l i c a t i o np r o g r a m s i ta l s o i n t r o d u c e sa ne f f e c t i v em e t h o do fd e v e l o p i n gt h ed e v i c ed r i v e r 埘t 1 1c o m m a n dc o n t r o l , i n t e r r u p tp r o c e s sa n dd m a f u n c t i o nu s i n gw d fd r i v e rm o d e a tf i r s t , t h i sd i s s e r t a t i o nr e s e a r c h e sp c ie x p r e s sb u sp r o t o c o lb a s e d0 1 1 , c o m p a r i n g p c ia n dp c ie x p r e s sa n dr e v e a l st h eh a r d w a r ef r a m e w o r ki nd e t a i lo nf p g a t e c h n o l o g ya n du s i n gt h eh i g h - l e v e ld e s i g nm e t h o d 1 f 1 1 ed i s s e r t a t i o ni sc l u e db yt h e d e s i g na n di m p l e m e n t a t i o no ff u n c t i o nm o d u l e ,a n di te x p a t i a t e so nt h es u b j e c to fp o w e r m a n a g e ,c l o c km a n a g e ,d d rc a c h e 、p c ie x p r e s si n t e r f a c e 、f i b e rc h a n n e la n dq t e e x p a n di n t e r f a c e t h e n ,t h i sd i s s e r t a t i o nr e s e a r c h e st h ek e r n e la r c h i t e c t u r eo ft h e w i n d o w so sa n dt h ew a yo fd e v e l o p i n gaw d fd r i v e r 1 1 1 ef r a m e w o r ka n dm e c h a n i s m o fw d fd r i v e rm o d ea r ei n t r o d u c e dt h o r o u g h l y t h em e t h o do fh i g h s p e e dd a t a t r a n s m i s s i o na d a p t e rd r i v e ri sp r e s e n t e df r o mt h eo b j e c t so ft h ei n i t i a l i z a t i o no fd r i v e r p r o g r a m ,i r pp r o c e s s i n g ,i n t e r r u p tr e s p o n d ,d m ao p e r a t i o na n da p p l i c a t i o ni n t e r f a c e a tl a s t , t h em e t h o da n dr e s u l to fd e b u g , i n s t a l la n dt e s tw i l lb ep u tf o r w a r da c c o r d i n gt o c h a r a c t e r i s t i co fh i g h - s p e e dd a t at r a n s m i s s i o na d a p t e r a tp r e s e n t , t h eh i g l l - s p e e dd a t at r a n s m i s s i o na d a p t e ra n di t sd r i v e rb a s e do np c i e x p r e s si n t e r f a c eh a sb e e ns u c c e s s f u l l yu s e di nt h es y s t e mf o rh i 曲一s p e e da n dl a r g e s t o r a g e ,a n ds a t i s f i e st h en e e d k e yw o r d sl p c ie x p r e s si n t e r f a c ed r i v e rp r o g r a mw d ff r a m e w o r k h i g h s p e e dd a t at r a n s m i s s i o n d m a 第i i 页 国防科学技术大学研究生院硕士学位论文 表目录 表1 1总线频率带宽插槽数比较2 表1 2 p c ie x p r e s s 多链路传输速率表3 表2 1 硬件各部分所需电压9 表2 2d d r 控制器的命令格式与内容1 2 表2 3 p c ie x p r e s s 接口功能寄存器1 4 表3 1w d f 驱动支持的i r p 主功能码2 4 表4 1p c ie x p r e s s 的4 k b 配置空间3 0 第1 页 国防科学技术大学研究生院硕士学位论文 图1 1 图2 1 图2 2 图2 3 图2 4 图2 5 图2 6 图2 7 图2 8 图2 9 图2 1 0 图2 1 1 图3 1 图3 2 图3 3 图3 4 图3 。5 图4 1 图4 2 图4 3 图4 4 图4 5 图4 6 图4 7 图4 8 图4 9 图4 1 0 图5 1 图5 2 图5 3 图5 4 图5 5 图目录 p c ie x p r e s s 物理层层次结构4 高速数据传输系统结构框图8 高速数据传输卡总体设计9 电源管理模块设计框图1 0 i c s 8 4 4 2 的封装图1 1 时钟管理模块ll d d r 逻辑设计框图1 3 p c ie x p r e s s 接口模块整体结构13 光纤传输模块硬件连接:15 h f b r 5 7 2 0 l 光电转换模块结构图15 q t e 接口模块硬件设计1 6 q t e 接口电路1 6 w i n d o w s2 0 0 0 系统结构1 7 设备对象和驱动程序的层次结构2 0 b u f f e r 和d i r e c t 传输方式2 5 w d f 驱动处理i r p 的流程2 6 中断请求级2 7 p c ie x p r e s s 驱动程序的总体流程3 2 d r i v e r e n t r y 函数的运行流程3 3 驱动程序获取高速数据传输卡内存空间的流程。3 5 p c i e 驱动初始化i o 队列流程图。3 7 初始化中断处理的流程3 8 初始化d m a 操作4 0 处理i o 请求4 2 d m a 操作的流程图。4 4 p c ie x p r e s s 传输卡驱动d m a 操作的具体过程4 5 处理硬件中断4 6 c r e a t en e wl o gs e s s i o n 对话框5 0 设置调试信息的输出等级。5 0 找到新硬件向导对话框5 1 p c ie x p r e s s 传输卡驱动安装后的结果。5 1 d m a 数据传输和硬件中断测试流程5 2 第页 国防科学技术大学研究生院硕士学位论文 图5 6 驱动程序功能测试结果5 3 图5 7 驱动程序内存读写测试结果5 4 图5 8d m a 传输速度测试原理5 4 圈5 9d m a 传输速度测试结果5 5 第v 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:吗卫亟锋日期:加。多年f 月,甲日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:基王塑里的里g ! 曼接望直速熬堡笾捡圭鲍堡度猩庄亚崖 学位论文作者签名:趁函缝 一 作者指导教师签名:壹釜兰然 日期:歹口。3 年 月,日 日期:沙。汐年月f 妒日 国防科学技术大学研究生院硕士学位论文 第一章绪论 1 1 课题研究背景 自w i n d o w s2 0 0 0 开始,开发驱动程序必以w d m ( w i n d o w sd r i v e rm o d e l ) 为基 础的,但其开发难度之大,根本不能奢望像用户模式应用程序开发那样容易。为 改善这种局面,微软推出了新的驱动程序开发环境。要预先指出的是,这不是另 起炉灶改弦更张,而是以w d m 为基础进行了建模和封装,显著特点是降低了开 发难度。因为: l 、将原来普通程序设计中基于对象的技术应用到了驱动开发中。w d m 中虽 也有对象模型,但与真正的基于对象技术根本就不是一回事。为了实现基于对象 的技术,微软精心设计了对象模型并进行了封装。属性、方法、事件等等“一个 都不能少 。 2 、无论内核模式的驱动程序或者用户模式的驱动程序,都采用同一套对象 模型构建,采用同一个基础承载。这个基础就是w d f ( w i n d o w sd r i v e rf u n d a t i o n ) 。 w d f 虽然已经是经过封装和定义的对象模型,但对内核模式和用户模式对象来说, w d f 又是两者的父对象。换言之两者都是继承了w d f 才得到的,或者都是从w d f 派生而来的。相对于内核模式,派生出的对象称为“k m d 框架”即k m d f ;相对 于用户模式,派生出的模型称为“u m d 框架 即u m d f 。无论何种模式的框架, 其内部封装的方法、执行的行为其实还是用w d m 完成的。 3 、更重要的是封装了驱动程序中的某些共同行为:例如即插即用和电源管 理就属于这种共同行为。因为大多数驱动程序中都需要处理即插即用和电源管理 问题,这大概要上千行的代码,况且,没有相当水平还不一定能处理好。为了一 劳永逸,w d f 将即插即用和电源管理封装了进了对象之内,一举成了对象的缺省 ( 默认) 行为。 4 、改变了操作系统内核与驱动程序之间的关系,w d m 驱动程序中,一方面 要处理硬件,另一方面要处理驱动程序与操作系统内核的交互。现在w d f 则将驱 动程序与操作系统内核之间进行了分离,驱动程序与操作系统交互工作交给框架 内封装的方法( 函数) 完成,这样驱动开发者只需专注处理硬件的行为即可。这 不仅避免了顾此失彼两面不周的弊端,也由于双方的分离,对操作系统内的某些 改动,硬件制造商配套驱动程序的开发都有莫大的好处。 5 、两种模式的驱动程序( k m d f 、u m d f ) 都使用同一环境进行构建,这一 环境称为w d k 。 6 、虽然经过封装并引入基于对象的技术,所开发的驱动程序在执行效率上 第1 页 国防科学技术大学研究生院硕士学位论文 并不比原来逊色。 正是由于w d f 驱动模型的这些优点,本文在研究w d f 的基本架构和运行原 理的基础上,设计了高速数据传输卡的p c ie x p r e s s 接口驱动。 1 2p c ie x p r e s s 总线 1 2 1p c ie x p r e s s 总线与p c i 总线的比较 计算机i o 技术在高性能计算发展中始终是一个关键技术。其技术特性决定了 计算机i o 的处理能力,进而决定了计算机的整体性能以及应用环境。从根本上来 说,无论现在还是将来,i o 技术都将制约着计算机技术的应用与发展,尤其在高 端计算领域。近年来随着高端计算市场的日益活跃,高性能i o 技术之争也愈演愈 烈。当计算机运算处理能力与总线数据传输速度的矛盾日益突出时,新的总线技 术便应运而生。 在过去的十几年间,p c i ( p e r i p h e r a lc o m p o n e n ti n t e r c o n n e c t ) 总线是成功的,它 的平行总线执行机制现在看来依然具有很高的先进性,但其带宽却早已露出疲态。 p c i 总线分有六种规格( 表1 1 所示) ,能提供1 3 3 m b p s 到2 1 3 1 m b p s 的数据传输速 率,而对于现有高性能产品例如万兆以太网或者光纤通信,传统的p c i 的数据传 输速率早己入不敷出。 表1 i总线频率带宽力香槽数比较 总线类型总线形式时钟频率峰值带宽 每条总线上板卡插槽数 p c i3 2 位并行3 3 毗z1 3 3 m b s4 5 p c i3 2 位并行6 6 m h z2 6 6 m b s 1 2 p c i x3 2 位并行6 6 m h z2 6 6 m b s4 p c i x3 2 位并行1 3 3 m h z5 3 3 m b s l 2 p c i x3 2 位并行2 6 6 m h z10 6 6 m b sl p c i x 3 2 位并行 5 3 3 m h z 2 1 3 1 m b s1 木对于6 4 位总线实现,上述所有带宽加倍 仔细分析传统的p c i 信号技术,可发现并行式总线已逐渐走近其性能的极限, 该种总线已经无法轻易地提升频率或降低电压以提高数据传输率:其时钟和数据 的同步传输方式受到信号偏移及p c b 布局的限制。高速串行总线的提出,成功的 解决了这些问题,其代表应用就是p c ie x p r e s s 。 p c ie x p r e s s 采用的串行方式,并且真正使用“电压差分传输”即是两条信号 线,以相互间的电压差作为逻辑“0 ”,“1 ”的表示,以此方式传输可以将传输频率 第2 页 国防科学技术大学研究生院硕士学位论文 作极高的提升,使信号容易读取,噪声影响降低。由于是差分传输,所以每两条信 号线才能单向传送l 比特,即一根信号线为正、另一根信号线为负,发送互为反 相的信号,每一个“l 比特 的两条信号线称为一个差分对。按p c ie x p r e s s 技术 规范规定,一个差分对的传输速率为2 5 g b p s 。实际使用中,则要使用两个差分对 作为一个条链路,分别用做发送和接收。 因为有了这样的机制,使得数据带宽是可以弹性调配的。根据相关标准p c i e x p r e s s 总线能够以x l x 2 x 4 x 8 x 1 2 x 1 6 x 3 2 进行传输( 表 2 ) ,可提供5 g b p s 到 t 6 0 g b p s 的传输带宽。当系统内某一通道需要更高频宽时,可以机动调度多个链路 给该通道,让其传输频宽提升,以适应一时激增的数据传输需求。应该指出的一 点是,当使用多个传送链路时,数据将按每个数据链路8 比特分割,数据包通过 不同的数据链路中传输,接收端再重新组装数据包。 表1 2p c ie x p r e s s 多链路传输速率表 p c ie x p r e s s 链路 x 1x 2x 4x 8x 1 2x 1 6x 3 2 宽度 传输带宽( g b s ) 5 o1 0 02 0 o4 0 06 0 o8 0 o1 6 0 o 有效带宽( g b s ) 4 o8 o1 6 03 2 o4 8 06 4 01 2 8 o * 8 b 1 0 b 编码使实际有效数据带宽损失2 0 ,每链路包含一对发送接收模块, 每模块单向传输带宽2 5 g b s 除了传输方式的改变外,p c ie x p r e s s 还有一个更有意义的改变,即连接方式 的改变。p c ie x p r e s s 采用点对点连接方式,较p c i 的共享总线方式是一个重要的 进步。对于p c i 的共享总线方式,p c i 总线上在某一时刻只能有一个设备进行通信, 一旦p c i 总线上挂接的设备增多,每个设备的实际传输速率就会下降,性能也得 不到保证。而p c ie x p r e s s 则采用一种较为先进的连接方式,以点对点的方式处理 通信,每个设备在要求传输数据时建立独立的传输通道,对于其它设备这个信道 是封闭的,这种操作方式保证了通道的专有性,避免其它设备的干扰,使信号的 质量和可靠性增加。由于是点对点的关系,也很好的保证了其扩展性。由于p c i e x p r e s s 只是扩展总线,与操作系统无关,也可保证其与原有p c i 的兼容性,给用 户的升级带来了方便。 p c ie x p r e s s 不但具有高性能的传输速率,而且其通用性也有重要的意义。由 于其通用的模式,不仅可用于北南桥和其它设备的连接,也可以延伸到芯片组间 的连接,甚至也可以用于连接图形芯片。这样整个计算机的i o 系统将重新统一起 来,将更进一步的简化计算机系统,使其具有更强的通用性。 从目前己经显现的特点看,p c ie x p r e s s 一改传统p c i 的并行总线架构,因此 第3 页 国防科学技术大学研究生院硕士学位论文 比其它i o 技术有着更为领先的带宽优势,随着时间的推移有逐步取代p c i 和 p c i x 的趋势。p c ie x p r e s s 被广泛地认为是一项革命性的总线技术,其重要性可 以满足不同使用者的需求。随着未来持续增加的带宽需求,p c ie x p r e s s 具有非常 广泛的应用前景。 ,1 2 2p c ie x p r e s s 系统掺议层次结构 p c ie x p r e s s 规范定义了一种分层式结构,该种分层体系结构使其具有可扩展 性、模块化以及可重用机制。从体系结构上可将其分为四层,从上至下分别为物 理层、数据链路层、事务处理层以及软件层。 p c ie x p r e s s 系统体系结构如图1 1 所示。 。 三覃三 三垂三 ” 二卒 三至二 堕亟垂匝四 r _ x :t x p h y g i c a l (。!。奄。u。b。-。b。l。o。,( l o g i c a l u b - b l o c k ) 。e 。1 7 e 。c 1 1 t l r 。i 。c 。a 。l 。:。s 。u 。b 。- 。b 。l o 。c 。k 。 _ r x :t x 图1 1 p c ie x p r e s s 物理层层次结构 其结构包括物理层、数据链路层、事务处理层以及软件层。这些层可进一步纵向 一分为二:发送部分( t x ) 和接收部分( r x ) 。发送部分处理向模块外的通信, 而接收部分处理向模块内的通信。值得一提的是,层式结构只是一种概念的表述 方式,而不是一种功能实现方法。 1 、软件层 软件兼容性对第三代输入输出总线来说至关重要。软件兼容包括两个层面:一 是器件的初始化和自动配置( e n u m e r a t i o n ) ,二是器件的运行( r u n t i m e ) 。 p c ie x p r e s s 通过保留p c i 的配置空间和输入输出器件资源配置的可重设性, 支持所有p c i 的操作系统可以不需任何改变便可在p c ie x p r e s s 平台上运行自如。 p c i 支持的软件运行模式是基于存取( 1 0 a d s t o r e ) 模式和共享存储器模式。这 一软件运行模式也被p c ie x p r e s s 所沿用。现有软件可以不加修改便可直接运行并 获得更好的性能,而新软件可通过利用p c ie x p r e s s 的新功能来进一步提升性能与 功能。 2 、事务处理层( t r a n s a c t i o nl a y e r ) 事务处理层接收来自软件层或应用层的读写请求,然后形成交易请求包并传 第4 页 咖一 唧一 国防科学技术大学研究生院硕士学位论文 给数据链路层。所有请求将被分割,部分请求需要应答。事务处理层也接收来自 数据链路层的应答包并与来自软件层的原始请求进行对比。每一个包都有一个独 一无二的标号,这样应答包可被传给正确的请求者。 事务处理层支持四种寻址空间。其中三种已存在于p c i 寻址空间中( 存储器、 输入输出设备和配置) ,另一寻址空间为新增加的消息空间。p c ie x p r e s s 标准重 新采用了消息中断( m s i ) 概念,并作为中断处理的主要方法。p c ie x p r e s s 使用 消息( m e s s a g e ) 空间来支持p c i 的带内信号( i n - b a n ds i g n a l i n g ) ,如中断、电源 管理请求、复位等等。 3 、数据链路层( d a t al i n kl a y e r ) 数据链路层的主要作用是确保数据链路包在数据链路层上的可靠传送。它确 保数据的完好无损和对来自交易层的交易包添加序列号和c r c 。种基于信用 ( c r e d i t s ) 的数据流控制协议确保只有当另一接收端有充足的存储缓冲器时才发送 数据。这样就避免了重新传送所带来的带宽浪费。一旦发现数据链路包不完整或 丢失,数据链路层会自动地重传那些数据链路包。 4 、物理层( p h y s i c a ll a y e r ) 最基本的物理连接包括两个低电压差分驱动信号对,即接收差分对和发送差 分对。通过嵌入采用8 b 1 0 b 编码机制的数据时钟,可以获取很高的数据传输速率 单链路可以达到2 5 g b s 的数据传输率。物理层在两个p c ie x p r e s s 模块之间的链 路层间传输数据包。 通过增加信号线对,可以线性地扩展p c ie x p r e s s 的带宽。物理层可支持x l 、x 2 、 x 4 、x 8 、x 1 6 及x 3 2 路带宽。 1 2 3p c ie x p r e s s 规则发展情况 p c ie x p r e s s 第一个规范版本1 0 版基础规范( b a s es p e c i f i c a t i o n ) 于2 0 0 2 年7 月 2 2 日对外公开发布。 2 0 0 5 年3 月p c i - s i g 推出了p c ie x p r e s s1 1 规范,更新了b a s ec a r d e l e c t r o m e c h a n i c a l 和m i n ic a r de l e c t r o m e c h a n i c a l 规范。p c i s i g 通过大量的更新说 明和改进,提升了这整个规范。直到1 1 版本颁布,p c ie x p r e s s 规范才算真正完 成,为p c ie x p r e s s 技术的快速发展奠定了坚实的基础。 p c ie x p r e s s2 0 规范于2 0 0 7 年初颁布。p c ie x p r e s s2 0 规格的主要新特性如 下: ( 1 ) 重点是速度提升:每条串行线路的数据传输率从2 5 g b p s 提升至5 g b p s 。 ( 2 ) 更好地支持高端显卡,支持功耗达到2 2 5 w 或者3 0 0 w 的设备。 ( 3 ) 新增“输入输出虚拟化”( i o v ) 技术,可以让多台虚拟机共享网卡等p c i 第5 页 国防科学技术大学研究生院硕士学位论文 设备。 ( 4 ) p c ie x p r e s s 线缆子规范可让p c i 设备通过标准化铜缆线接入计算机,而且 每条线路的速度都能达到2 5 g b p s ,适用于为高端服务器加入多块网卡作为输入输 出扩展模块等场合。 自从2 0 0 4 年第一款基于p c ie x p r e s s 产品问世之后,该标准的制定者p c i s i g 仍不断对已有标准进行改进,p c ie x p r e s s 总线标准将不断被完善。 1 3 课题主要工作和研究成果 本课题在充分了解w d f 驱动模型和p c ie x p r e s s 协议的基础上,针对自行研 发的高速数据传输卡设计了一个具有寄存器读写,中断处理和d m a 数据传输功能 的驱动程序。 课题的主要工作和研究成果包括以下几个方面: ( 1 ) p c e x p r e s s 总线协议的研究 驱动程序的目地是用来控制硬件设备,不同的接口驱动程序的设计方法大不 一样。本文在设计驱动程序之前对p c ie x p r e s s 总线协议作了简单的介绍,特别是 对与驱动程序设计密切相关的p c ie x p r e s s 配置空间作了详细的分析。 ( 2 ) w d f 驱动框架研究 w d f 驱动模型是在w d m 的基础上建模、封装而形成。本文在结合w d m 模 型,并根据微软提供的开发手册,对w d f 框架作了比较深入的剖析。 ( 3 ) w d f 驱动程序开发 针对p c ie x p r e s s 高速数据传输卡,独立开发了一个基于w d f 框架的驱动程 序,经过调试和性能测试,该驱动运行稳定。与传输卡配合,在d m a 模式全速下 运行,数据读取速度在6 2 0 m b s 左右,写入速度在6 0 0 m b s 左右。 ( 4 ) 系统测试软件的设计 为了测试驱动程序的功能及性能指标,独立设计了一个针对高速数据传输卡 的测试软件。该软件方便的测试驱动程序各个模块的功能,并且能直观显示数据 传输的瞬时速度与历史记录。 1 4 文章的结构 论文共分为5 章,各章组织如下: 第章介绍论文的研究背景、p c ie x p r e s s 总线的传输特性、课题的主要工作 和研究成果。 第6 页 国防科学技术大学研究生院硕士学位论文 第二章比较详细地介绍了高速数据传输卡的总体结构和各个模块设计。 第三章对w d f 驱动模型进行了详细的研究。 第四章详细介绍了p c ie x p r e s s 高速数据传输卡驱动程序的设计过程。 第五章详细介绍了驱动程序的安装,调试的方法,并对驱动的性能和功能作 了全面的测试。 第7 页 国防科学技术大学研究生院硕士学位论文 第二章高速数据传输卡硬件设计 p c ie x p r e s s 高速数据传输卡是自行研发的一款数据传输设备。传输卡的核心 是f p g a ,它用来配置p c ie x p r e s s 接口寄存器、基地址寄存器、m e m o r y 空间, 并作为d m a 主控制器来实现数据的高速传输。数据传输系统的基本结构框图如图 2 1 所示: 厂一一l l 数据传输卡 l 数据采集系统 一i f p g a氍扒 或存储设备 吲鼬w p c 或服务器 i - 。一 图2 1 高速数据传输系统结构框图 如果光纤接口接的是数据采集系统,则传输卡将采集的数据向上传输到服务 器或p c 处理;如果光纤接口接的是数据存储系统,则传输卡将上位机的数据向下 传输到存储设备;f p g a 为高速数据传输卡的核心,负责整个传输卡的时序及功能 控制。 2 1 高速数据传输卡总体设计 高速数据传输卡主要由6 个模块组成:电源管理模块,时钟管理模块,p c i e x p r e s s 接口模块,d d r 存储模块,q t e 扩展接口模块和光纤接1 3 模块。如图2 2 所示。电源管理模块为系统提供足够功率和较小纹波电源;时钟管理模块为系统 的稳定运行提供不同频率的时钟;p c ie x p r e s s 接口模块为传输卡与上位机通信的 通道,它是利用f p g a 成熟的i pc o r e 技术实现的;d d r 存储模块为数据的快速 传输提供大容量的缓存,它与p c ie x p r e s s 接e l 一样,利用f p g a 的i pc o r e 技术 实现;s c s i 接口模块用来连接数据采集系统或高速存储设备:q t e 扩展接口模块 用来扩展高速数据传输卡的功能,可以利用q t e 接口背一块特定功能的背板来拓 展应用。下面主要介绍传输卡的电源管理模块,时钟管理模块,d d r 存储模块、 p c ie x p r e s s 接口模块、光纤传输模块以及q t e 扩展接口模块。 第8 页 国防科学技术大学研究生院硕士学位论文 图2 2 高速数据传输卡总体设计 2 2 电源管理模块 电源模块是决定一个硬件系统是否稳定可靠的关键因素,一个高可靠性的电 源可以提供足够大的功率和较小的纹波以保证系统工作正常。通过对系统功耗分 析可以得出系统的平均功耗在1 5 w 左右,当系统上电时或者f p g a 全速工作时系 统峰值功耗可达到3 0 w 左右,对于这种功率需求,系统决定使用电源模块为各个 电压单独供电。 传输卡的电源管理模块将+ 1 2 v 的外部电源进行稳压并分成各种幅度的电压, 供各个模块单独使用。 f p g a 主控制器选用v i r t e x 5 系列中的x c 5 v l x 5 0 t ,它需要多个电压幅度:i o v 、 1 2 v 、2 5 v 和3 3 v 。 d d r 是由j e d e c 进行开发的新生代内存技术标准,它的供电电压是1 8 v 工 作电压和0 9 v 的参考电压。 时钟管理模块,采用i c s 8 4 8 2 时钟芯片,它需要1 2 v 的供电电压。 光纤传输接口的主要器件s f p 光电转换模块采用h f b r 5 7 2 0 l ,2 1 2 5 g b d 的 多模式s f p 。其供电电压是3 3 v 。表2 1 显示了硬件各个部分的供电电压。 表2 1 硬件各部分所需电压 器件电压m f p g a ( v i r t e x 一5x c 5 v l x 5 0 t ) 1 01 22 53 3 d d r1 80 9 时钟芯片( i c s 8 4 8 2 ) 1 2 s f p 光电装换模块 3 3 第9 页 国防科学技术大学研究生院硕士学位论文 电源管理模块的框图如图2 3 所示: 图2 3 电源管理模块设计框图 传输卡采用多级供电模式,外部1 2 v 电源来自p c ie x p r e s s 接口,第一级供电 电源模块要能够承受足够的功率,选用t e x a si n s t r u m e n t s 公司的p t h l 2 0 0 0 w 电源 模块将1 2 v 电压转换成5 v ,通过爱利信电源模块p m c 4 5 1 8 t w s ,将5 v 的电压分别 稳定在1 8 v ,2 5 v 和1 o v ,其中1 8 v 的电压再通过t e x a si n s t r u m e n t s 公司的 t p s 5 1 1 0 0 模块生成d d r 的参考电压o 9 v ,同时t p s 5 1 1 0 0 模块工作电压要用到5 v , 另外1 8 v 的d d r 2 供电电压,再利用m a x i m 的m a x 8 5 5 7 电源模块分成f p g a 内核工 作所需的工作电压1 2 v 和1 0 v 。 2 3 时钟管理模块 时钟对高速数据传输卡来说显得尤为重要,由于时钟信号的时序准确性直接 影响到系统的动态特性。时钟模块的常用设计有三种: ( 1 ) 直接由单片机f p g a d s p 等数字器件产生。这种方式中,时钟实际是由这 些数字器件外接的晶振经过器件内部的倍频电路或者锁相环电路产生,由于数字 器件对时钟抖动并不敏感,故其内部产生的时钟精度并不高,通常的抖动都有几 百p s 至数r l s ,在高速传输系统中,这种时钟抖动往往会极大制约系统性能的提高。 ( 2 ) 由锁相环系统产生,锁相环系统自身是一个反馈系统,故在产生高频信 号上有自身的优势:频率飘移小,频谱纯度高。锁相环的时钟精度是由一系列器 件:p l l ,v c o ,环路滤波器等共同决定的,只有整体设计全部达到要求,锁相环 才能实现高精度的时钟输出,这就对电路设计提出了很高要求,也会增加调试和 维护的难度。 ( 3 ) 由专用时钟芯片产生。专用时钟芯片通常是把锁相环,v c o ,环路滤波等 电路集中在一个芯片内,通过简单的数字控制信号就可以产生各种不同频率的时 第1 0 页 国防科学技术大学研究生院硕士学位论文 钟信号。该器件既有数字电路的控制简单,调试方便的特性,又有锁相环电路高 精度,低抖动的优点。 在高速数据传输卡中,f p g a 需要一个系统时钟:d d r 需要一个独立时钟;p c i e x p r e s s 接口正常工作需要一个高速时钟;光纤传输模块有四个光纤模块,每个光 纤模块有其独立的高速时钟。由于硬件系统对时钟要求的严格,因此,时钟产生 模块采用专用的时钟芯片产生。时钟芯片选择了i d t 公司的i c s 8 4 4 2 时钟芯片。 i c s 8 4 4 2 的封装如图2 4 所示: 芦娄薹 蓉吾寿至蓦璺堇恶 m 5 m 6 m 7 m 8 n 0 n n c g n d 3 23 13 02 9 2 8 2 72 8 2 5 l c s 8 4 4 2 1 a u t e s t _ c l k x 玖乙s e l v 叩 sl o a d s _ d a t a s - c l o c k 麓冀 萤喜季垂手蚕垂詈 。篡。召 图2 4i c s 8 4 4 2 的封装图 该芯片提供双路差分l v d s 时钟输出;输出时钟频率范围在3 1 2 5 m 到7 0 0 m h z 之间;输入晶振频率在1 0 m 到2 5 m h z 之间;v c o 的振荡范围在2 5 0 m 到7 0 0 m h z 之间;拥有并行和串行控制接口,可编程输出计数器和分频器;r m s 周期抖动典 型值是2 7 p s , 周期到周期的抖动典型值是1 8 p s ;3 3 v 的供电电压;0 到8 5 c 的 操作范围,这些特点符合本系统的时钟设计需求。 如图2 5 所示,p c ie x p r e s s 接口的时钟从p c i e 总线上获得,晶振提供f p g a 的系统时钟,d d r 的时钟从f p g a 的全局时钟生成,其他模块所需的时钟由时钟芯 片提供。 图2 5 时钟管理模块 时 钟 输 出 第l l 页 孔孜钉约伯盯 国防科学技术大学研究生院硕士学位论文 2 4d d r 存储模块 d d r 全称为d o u b l ed a t ar a t es d r a m ( 同步动态随机存储器) ,利用时钟的上 升和下降沿进行数据传输,比s d r 提高了近一倍的带宽。d d r 内存是在s d r a m 内存基础上发展而来的,仍然沿用s d r a m 生产体系。s d r a m 在一个时钟周期内 只传输一次数据,它是在时钟的上升期进行数据传输;而d d r 内存则是一个时钟 周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据,因此 称为双倍速率同步动态随机存储器。 d d r 内存可以在与s d r a m 相同的总线频率下达到更高的数据传输率。与 s d r a m 相比,d d r 运用了更先进的同步电路,使指定地址、数据的输送和输出 主要步骤既独立执行,又保持与c p u 完全同步;d d r 使用了d l l ( d e l a yl o c k e d l o o p ,延时锁定回路提供一个数据滤波信号) 技术,当数据有效时,存储控制器可 使用这个数据滤波信号来精确定位数据,每1 6 次输出一次,并重新同步来自不同 存储器模块的数据。d d r 本质上不需要提高时钟频率就能加倍提高s d r a m 的速 度,它允许在时钟脉冲的上升沿和下降沿读出数据,因而其速度是标准s d r a 的 两倍。 d d rs d r a m 是一种易失性存储器器件,掉电后存储在d d rs d r a m 中的数 据将会丢失。d d r 存储模块采用f p g a 的i pc o r e 技术实现,作为控制器的f p g a 主要管理内存数据的读取和写入,提供所有必要的控制信号,为其它模块提供控 制接口。 通过f p g a 控制d d r ,主要采用了d d r 控制器。对d d r 进行初始化后,进 行命令控制,完成数据的缓存。控制器发出的命令如表2 2 所示。 表2 2d d r 控制器的命令格式与内容 信号编号 功能r a sc a sw e l 加载模式寄存器( l o a dm o d er e g i s t e r ) ll l 2 自

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论