c语言sscanf函数的用法是什么
336
2022-11-22
基于PXI总线的数据传输接口设计与实现方案
PCI9054 是PLX 公司提供的一款PCI 专用接口芯片,它兼容PCI V2.2 的协议规范。其内部结构图如图1 所示。由图可知,PCI9054 实现的是PCI Bus 端和Local Bus端的信号转换,使得Local Bus 端不需要进行复杂的PCI 协议逻辑的设计,只需要进行简单的数据传输逻辑的设计就能实现符合PCI 协议规范的信号生成。
PCI9054 的本地端支持可编程的特点,通过两个模式选择管脚MODE[1:0]来设置LocalBus 端分别工作在C 模式、J 模式、M 模式。这样可以使得PCI9054 的Local Bus 可以挂载不同类型的其他设备。
PCI9054 芯片的正常工作电压是3.3V,而在上位机的PXI 接口中,提供了三种电压,3.3V、5V 和12V,因此PCI9054 的供电完全可以由上位机来提供。设计中,可以增加一个外部电压的接入接口,方便开发过程中的调试。
图 2 EEPROM 电路设计原理图
在 Local 端的连线方案设计中,需要注意两点:一是本地时钟的接入,本地时钟作为PCI9054 识别Local 端是否有设备的依据,若在EEPROM 的EEDI 和EEDO 没有下拉的情况下,一定要接入本地时钟,不然连接上位机后,上位机进入不了系统。二是若需要用到PCI Initiator 传输方式,则必须将LBE[3:0]#全部拉低,否则就会造成读写出现上位机死机现象。
3 接口程序设计
由于数据传输接口涉及到数字频谱仪和上位机,其程序设计也包括两个部分:一部分是数字频谱仪端的程序设计,即PCI9054 Local 端的程序设计,由于本项目中在PCI9054 的Local端挂载的是FPGA 芯片,需要在FPGA 中进行Local 端的接口逻辑程序设计;另一部分是上位机端的程序设计,主要是基于操作系统的驱动程序以及上层应用程序设计。
3.1 FPGA 程序设计
FPGA 程序的设计主要是对PCI9054 的Local 端时序逻辑进行设计。由图2 可知,在PCI9054 内部的Local 端存在三种传输方式状态机:PCI Initiator 方式、PCI Target 方式、PCIDMA 方式。因此,在对Local 端的控制进行设计时,可以用不同的状态机来匹配PCI9054的内部状态机,达到实现各种方式的数据传输。
图3 FPGA程序结构图
上述 FPGA 程序中主要包括了两个状态机的设计,一个PCI DMA 数据传输方式的状态机设计,一个是PCI 9054 内部寄存器读写操作的状态机设计。它们的状态转移图分别如图4和图5 所示。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~