新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 基于PCI9054橋路器的數(shù)據(jù)傳輸?shù)慕涌谶壿嬙O(shè)計(jì)

基于PCI9054橋路器的數(shù)據(jù)傳輸?shù)慕涌谶壿嬙O(shè)計(jì)

作者: 時(shí)間:2010-09-17 來(lái)源:網(wǎng)絡(luò) 收藏

本文引用地址:http://www.butianyuan.cn/article/157089.htm

  連接好與PCI總線、本地總線和串行EEPROM后,還需對(duì)寄存器進(jìn)行配置,配置時(shí)需借助于Windriver工具,寄存器的配置包括PCI配置寄存器的配置、本地配置寄存器的配置及對(duì)EEPROM初始化。

  配置PCI配置寄存器主要是填寫(xiě)生產(chǎn)商ID號(hào)、器件ID號(hào)、子系統(tǒng)生產(chǎn)商ID號(hào)和類(lèi)碼子系統(tǒng)ID號(hào)。對(duì)于,其生廠商ID號(hào),器件ID號(hào),子系統(tǒng)號(hào),子系統(tǒng)ID號(hào)等是固定的,可以在數(shù)據(jù)手冊(cè)中查到。

  本地配置寄存器的配置是對(duì)本地地址空間及本地總線屬性的配置,這種配置根據(jù)實(shí)際開(kāi)發(fā)需要進(jìn)行,配置完成后,在主機(jī)CPU要訪問(wèn)本地地址空間時(shí),可能給出對(duì)應(yīng)的PCI總線地址。

  PCI9054在加電啟動(dòng)時(shí),從外部EEPROM讀取初始化數(shù)據(jù)來(lái)配置PCI9054的內(nèi)部寄存器,在板卡加電自檢期間,PCI總線的RST#信號(hào)復(fù)位,PCI9054內(nèi)部寄存器的默認(rèn)值作為回應(yīng)。PCI9054出本地LRESET#信號(hào)并檢測(cè)串行EEPROM。

  如果串行EEPROM中的前33位不全為1,那么PCI9054確定串行EEPROM非空,用戶可通過(guò)向PCI9054的寄存器CNTRL的29位寫(xiě)1,來(lái)加載EEPROM的內(nèi)容到PCI9054的內(nèi)部寄存器,配置的信息可以在P1xSdk的PLXMON下對(duì)EEPROM進(jìn)行配置。

  3 接口卡軟件

  3.1 CPLD

  PC39054通過(guò)本地總線與本地總線設(shè)備進(jìn)行通信,PCI9054提供2種訪問(wèn)方式,即單周期訪問(wèn)和突發(fā)方式訪問(wèn)。

  

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

  將以上狀態(tài)機(jī)用VHDL語(yǔ)言在可編程器件中實(shí)現(xiàn),部分源程序代碼如下:

  ……

  

  



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉