基于PCI的單板計算機應用中起到系統(tǒng)控制器作用的實
最近出現(xiàn)了一些兼?zhèn)鋽?shù)字信號處理器(DSP)和微控制器(MCU)能力的處理器,從而為那些既要求典型的MCU功能又要求高性能信號處理功能的應用大開了方便之門。
本文引用地址:http://www.ex-cimer.com/article/202343.htm這類MCU的優(yōu)勢之一就是起到系統(tǒng)控制器的作用,通過以太網(wǎng)接口、USB接口和PCI等標準接口來協(xié)調各子系統(tǒng)的活動。因為許多信號處理器都包含了這樣一些相同的接口,所以考慮一下系統(tǒng)的體系結構正在如何演進是很有意義的。本文將討論一種DSP在一個基于PCI的單板計算機應用中起到系統(tǒng)控制器作用的實現(xiàn)方法。
原理圖
PCI總線的開發(fā)是為了提供一種能輕松連接外圍設備和臺式計算機的高性能方法。這些外圍設備包括圖形子系統(tǒng)、磁盤控制器和I/O設備。PCI總線與CPU總線是分開的,但是仍然需要訪問主存儲器。該接口可以通過一個電橋連接至系統(tǒng)總線,該電橋允許它以獨立于CPU時鐘頻率的固定頻率運行??偠灾?,PCI為關鍵的系統(tǒng)元件提供了一個高帶寬的通道,以便在彼此之間傳送數(shù)據(jù)。
隨著嵌入式計算的出現(xiàn),人們都希望以最低的成本設計出帶有通用外圍設備的不以PC為中心的計算平臺。由于PCI的性能、可擴縮性和普遍性,使其成為一種自然的“通用標準”,用于連接大量已經(jīng)使用的外圍設備。
此外,通過標準接口將嵌入式處理器連接到比它們功能更強大的臺式機處理器是很有利的,其驅動力是嵌入式應用的發(fā)展,例如,用戶手持設備、銷售點終端以及連接PC的工業(yè)自動化系統(tǒng)。PCI促進了模塊嵌入式系統(tǒng)設計,從而允許多種外圍設備能無縫地連接到一種通用總線。最后,這種方法降低了產(chǎn)品總材料成本并且增加了設計的重用,從而降低了開發(fā)帶有嵌入式PCI接口的處理器的總風險。
系統(tǒng)結構原理圖
系統(tǒng)體系結構的演進
在MCU控制的系統(tǒng)中,DSP一般是充當協(xié)處理器。如圖1(a)所示,這種配置中的MCU和DSP通常是通過高速的串行鏈路或者存儲接口進行通信。MCU先把數(shù)據(jù)傳遞給DSP,然后DSP把處理過的數(shù)據(jù)傳回給MCU,很可能還是通過同樣的接口。對諸如音頻處理這樣的中低帶寬應用來說,這種方式效果很好。但是在處理高帶寬數(shù)據(jù)流時,這種方式就就無法勝任了,例如,原始視頻流,很可能就要求超過25MB/s的數(shù)據(jù)傳送速率,遠遠超過了傳統(tǒng)的高速串行接口所能支持的8~15MB/s的速率。另外,如果MCU和DSP之間沒有可用的專用存儲接口,共享的存儲器會降低總體性能,因為DSP在訪問共享空間的同時也占用了MCU的外部存儲器總線。
上述不利因素的結合導致了如圖1(b)所示的排列。通過在DSP中集成PCI功能,該DSP可以簡單地看作另一種置于由MCU主控的PCI總線另一端的“外圍設備”。在這里,DSP起到“PCI設備”的作用。該PCI連接利用空閑的帶寬來支持視頻流速率,而且這種配置甚至允許該DSP作為一種“總線主控器”以便直接訪問該PCI總線上的其他設備(例如網(wǎng)絡和存儲接口)。
隨著系統(tǒng)成本壓力進一步推動了設計的集成,如圖1c所示的解決方案就更加理想。圖中的處理器不是一個簡單的DSP,而是一種結合了強大的DSP和MCU功能的信號處理器。因此,它可以作為系統(tǒng)控制器,能主控PCI總線并且減少了一個處理器,從而大大節(jié)省了總系統(tǒng)成本。ADSP-BF533 Blackfin媒體處理器正是具備這種功能的器件。
PCI接口的特點
為了便于下一步的討論,先明確幾個與PCI有關的關鍵術語。
主機與設備,主控器與受控器
PCI的主要特點之一就是對等通信??紤]到大多數(shù)的設備都支持一種“主控器”操作,隨后設備就可以在彼此之間或者與系統(tǒng)主機(例如,圖1(a)所示的MCU或PC)之間通信。在這種拓撲結構中,所有的設備,包括主機,都能作為一個特定PCI事務的主控器或者受控器。主機與設備的區(qū)別就在于主機可以在總線上配置各PCI代理并且提供總線仲裁。通過配置,各PCI代理(可以主控總線的設備)將彼此看成是一種存儲映像設備的集合,可以通過在它們各自的存儲器區(qū)域中發(fā)起數(shù)據(jù)傳送來訪問這些設備。每個PCI代理都可以對目標機(“受控器”)發(fā)起一次數(shù)據(jù)傳送,從而成為該特定事務的總線主控器。
總線仲裁
在一些嵌入式應用中,當前的總線主控器可以不止一個,這時就需要一個PCI總線判決器。在嵌入式應用中利用一個小型的可編程邏輯電路(PLD)很容易實現(xiàn)這種功能(以前都由PC提供)。每個可能的總線主控器都有兩條線(一條用于請求,一條用于授權)進入總線判決器。當一個總線主控器要求使用PCI總線時,必須在其設備請求線上申請。判決器來決定什么時候授予其總線使用權并在適當?shù)臅r候通知其授權線。雖然PCI標準中沒有規(guī)定具體的仲裁算法,但是要求有“一種公平的算法以防止死鎖”。通常,可以采用一種簡單的輪循方法來確保不會有某一個總線主控器獨占總線。
性能
如果數(shù)據(jù)吞吐量性能很重要,那么突發(fā)傳送是很關鍵的。PCI總線上的突發(fā)傳送主要是由同一地址段接連發(fā)生至少兩次數(shù)據(jù)傳送而引起的。和其他的傳送類型一樣,一旦總線主控器接收到PCI總線的使用權,就要傳送其起始地址和事務類型。在實際的PCI系統(tǒng)中,總線主控器和目標機必須都支持突發(fā)事務。例如,如果目標機只支持單一事務,性能就會極大降低,因為該總線主控器必須反復申請總線使用權并傳送每個事務的地址。當總線主控器和目標機都支持突發(fā)事務時,該PCI上的帶寬就能達到132MB/s(4B×33MHz)的最高吞吐量。
評論