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