<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

          作者: 時間:2010-09-17 來源:網(wǎng)絡 收藏

          本文引用地址:http://www.ex-cimer.com/article/157089.htm

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

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

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

            PCI9054在加電啟動時,從外部EEPROM讀取初始化數(shù)據(jù)來配置PCI9054的內部寄存器,在板卡加電自檢期間,PCI總線的RST#信號復位,PCI9054內部寄存器的默認值作為回應。PCI9054出本地LRESET#信號并檢測串行EEPROM。

            如果串行EEPROM中的前33位不全為1,那么PCI9054確定串行EEPROM非空,用戶可通過向PCI9054的寄存器CNTRL的29位寫1,來加載EEPROM的內容到PCI9054的內部寄存器,配置的信息可以在P1xSdk的PLXMON下對EEPROM進行配置。

            3 接口卡軟件

            3.1 CPLD

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

            

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

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

            ……

            

            



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();