新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 分析寬帶系統(tǒng)互聯(lián)中的串行選擇

分析寬帶系統(tǒng)互聯(lián)中的串行選擇

作者: 時間:2013-05-23 來源:網(wǎng)絡(luò) 收藏
  系統(tǒng)中的互聯(lián)體系結(jié)構(gòu)一直得到了廣泛應(yīng)用。芯片邊界和電路板邊沿等物理約束要求對系統(tǒng)進行劃分。而I/O的GPIB或者USB、內(nèi)部互聯(lián)的微處理器總線等標準定義了互聯(lián)方法。除了這些標準,連接還常用于異步和點對點應(yīng)用中。

  然而今天,子系統(tǒng)之間帶寬的迅速增長,低延時通路在子系統(tǒng)邊界擴展的風險,以及嚴格的功耗和成本預(yù)算等因素導致一切變得更加復雜。在很多設(shè)計中,不可能在系統(tǒng)中布滿CPU總線,或者外設(shè)總線。對于以芯片系統(tǒng)()實現(xiàn)的子系統(tǒng),一些芯片設(shè)計人員能夠通過這些子系統(tǒng)預(yù)先了解您的系統(tǒng)互聯(lián)體系結(jié)構(gòu)。由于低I/O電壓和極短的上升時間,點對點互聯(lián)遇到了很大的時序、信號完整性和電路板設(shè)計難題。

  對于這一越來越復雜的情形,需要其他的解決方案。高速串行互聯(lián)一直主要用于通信行業(yè),在較長的距離上傳輸數(shù)據(jù)流。采用高級硅片工藝技術(shù),在很多系統(tǒng)中,這些串行鏈路的接口變得非常小,而數(shù)據(jù)速率足夠高,多千兆位串行鏈路替代了并行總線,甚至是異步I/O.

  一個很明顯的例子是PCI Express (PCIe)。最初的PCI是非常傳統(tǒng)的并行同步總線。隨著個人計算機帶寬需求的增長,Intel把這一拓撲遷移到了高速串行鏈路的多個通路上。相似的發(fā)展也出現(xiàn)在大容量存儲器件中,老的AT連接總線變?yōu)楝F(xiàn)在非常熟悉的串行ATA (SATA)。

  而這些概念的應(yīng)用已經(jīng)超出了外設(shè)總線。為能夠理解為什么高速串行鏈路可以應(yīng)用于點對點連接甚至是單個電路板邊界上,讓我們了解一些系統(tǒng)劃分問題。

  系統(tǒng)劃分

  在理想的理論體系結(jié)構(gòu)中,系統(tǒng)劃分完全是基于數(shù)據(jù)和控制流圖的系統(tǒng)過程。您畫出圖,然后,將功能模塊劃分到子系統(tǒng)中,子系統(tǒng)分成更大的組,這樣,減小了帶寬需求,增大了子系統(tǒng)之間鏈路的延時約束。然后,您可以針對這一鏈路的需求,以最短的合適互聯(lián),實現(xiàn)子系統(tǒng)之間的每一連接。

  這一方法對于空白電路板非常適用。這實際上與設(shè)計和FPGA使用的早期階段非常相似。但是,當今的大部分設(shè)計都從商用芯片開始:專用標準產(chǎn)品(ASSP)或者微控制器單元(MCU)。這些給我們提出了很多劃分要求,如圖1所示。我們選擇的芯片決定了我們的子系統(tǒng)邊界,以及應(yīng)使用那種互聯(lián)技術(shù)。如果您MCU唯一的外部互聯(lián)是AMBA APB外設(shè)總線,或者DDR2存儲器總線,以及一些通用I/O引腳,那么,這就是您的選擇。

電機控制電路板上的芯片按照子系統(tǒng)進行分組

  圖1.電機控制電路板上的芯片按照子系統(tǒng)進行分組。

  即使這樣,劃分仍然是系統(tǒng)設(shè)計中的一個重要步驟。而且,您必須對比SoC設(shè)計人員做出的假設(shè)和系統(tǒng)實際物理邊界、帶寬需求以及延時要求。因此,您需要識別出子系統(tǒng):把需要交換大量數(shù)據(jù)的芯片放到一起,例如,SoC及其DRAM等??梢园阉鼈冎g的窄帶、對延時要求不高的芯片放在不同的子系統(tǒng)中,例如,MCU和系統(tǒng)監(jiān)視模數(shù)轉(zhuǎn)換器(ADC)等。通過這種分組方法包括了系統(tǒng)中所有的功能模塊后,可以轉(zhuǎn)向?qū)ψ酉到y(tǒng)之間的鏈路進行特征描述。

  特征描述

  在基于SoC的系統(tǒng)中,對子系統(tǒng)之間的互聯(lián)進行特征描述看起來似乎沒有什么意義。SoC的I/O選項很好的定義了接口。但是作為系統(tǒng)設(shè)計人員,您還是需要回答某些重要問題,仍然有一些可能不太明確的選項。

  把問題分成帶寬、延時和成本幾類。帶寬是這些問題的基礎(chǔ)。如果您建議的互聯(lián)方案是可行的,那么,您應(yīng)該清楚的知道每一子系統(tǒng)的帶寬需求。一般而言,這實際上是一個意義不大的問題。SoC設(shè)計人員將通路設(shè)計得很長,以保證芯片上的I/O要比預(yù)測的任務(wù)需求多得多。一般有足夠的DRAM帶寬來處理芯片CPU高速緩存生成的所有指令和數(shù)據(jù)流。通常有PCIe等高速總線連接至主系統(tǒng)或者寬帶外設(shè)和加速器等。而且,還有與標準兼容的專用I/O接口。

  但是,如果SoC設(shè)計人員沒有預(yù)見到您所做的工作呢?有時候,基于您對系統(tǒng)體系結(jié)構(gòu)的分析,您選擇的SoC完全滿足您的接口要求。在其他情況下,您可能會發(fā)現(xiàn),在某些地方會遇到瓶頸,而有的情況下會遇到未使用的帶寬,或者完全沒有使用的接口。在所有這些情況下,您可能會重新思考這些接口的用途。或者,如果您通過在FPGA中匯集知識產(chǎn)權(quán)(IP)來構(gòu)建SoC,那么,您能夠更靈活的重新安排系統(tǒng)互聯(lián)體系結(jié)構(gòu)。特別是,您應(yīng)該仔細處理系統(tǒng)中要求最高的數(shù)據(jù)流。將所有的東西都自動轉(zhuǎn)儲到一條共享總線上,即使是快速PCIe總線,也不是好方法。


上一頁 1 2 下一頁

關(guān)鍵詞: 寬帶系統(tǒng) 串行選擇 SoC

評論


相關(guān)推薦

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

關(guān)閉