行業分析 軟體產業行業分析報告 內容詳情
嵌入式系統的發展趨勢:網絡互聯
 嵌入式系統 2008-04-08 09:02:00

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

  目前市場的發展趨勢是將這些區域網需要通過企業內聯網或外聯網特別是網際網路與外界連接。嵌入式系統聯網要求的不斷增加,導致微控制器必須具備更多性能:更強的互連性,增加程序和數據內存空間來支持相應的通信協議,提高性能和處理帶寬以進行系統傳輸數據、執行通信協議和提供嚴密的保安能力。在需要通過內聯網或網際網路監控CAN或ZigBee 網絡的應用環境中,嵌入式微控制器必須能支持10/100M乙太網、CAN、ZigBee 網絡以及其他網絡協議,更必須具有先進的安全加密算法。

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

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

  對微控制器結構的意義:高帶寬、高互連性、高可預見性

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

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

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

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

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

  能否高速傳輸數據?如何快速傳輸數據?

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

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

  在這個方案下,可以隨時讀取下一個數據傳輸的存儲位置和剩餘要傳輸的數據塊。PDC 有一些專用的狀態寄存器,它們顯示各個傳輸通道是否激活。通過一些控制位,便可安全地讀取指針和計數寄存器,而不會出現兩次讀數不同的情況。PDC將狀態標誌發送給在狀態寄存器中可見的那個外設。當該外設接收到一個外部字符,便會發送一個接收就緒的信號給PDC,而 PDC 便會請求訪問系統總線。當該請求獲得允許,PDC便開始讀取外設的接收保持寄存器,然後觸發一個內存寫操作。每次傳輸後,相關的PDC內存指針地址將增加,剩餘的傳輸數目將減少。當內存塊滿時,下一個內存塊的傳輸便會自動開始;或者會有一個信號傳送到外設,以停止傳輸。至於向外設發送數據,傳輸過程正好與此相反。如果在相同的外設上同時出現相同類型 (接收或發送) 的請求,請求的優先級別由外設的編號決定;當請求不是同時發生,則按請求出現的先後而處理。來自接收方的請求先處理,然後處理髮送方的請求。

  SAM7X 結構中的 DMA 方案使其能同時充當網關和控制器,甚至在高數據速率下也能如此。

  實時應用的支持

  雖然許多 32 位系統廠商都努力在其微控制器上增加連通性,採用USB、乙太網或其他協議,但大部分都不曾解決實時應用的問題。大多數的嵌入式控制應用是確定過程式的,即指令和數據必須在一個可以準確預計的時鐘周期內到達正確的地方。這是「實時」應用的本質所在。可惜,絕大多數 32 位控制器都不具備實時應用所要求的性能。

  ARM結構最初是為了可攜式PC而開發的,其作業系統管理中斷處理和制定處理的優先級別。但它從來不是面向確定過程式實時應用的。為克服在外部非易失性內存中存儲代碼導致的性能下降,PC 處理器在高速緩存中採用代碼遮蔽技術。但當某一需要的指令代碼正好不在高速緩存中時,這種技術就會導致不可預見的延遲。如果不用藉助作業系統來實現外設連接,那就需要中斷屏蔽和額外的軟體支出。總之,這種使 ARM 適合於 PC 應用的結構同時也使它不太適合實時應用。AT91SAM7 器件是ARM7微控制器中獨特的產品,配備了一整套支持實時應用的功能,包括一個有8個優先級別的中斷控制器、基於硬體的細緻位操作、上電復位電路、單電源電壓、欠壓監測器和實時時鐘。

  確定過程式處理

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

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

  細緻位操作

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

  單電源

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

  結語

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

熱門推薦

相關資訊

更多

免費報告

更多
嵌入式系統相關研究報告
關於我們 幫助中心 聯繫我們 法律聲明
京公網安備 11010502031895號
閩ICP備09008123號-21