當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]SoC中CPU總線一般采用應(yīng)答機(jī)制,是非實(shí)時(shí)的,數(shù)據(jù)的處理采用中斷響應(yīng)機(jī)制以發(fā)揮效率。處理特定實(shí)時(shí)數(shù)據(jù)并沒有固定的延時(shí)與穩(wěn)定的吞吐率,因此需要設(shè)計(jì)一個模塊來處理實(shí)時(shí)數(shù)據(jù)到非實(shí)時(shí)總線之間的平滑過度問題。作者以

SoC中CPU總線一般采用應(yīng)答機(jī)制,是非實(shí)時(shí)的,數(shù)據(jù)的處理采用中斷響應(yīng)機(jī)制以發(fā)揮效率。處理特定實(shí)時(shí)數(shù)據(jù)并沒有固定的延時(shí)與穩(wěn)定的吞吐率,因此需要設(shè)計(jì)一個模塊來處理實(shí)時(shí)數(shù)據(jù)到非實(shí)時(shí)總線之間的平滑過度問題。作者以此模塊設(shè)計(jì)為例,闡述非實(shí)時(shí)總線中實(shí)時(shí)數(shù)據(jù)切換的設(shè)計(jì)理念與幾個實(shí)用技術(shù)。

在芯片設(shè)計(jì)中,芯片內(nèi)部總線的設(shè)計(jì)往往決定了芯片的性能、功耗與各模塊設(shè)計(jì)的復(fù)雜度。我們設(shè)計(jì)總線往往會依據(jù)兩方面的原則:一是芯片設(shè)計(jì)流程其內(nèi)在的需求,二是所針對的應(yīng)用對交換寬帶、延時(shí)、效率、靈活性的需求。

針對芯片總線設(shè)計(jì)流程內(nèi)在的需求,高效總線結(jié)構(gòu)設(shè)計(jì)通常遵循的基本原則包括:同步設(shè)計(jì)、可綜合、無三態(tài)信號、低延時(shí)、單觸發(fā)延、支持多主控及總線仲裁(支持DMA及多CPU核)、高時(shí)鐘頻率獨(dú)立性、支持突發(fā)(高效率)和低門數(shù)。遵循這些基本原則可以幫助我們規(guī)避很多設(shè)計(jì)上的風(fēng)險(xiǎn),提高總線效率與IP復(fù)用度。當(dāng)然,實(shí)際上述有些原則如“三態(tài)總線”,可以而且應(yīng)當(dāng)在某些應(yīng)用中使用,只是不建議芯片及設(shè)計(jì)工程師輕易地突破這些規(guī)范,增加風(fēng)險(xiǎn)。南山之橋微電子公司在高端芯片設(shè)計(jì)中使用了三態(tài)總線技術(shù)來解決超寬總線的布線聚集與時(shí)序匹配問題。

應(yīng)用的需求往往會決定總線的形式,如SoC芯片中往往會采用嵌入式CPU的總線結(jié)構(gòu)。反過來說,我們選用哪一款CPU,除了成本、性能、功耗、快速精確的時(shí)序仿真模型、編譯環(huán)境和可用IP外,還有重要的一點(diǎn)就是其總線設(shè)計(jì)是否簡單、高效與有利于發(fā)揮其它設(shè)計(jì)模塊的效率。 


圖1:幀結(jié)構(gòu)TDM形式時(shí)序圖。

以現(xiàn)在較流行的ARM處理器來說,采用AMBA總線標(biāo)準(zhǔn),其中高速芯片通常采用的AHB總線有以下幾個特質(zhì):流水線式、非三態(tài)總線、支持多主控、總線仲裁與集中地址譯碼、應(yīng)答響應(yīng)機(jī)制(非實(shí)時(shí))、支持突發(fā)。

總之,AHB總線適宜于發(fā)揮CPU的效率,符合高效總線設(shè)計(jì)的原則,但是其本身也有總線位寬限制(主要是指令集位寬)與SPLIT(切分)選項(xiàng)支持的復(fù)雜度。在筆者參與的設(shè)計(jì)中有一半以上不支持SPLIT選項(xiàng)以降低設(shè)計(jì)與驗(yàn)證開銷,限于篇幅在此不展開闡述。最主要的問題是SoC中CPU總線一般采用應(yīng)答機(jī)制,也就是非實(shí)時(shí)的,數(shù)據(jù)的處理采用中斷響應(yīng)機(jī)制以發(fā)揮效率。處理特定實(shí)時(shí)數(shù)據(jù)并沒有固定的延時(shí)與穩(wěn)定的吞吐率,那么就需要設(shè)計(jì)一個模塊來處理實(shí)時(shí)數(shù)據(jù)到非實(shí)時(shí)總線之間的平滑過度問題。筆者以此模塊設(shè)計(jì)為例,闡述非實(shí)時(shí)總線中實(shí)時(shí)數(shù)據(jù)切換的設(shè)計(jì)理念與幾個實(shí)用技術(shù)。例子中實(shí)時(shí)數(shù)據(jù)傳遞采用TDM總線形式(Time Division Multiplexed,時(shí)分復(fù)用),我們稱此模式為TDM模塊。

TDM模塊設(shè)計(jì)

TDM模塊一端的界面是多路音頻信號的輸入與輸出,另一端是AHB總線,音頻數(shù)據(jù)的輸入/輸出,通常采用幀結(jié)構(gòu)TDM形式(見圖1)。其中,sp_io_xclk代表音頻數(shù)據(jù)采樣時(shí)鐘,sp_io_xfs代表幀同步頭,下面兩行分別是輸出與輸入數(shù)據(jù)。可見,這是一個含幀格式的多通道時(shí)分實(shí)時(shí)數(shù)據(jù)傳輸格式。關(guān)于AMBA總線,有大量介紹資料,此處不贅述。

在這個模塊的設(shè)計(jì)中,我們考慮了以下幾個原則:平滑匹配數(shù)據(jù)傳輸速度、低延時(shí)與低資源占用(邏輯與存儲資源)、高效使用AHB總線寬帶、提高CPU處理效率、可靠性與錯誤處理、可控性與可觀性。最基本的思路是:采用FIFO(先入先出)技術(shù)暨隊(duì)列來緩沖數(shù)據(jù)傳輸,同時(shí)要盡量少緩存數(shù)據(jù)在隊(duì)列中,以滿足低延時(shí)與低資源的占用;同時(shí)采用AHB burst模式提高總線利用帶寬;最后,還要提供寄存器讀寫來控制傳輸參數(shù)與狀態(tài)存儲,采用AHB從控模式(Slave)。初步的設(shè)計(jì)結(jié)構(gòu)如圖2。

DMA技術(shù)的使用時(shí)機(jī)

在這個初步設(shè)計(jì)中,緩存隊(duì)列的長度計(jì)算主要取決于AHB burst的速度與頻率。要少緩存數(shù)據(jù),就要頻繁進(jìn)行AHB傳遞,也就是頻繁中斷CPU,這降低了CPU的處理效率。 


圖2:TDM模塊的初步設(shè)計(jì)結(jié)構(gòu)。

[!--empirenews.page--]

這看起來是無解的矛盾,我們可以采用DMA(Direct Memory Access,直接存儲讀寫)技術(shù)解決。一般SoC芯片都有外接DDR/SDRAM作為最終的數(shù)據(jù)與程序緩存,TDM模塊可以直接向DRAM傳輸實(shí)時(shí)數(shù)據(jù),而不用頻繁地中斷CPU,實(shí)質(zhì)上是把片內(nèi)緩存的需求轉(zhuǎn)移到了片外(假設(shè)總線帶寬足夠),既降低了隊(duì)列長度又降低了中斷CPU的頻率,從而解決了這一對矛盾。

DMA技術(shù)實(shí)質(zhì)上也是模塊主動掌握總線主動權(quán),要求采用AHB總線主控模式,最終框架結(jié)構(gòu)會變成圖3所示。

延時(shí)與DMA應(yīng)用的矛盾

細(xì)心的讀者會發(fā)現(xiàn)DMA的采用增加了處理延時(shí),這不是與我們的原則矛盾嗎?這里牽涉到對嵌入式CPU中音頻處理算法的理解,大多數(shù)是音頻壓縮算法,一般都要求有一定的音頻片斷長度以保障壓縮率與減少CPU中RTOS的調(diào)度開銷。另外一些音頻處理程序如回響消減DSP算法,經(jīng)常采用64拍有限濾波器處理大于16ms的回響拖尾。另一些高度壓縮算法(如以有限激勵參數(shù)模型為基礎(chǔ)的算法)要求對更長的音頻片斷做處理。所以從算法的角度,SoC系統(tǒng)的音頻處理延時(shí)理論下限為多算法處理單元的最大值。我們只要保證DMA的傳輸數(shù)據(jù)延時(shí)小于這個下限就可以了,這樣就充分利用了SoC系統(tǒng)的最小延時(shí),進(jìn)而計(jì)算DMA片斷的長度也有了依據(jù)。

回到隊(duì)列長度的計(jì)算上,我們現(xiàn)在只需要考慮TDM模塊得到AHB總線使用權(quán)之間的間隙與TDM數(shù)據(jù)輸入的速度差的最壞值就可以了。 


圖3:最終框架結(jié)構(gòu)圖。

隊(duì)列深度=最長AHB總線獲得間隔×TDM輸入速率

AHB總線輪詢(poll)間隙取決于總線上有幾個主控模式模塊與仲裁的優(yōu)先級策略。一般建議實(shí)時(shí)模塊享有較高優(yōu)先級,當(dāng)然隨之而來的要求是總線申請的頻度不能太高。平衡這一對矛盾的解決辦法超越本文論述的范疇,讀者可以從“固定權(quán)重加優(yōu)先級競爭”的仲裁機(jī)制入手來設(shè)計(jì)AHB總線仲裁器。

動態(tài)切換時(shí)機(jī)與影子寄存器的使用

在實(shí)際應(yīng)用中,我們常常發(fā)現(xiàn)幀格式中很多時(shí)分信道并沒有音頻數(shù)據(jù),這時(shí)就要采用時(shí)分掩碼來屏蔽這些信道以阻止無效數(shù)據(jù)占用帶寬。問題是時(shí)分信通中是否有數(shù)據(jù)是動態(tài)變化的,動態(tài)變化的數(shù)據(jù)要求時(shí)分掩碼參數(shù)也要動態(tài)分配。但是怎么切換呢?這里采用“影子寄存器”技術(shù),原理是兩套寄存器,一套參數(shù)應(yīng)用于當(dāng)前幀,另一套應(yīng)用于下一幀。利用幀同步頭的一個時(shí)鐘周期實(shí)時(shí)切換。而SoC中的CPU只看到一套寄存器地址,同時(shí)配置行為本身放寬了實(shí)時(shí)要求的限制,實(shí)時(shí)切換由TDM模塊完成,具體圖形見圖4。

[!--empirenews.page--]

錯誤的處理--最后一根救命稻草

如大家深知,芯片設(shè)計(jì)是沒有下一次機(jī)會的,那么錯誤的處理就成為了“救命的稻草”。假設(shè)TDM模塊很久沒有得到總線的控制,出現(xiàn)underrun(速率過低)與overrun(速率過高)情況。要采用隊(duì)列中“high-watermark(高水線)”與“low-watermark(低水線)”技術(shù),在隊(duì)列接近滿與空狀態(tài)發(fā)生前提前預(yù)警。預(yù)警通常反映了芯片系統(tǒng)中的一些設(shè)計(jì)問題與當(dāng)時(shí)電壓波動、干擾、局部高溫等瞬間問題,這時(shí)預(yù)警信號通常用最高/次高優(yōu)先級中斷發(fā)生。ARM CPU本身支持高優(yōu)先級中斷,而我們的隊(duì)列長度計(jì)算現(xiàn)在要重新計(jì)算,加上高優(yōu)先級處理這一段時(shí)間,具體的響應(yīng)時(shí)鐘周期,讀者請查閱相應(yīng)CPU手冊,這也是評價(jià)嵌入式CPU與實(shí)時(shí)操作系統(tǒng)(RTOS)的一項(xiàng)指標(biāo)。 


圖4:由TDM模塊實(shí)現(xiàn)兩套寄存器的動態(tài)切換時(shí)序圖。

隊(duì)列深度=最長AHB總線獲得間隔×TDM輸入速率+ARM最長中斷響應(yīng)時(shí)間×TDM輸入速率

本文小結(jié)

我們在TDM模塊簡要設(shè)計(jì)中,闡述了結(jié)合各種基本技術(shù),如從緩存隊(duì)列到DMA到影子寄存器到動態(tài)分配到watermark與利用DSP算法特性,AHB總線特性、幀同步特性以及RTOS特性解決非實(shí)時(shí)與實(shí)時(shí)交換、CPU效率與資源占用、延時(shí)與DMA配置與動態(tài)切換的矛盾,追求最優(yōu)解決方案的過程與設(shè)計(jì)思路。

本文并沒有給出最初方案的隊(duì)列計(jì)算公式,是因?yàn)橐紤]的因素過多,從另一個側(cè)面反映了它不是最優(yōu)方案。好的設(shè)計(jì)應(yīng)該是把復(fù)雜的需求簡單化、模塊化,當(dāng)然實(shí)際設(shè)計(jì)中比這種簡化設(shè)計(jì)要復(fù)雜,例如還要解決實(shí)時(shí)數(shù)據(jù)傳輸中雙方時(shí)鐘不同步等問題。但讀者只要掌握了基本思路與技術(shù),理解應(yīng)用特性、CPU特性及RTOS特性與算法,就可舉一反三,做出最優(yōu)的設(shè)計(jì)。
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉