采用PCI9054橋路器的數(shù)據(jù)傳輸接口邏輯設計
連接好PCI9054與PCI總線接口、本地總線接口和串行EEPROM接口后,還需對寄存器進行配置,配置時需借助于Windriver工具,寄存器的配置包括PCI配置寄存器的配置、本地配置寄存器的配置及對EEPROM初始化。
配置PCI配置寄存器主要是填寫生產(chǎn)商ID號、器件ID號、子系統(tǒng)生產(chǎn)商ID號和類碼子系統(tǒng)ID號。對于PCI9054,其生廠商ID號,器件ID號,子系統(tǒng)號,子系統(tǒng)ID號等是固定的,可以在PCI9054數(shù)據(jù)手冊中查到。
本文引用地址:http://www.ex-cimer.com/article/154562.htm本地配置寄存器的配置是對本地地址空間及本地總線屬性的配置,這種配置根據(jù)實際開發(fā)需要進行,配置完成后,在主機CPU要訪問本地地址空間時,可能給出對應的PCI總線地址。
PCI9054在加電啟動時,從外部EEPROM讀取初始化數(shù)據(jù)來配置PCI9054的內(nèi)部寄存器,在板卡加電自檢期間,PCI總線的RST#信號復位,PCI9054內(nèi)部寄存器的默認值作為回應。PCI9054出本地LRESET#信號并檢測串行EEPROM。
如果串行EEPROM中的前33位不全為1,那么PCI9054確定串行EEPROM非空,用戶可通過向PCI9054的寄存器CNTRL的29位寫1,來加載EEPROM的內(nèi)容到PCI9054的內(nèi)部寄存器,配置的信息可以在P1xSdk的PLXMON下對EEPROM進行配置。
3 接口卡軟件設計
PC39054通過本地總線與本地總線設備進行通信,PCI9054提供2種訪問方式,即單周期訪問和突發(fā)方式訪問。
其中單周期訪問本地總線采用狀態(tài)機實現(xiàn)本地總線接口的控制,其狀態(tài)圖如圖5所示。狀態(tài)SO為空閑狀態(tài),當ADS#為0時,如經(jīng)本地總線譯碼邏輯譯碼后表明需要訪問本地空間時則轉(zhuǎn)到狀態(tài)S1,否則留在狀態(tài)SO;狀態(tài)S1為單周期訪問開始狀態(tài),當BLAST#為1時,停留在狀態(tài)S1,否則轉(zhuǎn)到狀態(tài)S2:狀態(tài)S2為訪問等待狀態(tài),在此狀態(tài)下數(shù)據(jù)在本地總線保持,然后直接轉(zhuǎn)到狀態(tài)S3;狀態(tài)S3數(shù)據(jù)傳送狀態(tài),在此狀態(tài)下數(shù)據(jù)從本地總線上取走(如果需要可以加一個狀態(tài)來延長數(shù)據(jù)讀取時間);當ADS#為0時,經(jīng)本地總線譯碼邏輯譯碼后,表明還需要訪問本地空間,轉(zhuǎn)到狀態(tài)S1,否則轉(zhuǎn)為SO,本周期訪問結(jié)束完成數(shù)據(jù)傳送。
將以上狀態(tài)機用VHDL語言在可編程器件中實現(xiàn),部分源程序代碼如下:
……
評論