- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PCI总线高速数据传输系统设计
导语:?本文通过一套数据采集卡的设计介绍了PCI总线数据传输的基本过程,给出了系统整体设计方案和PCI接口通信方式及驱动程序实现,并着重讨论了PCI数据传输中影响传输速率的各个方面 摘 要:本文通过一套数据采集卡的设计介绍了PCI总线数据传输的基本过程,给出了系统整体设计方案和PCI接口通信方式及驱动程序实现,并着重讨论了PCI数据传输中影响传输速率的各个方面。关键词:PCI总线,WinDriver,直接存储器存取1 引言 计算机总线扩展技术使得基于计算机的数据采集技术迅速得到应用,基于PC机的数据采集系统是目前应用最为广泛的数据采集系统之一,不但广泛应用于电力设备监控、遥测遥感等测控领域,在声纳、雷达、通讯、地质、医疗器械等领域中也有着重要的应用。高速数据传输始终是计算机相关领域研究的重点,它是计算机感知外部世界并对其进行控制的基础。PCI总线协议是Intel公司1992年提出,为满足高速数据输入/输出要求而设计的一种低成本,高性能的局部总线协议。32位PCI总线的峰值传输速率为132MB/s(33MHz×4Byte)。在PC机的数据传输中,PCI总线以其卓越的性能得到了广泛的应用。高速的数据传输要求提高PCI总线的带宽利用率,使其尽量接近PCI总线的极限速率。本文详细介绍了PCI总线高速数据传输系统设计的关键技术,并实现了一套高速数据采集系统。2 硬件电路设计 该系统硬件电路板的结构框图如图1所示。其中PCI9054总线控制器负责局部总线与PCI总线间的接口通信。由于PCI9054 Local总线部分信号时序也比较复杂,用门电路不但难以实现而且所需要芯片数量较多,影响电路板的扩充能力及通用性,故采用CPLD实现PCI9054 Local端的控制。从框图中可以看到, PCI9054局部数据总线高五位数据线接到CPLD引脚上,这五根数据线可以接受和发送数据,根据接收到的数据对其译码产生控制信息,还可以发出数据使PCI9054产生门铃中断和MailBox中断。 PCI接口数据传输效率非常高而A/D采集数据效率较低,所以本设计采用FIFO来缓存数据,也可以同时采集多路数据。PCI9054局部总线支持50MHz时钟,为配合A/D工作,本设计选用40M时钟。PCI9054的所有地址线和控制信号都只与CPLD连接,产生CPLD的工作状态和各种控制信息。FIFO采用TI公司生产的SN74V3690芯片,该芯片非常适合于网络,视频,信号处理,电话,数据通信和其他需要大量数据和非对等总线匹配的应用。[align=center]图1 硬件电路框图[/align]3 DMA传输方式设计 3.1改进的状态机设计 一般情况下状态机的转换图如图2所示。该状态机有三种传输状态,空闲状态、等待状态和传输状态。该状态机能成功完成与PCI9054的配合数据传输,传输性能稳定,效果较好。是现在PCI9054局部总线状态机设计的一般方法。通过实际测试,在用户模式下,采用该状态机查询方式DM,A传输速率可以稳定达到68M Byte/s.[align=center]图2 一般状态转换图[/align] PCI总线峰值速率为132M Byte/s,而以上状态机和传输状态下DMA速率只有68MByte/s说明其中存在不少漏洞。对比该状态机的时序与PCI9054给出的标准DMA传输时序可知,一般状态机在ADS#信号为低后先进入等待状态用来配置各种信号线,然后才开始传输状态。所以每次启动传输都要浪费一个时钟周期的时间,这种浪费在高速数据传输过程中特别是DMA传输中是非常可观的。 而PCI9054标准DMA传输在ADS#信号为低后立刻开始数据传输并不需要等待周期,所以等待周期可以省略,状态机只需要两个状态用来产生时序,即空闲状态和数据传输状态,这样状态机转换过程可以简化。但是由于PCI9054不只需要DMA传输,还需要一些其他操作,比如读写某些控制字和状态标志位等,所以在CPLD中还要区分地址。所以本设计采用了新的状态机,改进的状态机状态转换图如图3所示。 实际测得在同一台机器上,新状态机在用户模式下,查询方式DMA传输速率可以稳定达到88MByte/s。所以在同种情况下,改进的状态机速率可以比原状态机速率高出20MByte/s。由传输速率的大幅提高可以看出,这种改进方式是非常成功的。[align=center]图3 改进的状态转换图[/align] 3.2 DMA传输模式选择 PCI9054支持两种DMA传输方式:连续模式和集散模式。连续模式即一般的DMA传输方式(块传输),它要求PCI端的物理存储地址连续,Local端地址连续或不
文档评论(0)