PCI总线协议的FPGA实现及驱动设计
(3)接口控制信号FRAME#、TRDY#、IRDY#、STOP#、DEVSEL#和IDSEL。其中,FRAME#为数据传输起止信号,TRDY#为主设备准备好信号,IRDY#为从设备准备好信号,STOP#为从设备停止请求信号,DEVSEL#为设备选择信号,IDSEL为配置空间读写时的片选信号;
(4)中断引脚INTA#。为简化PCI协议,本文只实现了最重要的总线命令,表1给出了所支持的总线命令对应的C/BE[3:0]#编码值。
2.2 配置空间设置
配置空间大小为256字节,前64字节必需,记录了PCI设备的基本信息,比较重要的有:
(1)VendorID、DeviceID和Class Code域:分别表示设备的生产厂商、设备编号和类型;
(2)Command和Status域:分别给出了对PCI设备的控制命令和当前状态;
(3)Base Adress Register域:指示此PCI设备按I/O方式还是内存方式进行读写以及需要的地址空间大小;
(4)Interrupt Line和Interrupt Pin域:分别指明了设备使用的中断号和中断引脚。 在对配置空间的访问中,用AD[7:2]寻址一个双字DWORD。在本设计中,配置空间设置如表2所示,各值的具体含义请参阅文献[1]。
2.3 简化的从设备状态机
在PCI协议中,标准的从设备状态机包含五种状态,而且各状态的跳转条件比较复杂。本文在不违反PCI协议的前提下,简化了从设备的状态机,如图3所示。
评论