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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于PCI的單板計算機(jī)應(yīng)用中起到系統(tǒng)控制器作用的實

          基于PCI的單板計算機(jī)應(yīng)用中起到系統(tǒng)控制器作用的實

          作者: 時間:2012-04-20 來源:網(wǎng)絡(luò) 收藏

          最近出現(xiàn)了一些兼?zhèn)鋽?shù)字信號處理器(DSP)和微控制器(MCU)能力的處理器,從而為那些既要求典型的MCU功能又要求高性能信號處理功能的應(yīng)用大開了方便之門。

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

          這類MCU的優(yōu)勢之一就是起到的作用,通過以太網(wǎng)接口、USB接口和等標(biāo)準(zhǔn)接口來協(xié)調(diào)各子系統(tǒng)的活動。因為許多信號處理器都包含了這樣一些相同的接口,所以考慮一下系統(tǒng)的體系結(jié)構(gòu)正在如何演進(jìn)是很有意義的。本文將討論一種DSP在一個基于中起到作用的實現(xiàn)方法。

          原理圖
          原理圖

          總線的開發(fā)是為了提供一種能輕松連接外圍設(shè)備和臺式計算機(jī)的高性能方法。這些外圍設(shè)備包括圖形子系統(tǒng)、磁盤控制器和I/O設(shè)備。PCI總線與CPU總線是分開的,但是仍然需要訪問主存儲器。該接口可以通過一個電橋連接至系統(tǒng)總線,該電橋允許它以獨(dú)立于CPU時鐘頻率的固定頻率運(yùn)行??偠灾琍CI為關(guān)鍵的系統(tǒng)元件提供了一個高帶寬的通道,以便在彼此之間傳送數(shù)據(jù)。

          隨著嵌入式計算的出現(xiàn),人們都希望以最低的成本設(shè)計出帶有通用外圍設(shè)備的不以PC為中心的計算平臺。由于PCI的性能、可擴(kuò)縮性和普遍性,使其成為一種自然的“通用標(biāo)準(zhǔn)”,用于連接大量已經(jīng)使用的外圍設(shè)備。

          此外,通過標(biāo)準(zhǔn)接口將嵌入式處理器連接到比它們功能更強(qiáng)大的臺式機(jī)處理器是很有利的,其驅(qū)動力是嵌入式應(yīng)用的發(fā)展,例如,用戶手持設(shè)備、銷售點終端以及連接PC的工業(yè)自動化系統(tǒng)。PCI促進(jìn)了模塊嵌入式系統(tǒng)設(shè)計,從而允許多種外圍設(shè)備能無縫地連接到一種通用總線。最后,這種方法降低了產(chǎn)品總材料成本并且增加了設(shè)計的重用,從而降低了開發(fā)帶有嵌入式PCI接口的處理器的總風(fēng)險。

          系統(tǒng)結(jié)構(gòu)原理圖
          系統(tǒng)結(jié)構(gòu)原理圖

          系統(tǒng)體系結(jié)構(gòu)的演進(jìn)

          在MCU控制的系統(tǒng)中,DSP一般是充當(dāng)協(xié)處理器。如圖1(a)所示,這種配置中的MCU和DSP通常是通過高速的串行鏈路或者存儲接口進(jìn)行通信。MCU先把數(shù)據(jù)傳遞給DSP,然后DSP把處理過的數(shù)據(jù)傳回給MCU,很可能還是通過同樣的接口。對諸如音頻處理這樣的中低帶寬應(yīng)用來說,這種方式效果很好。但是在處理高帶寬數(shù)據(jù)流時,這種方式就就無法勝任了,例如,原始視頻流,很可能就要求超過25MB/s的數(shù)據(jù)傳送速率,遠(yuǎn)遠(yuǎn)超過了傳統(tǒng)的高速串行接口所能支持的8~15MB/s的速率。另外,如果MCU和DSP之間沒有可用的專用存儲接口,共享的存儲器會降低總體性能,因為DSP在訪問共享空間的同時也占用了MCU的外部存儲器總線。

          上述不利因素的結(jié)合導(dǎo)致了如圖1(b)所示的排列。通過在DSP中集成PCI功能,該DSP可以簡單地看作另一種置于由MCU主控的PCI總線另一端的“外圍設(shè)備”。在這里,DSP起到“PCI設(shè)備”的作用。該P(yáng)CI連接利用空閑的帶寬來支持視頻流速率,而且這種配置甚至允許該DSP作為一種“總線主控器”以便直接訪問該P(yáng)CI總線上的其他設(shè)備(例如網(wǎng)絡(luò)和存儲接口)。

          隨著系統(tǒng)成本壓力進(jìn)一步推動了設(shè)計的集成,如圖1c所示的解決方案就更加理想。圖中的處理器不是一個簡單的DSP,而是一種結(jié)合了強(qiáng)大的DSP和MCU功能的信號處理器。因此,它可以作為,能主控PCI總線并且減少了一個處理器,從而大大節(jié)省了總系統(tǒng)成本。ADSP-BF533 Blackfin媒體處理器正是具備這種功能的器件。

          PCI接口的特點

          為了便于下一步的討論,先明確幾個與PCI有關(guān)的關(guān)鍵術(shù)語。

          主機(jī)與設(shè)備,主控器與受控器

          PCI的主要特點之一就是對等通信。考慮到大多數(shù)的設(shè)備都支持一種“主控器”操作,隨后設(shè)備就可以在彼此之間或者與系統(tǒng)主機(jī)(例如,圖1(a)所示的MCU或PC)之間通信。在這種拓?fù)浣Y(jié)構(gòu)中,所有的設(shè)備,包括主機(jī),都能作為一個特定PCI事務(wù)的主控器或者受控器。主機(jī)與設(shè)備的區(qū)別就在于主機(jī)可以在總線上配置各PCI代理并且提供總線仲裁。通過配置,各PCI代理(可以主控總線的設(shè)備)將彼此看成是一種存儲映像設(shè)備的集合,可以通過在它們各自的存儲器區(qū)域中發(fā)起數(shù)據(jù)傳送來訪問這些設(shè)備。每個PCI代理都可以對目標(biāo)機(jī)(“受控器”)發(fā)起一次數(shù)據(jù)傳送,從而成為該特定事務(wù)的總線主控器。

          總線仲裁

          在一些嵌入式應(yīng)用中,當(dāng)前的總線主控器可以不止一個,這時就需要一個PCI總線判決器。在嵌入式應(yīng)用中利用一個小型的可編程邏輯電路(PLD)很容易實現(xiàn)這種功能(以前都由PC提供)。每個可能的總線主控器都有兩條線(一條用于請求,一條用于授權(quán))進(jìn)入總線判決器。當(dāng)一個總線主控器要求使用PCI總線時,必須在其設(shè)備請求線上申請。判決器來決定什么時候授予其總線使用權(quán)并在適當(dāng)?shù)臅r候通知其授權(quán)線。雖然PCI標(biāo)準(zhǔn)中沒有規(guī)定具體的仲裁算法,但是要求有“一種公平的算法以防止死鎖”。通常,可以采用一種簡單的輪循方法來確保不會有某一個總線主控器獨(dú)占總線。

          性能

          如果數(shù)據(jù)吞吐量性能很重要,那么突發(fā)傳送是很關(guān)鍵的。PCI總線上的突發(fā)傳送主要是由同一地址段接連發(fā)生至少兩次數(shù)據(jù)傳送而引起的。和其他的傳送類型一樣,一旦總線主控器接收到PCI總線的使用權(quán),就要傳送其起始地址和事務(wù)類型。在實際的PCI系統(tǒng)中,總線主控器和目標(biāo)機(jī)必須都支持突發(fā)事務(wù)。例如,如果目標(biāo)機(jī)只支持單一事務(wù),性能就會極大降低,因為該總線主控器必須反復(fù)申請總線使用權(quán)并傳送每個事務(wù)的地址。當(dāng)總線主控器和目標(biāo)機(jī)都支持突發(fā)事務(wù)時,該P(yáng)CI上的帶寬就能達(dá)到132MB/s(4B×33MHz)的最高吞吐量。

          硬件結(jié)構(gòu)圖


          上一頁 1 2 下一頁

          評論


          相關(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); })();