新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 市場分析 > 嵌入式系統(tǒng)的發(fā)展趨勢:網(wǎng)絡互聯(lián)與嵌入式微處理架構(gòu)

嵌入式系統(tǒng)的發(fā)展趨勢:網(wǎng)絡互聯(lián)與嵌入式微處理架構(gòu)

作者:Atmel公司 Jacko Wilbrink Dany Nativel Tim Morin 時間:2008-03-24 來源:電子產(chǎn)品世界 收藏

  (Networked Embedded Systems)的演變

本文引用地址:http://butianyuan.cn/article/80564.htm

  過去嵌入式系統(tǒng)通常是深嵌于最終產(chǎn)品之中,以系統(tǒng)控制為基礎(chǔ),一般不與外界連接。其微控制器在一個相當封閉的系統(tǒng)中工作,定時查詢外設(shè)、收集數(shù)據(jù)、完成簡單的處理工作,以及控制開關(guān)和LED指示燈。此外,微控制器也進行少量的數(shù)據(jù)操作或數(shù)據(jù)傳輸。由于它們不會與局域網(wǎng) (LAN)或互聯(lián)網(wǎng)(Internet)連接,所以不存在保安的問題。然而,這一切現(xiàn)在都改變了?,F(xiàn)今的嵌入式系統(tǒng)一般都要連接到局域網(wǎng),這樣就有數(shù)十、甚至上百個控制器連接在一起。舉例說,汽車制造和工業(yè)控制領(lǐng)域中的CAN有上百個微控制器在相互作用;ZigBee 無線控制網(wǎng)絡也有若多數(shù)量的微控制器互連在一起。而且,隨著嵌入式網(wǎng)絡越來越復雜(因此需要更大的網(wǎng)絡帶寬和更遠的傳輸距離),嵌入式以太網(wǎng)也開始涉足于工業(yè)控制、建筑物自動化、醫(yī)療和保安產(chǎn)品市場。

  目前市場的發(fā)展是將這些局域網(wǎng)需要通過企業(yè)內(nèi)聯(lián)網(wǎng)或外聯(lián)網(wǎng)特別是互聯(lián)網(wǎng)與外界連接。嵌入式系統(tǒng)聯(lián)網(wǎng)要求的不斷增加,導致微控制器必須具備更多性能:更強的互連性,增加程序和數(shù)據(jù)內(nèi)存空間來支持相應的通信協(xié)議,提高性能和處理帶寬以進行系統(tǒng)傳輸數(shù)據(jù)、執(zhí)行通信協(xié)議和提供嚴密的保安能力。在需要通過內(nèi)聯(lián)網(wǎng)或互聯(lián)網(wǎng)監(jiān)控CAN或ZigBee 網(wǎng)絡的應用環(huán)境中,嵌入式微控制器必須能支持10/100M以太網(wǎng)、CAN、ZigBee 網(wǎng)絡以及其他網(wǎng)絡協(xié)議,更必須具有先進的安全加密算法。

  另一個影響嵌入式系統(tǒng)的因素是通用串行總線 (USB) 的快速普及,尤其是在 PC 及其外設(shè)領(lǐng)域。與提供基本通信鏈路的傳統(tǒng)通用異步收發(fā)器 (UART) 接口不同,USB是一種內(nèi)置豐富驅(qū)動程序的即插即用式總線接口,能縮短開發(fā)周期和設(shè)備安裝時間。不但設(shè)計人員喜歡這種接口,終端用戶也因為不必為新購的外設(shè)安裝加載新的設(shè)備驅(qū)動程序而樂于使用。再考慮到采用筆記本電腦對復印機、自助售貨機、ATM機,工廠自動化設(shè)備、家用安全系統(tǒng)等完成系統(tǒng)設(shè)置和現(xiàn)場服務,可以預計USB在嵌入式系統(tǒng)將占一重要席位。新款的筆記本電腦都只配備了USB接口,所以由它們服務的系統(tǒng)也必須有USB接口,否則這些系統(tǒng)便得采用舊款PC或USB適配器。

  還有一點,隨著嵌入式系統(tǒng)越來越多地通過使用外部網(wǎng)絡來監(jiān)控,尤其是該系統(tǒng)可以通過互聯(lián)網(wǎng)或無線網(wǎng)絡來訪問時,對保安的要求必然會更高。沒有人能容忍局外人惡意破壞系統(tǒng)、關(guān)斷防火報警系統(tǒng),或隨便打開輸油管的閥門,所以保安就成為了嵌入式系統(tǒng)非常重要的一環(huán)。

  對微控制器結(jié)構(gòu)的意義:高帶寬、高互連性、高可預見性

  嵌入式系統(tǒng)朝著嵌入式網(wǎng)絡的發(fā)展從根本上改變了其結(jié)構(gòu),而結(jié)構(gòu)卻是人們在選擇一個微控制器時必須考慮的。微控制器必須具有多種網(wǎng)絡協(xié)議接口,能傳輸并驗證大量數(shù)據(jù),足夠的安全性以及內(nèi)存和處理能力,以容納眾多的協(xié)議堆棧;而且,在許多情況下,還必須在能耗很少的前提下完成這些任務。8位和16位處理器顯然在內(nèi)存資源和處理能力上達不到這些要求,許然需要 8 位和 16 位處理器具備的“確定過程式性能” (deterministic performance) 和監(jiān)管功能,而這些對32位處理器來說卻很罕有。此外,對成本敏感的系統(tǒng)還得與8位和16位微控制器的價格相若,而且配套開發(fā)工具的價格也必須容易接受。

  要適應嵌入式市場不斷增長的互連需求和支持這類應用的實時性要求,這種處理器還是不夠的。要滿足現(xiàn)今的互連應用環(huán)境,嵌入式微控制器需要能夠支持多種通信協(xié)議、高速數(shù)據(jù)傳輸,系統(tǒng)安全和確定過程式實時處理。Atmel公司的SAM7 微控制器系列基于ARM技術(shù),并具有USB接口,其最新的SAM7X 微控制器正朝著上述的領(lǐng)域發(fā)展。這種微控制器的工作頻率達50 MIPS,配備片上以太網(wǎng)和CAN通信協(xié)議,采用硬件實現(xiàn)的AES/3DES加密技術(shù),安全鍵存儲技術(shù)以及各種外部接口包括USB、USART、串行外圍接口 (SPI)、同步串行接口 (SSC)、雙線接口SSC/I2S和雙線接口 (TWI)。該微控制器采用一個外設(shè)DMA控制器獨立實現(xiàn)高速數(shù)據(jù)的傳輸,無需占用 ARM7 處理器資源,并具有 8 位和 16 位處理器常備的實時系統(tǒng)控制功能 (32 位系統(tǒng)很少有這些功能),包括欠壓檢測器、上電復位電路、實時時鐘和監(jiān)控定時器。SAM7X 微控制器還包括一些外設(shè):一個 10位模數(shù)轉(zhuǎn)換器、脈沖寬度調(diào)制以及功率管理控制器。SAM7X 的存儲密度從 128 到 256Kbit 閃存和 32 到 64Kbit SRAM 不等。這些功能才可真正滿足嵌入式網(wǎng)絡環(huán)境的需求。

  嵌入式互連的發(fā)展

  隨著越來越多設(shè)備互連在一起,連接電纜的長度和網(wǎng)絡帶寬均大幅增長。最大帶寬為1Mbps的CAN網(wǎng)絡逐漸達到極限,開始被100Mbps以太網(wǎng)取代。事實上,以太網(wǎng)和互聯(lián)網(wǎng)使用的都是相同的通信協(xié)議,即TCP/IP。由于在將一個遠程傳感器通過互聯(lián)網(wǎng)連接到某一臺PC時無需轉(zhuǎn)換協(xié)議,因此整個網(wǎng)絡便會簡化,設(shè)備的互操作性得以增強。采用互聯(lián)網(wǎng)這類公共通信網(wǎng)絡對安全性的要求也大為提高。不過,CAN 也不會在一夜之間消失,而是繼續(xù)存在于嵌入式網(wǎng)絡世界內(nèi)一段時間。ZigBee 很可能在低數(shù)據(jù)傳輸率控制應用中占一重要席位;而與PC 連接方面, USB 勢將成為標準。

  通用串行接口 (USB) 是一種用于將外設(shè)作為即插即用設(shè)備連接到PC上的接口標準。因此,USB替代了PC上的串行接口 (UART),而且比后者的傳輸速率更大,在全速模式下可達12Mbps。

  隨著以太網(wǎng)協(xié)議滲透到嵌入式領(lǐng)域,嵌入式系統(tǒng)網(wǎng)絡必須能與以太網(wǎng)絡接口。SAM7X采用10/100-Mbps IEEE 802.3兼容的以太網(wǎng)媒體訪問控制器,該控制器可配置為全雙工或半雙工模式,并有一個能確保提供100Mbps數(shù)據(jù)吞吐速率的專用 DMA控制器;可編程的數(shù)據(jù)包收發(fā)間隔,并支持虛擬局域網(wǎng)標記幀以及自動暫停幀的生成及終止功能。雙模式接口能讓SAM7X通過媒體獨立接口或簡化的媒體獨立接口 (RMII) ,無縫地接入高速以太網(wǎng)應用中的各種物理層 (PHY) 。MII 能擴大系統(tǒng)在物理層的選擇,而RMII 則可節(jié)省微控制器上的一些 I/O。SAM7X MCU 可直接與 POS-PHY 第2層/SPI-3 兼容的設(shè)備連接,包括與標準網(wǎng)絡處理器連接。通過片上系統(tǒng)緩沖器進行的無損失流量控制,可省去外部存儲器或流量控制裝置。此外,還支持高達10240字節(jié)的巨型幀。SAM7X 的地址檢查器能識別4個特定的48位地址,并包含一個64位散列寄存器,用于匹配多點廣播和單點廣播地址。它能識別所有廣播地址,復制所有數(shù)據(jù)幀,并可用于匹配外部地址。其統(tǒng)計寄存器模塊包含各種寄存器,用于記錄與收發(fā)操作相關(guān)的各種事件。這些寄存器與存儲在接收緩沖列表中的狀態(tài)字可通過軟件讀取,生成符合 IEEE 802.3 標準的網(wǎng)絡管理統(tǒng)計數(shù)據(jù)。

  能否高速傳輸數(shù)據(jù)?如何快速傳輸數(shù)據(jù)?

  在絕大多數(shù)32位控制器中,處理器本身在外設(shè)和內(nèi)外存間傳輸數(shù)據(jù)時每次只傳輸一個字節(jié)。如果要傳輸?shù)臄?shù)據(jù)量不大,這沒什么問題。但若數(shù)據(jù)傳輸速率達到1Mbps,即使是快速處理器也要癱瘓。在1Mbps速率下,數(shù)據(jù)傳輸占用 28% 的處理器資源;速率到 2Mbps 時,數(shù)據(jù)傳輸占用 50% 以上的處理器資源;而速率達到 4Mbps 時,處理器就不能處理其他事務了。如果考慮到全速 USB2.0 的數(shù)據(jù)速率為 12Mbps,CAN 的數(shù)據(jù)速率為 1Mbps,以太網(wǎng)絡的數(shù)據(jù)速率為 100 Mbps,SAM7 SPI 和 USART 外設(shè)的數(shù)據(jù)速率也能達到 25Mbps,那么很明顯任何一個需要在大范圍互連的嵌入式控制系統(tǒng)都必須解決數(shù)據(jù)傳輸?shù)膯栴}。在一個涉及大量數(shù)據(jù)傳輸?shù)膽弥?,微控制器能否既是網(wǎng)關(guān)又是控制器?

  Atmel的DMA方案產(chǎn)品有一個外設(shè)DMA控制器 (PDC),能直接將每個SAM7X 外設(shè)連接到片上內(nèi)存,并配有一個更高級的專門DMA,針對以太網(wǎng)MAC。由于 PDC 完全獨立于處理器運行,因此它沒有任何中斷的成本,并能大幅度降低數(shù)據(jù)傳輸所需的時鐘周期數(shù)。每個 SAM7X 外設(shè)都有兩條專用 PDC 通道,各用于接收和發(fā)送數(shù)據(jù)。每個 PDC 通道的用戶接口都集成在各外設(shè)的內(nèi)存中,并有一個 32 位內(nèi)存指針寄存器;一個 16 位傳輸計數(shù)寄存器;一個用于下一個存儲的 32 位內(nèi)存指針寄存器和一個用于下一個傳輸?shù)膫鬏斢嫈?shù)寄存器。外設(shè)通過收發(fā)信號觸發(fā) PDC 傳輸。當?shù)谝粋€編程好的數(shù)據(jù)塊被傳輸后,對應的外設(shè)會產(chǎn)生一個傳輸結(jié)束中斷,第二個數(shù)據(jù)塊便會自動開始傳輸,而ARM處理器此時可并行處理第一個數(shù)據(jù)塊。這樣,就可以消除為更新處理器上DMA內(nèi)存指針所帶來的實時中斷限制,對于維持外設(shè)上的高速數(shù)據(jù)傳輸來說,這是非常關(guān)鍵的。

  在這個方案下,可以隨時讀取下一個數(shù)據(jù)傳輸?shù)拇鎯ξ恢煤褪S嘁獋鬏數(shù)臄?shù)據(jù)塊。PDC 有一些專用的狀態(tài)寄存器,它們顯示各個傳輸通道是否激活。通過一些控制位,便可安全地讀取指針和計數(shù)寄存器,而不會出現(xiàn)兩次讀數(shù)不同的情況。PDC將狀態(tài)標志發(fā)送給在狀態(tài)寄存器中可見的那個外設(shè)。當該外設(shè)接收到一個外部字符,便會發(fā)送一個接收就緒的信號給PDC,而 PDC 便會請求訪問系統(tǒng)總線。當該請求獲得允許,PDC便開始讀取外設(shè)的接收保持寄存器,然后觸發(fā)一個內(nèi)存寫操作。每次傳輸后,相關(guān)的PDC內(nèi)存指針地址將增加,剩余的傳輸數(shù)目將減少。當內(nèi)存塊滿時,下一個內(nèi)存塊的傳輸便會自動開始;或者會有一個信號傳送到外設(shè),以停止傳輸。至于向外設(shè)發(fā)送數(shù)據(jù),傳輸過程正好與此相反。如果在相同的外設(shè)上同時出現(xiàn)相同類型 (接收或發(fā)送) 的請求,請求的優(yōu)先級別由外設(shè)的編號決定;當請求不是同時發(fā)生,則按請求出現(xiàn)的先后而處理。來自接收方的請求先處理,然后處理發(fā)送方的請求。

  SAM7X 結(jié)構(gòu)中的 DMA 方案使其能同時充當網(wǎng)關(guān)和控制器,甚至在高數(shù)據(jù)速率下也能如此。

  實時應用的支持

  雖然許多 32 位系統(tǒng)廠商都努力在其微控制器上增加連通性,采用USB、以太網(wǎng)或其他協(xié)議,但大部分都不曾解決實時應用的問題。大多數(shù)的嵌入式控制應用是確定過程式的,即指令和數(shù)據(jù)必須在一個可以準確預計的時鐘周期內(nèi)到達正確的地方。這是“實時”應用的本質(zhì)所在??上В^大多數(shù) 32 位控制器都不具備實時應用所要求的性能。

  ARM結(jié)構(gòu)最初是為了便攜式PC而開發(fā)的,其操作系統(tǒng)管理中斷處理和制定處理的優(yōu)先級別。但它從來不是面向確定過程式實時應用的。為克服在外部非易失性內(nèi)存中存儲代碼導致的性能下降,PC 處理器在高速緩存中采用代碼遮蔽技術(shù)。但當某一需要的指令代碼正好不在高速緩存中時,這種技術(shù)就會導致不可預見的延遲。如果不用借助操作系統(tǒng)來實現(xiàn)外設(shè)連接,那就需要中斷屏蔽和額外的軟件支出??傊@種使 ARM 適合于 PC 應用的結(jié)構(gòu)同時也使它不太適合實時應用。AT91SAM7 器件是ARM7微控制器中獨特的產(chǎn)品,配備了一整套支持實時應用的功能,包括一個有8個優(yōu)先級別的中斷控制器、基于硬件的細致位操作、上電復位電路、單電源電壓、欠壓監(jiān)測器和實時時鐘。

  確定過程式處理

  SAM7X 微控制器上的 25ns 高速非易失性閃存允許其在單周期內(nèi)直接從閃存讀取指令,而無需代碼遮蔽,并能確保以確定過程式的方式完成指令處理。SAM7X可在不借助高速緩存的情況下以 38MIPS 的速度處理閃存的原始數(shù)據(jù);而在處理片上SRAM的數(shù)據(jù)時速度可達50MIPS。

  中斷控制

  實時控制應用通常是由中斷驅(qū)動的應用,其特點是有多個中斷源,且對每個中斷都會有一個可預計的響應。ARM核結(jié)構(gòu)采用了一個簡單的雙中斷機制;在該機制中,其中一個中斷負責處理所有非緊急的中斷任務,并沒有硬件制定優(yōu)先級別。這在高度互連的嵌入式系統(tǒng)中是不能接受的,因為這樣互連環(huán)境下的高吞吐量通信接口要求快速中斷處理與低優(yōu)先級系統(tǒng)功能并行。Atmel 公司的AT91ARM7通過一套可獨立屏蔽的中斷向量源和一個有8個優(yōu)先級的中斷控制器解決了這個問題。其基本的中斷處理程序永久駐留在SRAM中,負責判別各中斷源的優(yōu)先級別。一旦需要,它便會執(zhí)行一條指令,使用中斷號 (每一個中斷源均獲分配專用的中斷號) 把相應中斷服務程序的向量直接加載到程序計數(shù)器中。可惜的是,ARM7 結(jié)構(gòu)沒有細致的位操作指令,因而要15條指令 (即要15個時鐘周期) 才能完成這些置位/復位操作。ARM7先用6個指令取消中斷,然后用9個指令執(zhí)行RMW操作,完成復位,最后用6個指令重新激活中斷。這牽涉大量的編程、除錯調(diào)試和處理操作,尤其是當支持這些操作的指令來自8位或16位處理器時,工作量更加龐大。

  細致位操作

  在現(xiàn)今對成本敏感的應用中,節(jié)省代碼和數(shù)據(jù)空間是首要考慮的問題,因此能在I/O空間中對個別位字進行設(shè)置 (set) 和清除 (clear) 就最理想不過。如果不具備這種位操作的能力,則需要在目標的 I/O地址內(nèi)執(zhí)行一個讀、改、寫 (Read-Modify-Write, RMW) 操作;也就是說,將該 I/O 空間讀入 SRAM、修改目標位,然后將結(jié)果寫回I/O寄存器。當然,這很耗費閃存和SRAM等的系統(tǒng)資源,而且也增加功耗。位操作得以發(fā)揮優(yōu)勢的另一種情況是激活和取消中斷。如果要利用 RMW操作來激活或取消某個中斷,你必須先取消所有中斷,接著進行 RMW操作來激活或取消特定的中斷,然后重新激活所有中斷。Atmel 公司已對 ARM7 結(jié)構(gòu)進行了擴充,允許在 I/O 空間內(nèi)設(shè)置和清除位字。每個外設(shè)都有一個“設(shè)置”控制寄存器和一個“清除”控制寄存器。這樣,就可用一個 6 個周期的加載/移動/存儲序列來處理所有中斷屏蔽以及位設(shè)置和清除操作,從而減少 60% 的處理開支和代碼。

  單電源

  隨著工藝技術(shù)的尺度越來越小,微控制器的核心電源的電壓范圍必須適當。在0.18微米工藝節(jié)點,核心電源一般在1.8V。然而,為了與傳統(tǒng)的8位系統(tǒng)兼容,32位微控制器必須由一個電壓范圍從 3.0V 到 3.6V 的單電源來供電。新的微控制器用一個片上調(diào)壓器產(chǎn)生核心部分和其他片上子系統(tǒng)所要求的1.8V電壓。具有這個帶外部連接的1.8V電源,能更好地基于系統(tǒng)板提供的功能來控制各個功率源。至于使用這個片上調(diào)壓器還是使用具有更高效率或更低待機功耗的外接電源,可完全由終端用戶自行決定和控制。這個調(diào)壓器具有在CPU低速 (500Hz 到1.5MHz) 時進入待機模式的特點,這可降低調(diào)壓器的功耗,使電流降到20mA。在這種情況下,最大輸出電流為1mA,足以驅(qū)動CPU和大多數(shù)外設(shè),這有助于彌補32位微控制器較高的待機電流。

  結(jié)語

  現(xiàn)今嵌入式系統(tǒng)逐步朝著嵌入式網(wǎng)絡發(fā)展,常常要與其它網(wǎng)絡聯(lián)網(wǎng)。為這樣的設(shè)計選擇一個微控制器需要同時考慮器件的互連能力、數(shù)據(jù)傳輸能力、安全性,且又不失實時應用處理所要求的監(jiān)管和控制功能。微控制器供貨商正紛紛推出針對這類應用的32位微控制器。設(shè)計人員需要根據(jù)自己的特定系統(tǒng)來評估每一種產(chǎn)品。



評論


相關(guān)推薦

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

關(guān)閉