2. 3 PCI 接口控制器
PCI 的时序规则和PCI 的总线协议由PCI 接口控制器实现,同时它还负责传递地址和数据输出使能信号给测速模块,实现I/ O 口的基本读与猝发读数据功能。
从设备控制器包括2 个部分: 奇偶校验模块和PCI从设备状态机。
2. 3. 1 奇偶校验模块
PCI 的奇偶校验提供了一种机制来决定一件作业。
该作业判断主设备是否成功地寻址相应的从设备,且数据是否正确地在它们之间传输。通过该模块完成数据传输过程中PCI _AD 和PCI _CBE 的偶校验。偶校验的输出信号在地址和数据周期有效,其产生的规则是使偶校验输出、PCI_CBE、PCI_AD 各位的“1”的个数为偶数。那么采用把PCI_AD 与PCI_CBE 各位异或的方法,就可以实现偶校验的功能。
2. 3. 2 PCI 从设备状态机
PCI 从设备控制器是PCI 接口设计的核心模块,按功能来说,它要产生奇偶校验和数据的使能信号,并根据PCI_AD 和PCI_CBE 产生读地址,完成主从设备的握手信号,并且实现从设备状态机在各个状态之间的转换。
由于本设计只需要完成I/ O 读操作,本状态机设计配置空间的功能放在了从设备控制器来完成,同时删去了PCI 操作中对 存储器 空间、配置空间的操作,结合PCI 总线的传输时序,如图5 给出了其基本结构。
( 1) 空闲状态为PCI 从设备的初始状态,在没有任何操作的时候,PCI 从设备将始终保持这个状态;( 2) 每次数据传输时首先传出地址和命令字,根据地址和命令字确定是不是对本设备的访问,并确定访问的首地址; 从设备则从命令字中识别该访问是读操作还是写操作;( 3) 读访问只有在信号 IR DY,TRDY,DEVSEL都为低状态时才能进行;( 4) 猝发传输需要通过地址递增逻辑来实现地址的自动递加,其地址递增的周期为数据周期和最后传输周期总和,在等待周期暂停递增;( 5) 主从设备中任一方没有准备好,操作中都需要能够引起等待状态插入的活动;( 6) 读操作还有一个中间准备过程。
图5 读状态机结构。
那么完成本状态机需要6 个状态: idle 表示空闲状态; addr 表示地址周期; tur nad 表示读转换周期; data表示数据传输周期; la ST t ra 表示最后传输周期; wait 表示等待周期; 在各个状态到来时还要对中间信号、输出信号和本地信号执行相应的操作:
( 1) idle,addr,turnad 周期对PCI_TRDYn 和PCI_DEVSELn 置高电平; addr 周期依据地址信号确定是否选中本机,识别是否为读操作; addr 周期输出PCI _AD[ 3: 2] 对寄存器进行寻址,实现读操作。
( 2) data,lastt ra 周期对PCI _ T RDYn 和PCI _DEVSELn 置低电平; data,last t ra 周期置DAT A _EN有效并输出。
( 3) addr ,data,last t ra 周期置奇偶校验有效。
( 4) 等待周期置PCI _TRDYn 和PCI_ DEVSELn低电平。
根据对PCI 总线传输时序的分析,影响各个状态相互转化的因素是: 帧同步信号PCI _FR AME n、主设备准备好信号PCI _IRDYn、读识别信号READn。其中,READn 用来标识状态addr 产生的中间识别信号。
3 测试平台与仿真测试
这种改进M/ T 数字测速及位置检测算法的硬件采用 Xilinx 公司的FPGA XC3S400 。使用36 000 刻的增量式码盘,速度环采样周期T 设定为1 ms,高频时标信号的频率为40 MHz,结合PC 运算的数字测速算法可以在速度0. 001~ 150(?) / s 的范围内获得? 2. 5 (10- 5 s 的测速精度。与此同时,高精度动态位置检测算法可以使位置反馈的动态测量分辨率提高到10- 2 ~10- 5个脉冲当量。
对编写好的VHDL 程序采用ISE 进行综合,并编写测试平台,用ModelSim 对其进行仿真测试。图6 为PCI 控制器的仿真图,图中state 表示状态机在内部转换的过程,状态1 表示空闲状态,状态2 表示地址周期,状态4 表示读转换周期,状态8 表示最后传输周期,状态9 表示猝发读写周期。
图6 I/ O 读操作。
该I/ O 读操作,将地址为1 的寄存器读出。这里设定I/ O 地址为0X200~ 0X20F 这4 个双字空间,那么在地址周期中地址0X204 的2~ 3 位寻址于寄存器的第一个双字,其后紧跟的是读的转换周期,猝发读写周期和最后一位读写周期。可以看出,这两个周期都对这个寄存器进行了读操作。
4 结 语
本文介绍了使用FPGA 设计和实现基于PCI 总线传输的改进型M/ T 法测速电路,它克服了经典测速方法的几个缺点,在较大速度范围内都具有良好的精度。
同时使用FPGA 设计和实现了PCI 从设备控制器,使得测速电路的设计与PCI 总线的设计成为一个整体,节省了板上器件,也使得整个设计信号在FPGA 内部流动,具有更加良好的抗干扰能力和稳定性。
本文关键字:暂无联系方式DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术