基于FPGA的VXI总线寄存器基模块接口电路设计(06-100)
组态寄存器的设置
本文引用地址:https://www.eepw.com.cn/article/81437.htmID寄存器
ID寄存器是读寄存器,用于回答本模块是寄存器基器件。其内容一般可由总线三态缓冲器读出。
型号寄存器
型号寄存器用于将本模块和其他模块区别。
状态寄存器
状态寄存器一般用5位,分别为CI(命令写入与否)、PASS(初始化或自检通过与否)、RDY(是否准备好)、DONE(命令是否执行完毕)、MODID*(模块是否被识别)。
以上只列出了三种比较基本的寄存器的使用情况,由于每个器件有64字节的标准组态/操作寄存器,其他寄存器的配置应根据需要进行安排。
DTB及DTB仲裁
DTB及DTB仲裁是VXI接口的核心, DTB主要包括:寻址总线、数据总线和控制总线。寻址线包括地址线A01~A31、数据选通线DS0*和DS1*、长字线LWORD* 、读写线WR* 和地址选通线AS*。存储器的最小寻址单位是字节,每一个字节都有唯一的二进制地址。VMEbus的数据宽度为32位,因此它可以一次进行传输4个字节单元中的部分或全部字节单元,主模块用A02-A31地址线来决定所传输的哪一个4字节组,另外用4根信号线DS0*、DS1*、A01和LWORD*决定每次数据传输中所选择的4字节组中的字节单元。字节定义及访问控制分别见表1和2。另外,数据传输总线DTB有6根地址修改线(AM0~AM5),主模块可用它向从模块传递附加的二进制信息。根据VXIbus规范,A16器件只对地址修改码29H、2DH进行响应,因此,AM2可以不参与译码。若只使用双字节访问中的字节(0-1),因此,DS0*=0、DS1*=0、A01=0和LWORD*=1。
读写控制
该部分电路负责控制VXI总线与模块间的数据传输方向(DIR)和VXI总线与模块之间是否选通(DBEN)。逻辑表达式如下:
DIR = VWRITE*;
DBEN =(!VDS0* II !VDS1*) && !CARDADDR
产生内部读写和选通信号
该部分电路用来实现DS0*、DS1*、AS*、WRITE*等信号的产生,这些信号不需要设计,直接利用背板提供的信号直接引入FPGA电路即可,但这些信号要根据实际进行组态。VXI总线数据传输应答信号(DTACK*)、锁存信号(LATCH*)、数据传输使能信号(DBEN*)依据实际要求进行设计,它们的时序比较复杂,因此一般采用AHDL描述语言设计,通过状态机实现。
评论