(计算机系统结构专业论文)用于教学的pci实验卡的设计与开发.pdf_第1页
(计算机系统结构专业论文)用于教学的pci实验卡的设计与开发.pdf_第2页
(计算机系统结构专业论文)用于教学的pci实验卡的设计与开发.pdf_第3页
(计算机系统结构专业论文)用于教学的pci实验卡的设计与开发.pdf_第4页
(计算机系统结构专业论文)用于教学的pci实验卡的设计与开发.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(计算机系统结构专业论文)用于教学的pci实验卡的设计与开发.pdf.pdf 免费下载

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

文档简介

拙塞銮通盔堂亟堂焦监毫主塞擅墓 中文摘要 摘要; 本论文详细介绍了用于教学的p c i 实验卡的设计与开发过程。在本设计中,采 用p l x 公司的p l x 9 0 5 4 作为p c i 总线接口芯片。f p g a 芯片采用的是a l t e r a 公司 生产的c y c l o n e 系列e p l c 6 q 2 4 0 c 8 芯片,用此芯片来实现对p l x 9 0 5 4l o c a l 端的 接口控制逻辑以及u a r t 等模块, 本文先对p c i 总线的基本结构和规范协议傲了介绍,再对p l x 9 0 5 4 和f p g a 芯片e p l c 6 q 2 4 0 ( 2 8 进行了详细介绍。最后从硬件和软件方面详细叙述了设计p c i 实验卡的过程。 硬件设计方面,主要是完成硬件电路的设计。本文完成的内容有: 1 、利用p l x 9 0 5 4 实现p c i 总线接口的硬件电路; 2 、完成p l x 9 0 5 4 和f p g a 的连接电路; 3 、完成f p g a 的硬件电路; 4 、完成u a r t 电路。 软件设计方面,本文完成的内容有: 1 、利用v h d l 语言编写p l x 9 0 5 4l o c a l 端的接口控制逻辑; 2 、利用v h d l 语言编写u a r t 模块; 3 、利用w i n d r i v e r 编写硬件驱动程序; 4 、利用v c 6 0 编写应用程序。 最后,本文利用u a r t 模块验证了p c i 实验卡基本传输的正确性,在p c i 端 发送数据的时候,数据通过p c i 实验卡上的u a r t 发送到p c 机的r s 2 3 2 接口, 在p c 端利用串口调试工具检查数据是否正确;在p c i 端接收数据的时候,从p c 机的r s 2 3 2 接口发送数据发到p c i 实验卡的u a r t 上,再在p c i 端进行接收,以 此来达到检验的目的。 关键词:p c i 总线,p l x 9 0 5 4 ,f p g a ,v h d l 拉塞奎塑太堂亟圭堂焦途奎娶! 基! a b s t r a c t a b s t r a c t :t h ep a p e ra n a l y z e st h ed e s i g na n dd e v e l o p i n gp r o c e s so ft h ep c i e x p e r i m e n t p a r du s e df o rt e a c h i n g t h ep r o j e c ti m p l e m e n t st h ec h i pp l x 9 0 5 4 d e v e l o p e db yp l xc o r p o r a t i o na st h ei n t e r f a c ec h i pf o rp c ib u s m o r e o v e rt h ef p g a c h i p ( h e r es p e c i f ye p i c 6 q 2 4 0 c 8c h i pw h i mi sd e s i g n e db ya l t e r ac o r p o r a t i o n ) i su s e d t oa c h i e v et h el o # co f c o n t r o l l i n gp l x 9 0 5 4a n du a r t f i r s t l y , t h ep a p e rp r e s e n t sag e n e r a li n t r o d u c t i o no f t h ea r c h i t e c t u r ea n dp r o t o c o lo f p c ib u s s e c o n d l y , i tc o n t i n u e st od i s c u s st h ec h a r a c t e r i s t i ca n da r c h i t e c 吣o f p l x 9 0 5 4a n de p i c 6 q 2 4 0 c 8i nd e t a i l f i n a l l y , i te x p l o r e st h ep a r t i c u l a rp r o c e s so f d e s i g n i n g , a c h i e v i n ga n dt e s t i n gt h ep c ie x p e r i m e n tc a r df r o mh a r d w a r ea n ds o f t w a r e t w od i f f e r e n ta s p e c t s i nh a r d w a r ed e s i g n , t h ep a p e rm a i n l yc o m p l e t e ss e v e r a la s p e c t si n d i c a t e da sf o l l o w : 5 、t h er e a l i z a t i o no f t h ep c ii n t e r f a c eb o a r du s i n gp l x 9 0 5 4 6 、t h ei m p l e m e n t a t i o no f c o n n e c t i o nc i r c u i tb e t w e e np l x 9 0 5 4a n df p g a 7 、t h ea c h i e v e m e n to f c i r c u i t a ld e s i g no f f p g a 8 、t h er e a l i z a t i o no f c i r c u i t a ld e s i g no f u a r t i ns o f t w a r ed e s i g n , t h ep a p e rm a i n l yc o m p l e t e ss e v e r a la s p e c t si n d i c a t e da sf o l l o w : 1 、t h ei m p l e m e n t a t i o no f t h el o g i co f c o n t r o l l i n gp l x 9 0 5 4b yu s i n gv h d l 2 、t h er e a l i z a t i o no f u a r t b yu s i n gv h d l 3 、t h er e a l i z a t i o no f d e v i c ed r i v e rb yu s i n gw i n d r i v e r 4 、t h e i m p l e m e n t a t i o n o f a p p l i c a t i o n p r o g r a m b y u s i n g v c 6 0 i nt h ep r o j e e t ,u s i n gu a r ti st ov e r i f yt h ec o l t c e t n e s so f t h eb a s i ct r a n s f e r so f p c i e x p e r i m e n tc a r d t h e r e f o r c , w h e ns e n d i n gd a t af r o mp c ib u s ,t h ed a t av i au a r t o n p c ii ss e n tt ot h es e r i a lp o r to np c ,w h i c hw i l lc h e e ki f t h ed a t ai sc o r r e c tu t i l i z i n gt h e d e b u gt o o l ;w h e ns e n d i n gd a t af r o mt h es e r i a lp o r to np c ,t h ed a t ai sr e c e i v e db y u a r t o bp c ic a r d a n dt h e nt r a n s f e r r e dt op c ib u s k e y w o r i d s :p c ii n t e r f a c e ,p l x 9 0 5 4 ,f p g a , v h d l 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 翩躲奄姊7 签字日期: d 7 年f 2 月习日 像坪 日 球 引蝴 孙 年 箍 柳 乍姗 瓤 沧 同 位 字 学 签 拙塞銮亟太堂亟堂焦j 垒塞独刨芏e 直明 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得北京交通大学或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位论文作者签名: 签字日期:年月日 致谢 本论文的工作是在我的导师周洪利副教授的悉心指导下完成的。本论文从选 题、撰写、字斟句酌的修改,一直到最后定稿,倾注了周老师大量的心血。他渊 垮的知识、严谨的治学态度、科学的工作方法和精益求精的工作精神给了我极大 的帮助和影响,使我受益匪浅。 在两年半的研究生学习期间,周老师在生活、科研两方面,都给予我无微不 至的关怀。在我学习和课题研究遇到困难时给予我耐心指导,为我提供了难得的 学习和锻炼机会,使我在理论水平和实践能力方面都得到了很大的提高,在此衷 心感谢周老师对我的关心和指导! 陈连坤副教授在我攻读硕士研究生期闻给予我无私的帮助和悉心的指导,在 此也表示衷心的感谢! 在开发过程中,实验室的同学许晓瑛、涂晓强、张禹、张小栋、石又维对我 的学习和生活也作出了许多帮助,在此向他们表达我的感激之惰。 最后还要感谢我的家人,感谢他们一如既往理解和支持,使我能够顺利完成 学业。 韭塞窑墟太堂亟 堂 焦途塞攫述 1 概述 1 1 课题背景及意义 对于计算机硬件的学习,不仅仅是在课堂上学习理论知识,实践是必不可少 的一个环节,如果理论与实践脱节,则学习的效果将会大打折扣。但往往由于实 验条件的限制,实验教学滞后于课堂教学的,在目前的计算机硬件实验教学中, 比较普遍的是传统接口( 串口、并口、u s b 等) 的实验,因为做这些传统接口的 实验相对而言是比较方便且比较容易完成。但是对于p c i 总线等比较复杂的实验, 往往都没有涉及,学生对于p c i 总线的了解只是停留在理论水平上。 随着计算机应用领域的不断拓展,对于p c i 总线的应用已经是越来越广泛。 如图像视频的传输、大容量数据的采集等,这些应用需要在p c 机和外设之间进 行大量以及高速的数据传输和处理,传统的接口已经无法满足这一要求,进而p c 机与外设的连接转向了p c i 总线扩展方式。p c i 总线是高性能的3 2 6 4 位总线, 3 3 m h z 3 2 位的p c i 总线可以达到1 3 2 m b s 的数据传输速率;3 3 m h z 6 4 位的p c i 总线的性能加倍,可以达到2 6 4 m b s 的传输速率。 要对p c i 总线进行应用开发,则在教学中对于p c i 总线的研究不能只停留在 理论阶段,但p c i 总线本身的协议规范比较复杂,开发的难度大周期长,而且 开发成本也比较高,鉴于以上各种约束,让学生自己开发一块p c i 卡是不太可能 的。本课题的目的就是开发一款用于教学的p c i 实验卡。 本实验卡的设计要求有以下几点: l 、实验卡上p c i 总线的定位是3 3 m h z 3 2 位; 2 、通过本实验卡,使学生对p c i 总线协议本身有更深的了解; 3 、本实验卡需要有良好的可扩展性,便于今后实验项目的扩充。 本课题开发的i c i 实验卡是对实验教学的补充,通过各种软件,学生可以对 p c i 总线的配置寄存器进行读写,这就是对p c i 总线本身的迸一步了解;此外,本 实验卡可以灵活的外接其他设备,学生可以在此基础上进行基于p c i 总线应用的 开发,如数字图像处理、数字信号处理等。通过实验,使学生不仅对学到的理论 知识进行了巩固,而且也强化了实验环节,锻炼了学生的动手能力、创新能力。 l 。2 系统方案的设计 拙塞 窑 通太堂 亟 望 焦 j 金 塞接 签 本课题的主要任务就是设计开发用于教学的p c i 实验卡,由于p c i 总线规范 十分复杂,其接口实现比i s a 、e i s a 困难得多,因此在设计中采用p c i 专用接口 芯片来实现p c i 接口,这样在设计的过程中就把重点放在了l o c a l 端总线接口,而 不必过多的考虑p c i 总线规范中规定的功能的具体实现,这样就可以大大缩短开 发的周期。 对于p l x 9 0 5 4l o c a l 端的实现,在本设计中用到的是现场可编程门阵列 ( f p g a ) ,采用的f p g a 芯片是a l t e r a 公司生产的c y c l o n e 系列e p l c 6 q 2 4 0 c 8 。 在f p g a 中实现的p l x 9 0 5 4l o c a l 端的接口控制逻辑主要包括本地端总线的仲裁、 传输逻辑的控制等。 此外,为了验证p c i 接口时序逻辑的正确性,在f p g a 中还实现了u a r t 模 块,当p c i 端发数据的时候。数据首先放到f p g a 的t w f i f o 中,接着将数据从3 2 位转换到8 位,再从f p g a 中u a r t 模块发送到p c 机的r s 2 3 2 接口上;当p c i 端接收数据的时候,p c 机的r s 2 3 2 接口首先将数据发送到f p g a 的u a r t 上,经 过8 位到3 2 位的转换,再将数据存入t r f i f o 中,由p c i 端进行接收。 1 3 论文结构安排 为了便于了解本论文的整体框架和主要内容,下面介绍一下论文的结构安排。 第一章介绍课题的研究背景及意义,并给出了系统方案的设计。 第二章首先是对p c i 总线的简介,接着是p c i 总线接口实现方法的介绍及选 择。 第三章首先是多款p c i 接口芯片的比较,并介绍本设计中用到的接口芯片 - - p l x 9 0 5 4 ,接下来是p l x 9 0 5 4 与夕 围设备的连接以及p l x 9 0 5 4 寄存器的配置, 最后给出了电路板设计时的注意事项,以及p c i 实验卡的调试过程。 第四章首先介绍c y c l o n e 系列芯片的基本概念,接下来介绍了f p g a 芯片的硬 件电路设计,然后是p c i 接口逻辑模块的具体实现方法,最后给出了s i g n a l t a p 的 调试结果。 第五章是介绍了f p g a 中其他模块的实现方法,这些模块包括:u a r t 模块、 f i f o 模块及数据转换模块,并给出了各个模块的调试结果。 第六章首先是对w i n d r i v e r 的介绍,接着是驱动程序的具体开发过程。 第七章介绍应用程序的开发。 第八章是总结。 1 4 本章小结 2 韭塞窑通态堂 亟堂僮途塞攮 述 本章首先介绍了本课题提出的背景,以及本课题的意义,接着是对整体方案 的介绍,最后是对论文结构安排的介绍。 j t 塞銮逐叁堂亟堂焦逾塞g l 簋缮企缉厦! 接旦塞理友法啦选捶 2p c i 总线介绍及p c i 接口实现方法的选择 2 1p c i 总线的介绍 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 ,即外设部件互连。 1 9 9 1 年i n t e l 公司首先提出p c i 总线的概念,并与i b m 、c o m p a q 、a s t 、d e c 等 1 0 0 多家公司合作于1 9 9 3 年推出了p c 局部总线标准p c i 总线【i j 。i c i 总线是 一种高性能的3 2 6 4 位地址数据复用总线,3 3 m h z 3 2 位p c i 总线在读写操作中峰 值传送可达1 3 2 m b s ,3 3 m h z 6 4 位p c l 总线在读写操作中峰值传送可达2 6 4 m b s 。 2 ,1 1p c i 总线的特点 p c i 是先进的高性能局部总线,可同时支持多组外围设备。p c i 局部总线不受 制于处理器,为中央处理器及高速外围设备提供一座桥梁,提高数据吞吐量。并 能完全兼容现有的i s a e i s a m i c r oc h a n n d 扩充总线。总之,p c i 局部总线具有如 下突出特点。 1 、高性能:总线宽度3 2 位( 可扩展至“位) ,支持突发传输工作方式。3 3 m h z 3 2 位p c i 总线在读写操作中峰值传送可达1 3 2 m b s ,3 3 m h z 6 4 位p c i 总 线在读写操作中峰值传送可达2 6 4 m b s 。 2 、线性突发传输:p c i 能支持一种成为线性突发的数据传输模式,可确保总 线不断满载数据。 3 、采用总线主控和同步操作:总线主控是大多数总线都具有的功能。目的是 让任何一个具有处理能力的外围设备暂时接管总线,以加速执行高吞吐量、 高优先级的任务。p c i 独特的同步操作功能可保证微处理器能够与这些总 线主控同时操作,不必等待后者的完成。 4 、独立于处理器:p c i 总线独立于处理器的结构,形成一种独特的中间缓冲 器设计方式,将中央处理器子系统与外围设备分开。一般来说,在中央处 理总线上增加更多的设备或部件,只会降低性能和可靠程度。而有了缓冲 器的设计方式,用户可随意增添外围设备,扩展电脑系统而不必担心在不 同时钟频率下会导致性能的下降。 5 、兼容性强:p c i 总线与i s a 、e i s a 及m a c 总线完全兼容的,这种兼容能 力保障用户的投资,让用户在继续使用沿用的附加卡之余,又能提供额外 4 韭塞銮遵太堂亟堂焦垃塞l 筮绔金绝厘至g ! 遗旦塞强友壁鳆选捶 的插槽,方便用户选用新的外围设备。 6 ,预留了发展空间:p c i 插槽能同时接插3 2 位和6 4 位插卡,p c i 的6 4 位延 伸设计,可将系统的数据传输速率提高到2 6 4 m b s ,p c i 还提供了自动配 置功能,每个p c i 设备有2 5 6 字节的配置寄存器,可以实现设备的即插即 用。 2 1 ,2p c i 总线的信号 p c i 总线信号按功能可分为系统信号、地址和数据信号、接口控制信号、仲裁 信号、错误报告信号、中断信号、“位扩展信号等。如图2 1 。下面简单介绍下常 用信掣”。 1 、系统信号 c l k :系统时钟信号,为所有p c i 传输提供时钟,对于所有的p c i 设备都是输 入信号,除了r s t 与中断信号之外,所有信号都和c l k 时钟信号同步操作。 l i s t :复位信号,当系统上电或进行复位操作时,系统会有效此信号,迫使所 有p c i 专用的寄存器和信号转为初始状态。 2 、地址和数据信号 a d 3l :0 0 】:地址、数据多路复用的输入输出信号。个总线交易由一个地 址期和一个或多个数据期构成。在f r a m e # 有效时,是地址期;在i r d y # 和t r d y # 同时有效时,是数据期。 c b e 3 :0 】:总线命令和字节允许复用信号,在地址周期,传送的总线命令, 即是对端口、存储器还是配置寄存器进行读写以及读写采用的方式等;数据周期, 传输的是字节允许信号,用来指定数据期间哪些是有效数据。 3 、接口控制信号 f r a m e # :帧周期信号,由主设备驱动。当它有效时,预示总线传输的开始; 当它撤消时,预示总线传输结束,并在i r d y 有效时进行最后一个数据期的数据传 送。 i r d y # :主设备准备好信号。由当前主设备( 交易的启动方) 驱动,该信号 的有效表明发起本次传输的设备能够完成交易的当前数据期。它要和t r d y # 配合 使用,二者同时有效时,数据方能完整传输。 t r d y # :目标设备准备好信号。由当前被寻址的目标设备驱动,该信号有效 表示目标设备已经做好完成当前数据传输的准备工作。同样,该信号要与i r d y # 配合使用。 s t o p # :停止数据传输信号。当该信号有效时,表示目标设备要求主设备终止 拙塞窑煎鑫堂亟堂僮j 金塞l 簋线金绍厘! 撞旦塞理友洼酸选捶 当前的数据传送。很显然,该信号由目标设备驱动。 l o c k # :锁定信号。当该信号有效时,表示一个对桥的原始操作可能需要多 个传输才能完成,也就是说,对此设备的操作是排它性的。而此时,对于未被锁 定的桥,其非互斥访问仍可以进行。l ( ) c k 毋信号的控制是由p c i 局部总线上发起 数据传输的设备,根据它自己的约定并结合g n t # 信号来完成的。锁定交易只能由 主桥、p c i - - p c i 桥和扩展总线桥发起。 i d s e l # :初始化设备信号。在参数配置读和配置写交易期间,用作片选信号。 d e v s e l # :设备选择信号。该信号有效时,表示驱动它的设备已成为当前访 问的目标设备。换言之,该信号的有效说明总线上某处某一设备已被选中。如果 一个主设备启动一个交易并且在6 个c l k 时钟周期内没有检测到d e v s e l # 有效, 它必须假定目标设备没有反应或者地址不存在,从而实施主设备缺省。 4 、仲裁信号 r e q # :总线占用请求信号。该信号一旦有效即表明驱动它的设备向仲裁器要 求使用总线。它是一个点到点的信号线,任何主设备都有其r e q # 信号。当r s t # 有效时,r e q # 必须为三态。 g n t # :总线占用允许信号。用来想申请占用总线的设备表示其请求以获得批 准。这也是一个点到点的信号线,任何主设备都应有自己的g n t # 信号,当r s t # 有效时,忽略g n t # 5 、错误报告信号 p e r r # :数据奇偶校验错误报告信号。该信号只报告除特殊周期之外的所有 p c i 交易期间的数据奇偶错误。p e r r # 信号是一个持续的三态信号,并且对于每个 数据接收设备,如果发现数据有错误,就应在数据收到后的两个时钟内将p e r _ r # 激活。该信号的持续时间与数据期的多少有关,如果是一个数据期,则最小持续 时间为一个时钟周期。一个设备只有在响应设备选择信号( d e v s e l 样) 和完成数 据期后,才能报告一个p e r _ r # 。该信号在释放前必须先驱动为高电平。 s e r r # :系统错误报告信号。该信号的作用是报告地址奇偶错误、特殊周期 命令的数据奇偶错误以及其它可能弓f 起灾难性后果的系统错误。 6 韭瘟銮亟塞堂亟堂建造毫 ! 簋线金缁厘l 接旦塞强友洼的选捶 地址,数据线 | l f 接口控倒信号 | f 锚误报告佑蟹 f 仲裁倍母 f 系统信号 | a d 【6 3 = 3 2 1 、必、刁 y h 、c b e l 3 :o 】酬 、叫 一par l 一 p a r 融 一f r a m e # l 二a r k 枷二 一 t r n v 嚣l r r n y # 一 。rn c k # 一 二r t d p a二p o 局郝 、 t n s f =总线设备 n t a # 一n f v r f i 鼻 i n t r # 一 i n t c # 一p f r r 社 l i n t 脚 一 f r r # ,1 t t r f t m a 丌# 1 f 1 i ( c il ( ,t m r r r t i t ,一 t r s t 鞋 2 1 3p c i 总线命令 图2 - 1p c i 引脚图 6 4 位总线 i 扩展傧号 接口控制 中断信号 l 边界扫描 信号 总线命令是用来规定主从设备之自j 的传输类型的,它出现于地址周期的 c b e 3 :0 线上。当一个主设备获得总线的拥有权时,它就可以启动表2 1 中的 任何一种交易类型。在一个交易的地址周期,命令字节使能总线c b e 3 :0 肝 表明交易命令和类型”。 表2 - 1 总线命令 c b e 3 :0 #命令类型说明 0 0 0 0 中断应答( 中断识别) o o o l 特殊周期 0 0 1 0 i o 读( 从i o 口地址中读数据) 0 0 1 1 i o 写( 向v o 地址空间写数据) o 1 0 0 保留 0 1 0 1 保留 o l l o 存储器读( 向内存空间映像中读数) o l l l 存储器写( 向内存空间映像写数据) 7 韭塞銮盈盔堂亟土堂焦盈塞l 簋缮盆缓丛l 援旦塞班友洼艘选捶 续表2 - 1 总线命令 1 0 0 0 保留 1 0 0 l 保留 1 0 1 0 配置读 1 0 1 l配置写 l 1 0 0存储器多行读 1 1 0 1 双地址周期 l l l o 存储器行写 l l l l 存储器写并无效 2 1 4p c i 总线传输 p c i 总线传输机制包括单周期传输、突发传输和d m a 传输。一次传输由一个地 址期、一个或多个数据期组成,根据不同的命令将进行不同的操作,支持配置地 址空间、存储器地址空间和i o 地址空间等的操作。所有的数据传输基本上都由 f r a m e # ,i r d y # ,t r d y # 三条信号线控制的。p c i 总线的传输控制一般遵循如下 规则川: 1 、f a r m e # 和i r d y # 定义了总线的忙闲状态。当其中一个有效时,总线是忙 的:两个都无效时,总线处于空闲状态。 2 、一旦f r a m e # 信号被置为无效时,在同一传输期间不能重新设置。 3 、除非设置i r d y # 信号,一般情况下不能设置f r a m e # 信号无效。在 f r a m e # 的撤消,必须以i r d y # 有效为前提。 4 、旦主设备设置了i r d y 群信号,直到当前数据期结束为止,主设备不能改 变i r d y # 信号和f r a m e # 信号的状态。 p c i 总线传输包括读操作、写操作和中止三个内容。下面对这三个操作进行介 到 。 1 、读操作 北毫塞錾鑫堂亟堂建猃塞! 整线盆绥盈! 燕旦塞理左洼数选搓 c l i ( hh h n h n h n n 豫。姗j 3iiii i 亡垒: a d1 - 衄翳毫避互硷g = 莲匹:浊g 卫窭3 氧生 一麟k j 一二曼:、i iii 仁= ! = 、! 。f :t i x d y # j 一二半= al 毋: :i 仁e = 蕊v 鲫,j 一二拿= 3ilii 仁 地址期 数据期数据期数据期 图2 - 2 表示总线上一次读操作韵过程。从图中可以看出,一旦f r a m e # 信号有 效,地址期就开始,并在时钟2 的上升沿处稳定有效。在地址期内,a d 3 1 :0 1 线上 传输一个有效地址,f j 丽c b e 3 :o # 线上传输一个总线命令。数据期是从时钟3 的上 升沿处开始的,在此期间,a d 3 1 :o o 】线上传送的是数据,而c b e # 线上的信息却 指出数据线上哪些字节是有效的( 即哪几个字节是当前要传输的) 。并且从数据期的 开始一直到传输的完成,c b e # 始终保持有效状态。 图中的d e v s e 肼信号和t r d y # 信号是由被地址期内所发地址选中的设备( 从 设备) 提供的,但要保证t r d y # :e d e v s e l # 之后出现。而i r d y # 信号是发起读操 作的设备( 主设备) 根据总线的占用情况自动发出的。数据的真正传输是在i r d y # 和t r d y # 同时有效的时钟上升沿进行的,这两个信号的其中之一无效时就表示需 插入等待周期,此时并不进彳亍数据传输。这说明一个数据期可以包含一次数据传 输和若干个等待周期。见图2 3 中时钟4 、6 、8 处各进行了一次数据传输,而在时钟 3 、5 、7 处插入了等待周期。 在读操作中的地址期和数据期之间,a d 线上要有一个交换期,这需要由从 设备利用t r d y # 强制实现( 也就是t r d y # 的发出必须比地址的稳定有效晚一拍) 。 但在交换期过后,并且有d e v s e l # 信号时,从设备必须驱动a d 线。 在时钟7 处尽管是最后一个数据期,但由于主设备因各种原因不能完成最后一 次传输( 具体表现是此时i r d y # 无效) ,故f r a m e # 不能撤消,只有在时钟8 处, i r d y # 变为有效后,f r a m e # 信号才能撤消。 2 、写操作 9 韭塞窑通叁堂亟堂焦途塞 l 簋线盆缓厘l 接旦塞理友蓝艘选竖 e l i ( hnn nhh ni hh f r a m e # ,bli ;l t = 巴受:,a :e = e z 配: 尊回缉盛草殛c ;茸匠车x 每 u b e # 童匝蕾g 互密东= :亘末= :雄 二:毒变埤里2 i2 擎:! x 2 ;墼主2 s :g l ! 鎏:2 :斗皇 碾删一j 一二殳311 如i l ! t llllli t r d y # :一¥、: i 厂工:二i 工) 一:工 嗍酣一j 一二拿3 | | ; ;i 毒 卜- u - - - - 卜- - - - - 呻 地址期数据期数据期 敷瓣髑 由图2 3 可知总线上的写操作与读操作相类似,也是f r a m e # 信号的有效预示 着地址周期的开始,且在时钟2 的上升沿处达到稳定有效。整个数据期也与读操作 基本相同,不再详细说明。只是在第三个数据期中由从设备连续插入了三个等待 周期,时钟5 处传输双方均插入了等待周期。 值得注意的是当f r a m e # 撤消时,必须要有i r d y # 发出为前提,以表明是最后 一个数据期。见图2 4 主设备在时钟5 因为撤消了i r d y # 而插入等待周期,表明要写 的数据将延迟发送,但此时字节使能信号不受等待周期的影响不得延迟发送。 要说明写操作和读操作的不同点,那就是在写操作中地址期与数据期之间 没有交换周期,这是因为在此类操作中数据和地址是有同一个设备主设备发 出的。 最后强调的是上述的读写操作均是以多个数据期为例来说明的。如果是一个 数据期时,f r a m e # 信号在没有等待周期的情况下,应该在地址期( 读操作应在交 换周期) 过后即撤消。 3 、交易的终止过程 无论是主设备还是从设备都可以提出终止p c i 局部总线交易的要求,但是双方 都没权单方面的实篪交易终止的工作,需要相互配合,传输的最终停止控制要由 主设备完成,这是因为交易的结束必须满足系统的要求并且应该是有秩序的,而 这只有主设备才能做到。同时交易的结束标志是f r a m e # 信号和m d y # 信号均已撤 1 0 拙毫窑通鑫堂亟主堂建:l 金塞l 篮线盆缓厘l 挂旦塞理友洼的选捶 消而进入总线空闲状态。 1 1 由主设备发起的终止 主设备是通过撤消f r a m e 群信号并建立i r d w 信号来提出终止请求的。这样做 的目的是为了告诉目标设备,现在已经进入最后数据周期了,此后i r d y # - - 直保 持有效,直到t r d y # 信号出现,即开始完成最后一次数据传送,传输结束后将进 入总线空闲状态。主设备提出的终止传输的情况: a ) 完成:这是最常见的情况,是指主设备已经完成了要做的事了。 b ) 超时:当主设备的g n t # 信号无效并且其内部的延时计数器已满,从而不 得不终止传输的情况。 c ) 主设备废止:在2 2 版规范中,允许主设备在没有目标设备响应的情况下 终止交易的情况。 2 ) 由目标设备发起的终止 在大多数情况下。目标设备能够发出或者接收主设备请求的数据直到主设备 终止交易。但是,当目标设备不能完成请求时,它可以用s t o p # 信号发起交易终 止。目标设备用s t o p # 信号和其它信号的不同组合来向主设备表明导致终止的情 况。 a ) 重试:指由于目标设备忙,暂时不能进行交易而在任何数据被传输的请求 的终止。在一个交易的初始数据期,目标设备通过使s t o p # 有效而t r d y # 无效来表示重试。当目标设备重试时是没有数据传输的。 b ) 断开:指目标设备在一定时间内不能做出响应并且不能继续突发时,在初 始数据周期的数据传输的同时或完成之后请求的终止。这可能是因为突发 穿越资源边界或资源冲突造成的,目标设备通过同时使t r d y # 和s t o p # 有效,在断开操作的数据期中,数据传输可有可无。 c ) 目标设备废止:指因目标设备检测到一个致命错误或目标设备不能完成请 求而产生的不正常终止。一旦目标设备利用有效的d e v s e l # 声明了一个 访问,它可在任何后续时钟上产生目标设备废止。目标设备通过撤消 d e v s e l # 并使s t o p # 有效来标识目标设备废止。 2 i 5p c i 设备驱动程序开发的一般过程 从广义上来说,设备驱动程序就是控制硬件设备的一组函数。p c i 驱动程序的 开发,就是取得p c i 板卡所占用的各种资源( 内存、端1 3 、中断和d m a 等) ,并提供 给用户一条可以访问这些资源的途径。对于所有的p c i 设备,基本上都可以用下面 的方法来开发驱动程序。 拙塞窑疆太望亟堂遑监塞 i 总线企缉厘g ! 撞旦塞理友法的选捶 1 ,取得p c i 板卡所占用的资源。 对于i s a 板卡,它所占用的资源是固定的,用户可以直接访问;而p c i 设备是 即插即用的,它占用的所有资源都是由系统浮动分配的,要访问这些资源,就必 须先对这些资源定位并进行锁定,进而为我所用。 2 、建立应用程序和驱动程序之问的映射关系。 因为在w i n d o w s9 8 和w i n d o w sn t 等操作系统下,各种硬件资源的访问对用户 来讲是透明的,用户不能在上层应用程序里直接访问硬件资源,只能靠底层驱动 程序来访问它。因此,用户如要实现对板卡的控制,就必须在应用程序和底层驱 动程序之间架起一座桥梁,用以实现应用程序和驱动程序之间的联系。通过这个 桥梁,用户可以实现参数的传递和硬件资源的访问。 3 、通过驱动程序实现对硬件资源的访问。 用户最终的目的就是实现对硬件资源的直接访问,而在上层应用程序中却根 本就作不到。驱动程序提供了可以直接访问各个资源的函数,用户可以通过驱动 程序中实现对所需资源的访问。 2 2p c i 总线接口实现方式的比较及选择 在设计满足p c i 规范的目标板时,就一定要实现p c i 总线接口,目前p c i 接 口实现的方法有两种:第一种就是使用一些公司的p c i 接口专用芯片来实现;第 二种就是使用可编程逻辑器件来实现。下面介绍这两种实现方法的可行性。 2 2 1采用现场可编程门阵列( f p g a ) 实现 采用现场可编程门阵列( f p g a ) 实现p c i 接口可以有两种选择:第一种是购 买厂商的口核;第二种就是自行用f p g a 器件来设计实现p c i 协议及其他逻辑功能。 现在许多f p g a 锖q 造商都提供了p c i 接口宏核逻辑( p c ii pc o r e ) ,这些i p 核都是 经过严格测试的,用户无需考虑p c i 接口的逻辑时序,只要将用户逻辑和i p 核进行 组合设计就可以。并且,设计者可以将i p 核与用户逻辑集成在一片f p g a 中,并 可以在顶层通过仿真来验证p c i 总线接口及用户逻辑的正确性,大大缩短了开发周 期,降低了开发难度,并且提高了调试速度。但是,由于m 核一般都比较昂贵,对 于小规模的应用而言开发成本太高,这种方案一般都运用在大规模的生产中。 利用f p g a 设计p c i 接口最大的优点就是其灵活的可编程性。对于一个典型的 p c i 设计,并非一定要实现p c i 协议的所有功能,这样就可以利用f p g a 器件自行设 计p c i 协议,只实现自己需要的p c i 接口功能,这样不仅可以节约系统的逻辑资源, 韭塞窑适太堂亟主堂僮监塞 l 簋线金绥厘! 撞旦塞班友洼曲选握 而且当系统升级时,只需要对f p g a 器件重新进行逻辑设计,而无需更新p c b 版图, 这极大的提高了设计的灵活性。但是由于p c i 协议的复杂性,如果由用户自己来进 行设计,用户需要做大量的逻辑验证和时序分析工作,设计难度较大,调试也十 分困难,开发周期比较长,对于有充足时间的设计,这种方案是可行的。 2 2 2 采用专用接口芯片实现 p c i 专用接口芯片将复杂的p c i 总线接口转化为相对简单的用户接口,用户不 用考虑p c i 接口的逻辑时序匹配和具体传输过程以及电气规范,只需设计接口芯片 和用户逻辑的接口电路,以及和e e p r o m 的接口电路即可。而且p c i 专用接口芯片 功能全面( 如f i f o 速度快、容量大、可支持d m a 方式等) ,它实现了p c i 规范所 要求的所有硬件接口信号和配置空间寄存器,从而大大减少了设计者的工作量, 缩短了开发时问,而且p c i 专用芯片一般都比较便宜,这就降低了开发成本,适用 于小规模的开发。 但正是由于p c i 专用接口芯片实现了p c i 规范的所有功能,而在有些设计中之 用到了一部分功能,因此,会造成一定的资源浪费。 2 2 3p c i 总线接口实现方法的选择 通过对以上两种实现方案的分析,考虑到本设计是处于实验阶段,属于小规 模的应用,而且开发时间较短,因此采用第二种方案,即采用p c i 专用接口芯片 来实现p c i 总线接口。 2 3 本章小结 本章首先对p c i 总线进行了介绍,分别介绍了p c i 总线的特点、总线信号、 总线命令以及总线传输。然后介绍了目前实现p c i 接口的两种方法,对这两种方 法进行了分析,并选择了利用p c i 专用接口芯片来实现p c i 总线接口。 j 塞窑盟太望亟堂焦论塞l 撞旦电跷盟选让 3p c i 接口电路的设计 3 1p c i 专用接口芯片的选择 在本设计中采用p c i 专用接口芯片来实现p c i 总线接口,目前市场上常见的 有p l x 、c y p r e s s 、t i 、a m c c 等公司的p c i 接口芯片,表3 1 列出了各个公司目 前用的较为广泛的芯片,以及芯片的特点、价格等。p c i 专用接口芯片又分主控设 备( m a s t e r ) 和目标设备( t a r g e t ) 两大类。主控设备可以控制总线驱动地址、数据和控 制信号,如p l x 9 0 5 4 ,c y 7 c 0 9 4 4 9 等;目标设备不能启动总线操作,只能依赖于 主控设备从其中读取或向其传送数据,如p c i 9 0 5 2 ,a m c c s 5 9 3 3 等。在众多通用 的p c i 接口芯片中,最后选用了p l x 9 0 5 4 ,主要有以下几个原因: 1 、目前a m c c 公司的5 5 9 2 0 、p l :x 公司的p l x 9 0 5 2 5 0 等芯片已在市场上广 泛应用,它们的优越性主要是实现了p c i 目标设备的功能,并提供了与i s a 总线信号兼容或时序相似的本地总线信号,是从i a s 到p c i 总线平台平滑 过渡的最佳选择;但它们都不支持p c i 2 2 协议,无论是操作速度还是传输 带宽在性麓上已属落后,而且从d s p 和适配卡的发展方向来说,3 3 v 低电 压的信号环境是更主流的选择。 2 、如果只是与局部总线处理器相连,采用c y 7 c 0 9 4 4 9 p v - a c 将是最好的方 法;但由于本实验卡是可扩展的,以后设计的各种模块很可能会与主机交 换信息的方式不同,那样就不能同时共享c y 7 c 0 9 4 4 9 p v - a c 的接口,因此 不选用。 3 、考虑到硬件的通用性、可升级性和可扩展性,在以后的开发过程中极有可 能会用到d m a 方式进行读写操作等,因此主从处理都需要考虑。所以, 采用主从控制器更好。 4 、目前p l x 公司的p c i 专用芯片是市场上的主流产品,采用p l x 9 0 5 4 芯片 是为了以后更方便的升级,将来利用p 【公司的p l x 9 6 5 6 等产品,可以 方便的将设计性能提升到6 4 位,或者6 6 m h z 操作。 此外,p l x 9 0 5 4 有1 7 6 - p i n p q f p 和2 2 5 - p i n p b g a 两种封装形式,考虑到p b g a 封装的芯片焊接难度大,因此采用的是p q f p 的封装形式。 综上所述,在本设计中采用的p c i 接口芯片是p l x 公司的1 7 6 p i np q f p 封装 形式的p l x 9 0 5 4 芯片。 韭塞窑通太堂硒堂选j 金塞! 接旦电蹬酸退让 表3 1 常用p c i 接口芯片的比较 公司芯片型号( 模式)芯片功能及特点价格 开发技术支 持 p l xp l x 9 0 5 2 ( 从) 型号众多,使_ f l 方较

温馨提示

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

评论

0/150

提交评论