(计算机应用技术专业论文)基于pci总线的多串口通讯卡的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于pci总线的多串口通讯卡的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于pci总线的多串口通讯卡的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于pci总线的多串口通讯卡的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于pci总线的多串口通讯卡的研究与实现.pdf_第5页
已阅读5页,还剩77页未读, 继续免费阅读

(计算机应用技术专业论文)基于pci总线的多串口通讯卡的研究与实现.pdf.pdf 免费下载

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

文档简介

首都师范大学硕f :学位论文 摘要 摘要 多串口数据通讯是计算机应用方向的一个重要分支,主要研究的是数据的多串口采 集,存储和处理。基于p c i 总线技术的多串口数据通讯卡,一直是市场追求的热点。 在总线技术中,p c i 局部总线凭借其优异的数据传输性能,成为微机总线的主流。但 是,由于p c i 总线协议十分复杂,直接为它设计相匹配的数字逻辑控制电路难度很大。本 课题采用p l x 公司的专用接口芯片p c i 9 0 5 2 ,实现与p c i 总线的兼容。 本课题来源于沈阳太空加油机公司与中石油中石化合作的项目“加油机智能卡系统”。 本文对p c i 多串口通讯卡技术进行了探讨和深入研究,设计了基于p c i 总线的接口电路, 成功制作了接口电路板,并在w i n d o w s 和l i n u x 操作系统上分别编写了相应的驱动程序。 整个系统主要包括两个部分:硬件电路设计和软件驱动设计。硬件设计方面的主要成 果有:选择接口芯片p c i 9 0 5 2 实现与p c i 总线的兼容、运用v h d l 语言和c p l d 实现了硬 件电路的内部逻辑控制、利用p r o t e l 9 9 设计了硬件系统的原理图和p c b 图、制作电路板并 最终调试成功。在这个过程中:解决了用户定制串口的问题,避免资源浪费,提高了性价 比;采用r s 一4 2 2 标准保证数据传送的抗干扰能力和数据远距离传输;采取多路并行设计 保证较高的端口波特率;软件设计方面的主要成果有:按照模块化程序设计的思想, 利用d r i v e r s t u d i o 和v i s u l ac + + 设计出基于w i n d o w s 的多串口卡设备驱动程序;分 析了l i n u x 内核及其与设备驱动程序的关系,根据l i n u x 设备驱动的结构提出了 l i n u x 设备驱动程序具体的设计和实现流程。保证了多串口卡能应用于多操作系统。 经过反复试验,该系统能够顺利完成多串口的数据传输,并在全国几十个加油站广泛 应用。 关键字:多串口,p c i 总线,p c i 9 0 5 2 ,w d m ,d r i v e r s t u d i o ,l i n u x 首都师范大学硕- j :学位论丈 a b s t r a c t a b s t r a c t t h em u l t i c o md a t at r a n s m i s s i o nt e c h n o l o g yi so n eo ft h em o s ti m p o r t a n tb r a n c h e so f c o m p u t e ra p p l i c a t i o nf i e l d i tf o c u s e so nm u l t i c o md a t ac o l l e c t i o n ,d a t as t o r a g ea n dc o m p u t i n g t h e d e s i g no fp c im u l t i c o mc a r di sah o tk e yw h i c hp u r s u i t e db ym a r k e t t h ep c il o c a lb u si sb e c o m i n gt ot h em a i n s t r e a mi nt h ef i e l do fc o m p u t e rb u s b e c a u s eo fi t s p e r f e c tp e r f o r m a n c eo fd a t at r a n s m i s s i o n b u t ,b e c a u s eo ft h ec o m p l e x i t yo ft h ep c ip r o t o c o l ,i t i sh a r dt od e s i g nd i g i t a lc o n t r o lh a r d w a r ec i r c u i tt om a t c h i n gt h ep r o t o c 0 1 i nt h i sp a p e r , w eu s e t h ei n t e r f a c ec h i po fp c i 9 0 5 2 ( m a d eb yp l x c o m p a n y ) t o f i tt h ep c il o c a lp r o t o c 0 1 t h ep a p e rc a m ef r o mt h ep r o j e c to f “i n t e l l e c t u a lc a r ds y s t e mo fg a sm a c h i n e ”w h i c hw a s d e s i g n e db ys h e n y a n gt a i k o n gc o m p a n ya n ds i n o p e c t h i sp a p e rd e s i g nt h ei n t e r f a c ec i r c u i to f p c ib u s ,m a d et h eh a r d w a r ec i r c u i ts u c c e s s f u l l y , a n dc o d e dt h ed r i v e rp r o g r a mb a s e do nb o t h w i n d o w sa n dl i n u x t h ew h o l es y s t e mm a i n l yi n c l u d e st w op a r t s :t h eh a r d w a r ec i r c u i td e s i g na n dt h ed r i v e rd e s i g n i nt h eh a r d w a r ec i r c u i td e s i g np a r t ,w es e l e c t e dt h ep c ii n t e r f a c ec h i pt ob ec o m p a t i b l et ot h e p c ib u s ,u s e dv h d la n dc p l dt od e s i g nt h eh a r d w a r el o g i cc o n t r o lm o d u l e ,u s e dp r o t e l 9 9t o d e s i g nt h ep r i n c i p l eg r a p ha n dp c bg r a p ho f t h es y s t e ma n df i n a l l ym a d et h ec i r c u i ta n dd e b u gi t s u c c e s s f u l l y d u r i n gt h i sp r o c e s s ,w es o l v e dt h ep r o b l e mo fc u s t o m i z i n g ,a v o i d e dt h ew a s t eo f r e s o u r c e s w eu s e dt h ep r i n c i p l eo fr s - 4 2 2t oe n s u r et h ea n t i - j a m m i n gc a p a b i l i t yo fd a t a t r a n s m i t i n ga n dl o n gd i s t a n c ed a t at r a n s m i t i n g w ea l s ou s e dt h em e t h o do fp a r a l l e lt o 、e n s u r e h i g hb a u dr a t eo ft h ec o m i nt h ed r i v e rd e s i g np a r t w eu s e dd r i v e r s t u d i oa n dv c + + t od e s i g n t h ec a r d sd r i v e rb a s e do nw i n d o w s m o r e o v e r , w ea n a l y s i st h ec o n n e c t i o nb e t w e e nl i n u xk e r n e l a n dd e v i c ed r i v e r , a n da f f o r dt h ed e s i g nf l o wo ft h ec a r d sd r i v e rw h i c hb a s e do nl i n u x a f t e rc a r e f u l l yd e b u g g i n g , t h ec a r dc a ns u c c e s s f u l l yc o m p l e t ed a t at r a n s m i s s i o n ,a n dn o wi ti s a p p l i e di ns e v e r a lg a ss t a t i o n sa l l o v e rc o u n t r y k e yw o r d :m u l t i c o m ,p c ib u s ,p c i 9 0 5 2 ,w d m ,d r i v e r s t u d i o ,l i n u x l i 首都师范大学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取 得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰 写过的作品成果。对本文的研究做出重要贡献的个人和集体,均己在文中以明确方式标明。 本人完全意识到本声明的法律结果由本人承担。 糊姗躲罾旗 隅删年多月多日 首都师范大学位论文授权使用声明 本人完全了解首都师范大学有关保留、使用学位论文的规定,学校有权保留学位论文 并向国家主管部门或其指定机构送交论文的电子版和纸质版。有权将学位论文用于非赢利 目的的少量复制并允许论文进入学校图书馆被查阅。有权将学位论文的内容编入有关数据 库进行检索。有权将学位论文的标题和摘要汇编出版。保密的学位论文在解密后适用本规 定。 学位论文作者签名: 弗穗 i同期:凇融年多月多日 首都师范大学硕卜学位论文第一章绪论 1 1 课题研究的背景和意义 第一章绪论 本课题来源于实际应用,是沈阳太空加油机公司与中石油中石化合作开发的“加油 机智能卡系统 中的一个子项,现在已经广泛投入使用。 随着计算机技术的不断发展,微型计算机的体系结构发生了显著的变化。如c p u 运行 速度的提高,多处理器结构的出现,高速缓冲存储器的广泛采用等,都要求有高速的总线 来传输数据,这直接导致了多总线结构的出现。 局部总线是多总线结构的一种,是来自处理器的延伸线路,它的发展令人瞩目。与处 理器同步的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 ) 足先进的高性能局部总线。它可以 同时支持多组外围设备,支持6 4 位数据传送,多总线主控和线性突发方式,其数据的传 输率位1 3 3 m b s 。 在p c i 局部总线出现以前,4 总线结构一般采用工业标准体系结构i s a ( i n d u s t r y s t a n d a r da r c h i t e c t u r e ) 标准。随着c p u 的运行速度越来越快、多处理器结构的出现、高 速缓冲存储器( c a c h e ) 的广泛应用等,在i s a 总线上传输大量数据会造成c p u 处于较长时 间的等待状态。因此,原来基于i s a 插槽开发的一些插卡( 如串口通讯卡,数据采集卡) 毫 无用武之地。开发基于p c i 总线的插卡可以说是大势所趋。 本文就是基于p c i 总线来研制多串口通讯卡。多串口通讯卡是一种可分配多个高速串 行端口供终端连接的设备,每个终端可以通过它与主机进行通讯。使用多串口卡是最便捷 简单地解决扩展计算机外部设备数量的方案,它可使计算机方便扩展串口,特别适用于 u n i x 、l i n u x 等多用户操作系统,同样也适用于w i n d o w s 、d o s 等操作环境。多串口通讯卡 可以广泛应用于通讯银行、金融、证券、电线、工控等领域,是计算机多用户通信控制系 统重要的硬件组成部分。 在“中石油中石化加油机智能卡系统项目中,加油站上的每个加油机必须把实际 加油的情况实时准确地传送给后台,后台也必须传达控制信息给加油机来进行实时控制。 实际情况中,大型的加油站会有数量众多的加油枪( 一般多于3 2 枪) ,而后台主机的接口 却很少,因此需要用多串口通讯卡把主机上的串口进行扩展,使主机串口能连接到多条加 油枪,从而实现数据的实时高效传输。 首都师范大学硕十学位论文第一章绪论 1 2 本领域的研究现状及本文的创新点 基于p c i 的多串口通讯卡的研究在近几年突飞猛进,许多公司都投入到这一领域。目 前国内外知名的多串口卡产品有:中国台湾四零四公司的m o x a 卡、深圳康银电子技术有 限公司的c o i n 多串口卡、江苏南大科技发展有限责任公司的a c c e l e p o r tx p 多端口串行 卡和北京海豚科技发展公司的康海系列等等。 虽然现在有众多公司投入到多串口设计中来,而且技术侧重点都不尽相同,都各有优 势,但都同样存在着各自的不足和缺陷: ( 1 ) 多数是基于8 串口的设计,不能根据用户需求定制特定的串口数量。在卡板上串口较 多而实际需要的串口较少的情况下,多余的串l j 在一定程度上造成了资源浪费。 ( 2 ) 多数基于r s 一2 3 2 标准进行数据传输。基于这样的标准的数据处理,抗干扰能力差, 数据传输率低,传输距离短。 ( 3 ) 售价较高,板卡的折损率高。一般的公司没有掌握多串口通讯卡的核心技术,因此较 难对卡进行维护。 针对上述的一些不足,我们自主研制的p c i 多串口通讯卡在以下几点进行了创新和改 进:根据用户需求实现串口定制,降低成本;采用r s 一4 2 2 标准保证数据传送的抗干扰能 力和远距离传输,采取多路并行保证较高的端口波特率;在软件设计上,使串口卡兼容更 多的操作系统。 经过不断地研发及推广,p c i 多串口卡已投入全国十多个加油站使用,性能稳定可靠。 1 3 论文的主要研究工作 本文主要对基于p c i 总线的高速多串口通讯卡进行了软件和硬件方面的详细设计,主 要包括:多串口通讯卡的硬件设计、逻辑控制电路v h d l 实现以及基于w i n d o w s 和l i n u x 操作系统的驱动程序设计等。系统可以直接通过计算机向外部设备发出控制命令,使得数 据经过桥接芯片,顺利传输到计算机中进行处理,随后,用户可以在后台应用程序中获得 不同串口的数据,从而实现多串口与主机的通讯。 本文的研究工作主要分为以下两个部分: 一、硬件设计 硬件设计中,p c i 接口的开发设计最重要。但由于p c i 总线规范十分复杂,其接口设 计有较大的难度。本课题中,多串口卡的丌发可以按如下步骤: 2 首都师范大学颀f j 学位论文 第一章绪论 ( 1 ) p c i 接口模式选择。根据项目的要求,本文选定协议芯片9 0 5 2 进行开发。 ( 2 ) 根据所选的协议芯片及相关外围接口,设计p c i 卡的硬件电路板。 ( 3 ) 在设计电路板时,按如下顺序: a 焊接电路板。 b 确认系统能识别p c i 卡。若不能,检查原因直到修好为止或重做p c b 板。 c 用e e p r o m 烧写p c i 的配置数据,并引导系统复位,观察系统是否采用新设计。 二、软件设计 在硬件电路板调试通过后,基于w i n d o w s 和l i n u x 分别编写驱动程序并联调硬件。设 计流程如图1 1 。 1 4 论文结构安排 图卜1p c i 多串口卡设计流程图 为了方便读者快速了解本论文的主要内容,这里从简要介绍一下本论文结构安排: 第一章论述本课题的背景与意义、本领域的研究现状和本文的研究工作和创新点。 第二章p c i 总线的特点、系统结构、信号定义等,重点介绍了与编写驱动程序密切相 关的p c i 总线编址及配置空间的相关知识。 第三章介绍p c i 总线的接口解决方案并对p c i 9 0 5 2 做了简单的介绍。对本课题研制 的基于p c i 总线的硬件接口电路从整体方案、功能描述、电路设计等方面进行了详尽描述。 第四章详细介绍基于w i n d o w s 操作系统的p c i 多串口卡驱动程序设计。 3 首都师范人学硕十学位论文 第一章绪论 第五章深入分析基于l i n u x 操作系统的p c i 多串口卡驱动程序设计。 第六章总结和展望 1 5 本章小结 在这一章中,介绍了课题产生的背景和本领域的研究现状。详细描述了课题的主要研 究工作并突出了研究中的创新之处。同时简述了论文的结构安排,为以下各章的详细阐述 奠定了基础。 4 首都师范大学硕士学位论文第二章p c i 局部总线概述 第二章p c i 局部总线概述 计算机总线是计算机各部件之间进行信息传输的公共通道,根据信号类型的不 同,微型计算机的总线一般分为数据总线( d a t ab u s ) 、地址总线( a d d r e s sb u s ) 和控制 总线( c o n r t o lb u s ) - - - 种。 在各种总线结构中,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 总线作为多串口通讯卡总线接口。 介绍此章的目的是为第三章中p c i 接口的实现打下一个理论基础。读者将会看 到,在后续的硬件设计和软件设计中,都必须满足p c i 总线的各种规范,因此,这 是比较重要的一章。 2 1p c i 局部总线特点 p c i 总线是目前应用最广泛的局部总线。它历经两种规范:p c iv 1 0 规范支持 3 3 m h z 工作频率,最大传输带宽为1 3 2 m b s ,p c i v 2 1 规范支持6 6 m h z 频率,传 输速率可达2 6 4 m h z 和5 2 8 m h z 。 c p u 总线 图2 1p c i 总线结构图 5 首都师范大学硕上学位论文第二章p c i 局部总线概述 p c i 总线结构如图2 1 所示。它通过p c i 桥路将一些高速外设挂到c p u 总线, 可支持高速i o 与c p u 并行工作。在p c i 总线上还有一种特殊设备,即标准总线桥 路,它将p c i 总线转换成i s a 、e i s a 或m c a 等标准总线,以便与这些总线设备相 连。 p c i 总线定义了3 2 位数据总线,且可扩展为6 4 位。它体积较小,支持无限读 写猝发操作,支持并发工作方式,即多组外围设备可与c p u 并发工作。 p c i 总线结构的另一优点是扩充性好,如果需要把许多设备接到p c i 总线上, 而总线驱动能力不足时,可以采用多p c i 总线结构,这些总线都可以并发工作。 在图2 1 中,和p c i 总线直接相连的设备被称为p c i 设备。它分为两种,一种 被称为p c i 主设备,这种没备可以获得总线的控制权;另一种设备称为p c i 从设备, 这种设备不能获得总线的控制权,只能被动地响应c p u 或p c i 主设备发出的传输请 求。在本文中,各串口连接的设备都是从设备,受主机c p u 的控制。 2 2p c i 总线信号定义 p c i 总线要求作为从没备至少有4 7 条引脚,作为主设备至少有4 9 条引脚。图 2 2 中的方框表示挂在p c i 总线上的一个设备,也包括桥设备和p c i 扩展槽。在本 文中此方框代表接口芯片p c i 9 0 5 2 ,这在第三章中会介绍到。框左边是要求任何p c i 设备都应具有的信号,而框右边的信号是可选的,与具体p c i 设备的功能有关。 p c i 总线信号可划分为1 0 种类型。其中比较重要的信号引脚的说明如下: 系统信号 c l k :对于所有的p c i 设备都是输入信号。其频率范围为0 3 3 m h z 或0 6 6 m h z , 这一频率称为p c i 的工作频率。 r s t # :复位信号。使p c i 的特性寄存器、配置寄存器等恢复到规定的初始状态。 数据地址信号 a d 3 l :o 】:地址数据多路复用的输入输出信号。在f r a m e # 信号有效时,是 地址期。在i r d y # 和t r d y # 同时有效时,是数据期。 c b e 3 :0 :总线命令和字节使能多路复用信号。在地址期中,传输的是总线 命令。在数据期内传输的是字节使能信号。 接口控制信号 f r a m e # :帧周期信号。表示当前主设备一次交易的开始和持续时间。 6 首都师范人学硕l :学位论文第二章p c i 局部总线概述 i r d y # - 主设备准备好信号。由当前主设备驱动,信号有效表明发起本次传输 的设备能够完成交易的当前数据期。 t r d y # :目标设备准备好信号。由当前被寻址的目标驱动,信号有效表示目标 设备已经做好了完成当前数据传输的准备工作。 s t o p # :停止数据传送信号。表示目标设备要求主设备终止当前的数据传输。 l o c k # :锁定信号。表示一个对桥的原始操作可能需要多个传输才能完成。 i d s e l - 设备选择信号。表示驱动它的设备成为当前交易的目标设备。 仲裁信号 r e q # :总线占用请求信号。信号一旦有效表明驱动它的设备向仲裁器要求使用 总线,是一个点到点的信号线。 g n t # - 总线占用允许信号。用来向申请占用总线的设备表示其请求已经获得 批准,也是一个点到点的信号线。 错误报告信号 p e r r # :数据奇偶校验错误报告信号。 s e r r # :系统错误报告信号。 中断信号 p c i 局部总线中共有四条中断线,分别为i n t a # 、i n t b # 、i n t c # 、i n t d # ,用 以请求一个中断。 j t a g 边界扫描信号 t c k :测试时钟信号;t d i - 测试数据输入信号;t d o :测试数据输出信号; t m s :测试模式选择信号;t r s t :测试复位信号。 7 首都师范人学硕 :学位论文第二章p c i 局部总线概述 馋? 强五如缸t j 广 t j 缝补龌j t 厩埘。;鼍k l f 逸抒的l 篷鸯 簿令 p c i 9 0 5 2 初始化配置 p c i 9 0 5 2 的配置空间由6 4 个字节头区域和局部配置空间组成。头区域大多根据局部配 置空间的配置信息由系统自动完成默认设置。但是,我们仍需要按实际对默认值做如表3 2 所示的改动。 2 0 首都师范人学硕十学位论文第三章p c i 多串【j 卡的硬件设计 下面再详细介绍局部空间的配置情况。 p c i9 0 5 2 共提供了8 4 个双字的局部配置空问,表3 3 为p c i9 0 5 2 的局部配置空间结 构表。表中这2 1 个双字的前1 5 个依次代表了p c i9 0 5 2 定义的5 个局部地址空间( 4 个局 部空间加1 个局部扩展r o m 空间) 的地址范围、重映射基地址、总线特性描述寄存器。 后6 个双字依次表示4 个局部空间的片选、中断控制状态、串行e e p r o m 控制初始化控 制寄存器。下面是确定局部地址空间而用到的各个寄存器的作用以及各个寄存器的结构。 这些寄存器都以双字结构组织,每一位都有具体含义。 由于每一个寄存器均为3 2 位,其每一位配置信息在p c i9 0 5 2 的数据手册罩都有详细 的说明。这罩不再赘述,下面列出项目中遇到的一些比较重要的配置,简要说明如下。 ( 1 ) 由于局部地址空间o 的用于存放存储器空问长度范围( 3 2b y t e s ) ,故将基地址寄存器 0 ( l a s o r r ) 配置为f f f f , f f e l ; ( 2 ) 本地总线数据线位宽为3 2 位,寄存器b i t 2 3 :2 2 配置成1 0 ,整个局部地址空间0 总线 域描述寄存器( l a s o b r d ) 配置为4 0 8 0 ,a 0 4 0h ; ( 3 ) 由于系统中采用中断( b i t 6 = 1 ) ,且中断信号为高电平有效( b i t l = 1 ) ,故将中断控制状念寄 存器( i n t c s r ) 寄存器配置成0 0 4 2h ; ( 4 ) 系统中用到4 个用户i o 口,且均工作于输入方式,故用户i o 初始化控制寄存器 ( c n t r l ) ( o f f s e t = - 5 0h ) 配置成10 7 ch ,4 c 9 2h 。 2 l 首都师范大学硕匕学位论文第三章p c i 多串口卡的硬件攻计 表3 - 3p c i9 0 5 2 本地配置空间结构表 偏穆偏移 地址 局部配置寄存器局部配置寄存潞 t 也:t j l : d 疗k j 也i l + ,;! n t j0 的地如 :瓶l 掰 0 部地j 1 :0 鼍阳j0 总 j 乏与越柄置b t 垮f t - 器 h2 8 h ( l 户r r )( l a s o b p d ) d 部j 世j 蛾睁 】1 的地j j f 龟h 哥 矗潞地j _ l i = 空间1 总线域橘述俺仃器 0 4 h2 c h rl a s l r r ) ( l 户s 1b r d ) 0 跚地i 1 1 尘州2n 勺地上1 1 范 硝 j 矗l :j 也王1 j jr | j2 毫乡i 乏鼻越搦j 蠡- 暂行器 0 8 h3 0 h ( l 户6 2 r r )( l 芦s 2 b r i z ) ) 0 矗k j 电j a t q i f 1 j3f 内j 也王l l :f 戊l 掰j 。0 矗l :地j i l ! f f d3 想线域搦琏舒仔器 o c h3 4 h ( l ,凸6 3 r r )( l 声b p d , j 也办扫玲r o t , , aj 也j i t 谯l 爿由微r o m 总线j 戴拗逑苫,f 嚣 1 0 h3 8 h ( e e p r o m r r fe r o b p d ) 0 矗“j 世i l l ,i i f i l 30 鼻,) 盘任凡匕j r l ;f : 艇匀寸 1 4 h3 c hj ;逸0 埔j i 。e e p r o m :芷= 片的选择和管脚连接 对于串行e e p r o m 芯片,需要根据接口芯片数据手册中给出的生产厂家及型号进行 选择。本文采用m t 公司的9 3 c 4 6 。p c i 9 0 5 2 提供4 个管脚与e e p r o m 相连接,它们分 别是e e d i 、e e d o 、e e s k 、e e c s ,对应于9 3 c 4 6 的d i 、d o 、s k 、c s 这4 个管脚,这 4 对管脚直接相连就可以。另外9 3 c 4 6 的v c c 管脚需要接+ 5 v 电源,g n d 接地。 ( 1 ) 9 3 c 4 6 的信号引脚:c s :片选信号;d 1 - 数据输入;d o :数据输出;s k - 串行时钟输 入信号,也是微处理器与e e p r o m 之间通信的同步信号,数据在它的上升沿锁定有效。 ( 2 ) p c i 9 0 5 2 的信号引脚:e e c s :片选;e e d i e e d o :数据输入输出。ie e s k :串行时钟。 p c i 9 0 5 2 与e e p r o m 的接口电路设计如图3 5 所示。 图3 - 5p c i 9 0 5 2 与e e p r o m 的接u 电路 2 2 首都师范人学硕l :学位论文 第三章p c i 多串u 卡的硬件设计 3 2 4p c i 9 0 5 2 与l o c a l 总线接口 p c i 9 0 5 2 与l o c a l 端连接这部分接口比较简单。本地总线部分包括地址总线l a 6 :2 】、 数据总线l d 3 1 :0 】、读信号线r d # 、写信号线w r # 、用户线u s e r 3 :0 、复位信号线 l r e s e t , 如局部截图3 - 6 所示,这些信号线完成与i j 级硬件的连接。 图3 - 6p c i 9 0 5 2 与l o c a l 总线接u 3 2 5 逻辑控制模块的设计 本文采用c p l d 可编程逻辑器来编写逻辑控制模块。逻辑控制模块分为三个部分:局 部总线的处理器设计、p c i 总线控制器的控制和p c i 局部总线中的存储器设计。下面详细 描述一下这三个部分的功能和实现。 ( 1 ) 局部总线的处理器设计 在p c i 总线中有c p u 来管理p c i 总线中的逻辑和资源的分配。在局部总线中也需要 设计一个控制p c i 的处理器。为了加强该系统的稳定性,可以利用p c i 总线控制器,来控 制p c i 总线控制器的操作。分系统的实现过程,见流程图3 7 。 开始阶段,程序就一直要判断l c l k 的时钟的上升沿,因为这个信号是触发读写状态 机的主时钟。当总线给局部总线一个l h o l d 的请求信号,局部处理器回馈一个l h o l d a 的信号,表示可以占用局部总线的。程序继续判断l c l k 第二次上升沿的到来。 当第二次l c l k 的上升沿到来的时候。数据存储器开始读入数据,是来自外部的并行 2 3 首都师范大学硕上学位论文 第三章p c ! 多串【j 卡的硬件设计 数据。s r a m 的地址计数器开始计数,并按顺序把数据写入s r a m 。 然后,程序会判断总线来的是读数据,还是写数据( l w r # ) ,如果p c i 总线是读数据, 那就屏蔽写数据的信号,把读数据信号改为有效信号( 反之,就是把写数据的信号改为有效 信号) 。当控制权被p c i 仲裁获得以后,开始判断第三次时钟信号l c l k 的上升沿的到来。 当第三个时钟上升沿到来以后,就开始把数据从p c i 局部总线给p c i 总线那边,同时 p c i 总线控制器查看b t e r m # 的状态,一旦这个信号由高变低的时候,表示当前传输的是 这次传输的最后一个数据。在第四个时钟到来的时候,本次的操作就结束了。 本次操作结束的时候,把地址有效的信号a d s # 变为无效,并把l h o l d a 变为无效, 这样就把局部总线的占有权交还给系统了。等待下一次的占用。 图3 7 局部总线处理器程序流程图 ( 2 ) p c i 总线控制器的控制 这个部分足使用硬件描述语言来实现从p c i 总线到p c i 局部总线和p c i 局部总线到 2 4 首都师范大学硕i :学位论文第三章p c i 多串u 卡的硬件设计 p c i 总线方向的数据传输。在这个部分中,总线的传输数据主要有7 个状态,所以要模拟 一个状态机来实现。下面介绍一下所用到的六个状态: s 0 :总线空闲状念;s 1 :周期丌始状态;s 2 :单周期等待状态;s 3 :单周期最后状态; s 4 :猝发周期等待状态;s 5 :猝发周期重复状态;s 6 :猝发周期最后状态; 首先看看7 个状态的时序转换图: 图3 - 8 总线读写时序转换图 程序的入口是第一个状态s o ,当没有操作的时候,s o 的状态一直循环。 当数据存储器的高端地址和地址变成有效的状态的时候,状态机由s 0 状态变为s l 状 态。表示数据丌始传输。 下一步判断数据突发传输状念是否有效,状态将由数据突发传输状态决定。如果是猝 发方式传输数据的话,状念机进入s 4 状态,表示数据的传输将是猝发的传输数据。如果 不是猝发方式传输数据的话,状态机进入s 2 的状态。表示数据的传输将是单步。 下一步不用判断其他变量,可以在触发变量改变的时候,就由s 2 状态转变为s 3 状态, 这个状态的转变,表示数据正在读写。同时也可以由s 4 状态转变为s 5 状态。这个时候数 据正在传输,并且是猝发方式的读写。 下一步就是在触发变量改变的时候,判断局部总线地址无效的状态位。如果是无效的, 那就由s 3 状态变位s 1 状态。如果是有效的话,那就由s 3 状态变位s o 状态。如果上一步 是进入的是猝发的数据传输状态的话,那就来判断突发标志是否有效,如果无效了,那就 由s 5 进入s 6 状态,表示数据传输结束。如果猝发标志位是有效的,状态机还是处于s 5 状态。 下一步当触发变量改变的时候,只有在猝发传输数据的时候才有的这一步。也就是在 2 s 首都师范大学硕士学位论文第三章p c i 多串u 卡的硬件设计 这一步,状态机的状态是s 6 下。首先来判断数据有效和数据存储器的高端地址的状态, 如果有效,就进入s 1 状态,丌始下一次的读写数据过程。如果是无效的,那就进入s 0 状 态,表示局部总线是空闲的。等待系统的仲裁判断。 ( 3 ) p c i 局部总线中的存储器设计 这块板卡中有p c i 总线控制器和简单的处理器还是不行的,板卡还要必须要有存储器, 对数据的存储。把存储器做在c p l d 中。这样可以方便改写存储器控制器的程序,同时使 用c p l d 来控制p c i 总线控制器,充分利用c p l d 的资源。 局部总线存储器的外部管脚定义如图3 - 9 : ( 1 ) l c l k 信号用来输入数据的时钟,读取l a d 7 :0 的8 位数据,到指定的s r a m 中。必 须在i e n 信号有效的时候; ( 2 ) l a d 7 :0 是输入8 位数据地址信号; ( 3 ) i e n 信号是输入数据的使能信号,当该信号有效时,才可以输入数据。 ( 4 ) l l c l k 信号是用来输出数据的时钟 ( 5 ) c s 0 # 、c s l 群和c s 3 # :j 苎:片选通信号。 ( 6 ) j 1 0 i n i t r p t 、j 1 i l n i t r p t 、j 1 2 i n i t r p t :局部总线的串口的中断信号。 ( 7 ) l i n t i l :中断信号。与p c i 9 0 5 2 相连。是p c i 总线的中断信号。 ( 8 ) j 1 0 c s 2 # 、j 1 1 c s 2 # 和j 1 2 c s 2 # :局部总线上串口的选通信号。当某个串口选通以后,数 据就可以向输入输出模块传送。如图3 1 0 所示。 二一土i 一 ”= 1 一1 二:二;:) 。 一 0 一 一;:j - m j 隧f 攀l :- - 垂 垃 - 芒 吐岂 柚 3 岛i c 4 ; ) , ; 卜 一m i - : j c 二葺_ 1j :二;二) 幻;盎l j ic l e 誊毒o : 3 。itk 广 :一曩: w 1 0 | _ ! 辎o 一 | 1t 。i 广州“c 二。:o 量:0 : :! 0 。 丰 ,_ :。, :二 :- i0 :弭 毫:k h 曼j:吐 皇04 i 主;0匹 :5 一 h 一 专卜誉i ; 毫lz 培 “o ;:;j 当 毫右。 一卜蔓 f 一。:j ; 1b 始寸+ 如鞋e : :ovc0 :二 :i : 9 ,。 r :x o :x0 e o,1 x c:; :笾 :i 】 筑 :;1 h 。 ”:i ;一 oi003 。p 。, 卜 j :+ 。;”中:i j j j : ;ii ; 童二 h r : : 图3 - 9 局部总线存储器 图3 - 1 0 串u 选通时数据传送 输入输出模块的功能主要是实现数据串并转换。本文使用t l l 6 c 5 5 0 c 芯片来实现。 如图3 。- 1 1 所示,每一个t l l 6 c 5 5 0 c 芯片处理一个串口的数据串并转换。以图中第一个5 5 0 c 芯片为例,当j 1 1 c s 2 # 为o ,- 心4 - 1 - ,a t ,被选通,数据d 【7 :o 】转换成串行挚警j 1 j ! ? ? ,。 i ! 二三二二二:声二二二二臻 萋巡薯蠹薯誊 一_ 一一 硪“攀_ - 三二二;:_ : | 薛耩。l 多崮坠量麟 斟萋蓁簿目垂毳蘸篆闰塾童壤 图3 1 1 数据的串并转换 串行数据j 1 l o u t 随后连接到缓冲器7 4 l s l 8 8 上,转换成串口上的t x d l 输出 2 7 首都师范大学硕士学位论文第三章p c i 多串u 卡的硬件 嫂计 o一1 b i ; 一:- i ,;l :j i ;l l i 溺,i ;趣l il l a l y e:置l f 】比强# 一4 2 y 十f ,1 5 2 j y st cl :t 强盯 i 坶贸辱 3 av c c - l i 譬。 。“ ;l 竖一 3 b 土 1 2 a o i j r 1 3 4 a 1 4 牾v0el , ;”;j :。,l g ;j : ;- ! ; :一毒。 + j i ,。# 一4 :一,;,:一 ;:一j 一。;。: ? 。i j 。i 已l 鼢ll e : i ai y i ij i :! 搿) u o :!i : 二丸:y ii 銎霉2 | j a3 y f :、-1 3 4 a4 y j :i , : i ,+ j :( 跫嚣y : 。、 :0 研 i i - 。: j :0 i y ro x 0 。 l : 一_ _ _ _ _ - - _ _ 一 a 汀 ;。j + :, 5 图3 1 2 缓冲器 如图3 1 3 ,串口d b 2 5 的各引脚介绍如下。 d c d : r x d : 载波检 接收数 t x d :发送数 测d a t ac a r t i e rd e t e c t 据 r e c e i v e dd a t a 据t r a n s m i td a t a d t r :数据终端准备好d a t at e r m i n a lr e a d y g n d :地 d s r - 数据设置好d a t as e tr e a d y r t s :请求发送 r e q u e s tt os e n d c t s - 清除发送 c l e a rt os e n d r i : 振铃指示r i n gi n d i c a t o r o l 卜, ;:1 d 三2 5 1 蠢 ) ,),i ,lqll z,。 配置管理器 配置管理器的主要工作是,使用注册表,维持安装在机器上的所有硬件和软件 资源。 电源管理器 电源管理器负责管理系统的电源使用。它负责维护一个系统范围内的电源策 略,并负责p o w e ri r p 在系统中传递路径。电源管理器判断系统应处于什么状态: 浅度睡眠、深度睡眠、关闭、还是j 下常运作。 4 2w d m 设备驱动程序概述 在w i n d o w s 操作系统下的驱动程序主要有两种模式:v x d 和w d m ( w i n d o w s d r i v em o d e l ) 。本节将简要介绍w d m 模型,在下一节将利用开发工具d r i v e r s t u d i o 编写w d m 驱动程序。 w d m 驱动程序模型可以在w i n d o w s 9 8 、w i n d o w s x p 和w i n d o w s 2 0 0 0 操作系统 下使用,目的是提供一种灵活的方式简化驱动程序丌发,实现对新硬件的即插即用, 减少并降低驱动程序丌发的数量和复杂性。 4 2 1w d m 驱动程序的分层结构 w d m 驱动程序采用分层的结构模型。如图4 2 所示,w d m 驱动程序是分层的, 不同层上的驱动程序有着不同的优先权。 图中左边是一个设备对象堆栈,设备对象是操作系统为帮助软件管理硬件而创 建的数据结构。处于堆栈最底层的设备对象堆栈为物理设备对象( p h y s i c a ld e v i c e o b j e c t ) ,简称p d o 。在堆栈的中间有功能设备对象( f u n c t i o nd e v i c eo b j e c t ) ,简称 f d o 。在f d o 的上面和下面可能还会有一些过滤设备对象( f i l t e rd e v i c eo b j e c t ) ,位 于f d o 上面的称为上层过滤器,位于f d o 下面的为下层过滤器。 首都师范人

温馨提示

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

评论

0/150

提交评论