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

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


評論