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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PCI軟“核”的PCI總線接口設(shè)計(jì)與實(shí)現(xiàn)

          基于PCI軟“核”的PCI總線接口設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2013-03-30 來(lái)源:網(wǎng)絡(luò) 收藏
          是通過(guò)主橋電路掛接在Host CPU上的,典型的PCI系統(tǒng)結(jié)構(gòu)如圖1所示。PCI的外部設(shè)備既可以作為目標(biāo)設(shè)備(Slave),實(shí)現(xiàn)基本的傳送要求,也可以作為的主控設(shè)備(Master),訪問(wèn)其他PCI總線設(shè)備及系統(tǒng)的其他資源。用戶在實(shí)際應(yīng)用中可以根據(jù)實(shí)際需求來(lái)設(shè)計(jì)設(shè)備的功能。
          由于PCI總線規(guī)范[1]定義了嚴(yán)格的電氣特性和時(shí)序要求,因而開(kāi)發(fā)基于PCI總線的接口卡有一定的難度。它要求在接口卡和終端設(shè)備之間有一個(gè)總線接口控制器,以解碼PCI總線線范并完成數(shù)據(jù)傳送,這需要開(kāi)發(fā)人員對(duì)PCI總線規(guī)范有深刻的理解并具有較高的計(jì)算機(jī)開(kāi)水平。開(kāi)發(fā)PCI接口大體有兩種方式:使用專用的PCI接口芯片和可編程器件。如果使用ASIC廠家提供的專用接口芯片,用戶使用到的只是部分PCI接口功能,會(huì)造成了一定的資源浪費(fèi),而且芯片價(jià)格高,不經(jīng)濟(jì)。使用可編程器件設(shè)計(jì),將廠家提供的PCI軟“核”引入可編程器件中,根據(jù)插卡的功能進(jìn)行最優(yōu)化,不必實(shí)現(xiàn)所有的PCI功能機(jī)以將PCI插卡的用戶邏輯與PCI接口邏輯集成在一個(gè)芯片上,實(shí)現(xiàn)緊湊的系統(tǒng)設(shè)計(jì)。當(dāng)系統(tǒng)升級(jí)時(shí),只需更改可編程器件的邏輯,無(wú)需更新PCB版圖。許多可編程器件產(chǎn)生廠商都提供經(jīng)過(guò)測(cè)試的PCI接口功能模塊,如Xilinx公司的LogiCore,Altera公司的AMPP(Altera Megafunction Partners Prongam)。下面介紹用Xilinx公司的LogiCore來(lái)實(shí)現(xiàn)控制連接在PCI上的外設(shè)。

          1 Xilinx公司的LogiCore簡(jiǎn)介
          Xilinx公司的LogiCore邏輯框圖如圖2所示??梢钥闯觯揕ogiCore的功能是將左邊復(fù)雜的PCI接口轉(zhuǎn)換成右邊的用戶接口信號(hào):周期控制信號(hào)(包括用于配置PCI接口的信號(hào)CEG[255:0])、從設(shè)備控制信號(hào)、主設(shè)備控制信號(hào)、狀態(tài)機(jī)信號(hào)等。其主要的功能是起一個(gè)橋梁作用,完成用戶設(shè)備與PCI總線的信息傳送,并且可以在Bus Master方式下直接訪問(wèn)系統(tǒng)主存儲(chǔ)器。圖2的LogiCorem邏輯框圖只給出Xilinx的LogiCore中與PCI Master控制器有關(guān)的關(guān)鍵信號(hào)?,F(xiàn)在就以上信號(hào)進(jìn)行介紹:
          PCI Host 端總線接口:
          AD[31:0] 時(shí)分復(fù)用地址/數(shù)據(jù)信號(hào),在幀信號(hào)有效的一個(gè)時(shí)鐘AD[31:0]上的信號(hào)為地址信號(hào)。
          C/BE[3:0] 命令/字節(jié)使能信號(hào),在幀信號(hào)有效的第一個(gè)節(jié)拍,指示總線作業(yè)類型。
          FRAMF 由總線上設(shè)備驅(qū)動(dòng),指明傳輸?shù)钠鹗紩r(shí)間和終止時(shí)間,在該信號(hào)有效期間表示總線傳輸開(kāi)始,當(dāng)該信號(hào)無(wú)效時(shí),傳輸?shù)氖亲詈笠粋€(gè)數(shù)據(jù)節(jié)拍。
          IRDY 由總線主設(shè)備驅(qū)動(dòng),讀操作時(shí)表示總線傳輸開(kāi)始,當(dāng)該信號(hào)無(wú)效時(shí),傳輸?shù)淖詈笠粋€(gè)數(shù)據(jù)節(jié)拍。
          IRDY 由總線主設(shè)備驅(qū)動(dòng),讀操作時(shí)表示已準(zhǔn)備好接受數(shù)據(jù),寫(xiě)操作時(shí)表示有效數(shù)據(jù)已經(jīng)在數(shù)據(jù)上。
          TRDY 由從設(shè)備驅(qū)動(dòng),讀操作時(shí)從設(shè)備正在把有效數(shù)據(jù)放在數(shù)據(jù)總線上;寫(xiě)操作時(shí)表示從設(shè)備準(zhǔn)備接受來(lái)自Host的數(shù)據(jù)。
          DEBSEL 譯碼出的地址在該設(shè)備的地址范圍內(nèi)時(shí),則該信號(hào)有效。
          IDSEL 配置讀、寫(xiě)期間由Host發(fā)出的片選信號(hào)。
          STOP 從設(shè)備向Host表示停止目前信號(hào)的傳送。
          PAR 奇偶校驗(yàn)信號(hào),它通過(guò)AD[31:0]和C/BE[3:0]進(jìn)行奇偶校驗(yàn)。
          PERR 該信號(hào)只報(bào)告數(shù)據(jù)奇偶校驗(yàn)錯(cuò)。
          SERR 該信號(hào)只報(bào)靠地址奇偶校驗(yàn)錯(cuò),或者特殊命令序列中的數(shù)據(jù)奇偶校驗(yàn)錯(cuò)。
          INTR_A 表示PCI設(shè)備請(qǐng)求中斷。
          REQ 表示總線主設(shè)備向仲裁器發(fā)出要占用PCI總線的請(qǐng)求。
          User端總線接口:
          ADIO[31:0] 地址數(shù)據(jù)復(fù)用總線,該總線由三態(tài)緩沖器驅(qū)動(dòng)。
          ADDR[31:0] 在地址周期,輸出PCI總線當(dāng)前作業(yè)的起始地址。
          DEVSEL_USR 是DEVSEL信號(hào)的“克隆”版本。
          FRAME_USR 是FRAME信號(hào)的“克隆”版本。

          電磁爐相關(guān)文章:電磁爐原理



          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: PCI總線 DMA 局部總線

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();