基于单片机的PCI总线通信功能设计.doc
《基于单片机的PCI总线通信功能设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的PCI总线通信功能设计.doc(35页珍藏版)》请在沃文网上搜索。
1、 大学毕业设计(论文)题目: 基于ARM的PCI总线通信功能设计 指导教师: 职称: 学生姓名: 学号: 专 业: 院(系): 完成时间: 2011年5月25日 年 月 日摘要本文详细介绍了基于AT91RM9200单片机的PCI总线通信功能的设计,包括硬件设计和软件设计两部分。通信功能的设计着重于单片机与上位机之间通过PCI总线进行的数据传送。本次设计在于用比较容易掌握的单片机来实现PCI控制器的功能,在PCI总线的简单运用场合,大大简化了设计的复杂程度。设计的实现是利用单片机的I/O口与PCI总线的控制信号线以及地址/数据信号线等直接相连,用对单片机的编程来控制数据的传输。文中介绍了PCI总
2、线的基本概念,一些重要信号的定义,以及PCI总线事务的时序。单片机部分介绍了型号的选择,选择了AT91RM9200单片机的理由和AT91RM9200单片机的基本知识。本次设计选择AM29LV160和57V561620作为AT91RM9200外接存储器。设计的结果是成功的完成了原理图绘制和PCB版图的设计,和实验仿真。关键词:PCI总线 单片机 AbstractThis paper introduces in detail the communication function design of the PCI bus based on AT91RM9200 MCU, including har
3、dware design and software design. Communication function design focuses on the data transfer between SCM and PC by PCI bus. The design is to use MCU to realize the function of PCI controller,which is easier to master. In the simple use of the PCI bus, this design will greatly simplify the complexity
4、. The realization of the design is to make the I/O port of MCU directly connected with the control and address/data signal lines of the PCI bus. It controls the data transmission by programming MCU. This paper introduces the basic concept of PCI bus, some important signals, and the definition of the
5、 timing PCI bus affairs. This article at first introduces the choice of microcontroller model, and then introduces the reason that AT91RM9200 is selected and the basic knowledge of AT91RM9200. I choose AM29LV160HY and 57V561620 as the memory of AT91RM9200. The result of the design is completingthe d
6、rawing of schematic diagram, the design of PCB layout and simulation.Key words: PCI bus; MCU 目录第一章 绪论11.1 引言11.2 设计方案21.2.1 设计框图21.2.2 设计要求2第二章 器件相关知识32.1 PCI总线32.1.1 PCI总线的基本概念32.1.2 PCI总线的主要性能42.1.3 PCI总线的特点42.1.4 PCI总线的部分信号定义52.1.5 PCI总线事务的时序82.2 单片机92.2.1 单片机芯片型号的选择92.2.2 AT91RM9200芯片简介92.2.3 AT
7、91RM9200的主要模块及存储器的选择10第三章 硬件设计部分113.1 原理图的绘制113.1.1 AT91RM9200113.1.2 AT91RM9200单片机所需电路123.1.3 HY57V561620153.1.4 AM29LV160163.1.5 PCI总线173.2 PCB版图设计173.2.1 元件的封装173.2.2 PCB版图设计17第四章 软件设计部分194.1 软件编程流程图194.2 单片机初始化过程194.2.1 Boot Loader流程204.2.2 Boot Loader各个子流程阐述20第五章 软件仿真与实验23第六章 设计总结25致谢26参考文献27附录
8、A28附录B29附录C30第一章 绪论1.1 引言PCI总线是一种高性能的局部总线,是为了满足外设间以及外设与主机间高速数据传输而提出来的。PCI总线为系统提供了一个高速的数据传输通道,系统的各设备可以直接或者间接的连接其上,设备间通过局部总线可以完成数据的快速传递。在数字图形、图像和语音处理,以及高速实时数据采集与处理等对数据传输率要求较高的应用中,采用PCI总线来进行数据传输,可以解决原有的标准总线数据传输率低带来的瓶颈问题。目前,PCI总线是个人电脑中使用最为广泛的接口,即使后续的PCI Express总线逐步取代PCI总线成为PC局部总线的主流,也不能掩盖PCI总线的光芒。从软件层面上
9、看,PCI Express总线与PCI总线基本兼容;从硬件层面上看,PCI Express总线在很大程度上继承了PCI总线的设计思路。因此,PCI总线依然是软硬件工程师在进行处理器系统的开发与设计时必须掌握的一条局部总线。对我们来说,研究PCI总线是有着十分重要的现实意义的。利用软硬件具体实现了通过PCI总线进行的通信,就可以熟练掌握PCI总线的通信过程,对PCI总线有更深层次的理解。PCI总线规范允许在计算机内安装多达10个遵从PCI规范的扩展卡。此外,PCI总线系统要求有一个PCI控制卡,必须安装在PCI插槽内。在本次的设计中,利用单片机来实现PCI控制卡和外接设备的功能,单片机通过PCI
10、总线与上位机之间进行通信。具体来说就是,单片机通过PCI总线向上位机发送数据,上位机通过PCI总线来接收单片机发来的数据,上位机也可以通过PCI 总线向单片机发送数据,上位机和单片机之间通过PCI总线实现双向通信。利用单片机进行设计是在保证用PCI总线实现通信功能的基础上,尽可能的简化外接设备,以使PCI总线的应用更加方便。单片机即嵌入式控制器(EMCU),是将CPU,存储器和各种输入输出接口集成在一块半导体硅片上具有一台计算机属性的集成电路芯片。单片机自问世以来,以其极高的性能价格比,受到人们的重视和关注,发展很快。单片机体积小,重量轻,抗干扰能力强,环境要求不高,价格低廉,可靠性高,灵活性
11、好,开发较为容易。由于这些优点,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电子、电力电子、机电一体化设备等各个方面。而且,近些年来,单片机发展很快,能实现的功能越来越强大,所以掌握单片机的结构和使用编程方法也是必不可少的。选用单片机在本次设计中也是一大特色,既可以熟练掌握PCI总线的工作过程,也可以在设计过程中增强单片机的运用能力。在选择哪一个具体型号单片机的时候,对目前广泛应用的几种单片机的不同功能也有了很多的了解,对于以后的工作和学习有了很大的帮助。本次设计包括PCI总线基础知识的学习,单片机型号的选择,原理图的绘制,PCB版图的设计,仿真与总结。1.2 设计方案 1
12、.2.1 设计框图单片机通过PCI总线与上位机实现通信的设计框图如图1所示:图1 设计框图1.2.2 设计要求要使通信功能能够顺利实现,选用的单片机必须满足以下要求:1.能够传送一个32的数据;2.工作频率至少是PCI总线工作频率的三倍,才能满足时序匹配;3.单片资源丰富,接口应该足够PCI总线使用 4. 在满足以上两点的情况下选择功能比较少,易于掌握的单片机; 5. 选择市面上比较常见,价格也相对便宜的单片机。第二章 器件相关知识2.1 PCI总线 2.1.1 PCI总线的基本概念PCI是由Intel公司1991年推出的一种局部总线。局部总线英文全称是Peripheral Component
13、 Interconnection。PCI是一种由Intel公司推出的用于定义局部总线的规范。从结构上看,PCI是在CPU和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。管理器提供了信号缓冲,使之能支持10种外设,并能在高时钟频率下保持高性能,它为显卡,声卡,网卡,MODEM等设备提供了连接接口,它的工作频率为33MHz/66MHz。PCI总线也支持总线主控技术,允许智能设备在需要时取得总线控制权,以加速数据传送。PCI系统总线的构成如图2所示:图2 PCI总线构成PCI是是目前个人电脑中使用最为广泛的接口,几乎所有的主板产品上都带
14、有这种插槽。PCI插槽也是主板带有最多数量的插槽类型,在目前流行的台式机主板上,ATX结构的主板一般带有56个PCI插槽,而小一点的MATX主板也都带有23个PCI插槽,可见其应用的广泛性。电脑中的PCI插槽如图3所示,图中白色的插槽即为PCI插槽。图3 PCI插槽最早提出的PCI总线工作在33MHz频率之下,传输带宽达到了133MB/s,基本上满足了当时处理器的发展需要。随着对更高性能的要求,1993年又提出了64bit的PCI总线,后来又提出把PCI总线的频率提升到66MHz。目前广泛采用的是32bit、33MHz的PCI总线,64bit的PCI插槽更多应用于服务器产品。本次设计中采用的是
15、32bit、33MHz的PCI总线。当PCI总线进行操作时,发起者(Master)先置REQ#,当得到仲裁器(Arbiter)的许可时(GNT#),会将FRAME#置低,并在AD总线上放置Slave地址,同时C/BE#放置命令信号,说明接下来的传输类型。所有PCI总线上的设备都需对此地址译码,被选中的设备要置DEVSEL#以声明自己被选中。然后当IRDY#与TRDY#信号都已经置低,可以传输数据。当Master数据传输结束前,将FRAME#置高以表明只剩最后一组数据要传输,并在传完数据后放开IRDY#以释放总线控制权。2.1.2 PCI总线的主要性能(1) 支持10 台外设;(2) 总线时钟频
16、率33.3MHz/66MHz;(3) 最大数据传输速率133MB/s;(4) 时钟同步方式;(5) 与CPU 及时钟频率无关;(6) 总线宽度 32 位(5V)/64 位(3.3V);(7) 能自动识别外设。2.1.3 PCI总线的特点PC机上的PCI总线以33MHz的时钟频率操作,采用32位数据总线,数据传输带宽可高达133MB/s,能支持奔腾级电脑的图形数据传输。PCI总线采用地址/数据总线复用方式,在总线规模较小的前提下,保证了总线的高性能。PCI总线是一种可自动配置的总线,即具有即插即用功能。PCI总线是独立于CPU的局部总线,因此,在进行PCI总线接口的开发与应用时,可以不必关心CP
17、U的具体结构和时序,只需按照PCI总线标准设计即可。PCI总线有如下显著的特点: (1) 线性突发传输;(2) 同步总线操作;(3) 多总线主控方式;(4) 不受处理器限制;(5) 兼容性强;(6) 预留了发展空间;(7) 自动配置功能;(8) 编码总线命令;(9) 地址/数据总线复用;(10)高性能价格比;(11)立足现在放眼未来的标准。2.1.4 PCI总线的部分信号定义 PCI总线是一条共享总线,在一条PCI总线上可以挂接多个PCI设备。这些PCI设备通过一系列信号与PCI总线相连,这些信号由地址/数据信号、控制信号、仲裁信号、中断信号等多种信号组成。PCI总线信号的定义与分类如图4所示
18、(1)系统信号 CLK(clock)(IN)PCI系统时钟信号,输入。PCI总线上的所有操作都是与PCI时钟信号同步的,系统在CLK的上升沿采样PCI上设备的所有输入信号。时钟信号的频率范围是0MHz33MHz,或33.33MHz66.66MHz。而66MHz时钟仅支持3.3V的信号环境。时钟仅在节省电源状态下才会停止。 RST#(reset)(IN)复位信号,输入,低电平有效。当复位信号有效时,将所有PCI专用的寄存器、定时器和信号复位到指定状态。一般情况下,全部输出信号处于高阻状态。图4 PCI总线信号的定义和分类(2)地址和数据信号 AD31:0信号PCI总线复用地址与数据信号。PCI总
19、线事务在启动后的第一个时钟周期传送地址,这个地址是PCI总线域的存储器地址或者I/O地址;而在下一个时钟周期传送数据。传送地址的时钟周期也被称为地址周期,而传送数据的时钟周期也被称为数据周期。PCI总线支持突发传送,即在一个地址周期之后,可以紧跟多个数据周期。 C/BE3:0# 总线复用命令与字节选通引脚在地址周期中,C/BE3:0信号表示PCI总线的命令。在数据周期,C/BE3:0引脚输出字节选通信号,其中C/BE3、C/BE2、C/BE1和C/BE0与数据的字节3、2、1和0对应。使用这组信号可以对PCI设备进行单个字节、字和双字访问。PCI总线通过C/BE3:0#信号定义了多个总线事务,
20、四条线可表示16种不同的总线命令。(3)接口控制信号在PCI总线中,接口控制信号的主要作用是保证数据的正常传递,并根据PCI主从设备的状态,暂停、终止或者正常完成当前总线事物,其主要信号如下。 FRAME#信号该信号指示一个PCI总线事物的开始与结束。当PCI设备获得总线的使用权后,将置该信号为有效,即置为低,启动PCI总线事务,当结束总线事务时,将置该信号无效,即置为高。PCI设备只有通过仲裁获得当前PCI总线的使用权后,才能驱动该信号 IRDY#信号该信号由PCI主设备(包括HOST主桥)驱动,该信号有效时表示PCI主设备的数据已经准备完毕。如果当前PCI总线事务为写事务,表示数据已经在A
21、D31:0上有效;如果为读事务,表示PCI目标设备已经准备好接收缓冲,目标设备可以将数据发送到AD31:0上。 TRDY#信号该信号由目标设备驱动,该信号有效时表示目标设备已经将数据准备完毕。如果当前PCI总线事务为写事务,表示目标设备已经准备好接收缓冲,可以将AD31:0上的数据写入目标设备;如果为读事务,表示PCI设备需要的数据已经在AD31:0上有效。该信号可以和IRDY#信号联合使用,在PCI总线事务上插入等待周期,对PCI总线的数据传送进行控制。 IDSEL信号PCI总线在进行配置读写总线事务时,使用该信号选择PCI目标设备。配置读写总线事务与存储器读写总线事务在实现上略有不同。在P
22、CI总线中,存储器读写总线事务使用地址译码方式访问外部设备。而配置读写总线事务使用“ID译码方式”访问PCI设备,即通过PCI设备的总线号、设备号和寄存器号来访问PCI设备的配置空间。(4)仲裁信号PCI设备使用该组信号进行总线仲裁,并获得PCI总线的使用权。只有PCI主设备需要使用该组信号,而PCI从设备可以不使用总线仲裁信号。这组信号由REQ#和GNT#组成。其中PCI主设备的REQ#和GNT#信号与PCI总线的仲裁器直接相连,如图5所示。图5 仲裁器与PCI设备的连接关系2.1.5 PCI总线事务的时序图6 PCI总线事务的时序PCI总线使用它的各种信号进行数据和配置信息的传递,一个PC
23、I总线事务的基本访问时序如图6所示,与PCI总线事务相关的控制信号有FRAME#、 IRDY#、 TRDY#、DEVSEL#等其他信号。当一个PCI主设备需要使用PCI总线时,首先需要发送REQ#信号,通过总线仲裁获得总线的使用权,即GNT#信号有效后,使用以下步骤完成一个完整PCI总线事务,对目标设备进行存储器或者I/O地址空间的读写访问。(1)当PCI主设备获得总线使用权之后,将在CLK1的上升沿置FRAME#信号有效,启动PCI总线事务。当PCI总线事务结束后,FRAME#信号将被置为无效。(2)PCI总线周期的第一个时钟周期(CLK1的上升沿到CLK2的上升沿之间)为地址周期。在地址周
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 PCI 总线 通信 功能设计