新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > SoC微控制器的總線設(shè)計

SoC微控制器的總線設(shè)計

作者: 時間:2013-03-07 來源:網(wǎng)絡(luò) 收藏
32位嵌入式設(shè)計越來越要求對網(wǎng)絡(luò)上高帶寬數(shù)據(jù)流進(jìn)行實時控制,特別是在系統(tǒng)級芯片(SoC)層面,以確定性和無爭議的方式傳輸數(shù)據(jù)和控制信息變得非常重要。各種操作直接處于系統(tǒng)開發(fā)者既定的控制之下也很重要,而這在基于總線的SoC設(shè)計中并不總是能夠?qū)崿F(xiàn)。

設(shè)計者和芯片供應(yīng)商常常借鑒板級及技術(shù),以便在最短的設(shè)計時間內(nèi)以最低的開發(fā)成本進(jìn)行SoC設(shè)計。由于手機(jī)和PDA等設(shè)備對確定性的實時響應(yīng)需求很少,所以傳統(tǒng)解決方案在此類應(yīng)用中表現(xiàn)還不錯。

但在許多新的聯(lián)網(wǎng)嵌入式設(shè)計中,傳統(tǒng)總線架構(gòu)不能滿足共享總線對高帶寬及高密度數(shù)據(jù)流的需求,在下列應(yīng)用中尤其如此,如工業(yè)用人機(jī)界面(HMI)網(wǎng)絡(luò)顯示、POS終端設(shè)備,具有不同數(shù)據(jù)帶寬需求的彩色打印機(jī)、網(wǎng)絡(luò)投影儀和監(jiān)視攝像機(jī),以及網(wǎng)絡(luò)打印機(jī)、數(shù)字復(fù)印機(jī)、多功能一體機(jī)、傳真機(jī)和掃描儀等。

許多基于片上串行互連的替代方案正在研發(fā)中,這些替代方案類似于串行結(jié)構(gòu)、交叉交換(crossbar switch)和基于數(shù)據(jù)包的總線。在這些新方案得以完善之前,鑒于時間和成本壓力,必須找到能修改從板級設(shè)計借鑒過來的共享總線架構(gòu)的方法,以滿足新的32位嵌入式聯(lián)網(wǎng)設(shè)計對確定性和實時性的要求。

傳統(tǒng)SoC總線的優(yōu)缺點

SoC開發(fā)者不愿意放棄這種通用共享總線,因為它可以減少設(shè)計周期中的規(guī)范制定及驗證工作,能使SoC的高層次集成如同將擴(kuò)展卡插到背板上一樣簡單。通過采用通用總線,開發(fā)者可以集中精力投入到更高層次的決策中。

ARM公司在高級微控制器總線架構(gòu)(AMBA)中采用通用總線,允許獲得許可的使用者專注于自己的應(yīng)用開發(fā),從而快速將產(chǎn)品推向市場。

微處理器、DMA控制器、存儲器控制器及其它更高性能的模塊通過AHB連接。性能較低的模塊,比如UART、通用輸入/輸出(GPIO)及定時器等,則通過APB連接。

但是,基于ARM的SoC所瞄準(zhǔn)的許多高端嵌入式應(yīng)用,要求它們在處理這些應(yīng)用的確定性與實時性需求的同時,還可以訪問高帶寬網(wǎng)絡(luò)環(huán)境。

這些應(yīng)用要求SoC能夠發(fā)出控制信號、采集數(shù)據(jù)并在網(wǎng)絡(luò)上實時傳輸數(shù)據(jù)?;诓煌木W(wǎng)絡(luò)特性及其帶寬要求,現(xiàn)有SoC總線架構(gòu)的性能將會得到盡可能的提升,例如,高端聯(lián)網(wǎng)嵌入式應(yīng)用可能要處理通過以太網(wǎng)連接從照相機(jī)傳輸?shù)酱蛴C(jī)的視頻數(shù)據(jù)位流,或從服務(wù)器傳輸?shù)酱蛴C(jī)的圖像,與此同時還可能根據(jù)與掃描、刷新和更新周期有關(guān)的確切要求對本地LCD顯示進(jìn)行更新。使用外部LCD時,LCD控制器必須知道通過該總線傳輸?shù)木唧w字節(jié)數(shù)量、數(shù)據(jù)發(fā)送順序以及數(shù)據(jù)在顯示器上顯示的特定時隙和順序,同時也很必要將信息不斷地饋送給LCD用于更新。

共享總線的概念并不能滿足SoC中的這些要求。在典型的AHB設(shè)計中,總線主控是總線上全部的主要資源,也就是說,當(dāng)總線空閑時,它們可向總線請求完成一個任務(wù)所需要的時間。但在基于ARM的SoC中,程序設(shè)計者不能直接控制當(dāng)它們掌管總線時可得到多少總線資源。

共享總線架構(gòu)用多種方式來區(qū)分這些操作的優(yōu)先次序,包括:菊花鏈仲裁、集中式并行仲裁、基于自選或沖突監(jiān)測的分布式仲裁以及帶多個總線請求的總線仲裁。但當(dāng)指定的主控接管總線后,其他操作就會擱置在一邊。目前還沒有一種機(jī)制能夠讓多個資源同時訪問總線,使其既滿足應(yīng)用要求,又不會影響其他重要操作提供確定性及實時性響應(yīng)的能力。

在AMBA環(huán)境中處理這類情況的一種通用方法是使用仲裁通道。如果有六個總線主控,總線便設(shè)計成有六個仲裁通道。但是,片上仲裁邏輯根據(jù)請求訪問該總線的主控數(shù)目來分配這些通道,而不是把每個通道指定給某個特定的主控。如果有四個主控請求訪問總線,則這六個通道會在這四個主控之間進(jìn)行分配,確保每個主控有平等的機(jī)會訪問該總線。

然而,這并不能解決如何分配足夠的總線帶寬以完成某一特定任務(wù)這一基本問題。若其中一個操作需要三個通道,而其它操作總共只需要兩個通道,則每一種操作將會分配到相同數(shù)量的可用通道空間。其結(jié)果是,有的通道沒有充分利用(甚至根本沒用到),而有的則超負(fù)荷使用,影響SoC在極低延遲內(nèi)對事件進(jìn)行確定性響應(yīng)的能力。

可編程總線帶寬控制系統(tǒng)

因此,需要一種可編程的總線帶寬分配方案,在某一特定時刻為某一特定的主控分配其所需的總線配置,并將剩余的總線空間分配給其它可能要求訪問該總線的主控。由于這種方案可能隨時間改變,因此需要一種機(jī)制以便按照常規(guī)原理重新分配總線資源。


圖1:NS9xxx的帶寬控制系統(tǒng)

NetSilicon公司已開發(fā)一種新的帶寬控制系統(tǒng)來取代采用AMBA架構(gòu)的帶寬控制系統(tǒng)。該系統(tǒng)采用一個16槽位旋轉(zhuǎn)優(yōu)先級總線仲裁器(見圖1),這種仲裁器包含一套可編程偽隨機(jī)或旋轉(zhuǎn)優(yōu)先級緩存替換算法。例如,在NetSilicon的 NS9750(見圖2)中,AHB上的六個通道不是通過競爭進(jìn)行分配,而是根據(jù)16槽位總線分配方案由六個總線主控分享。通過系統(tǒng)控制模塊中的專用寄存器,系統(tǒng)開發(fā)者目前可采用三種方法在SoC中分配總線資源。

上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉