新闻中心

EEPW首页>EDA/PCB>设计应用> 基于FPGA和PCI的高精度测速板卡的设计与实现

基于FPGA和PCI的高精度测速板卡的设计与实现

作者: 时间:2011-01-24 来源:网络 收藏

(1)空闲状态为从设备的初始状态,在没有任何操作的时候,从设备将始终保持这个状态;
(2)每次数据传输时首先传出地址和命令字,根据地址和命令字确定是不是对本设备的访问,并确定访问的首地址;从设备则从命令字中识别该访问是读操作还是写操作;
(3)读访问只有在信号IRDY,TRDY,DEVSEL都为低状态时才能进行;
(4)猝发传输需要通过地址递增逻辑来实现地址的自动递加;其地址递增的周期为数据周期和最后传输周期总和,在等待周期暂停递增;
(5)主从设备中任一方没有准备好,操作中都需要能够引起等待状态插入的活动;
(6)读操作还有一个中间准备过程。
那么完成本状态机需要6个状态:idle表示空闲状态;addr表示地址周期;turnad表示读转换周期;data表示数据传输周期;lasttra表示最后传输周期;wait表示等待周期;在各个状态到来时还要对中间信号、输出信号和本地信号执行相应的操作:
(1)idle,addr,turnad周期对_TFRDYn和PCIDEVSELn置高电平;addr周期依据地址信号确定是否选中本机,识别是否为读操作;addr周期输出PCI_AD[3:2]对寄存器进行寻址,实现读操作。
(2)data,lasttra周期对PCI_TRDYn和PCI_DEVSELn置低电平;data,lasttra周期置DATA_EN有效并输出。
(3)addr,data,lasttra周期置奇偶校验有效。
(4)等待周期置PCI_TRDYn和PCI_DEVSELn低电平。
根据对PCI总线传输时序的分析,影响各个状态相互转化的因素是:帧同步信号PCI_FRAMEn、主设备准备好信号PCI_IRDYn、读识别信号READn。其中,READn用来标识状态addr产生的中间识别信号。

本文引用地址://m.amcfsurvey.com/article/191386.htm

3 测试平台与仿真测试
这种改进M/T数字及位置检测算法的硬件采用Xilinx公司的XC3S400。使用36 000刻的增量式码盘,速度环采样周期T设定为1 ms,高频时标信号的频率为40 MHz,结合PC运算的数字算法可以在速度O.001~150(°)/s的范围内获得±2.5×10-5 s的精度。与此同时,动态位置检测算法可以使位置反馈的动态测量分辨率提高到10-2~10-6个脉冲当量。
对编写好的VHDL程序采用ISE进行综合,并编写测试平台,用ModelSim对其进行仿真测试。图6为PCI控制器的仿真图,图中state表示状态机在内部转换的过程,状态1表示空闲状态,状态2表示地址周期,状态4表示读转换周期,状态8表示最后传输周期,状态9表示猝发读写周期。

k.jpg
该I/O读操作,将地址为1的寄存器读出。这里设定I/O地址为0X200~0X20F这4个双字空间,那么在地址周期中地址0X204的2~3位寻址于寄存器的第一个双字,其后紧跟的是读的转换周期,猝发读写周期和最后一位读写周期。可以看出,这两个周期都对这个寄存器进行了读操作。

4 结语
本文介绍了使用设计和实现基于PCI总线传输的改进型M/T法测速电路,它克服了经典测速方法的几个缺点,在较大速度范围内都具有良好的精度。同时使用设计和实现了PCI从设备控制器,使得测速电路的设计与PCI总线的设计成为一个整体,节省了板上器件,也使得整个设计信号在FPGA内部流动,具有更加良好的抗干扰能力和稳定性。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭