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所示。
評論