采用PCI9054橋路器的數據傳輸接口邏輯設計
連接好PCI9054與PCI總線接口、本地總線接口和串行EEPROM接口后,還需對寄存器進行配置,配置時需借助于Windriver工具,寄存器的配置包括PCI配置寄存器的配置、本地配置寄存器的配置及對EEPROM初始化。
配置PCI配置寄存器主要是填寫生產商ID號、器件ID號、子系統生產商ID號和類碼子系統ID號。對于PCI9054,其生廠商ID號,器件ID號,子系統號,子系統ID號等是固定的,可以在PCI9054數據手冊中查到。
本文引用地址:http://www.j9360.com/article/154562.htm本地配置寄存器的配置是對本地地址空間及本地總線屬性的配置,這種配置根據實際開發需要進行,配置完成后,在主機CPU要訪問本地地址空間時,可能給出對應的PCI總線地址。
PCI9054在加電啟動時,從外部EEPROM讀取初始化數據來配置PCI9054的內部寄存器,在板卡加電自檢期間,PCI總線的RST#信號復位,PCI9054內部寄存器的默認值作為回應。PCI9054出本地LRESET#信號并檢測串行EEPROM。
如果串行EEPROM中的前33位不全為1,那么PCI9054確定串行EEPROM非空,用戶可通過向PCI9054的寄存器CNTRL的29位寫1,來加載EEPROM的內容到PCI9054的內部寄存器,配置的信息可以在P1xSdk的PLXMON下對EEPROM進行配置。
3 接口卡軟件設計
PC39054通過本地總線與本地總線設備進行通信,PCI9054提供2種訪問方式,即單周期訪問和突發方式訪問。

其中單周期訪問本地總線采用狀態機實現本地總線接口的控制,其狀態圖如圖5所示。狀態SO為空閑狀態,當ADS#為0時,如經本地總線譯碼邏輯譯碼后表明需要訪問本地空間時則轉到狀態S1,否則留在狀態SO;狀態S1為單周期訪問開始狀態,當BLAST#為1時,停留在狀態S1,否則轉到狀態S2:狀態S2為訪問等待狀態,在此狀態下數據在本地總線保持,然后直接轉到狀態S3;狀態S3數據傳送狀態,在此狀態下數據從本地總線上取走(如果需要可以加一個狀態來延長數據讀取時間);當ADS#為0時,經本地總線譯碼邏輯譯碼后,表明還需要訪問本地空間,轉到狀態S1,否則轉為SO,本周期訪問結束完成數據傳送。
將以上狀態機用VHDL語言在可編程器件中實現,部分源程序代碼如下:
……


評論