- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于PXI线的高速数字IO卡的设计
基于PXI总线的高速数字I/O卡的设计
依据PXI总线规范,应用PCI9054总线控制器实现PXI总线接口,通过FPGA控制PCI9054总线控制器局部总线和FIFO的读写端口来实现高速数字输入输出。测试结果表明,该板卡能够稳定地传输不低16MHz的高速数字信号。
PXI是PCI在仪器领域的扩展(PCI Extension for Instrumentation),其技术规范是NI公司于 1997年9月1日推出的,现已有60多家联盟[1]。PCI局部总线可以在33MHz和 32位数据通路的条件下达到峰值132Mb/s的带宽,在66MHz和 64位数据通路的条件下达到峰值528Mb/s的带宽[2]。PXI吸收了VXI的优点,同时受益于Compact PCI(CPCI),因而速度更快、结构坚固紧凑、系统可靠稳定,在射频和微波频带以下的低、中高频段可以替代VXI而且价格优势明显,深受广大用户欢迎,目前正朝气蓬勃地向商用与军用领域拓展。
PXI高速数字I/O卡是实现各种功能复杂的高速传输模块的最基本单元。对它的深入研究设计有助于更好地理解PXI总线及其接口设计。
1 系统结构与设计原理
一个完整的数字I/O系统由PCI总线控制器、FPGA、FIFO等模块组成。PCI总线控制器实现PXI总线接口,FIFO作为数据输入输出的缓存器件,经FPGA控制后实现局部总线数据的读写操作。具体的结构如图1。
数据传输流程为:输入时,外部数据通过写入FIFO后读出传入PCI9054局部总线,经PCI9054传入到PXI总线;输出时,数据经PXI总线送人PCI9054后经局部总线传到输出FIFO后,通过读取FIFO实现数据的输出。整个传输过程的时序由FPGA严格控制。
2 硬件设计
硬件设计包括接口设计和局部总线设计。
2.1接口设计
当前国际上实现PXI接口主要有两种途径:一种是直接通过FPGA进行接口设计,主要是调用FPGA中的PCI宏单元。另一种是直接通过专用的PCI接口芯片来实现接口设计。前一种方法要求对PCI总线规范十分了解,调试困难较大,开发周期较长,而直接购买PCI的IP核又太贵,所以这里采用第二种方案。目前提供PCI 通讯芯片的厂家很多,比较成熟的接口芯片有PLX公司的PCI90XX系列、AMCC公司的S59XX系列以及CYPRESS公司的CY7C094XX系列。
PCI9054是由美国PLX公司生产的先进的PCI I/O Accelerator;符合PCI2.2协议,采用了先进的数据流水线结构技术;局部总线提供了M、C、J 三种工作模式以适应不同的局部处理器;具有可选的串行EEPROM接口,本地总线时钟可和PCI时钟异步。PCI9054内部有6种可编程的FIFO,以实现零等待突发传输及本地总线与PCI总线之间的异步操作;本地时钟可以达到 50MHz,且与 PCI 时钟异步。它支持突发以及DMA传输,能在主模式和从模式、DMA模式下工作,是应用非常广泛的一款PCI接口芯片[3]。PXI接口框图如图2。
数据总线和地址总线是复用的,分别为AD0-AD31;控制总线主要包括C/BE[0:3]#、FRAME#、IRDY#、DEVSEL#、TRDY#、STOP#、IDSEL#、LOCK#、PAR#、PEER#、SERR#、REQ#、GNT#等,在硬件连接时只要将PXI接口和PCI9054对应的这些端口相连即可。与串行EEPROM对应的端口为CS、SK、DI、DO,在电路中DI和DO是物理连接的,EEPROM的EEDI/EEDO引脚的配置要注意:当不安装EEPROM时,该引脚一定要下拉,用1kΩ的下拉电阻即可,此时启动后9054会按默认值进行配置;当安装空白的EEPROM时,该引脚需要上拉;当安装烧录好的EEPROM时,该引脚需要上拉。
2.2局部总线设计
由图2可知,PCI9054的局部总线分别与FPGA和功能模块相连。由于在功能模块中用到的是FIFO缓存器,所以不需要局部地址总线,只需将数据总线分别连接到两块FIFO中,局部总线的控制信号和FIFO的控制信号连接到FPGA中,通过FPGA来控制FIFO的读写。为了灵活地改变数据的传输速率,在FPGA中调用锁相环来给FIFO分配读写时钟。局部总线的电路连线如图3。
为了配合外部电路的速度和匹配要求,在这里应用了Altera的库生成了PLL(Phase Locked Loop)。PLL具有低的时钟偏移,应用灵活,通过调整比例关系就可以得到所需要的时钟频率。其symbol如图4,时序仿真如图5。
通过设置寄存器DMAMODE的第7位可以使能或禁止外部等待输入控制信号READY#,以使PCI9054工作于外部等待或内部等待状态。当READY#被禁止
文档评论(0)