集成PWM控制器在不間斷電源系統(tǒng)中的應(yīng)用
關(guān)鍵詞:SoC 片上總線 AMBA Wishbone Avalon
引 言
??嵌入式系統(tǒng)是當今計算機工業(yè)發(fā)展的一個熱點。隨著超大規(guī)模集成電路的迅速發(fā)展,半導(dǎo)體工業(yè)進入深亞微米時代,器件特征尺寸越來越小,芯片規(guī)模越來越大,可以在單芯片上集成上百萬到數(shù)億只晶體管。如此密集的集成度使我們現(xiàn)在能夠在一小塊芯片上把以前由CPU和若干I/O接口等數(shù)塊芯片實現(xiàn)的功能集成起來,由單片集成電路構(gòu)成功能強大的、完整的系統(tǒng),這就是我們通常所說的片上系統(tǒng)SoC(System on Chip)。由于功能完整,SoC逐漸成為嵌入式系統(tǒng)發(fā)展的主流。
??SoC相比板上系統(tǒng),具有許多優(yōu)點:
??① 充分利用IP技術(shù),減少產(chǎn)品設(shè)計復(fù)雜性和開發(fā)成本,縮短產(chǎn)品開發(fā)的時間;
??② 單芯片集成電路可以有效地降低系統(tǒng)功耗;
??③ 減少芯片對外引腳數(shù),簡化系統(tǒng)加工的復(fù)雜性;
??④ 減少外圍驅(qū)動接口單元及電路板之間的信號傳遞,加快了數(shù)據(jù)傳輸和處理的速度;
??⑤ 內(nèi)嵌的線路可以減少甚至避免電路板信號傳送時所造成的系統(tǒng)信號串擾。
??SoC的設(shè)計過程中,最具特色的是IP復(fù)用技術(shù)。即選擇所需功能的IP(給出IP定義)核,集成到一個芯片中用。由于IP核的設(shè)計千差萬別,IP核的連接就成為構(gòu)造SoC的關(guān)鍵。片上總線(On-Chip Bus,OCB)是實現(xiàn)SoC中IP核連接最常見的技術(shù)手段,它以總線方式實現(xiàn)IP核之間數(shù)據(jù)通信。與板上總線不同,片上總線不用驅(qū)動底板上的信號和連接器,使用更簡單,速度更快。一個片上總線規(guī)范一般需要定義各個模塊之間初始化、仲裁、請求傳輸、響應(yīng)、發(fā)送接收等過程中驅(qū)動、時序、策略等關(guān)系。
??由于片上總線與板上總線應(yīng)用范圍不同,存在著較大的差異,其主要特點如下:
??① 片上總線要盡可能簡單。首先結(jié)構(gòu)要簡單,這樣可以占用較少的邏輯單元;其次時序要簡單,以利于提高總線的速度;第三接口要簡單,如此可減少與IP核連接的復(fù)雜度。
??② 片上總線有較大的靈活性。由于片上系統(tǒng)應(yīng)用廣泛,不同的應(yīng)用對總線的要求各異,因此片上總線具有較大的靈活性。其一,多數(shù)片上總線的數(shù)據(jù)和地址寬度都可變,如AMBA AHB支持32位~128位數(shù)據(jù)總線寬度;其二,部分片上總線的互連結(jié)構(gòu)可變,如Wishbone總線支持點到點、數(shù)據(jù)流、共享總線和交叉開關(guān)四種互連方式;其三,部分片上總線的仲裁機制靈活可變,如Wishbone總線的仲裁機制可以完全由用戶定制。
??③ 片上總線要盡可能降低功耗。因此,在實際應(yīng)用時,總線上各種信號盡量保持不變,并且多采用單向信號線,降低了功耗,同時也簡化了時序。上述三種片上總線輸入數(shù)據(jù)線和輸出數(shù)據(jù)線都是分開的,且都沒有信號復(fù)用現(xiàn)象。
??片上總線有兩種實現(xiàn)方案,一是選用國際上公開通用的總線結(jié)構(gòu);二是根據(jù)特定領(lǐng)域自主開發(fā)片上總線。本文就目前SoC上使用較多的三種片上總線標準――ARM的AMBA、Silicore的Wishbone和Altera的Avalon進行討論,對三者特性進行分析和比較。
1 AMBA總線
??AMBA(Advanced Microcontroller Bus Architecture)總線規(guī)范是ARM公司設(shè)計的一種用于高性能嵌入式系統(tǒng)的總線標準。它獨立于處理器和制造工藝技術(shù),增強了各種應(yīng)用中的外設(shè)和系統(tǒng)宏單元的可重用性。AMBA總線規(guī)范是一個開放標準,可免費從ARM獲得。目前,AMBA 擁有眾多第三方支持,被ARM公司90%以上的合作伙伴采用,在基于ARM處理器內(nèi)核的SoC設(shè)計中,已經(jīng)成為廣泛支持的現(xiàn)有互聯(lián)標準之一。AMBA總線規(guī)范2.0于1999年發(fā)布,該規(guī)范引入的先進高性能總線(AHB)是現(xiàn)階段AMBA實現(xiàn)的主要形式。AHB的關(guān)鍵是對接口和互連均進行定義,目的是在任何工藝條件下實現(xiàn)接口和互連的最大帶寬。AHB接口已與互連功能分離,不再僅僅是一種總線,而是一種帶有接口模塊的互連體系。
??AMBA總線規(guī)范主要設(shè)計目的如下:① 滿足具有一個或多個CPU或DSP的嵌入式系統(tǒng)產(chǎn)品的快速開發(fā)要求;② 增加設(shè)計技術(shù)上的獨立性,確??芍赜玫亩喾NIP核可以成功地移植到不同的系統(tǒng)中,適合全定制、標準單元和門陣列等技術(shù);③ 促進系統(tǒng)模塊化設(shè)計,以增加處理器的獨立性;④ 減少對底層硅的需求,以使片外的操作和測試通信更加有效。
??AMBA總線是一個多總線系統(tǒng)。規(guī)范定義了三種可以組合使用的不同類型的總線:AHB(Advanced High-performance Bus)、ASB(Advanced System Bus)和APB(Advanced Peripheral Bus)。
??典型的基于AMBA的SoC核心部分如圖1所示。其中高性能系統(tǒng)總線(AHB或ASB)主要用以滿足CPU和存儲器之間的帶寬要求。CPU、片內(nèi)存儲器和DMA設(shè)備等高速設(shè)備連接在其上,而系統(tǒng)的大部分低速外部設(shè)備則連接在低帶寬總線APB上。系統(tǒng)總線和外設(shè)總線之間用一個橋接器(AHB/ASB-APB-Bridge)進行連接。
??AMBA的AHB適用于高性能和高時鐘頻率的系統(tǒng)模塊。它作為高性能系統(tǒng)的骨干總線,主要用于連接高性能和高吞吐量設(shè)備之間的連接,如CPU、片上存儲器、DMA設(shè)備和DSP或其它協(xié)處理器等。其主要特性如下:
◇支持多個總線主設(shè)備控制器;
◇支持猝發(fā)、分裂、流水等數(shù)據(jù)傳輸方式;
◇單周期總線主設(shè)備控制權(quán)轉(zhuǎn)換;
◇32~128位數(shù)據(jù)總線寬度;
◇具有訪問保護機制,以區(qū)分特權(quán)模式和非特權(quán)模式訪問,指令和數(shù)據(jù)讀取等;
◇數(shù)據(jù)猝發(fā)傳輸最大為16段;
◇地址空間32位;
◇支持字節(jié)、半字和字傳輸。
??AMBA的ASB適用于高性能的系統(tǒng)模塊。在不必要適用AHB的高速特性的場合,可選擇ASB作為系統(tǒng)總線。它同樣支持處理器、片上存儲器和片外處理器接口與低功耗外部宏單元之間的連接。其主要特性與AHB類似,主要不同點是它讀數(shù)據(jù)和寫數(shù)據(jù)采用同一條雙向數(shù)據(jù)總線。
??AMBA的APB適用于低功耗的外部設(shè)備,它已經(jīng)過優(yōu)化,以減少功耗和對外設(shè)接口的復(fù)雜度;它可連接在兩種系統(tǒng)總線上。其主要特性如下:
◇低速、低功耗外部總線;
◇單個總線主設(shè)備控制器;
◇非常簡單,加上CLOCK和RESET,總共只有4個控制信號;
◇32位地址空間;
◇最大32位數(shù)據(jù)總線;
◇讀數(shù)據(jù)總線與寫數(shù)據(jù)總線分開。
2 Wishbone總線
??Wishbone最先是由Silicore公司提出的,現(xiàn)在已被移交給OpenCores組織維護。由于其開放性,現(xiàn)在已有不少的用戶群體,特別是一些免費的IP核,大多數(shù)都采用Wishbone標準。
??Wishbone總線規(guī)范是一種片上系統(tǒng)IP核互連體系結(jié)構(gòu)。它定義了一種IP核之間公共的邏輯接口,減輕了系統(tǒng)組件集成的難度,提高了系統(tǒng)組件的可重用性、可靠性和可移植性,加快了產(chǎn)品市場化的速度。Wishbone總線規(guī)范可用于軟核、固核和硬核,對開發(fā)工具和目標硬件沒有特殊要求,并且?guī)缀跫嫒菀延兴械木C合工具,可以用多種硬件描述語言來實現(xiàn)。
??Wishbone總線規(guī)范的目的是作為一種IP核之間的通用接口,因此它定義了一套標準的信號和總線周期,以連接不同的模塊,而不是試圖去規(guī)范IP核的功能和接口。
??Wishbone總線結(jié)構(gòu)十分簡單,它僅僅定義了一條高速總線。在一個復(fù)雜的系統(tǒng)中,可以采用兩條Wishbone總線的多級總線結(jié)構(gòu):其一用于高性能系統(tǒng)部分,其二用于低速外設(shè)部分,兩者之間需要一個接口。這個接口雖然占用一些電路資源,但這比設(shè)計并連接兩種不同的總線要簡單多了。用戶可以按需要自定義Wishbone標準,如字節(jié)對齊方式和標志位(TAG)的含義等等,還可以加上一些其它的特性。Wishbone的一種互連結(jié)構(gòu)如圖。
??靈活性是Wishbone總線的另一個優(yōu)點。由于IP核種類多樣,其間并沒有一種統(tǒng)一的間接方式。為滿足不同系統(tǒng)的需要,Wishbone總線提供了四種不同的IP核互連方式:
◇點到點(point-to-point),用于兩IP核直接互連;
◇數(shù)據(jù)流(data flow),用于多個串行IP核之間的數(shù)據(jù)并發(fā)傳輸;
◇共享總線(shared bus),多個IP核共享一條總線;
◇交叉開關(guān)(crossbar switch)(圖2),同時連接多個主從部件,提高系統(tǒng)吞吐量。
??還有一種片外連接方式,可以連接到上面任何一種互連網(wǎng)絡(luò)中。比如說,兩個有Wishbone接口的不同芯片之間就可以用點到點方式進行連接。
??Wishbone總線主要特征如下:
◆ 所有應(yīng)用適用于同一種總線體系結(jié)構(gòu);
◆ 是一種簡單、緊湊的邏輯IP核硬件接口,只需很少的邏輯單元即可實現(xiàn);
◆ 時序非常簡單;
◆ 主/從結(jié)構(gòu)的總線,支持多個總線主設(shè)備;
◆ 8~64位數(shù)據(jù)總線(可擴充);
◆ 單周期讀寫;
◆ 支持所有常用的總線數(shù)據(jù)傳輸協(xié)議,如單字節(jié)讀寫周期、塊傳輸周期、控制操作及其它的總線事務(wù)等;
◆ 支持多種IP核互連網(wǎng)絡(luò),如單向總線、雙向總線、基于多路互用的互連網(wǎng)絡(luò)、基于三態(tài)的互連網(wǎng)絡(luò)等;
◆ 支持總線周期的正常結(jié)束、重試結(jié)束和錯誤結(jié)束;
◆ 使用用戶自定義標記(TAG),確定數(shù)據(jù)傳輸類型、中斷向量等;
◆ 仲裁器機制由用戶自定義;
◆ 獨立于硬件技術(shù)(FPGA、ASIC、bipolar、MOS等)、IP核類型(軟核、固核或硬核)、綜合工具、布局和布線技術(shù)等。
3 Avalon總線
??Avalon總線是Altera公司設(shè)計的用于SOPC(System On Programmable Chip,可編程片上系統(tǒng))中,連接片上處理器和其它IP模塊的一種簡單的總線協(xié)議,規(guī)定了主部件和從部件之間進行連接的端口和通信的時序。
??Avalon總線的主要設(shè)計目的如下:① 簡單性,提供一種非常易于理解的協(xié)議;② 優(yōu)化總線邏輯的資源使用率,將邏輯單元保存在PLD(Programmable Logic Device,可編程邏輯器件)中;③ 同步操作,將其它的邏輯單元很好地集成到同一PLD中,同時避免復(fù)雜的時序。
傳統(tǒng)的總線結(jié)構(gòu)中,一個中心仲裁器控制多個主設(shè)備和從設(shè)備之間的通信。這種結(jié)構(gòu)會產(chǎn)生一個瓶頸,因為任何時候只有一個主設(shè)備能訪問系統(tǒng)總線。Avalon總線的開關(guān)構(gòu)造使用一種稱之為從設(shè)備仲裁(Slave-side arbitration)的技術(shù),允許多個主設(shè)備控制器真正地同步操作。當有多個主設(shè)備訪問同一個從設(shè)備時,從設(shè)備仲裁器將決定哪個主設(shè)備獲得訪問權(quán)。圖3是一個多主設(shè)備同時訪問存儲器的例子。在此系統(tǒng)中,高帶寬外設(shè),如100M以太網(wǎng)卡,可以不需暫停CPU而直接訪問存儲器。通過允許存儲訪問獨立于CPU。Avalon開關(guān)結(jié)構(gòu)優(yōu)化了數(shù)據(jù)流,從而提高了系統(tǒng)的吞吐量。
Avalon總線主要特性如下:
◇32位尋址空間;
◇支持字節(jié)、半字和字傳輸;
◇同步接口;
◇獨立的地址線、數(shù)據(jù)線和控制線;
◇設(shè)備內(nèi)嵌譯碼部件;
◇支持多個總線主設(shè)備,Avalon自動生成仲裁機制;
◇多個主設(shè)備可同時操作使用一條總線;
◇可變的總線寬度,即可自動調(diào)整總線寬度,以適應(yīng)尺寸不匹配的數(shù)據(jù);
◇提供了基于圖形界面的總線配置向?qū)?,簡單易用?/P>
4 三種片上總線比較
??通過以上對三種總線特性的介紹,可以對三種總線作個比較,如表1所列。
表1 三種總線特性比較
AMBA | Wishbon | Avalon | |
互連方式 | 共享總線 | 交叉開關(guān)/共享總線/數(shù)據(jù)流/點到點 | 共享總線/總線開關(guān) |
主控制器 | 多個 | 多個 | 多個 |
數(shù)據(jù)總寬度/位 | 32~128 | 8~64 | 32 |
地址空間/位 | 32 | 64 | 32 |
數(shù)據(jù)傳輸方式 | 字節(jié)/半字/字 | 字節(jié)/半字/字 | 字節(jié)/半字/字 |
事務(wù)傳輸方式 | 流水/分裂/猝發(fā)傳輸 | 單字節(jié)讀寫/塊/猝發(fā)傳輸 | 單字節(jié)讀寫/塊傳輸 |
數(shù)據(jù)對齊方式 | 大端對齊/小端對齊 | 大端對齊/小端對齊 | 大端對齊/小端對齊 |
仲裁機制 | 系統(tǒng)定義 | 用戶自定義 | 系統(tǒng)生成 |
獨立性 | 硬件技術(shù)/IP核類型/綜合工具無關(guān) | 硬件技術(shù)/IP核類型/綜合工具無關(guān) | 硬件技術(shù)/IP核類型無關(guān) |
??基于三種總線的特性,可以得出其應(yīng)用的綜合比較,如表2所列。
表2 三種總線應(yīng)用綜合比較
AMBA | Wishbon | Avalon | |
適用器件 | PLD,ASIC | PLD,ASIC | Altera系列PLD |
應(yīng)用范圍 | 高性能嵌入式系統(tǒng) | 高性能嵌入式系統(tǒng),型嵌入式系統(tǒng) | 用于Altera Nios軟核的系統(tǒng)中 |
可用資源 | ARM使用伙伴眾多,提供了豐富的IP核 | 對IP核沒有特殊要求,而且www.oprncores.org中有許免費IP核 | Alter公司建立了AMPP(Altera Megafunction Partners Program)組織,提供了豐富的IP核 |
價格 | ARM聲黎免費,但需要授權(quán)協(xié)議 | 完全免費 | Altera所有,需要授權(quán)協(xié)議 |
??三種總線各有特點,決定了其應(yīng)用范圍的不同。AMBA 總線規(guī)范擁有眾多第三方支持,被ARM公司90%以上的合作伙伴采用,已成為廣泛支持的現(xiàn)有互連標準之一。Wishbone異軍突起,其簡單性和靈活性受到廣大SoC設(shè)計者的青睞。由于它是完全免費的,并有豐富的免費IP核資源,因此它有可能成為未來的片上系統(tǒng)總線互連標準。Avalon主要用于Altera公司系列PLD中,最大的優(yōu)點在于其配置的簡單性,可由EDA工具快速生成,受PLD廠商巨頭Altera極力推薦,其影響范圍也不可忽視。
結(jié) 語
??本文對SoC中常用的三種總線AMBA、Wishbone和Avalon的特性進行了詳細分析和比較,在此基礎(chǔ)上闡述了各自的應(yīng)用范圍,為SoC設(shè)計中總線選擇提供了參考。SoC系統(tǒng)中總線的選擇不僅要看其性能,還要看其應(yīng)用范圍,是否有足夠的IP核資源可用等等。另外,SoC中可以選用的總線還有很多,如IBM的CoreConnect、Plamchip的CoreFrame、Mentor Graphics的FISPbus等等。雖然這些總線目前的應(yīng)用范圍都遠不如本文介紹的三種總線廣泛,但是各有其特點和適用領(lǐng)域。因此,在SoC中選用片上總線時,需要進行認真選擇。
pwm相關(guān)文章:pwm原理
評論