PCI總線(xiàn)協(xié)議的FPGA實(shí)現及驅動(dòng)設計
?。ǎ常┙涌诳刂菩盘枺疲遥粒停牛?、TRDY#、IRDY#、STOP#、DEVSEL#和IDSEL。其中,FRAME#為數據傳輸起止信號,TRDY#為主設備準備好信號,IRDY#為從設備準備好信號,STOP#為從設備停止請求信號,DEVSEL#為設備選擇信號,IDSEL為配置空間讀寫(xiě)時(shí)的片選信號;
?。ǎ矗┲袛嘁_INTA#。為簡(jiǎn)化PCI協(xié)議,本文只實(shí)現了最重要的總線(xiàn)命令,表1給出了所支持的總線(xiàn)命令對應的C/BE[3:0]#編碼值。
?。玻?配置空間設置
配置空間大小為256字節,前64字節必需,記錄了PCI設備的基本信息,比較重要的有:
?。ǎ保郑澹睿洌铮颍桑?、DeviceID和Class Code域:分別表示設備的生產(chǎn)廠(chǎng)商、設備編號和類(lèi)型;
?。ǎ玻茫铮恚恚幔睿浜停樱簦幔簦酰笥颍悍謩e給出了對PCI設備的控制命令和當前狀態(tài);
?。ǎ常拢幔螅?Adress Register域:指示此PCI設備按I/O方式還是內存方式進(jìn)行讀寫(xiě)以及需要的地址空間大??;
?。ǎ矗桑睿簦澹颍颍酰穑?Line和Interrupt Pin域:分別指明了設備使用的中斷號和中斷引腳。 在對配置空間的訪(fǎng)問(wèn)中,用AD[7:2]尋址一個(gè)雙字DWORD。在本設計中,配置空間設置如表2所示,各值的具體含義請參閱文獻[1]。
?。玻?簡(jiǎn)化的從設備狀態(tài)機
在PCI協(xié)議中,標準的從設備狀態(tài)機包含五種狀態(tài),而且各狀態(tài)的跳轉條件比較復雜。本文在不違反PCI協(xié)議的前提下,簡(jiǎn)化了從設備的狀態(tài)機,如圖3所示。
評論