http://kadhoai.com.cn 2026-04-27 06:20:02 來源:工業以太網
互連嵌入式係統的演變
過guo去qu嵌qian入ru式shi係xi統tong通tong常chang是shi深shen嵌qian於yu最zui終zhong產chan品pin之zhi中zhong,以yi係xi統tong控kong製zhi為wei基ji礎chu,一yi般ban不bu與yu外wai界jie連lian接jie。其qi微wei控kong製zhi器qi在zai一yi個ge相xiang當dang封feng閉bi的de係xi統tong中zhong工gong作zuo,定ding時shi查zha詢xun外wai設she、收集數據、完成簡單的處理工作,以及控製開關和LED指示燈。此外,微控製器也進行少量的數據操作或數據傳輸。由於它們不會與局域網 (LAN)或互聯網(Internet)連接,所以不存在保安的問題。然而,這一切現在都改變了。現今的嵌入式係統一般都要連接到局域網,這樣就有數十、甚至上百個控製器連接在一起。舉例說,汽車製造和工業控製領域中的CAN有上百個微控製器在相互作用;ZigBee 無線控製網絡也有若多數量的微控製器互連在一起。而且,隨著嵌入式網絡越來越複雜(因此需要更大的網絡帶寬和更遠的傳輸距離),嵌入式以太網也開始涉足於工業控製、建築物自動化、醫療和保安產品市場。
muqianshichangdefazhanqushishijiangzhexiejuyuwangxuyaotongguoqiyeneilianwanghuowailianwangtebieshihulianwangyuwaijielianjie。qianrushixitonglianwangyaoqiudebuduanzengjia,daozhiweikongzhiqibixujubeigengduoxingneng:更強的互連性,增加程序和數據內存空間來支持相應的通信協議,提高性能和處理帶寬以進行係統傳輸數據、執行通信協議和提供嚴密的保安能力。在需要通過內聯網或互聯網監控CAN或ZigBee 網絡的應用環境中,嵌入式微控製器必須能支持10/100M以太網、CAN、ZigBee 網絡以及其他網絡協議,更必須具有先進的安全加密算法。
另一個影響嵌入式係統的因素是通用串行總線 (USB) 的快速普及,尤其是在 PC 及其外設領域。與提供基本通信鏈路的傳統通用異步收發器 (UART) 接口不同,USB是(shi)一(yi)種(zhong)內(nei)置(zhi)豐(feng)富(fu)驅(qu)動(dong)程(cheng)序(xu)的(de)即(ji)插(cha)即(ji)用(yong)式(shi)總(zong)線(xian)接(jie)口(kou),能(neng)縮(suo)短(duan)開(kai)發(fa)周(zhou)期(qi)和(he)設(she)備(bei)安(an)裝(zhuang)時(shi)間(jian)。不(bu)但(dan)設(she)計(ji)人(ren)員(yuan)喜(xi)歡(huan)這(zhe)種(zhong)接(jie)口(kou),終(zhong)端(duan)用(yong)戶(hu)也(ye)因(yin)為(wei)不(bu)必(bi)為(wei)新(xin)購(gou)的(de)外(wai)設(she)安(an)裝(zhuang)加(jia)載(zai)新(xin)的(de)設(she)備(bei)驅(qu)動(dong)程(cheng)序(xu)而(er)樂(le)於(yu)使(shi)用(yong)。再(zai)考(kao)慮(lv)到(dao)采(cai)用(yong)筆(bi)記(ji)本(ben)電(dian)腦(nao)對(dui)複(fu)印(yin)機(ji)、自助售貨機、ATM機,工廠自動化設備、家用安全係統等完成係統設置和現場服務,可以預計USB在嵌入式係統將占一重要席位。新款的筆記本電腦都隻配備了USB接口,所以由它們服務的係統也必須有USB接口,否則這些係統便得采用舊款PC或USB適配器。
還hai有you一yi點dian,隨sui著zhe嵌qian入ru式shi係xi統tong越yue來lai越yue多duo地di通tong過guo使shi用yong外wai部bu網wang絡luo來lai監jian控kong,尤you其qi是shi該gai係xi統tong可ke以yi通tong過guo互hu聯lian網wang或huo無wu線xian網wang絡luo來lai訪fang問wen時shi,對dui保bao安an的de要yao求qiu必bi然ran會hui更geng高gao。沒mei有you人ren能neng容rong忍ren局ju外wai人ren惡e意yi破po壞huai係xi統tong、關斷防火報警係統,或隨便打開輸油管的閥門,所以保安就成為了嵌入式係統非常重要的一環。
對微控製器結構的意義:高帶寬、高互連性、高可預見性
qianrushixitongchaozheqianrushiwangluodequshifazhanconggenbenshanggaibianleqijiegou,erjiegouqueshirenmenzaixuanzeyigeweikongzhiqishibixukaolvde。weikongzhiqibixujuyouduozhongwangluoxieyijiekou,nengchuanshubingyanzhengdaliangshuju,zugoudeanquanxingyijineicunhechulinengli,yirongnazhongduodexieyiduizhan;而且,在許多情況下,還必須在能耗很少的前提下完成這些任務。8位和16位處理器顯然在內存資源和處理能力上達不到這些要求,許然需要 8 位和 16 位處理器具備的“確定過程式性能” (deterministic performance) 和監管功能,而這些對32位處理器來說卻很罕有。此外,對成本敏感的係統還得與8位和16位微控製器的價格相若,而且配套開發工具的價格也必須容易接受。
yaoshiyingqianrushishichangbuduanzengchangdehulianxuqiuhezhichizheleiyingyongdeshishixingyaoqiu,zhezhongchuliqihaishibugoude。yaomanzuxianjindehulianyingyonghuanjing,qianrushiweikongzhiqixuyaonenggouzhichiduozhongtongxinxieyi、高速數據傳輸,係統安全和確定過程式實時處理。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時shi無wu需xu轉zhuan換huan協xie議yi,因yin此ci整zheng個ge網wang絡luo便bian會hui簡jian化hua,設she備bei的de互hu操cao作zuo性xing得de以yi增zeng強qiang。采cai用yong互hu聯lian網wang這zhe類lei公gong共gong通tong信xin網wang絡luo對dui安an全quan性xing的de要yao求qiu也ye大da為wei提ti高gao。不bu過guo,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 兼(jian)容(rong)的(de)設(she)備(bei)連(lian)接(jie),包(bao)括(kuo)與(yu)標(biao)準(zhun)網(wang)絡(luo)處(chu)理(li)器(qi)連(lian)接(jie)。通(tong)過(guo)片(pian)上(shang)係(xi)統(tong)緩(huan)衝(chong)器(qi)進(jin)行(xing)的(de)無(wu)損(sun)失(shi)流(liu)量(liang)控(kong)製(zhi),可(ke)省(sheng)去(qu)外(wai)部(bu)存(cun)儲(chu)器(qi)或(huo)流(liu)量(liang)控(kong)製(zhi)裝(zhuang)置(zhi)。此(ci)外(wai),還(hai)支(zhi)持(chi)高(gao)達(da)10240字節的巨型幀。SAM7X 的地址檢查器能識別4個特定的48位地址,並包含一個64位(wei)散(san)列(lie)寄(ji)存(cun)器(qi),用(yong)於(yu)匹(pi)配(pei)多(duo)點(dian)廣(guang)播(bo)和(he)單(dan)點(dian)廣(guang)播(bo)地(di)址(zhi)。它(ta)能(neng)識(shi)別(bie)所(suo)有(you)廣(guang)播(bo)地(di)址(zhi),複(fu)製(zhi)所(suo)有(you)數(shu)據(ju)幀(zhen),並(bing)可(ke)用(yong)於(yu)匹(pi)配(pei)外(wai)部(bu)地(di)址(zhi)。其(qi)統(tong)計(ji)寄(ji)存(cun)器(qi)模(mo)塊(kuai)包(bao)含(han)各(ge)種(zhong)寄(ji)存(cun)器(qi),用(yong)於(yu)記(ji)錄(lu)與(yu)收(shou)發(fa)操(cao)作(zuo)相(xiang)關(guan)的(de)各(ge)種(zhong)事(shi)件(jian)。這(zhe)些(xie)寄(ji)存(cun)器(qi)與(yu)存(cun)儲(chu)在(zai)接(jie)收(shou)緩(huan)衝(chong)列(lie)表(biao)中(zhong)的(de)狀(zhuang)態(tai)字(zi)可(ke)通(tong)過(guo)軟(ruan)件(jian)讀(du)取(qu),生(sheng)成(cheng)符(fu)合(he) IEEE 802.3 標準的網絡管理統計數據。
能否高速傳輸數據?如何快速傳輸數據?
在絕大多數32weikongzhiqizhong,chuliqibenshenzaiwaisheheneiwaicunjianchuanshushujushimeicizhichuanshuyigezijie。ruguoyaochuanshudeshujuliangbuda,zhemeishenmewenti。danruoshujuchuanshusulvdadao1Mbps,即使是快速處理器也要癱瘓。在1Mbps速率下,數據傳輸占用 28% 的處理器資源;速率到 2Mbps 時,數據傳輸占用 50% 以上的處理器資源;而速率達到 4Mbps 時,處理器就不能處理其他事務了。如果考慮到全速 USB2.0 的數據速率為 12Mbps,CAN 的數據速率為 1Mbps,以太網絡的數據速率為 100 Mbps,SAM7 SPI 和 USART 外設的數據速率也能達到 25Mbps,namehenmingxianrenheyigexuyaozaidafanweihuliandeqianrushikongzhixitongdoubixujiejueshujuchuanshudewenti。zaiyigeshejidaliangshujuchuanshudeyingyongzhong,weikongzhiqinengfoujishiwangguanyoushikongzhiqi?
Atmel的DMA方案產品有一個外設DMA控製器 (PDC),能直接將每個SAM7X 外設連接到片上內存,並配有一個更高級的專門DMA,針對以太網MAC。由於 PDC 完全獨立於處理器運行,因此它沒有任何中斷的成本,並能大幅度降低數據傳輸所需的時鍾周期數。每個 SAM7X 外設都有兩條專用 PDC 通道,各用於接收和發送數據。每個 PDC 通道的用戶接口都集成在各外設的內存中,並有一個 32 位內存指針寄存器;一個 16 位傳輸計數寄存器;一個用於下一個存儲的 32 位內存指針寄存器和一個用於下一個傳輸的傳輸計數寄存器。外設通過收發信號觸發 PDC 傳輸。當第一個編程好的數據塊被傳輸後,對應的外設會產生一個傳輸結束中斷,第二個數據塊便會自動開始傳輸,而ARM處理器此時可並行處理第一個數據塊。這樣,就可以消除為更新處理器上DMA內存指針所帶來的實時中斷限製,對於維持外設上的高速數據傳輸來說,這是非常關鍵的。
在這個方案下,可以隨時讀取下一個數據傳輸的存儲位置和剩餘要傳輸的數據塊。PDC 有you一yi些xie專zhuan用yong的de狀zhuang態tai寄ji存cun器qi,它ta們men顯xian示shi各ge個ge傳chuan輸shu通tong道dao是shi否fou激ji活huo。通tong過guo一yi些xie控kong製zhi位wei,便bian可ke安an全quan地di讀du取qu指zhi針zhen和he計ji數shu寄ji存cun器qi,而er不bu會hui出chu現xian兩liang次ci讀du數shu不bu同tong的de情qing況kuang。PDC將狀態標誌發送給在狀態寄存器中可見的那個外設。當該外設接收到一個外部字符,便會發送一個接收就緒的信號給PDC,而 PDC 便會請求訪問係統總線。當該請求獲得允許,PDC便開始讀取外設的接收保持寄存器,然後觸發一個內存寫操作。每次傳輸後,相關的PDC內存指針地址將增加,剩餘的傳輸數目將減少。當內存塊滿時,下一個內存塊的傳輸便會自動開始;或者會有一個信號傳送到外設,以停止傳輸。至於向外設發送數據,傳輸過程正好與此相反。如果在相同的外設上同時出現相同類型 (接收或發送) 的請求,請求的優先級別由外設的編號決定;當請求不是同時發生,則按請求出現的先後而處理。來 自接收方的請求先處理,然後處理發送方的請求。
SAM7X 結構中的 DMA 方案使其能同時充當網關和控製器,甚至在高數據速率下也能如此。
實時應用的支持
雖然許多 32 位係統廠商都努力在其微控製器上增加連通性,采用USB、yitaiwanghuoqitaxieyi,dandabufendoubuzengjiejueshishiyingyongdewenti。daduoshudeqianrushikongzhiyingyongshiquedingguochengshide,jizhilingheshujubixuzaiyigekeyizhunqueyujideshizhongzhouqineidaodazhengquededifang。zheshi“實時”應用的本質所在。可惜,絕大多數 32 位控製器都不具備實時應用所要求的性能。
ARM結構最初是為了便攜式PCerkaifade,qicaozuoxitongguanlizhongduanchulihezhidingchulideyouxianjibie。dantaconglaibushimianxiangquedingguochengshishishiyingyongde。weikefuzaiwaibufeiyishixingneicunzhongcunchudaimadaozhidexingnengxiajiang,PC 處chu理li器qi在zai高gao速su緩huan存cun中zhong采cai用yong代dai碼ma遮zhe蔽bi技ji術shu。但dan當dang某mou一yi需xu要yao的de指zhi令ling代dai碼ma正zheng好hao不bu在zai高gao速su緩huan存cun中zhong時shi,這zhe種zhong技ji術shu就jiu會hui導dao致zhi不bu可ke預yu見jian的de延yan遲chi。如ru果guo不bu用yong借jie助zhu操cao作zuo係xi統tong來lai實shi現xian外wai設she連lian接jie,那na就jiu需xu要yao中zhong斷duan屏ping蔽bi和he額e外wai的de軟ruan件jian支zhi出chu。總zong之zhi,這zhe種zhong使shi ARM 適合於 PC 應用的結構同時也使它不太適合實時應用。AT91SAM7 器件是ARM7微控製器中獨特的產品,配備了一整套支持實時應用的功能,包括一個有8個優先級別的中斷控製器、基於硬件的細致位操作、上電複位電路、單電源電壓、欠壓監測器和實時時鍾。
[page_break]
確定過程式處理
SAM7X 微控製器上的 25ns 高速非易失性閃存允許其在單周期內直接從閃存讀取指令,而無需代碼遮蔽,並能確保以確定過程式的方式完成指令處理。SAM7X可在不借助高速緩存的情況下以 38MIPS 的速度處理閃存的原始數據;而在處理片上SRAM的數據時速度可達50MIPS。
中斷控製
實時控製應用通常是由中斷驅動的應用,其特點是有多個中斷源,且對每個中斷都會有一個可預計的響應。ARM核結構采用了一個簡單的雙中斷機製;在zai該gai機ji製zhi中zhong,其qi中zhong一yi個ge中zhong斷duan負fu責ze處chu理li所suo有you非fei緊jin急ji的de中zhong斷duan任ren務wu,並bing沒mei有you硬ying件jian製zhi定ding優you先xian級ji別bie。這zhe在zai高gao度du互hu連lian的de嵌qian入ru式shi係xi統tong中zhong是shi不bu能neng接jie受shou的de,因yin為wei這zhe樣yang互hu連lian環huan境jing下xia的de高gao吞tun吐tu量liang通tong信xin接jie口kou要yao求qiu快kuai速su中zhong斷duan處chu理li與yu低di優you先xian級ji係xi統tong功gong能neng並bing行xing。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.8Vdianyuan,nenggenghaodijiyuxitongbantigongdegongnenglaikongzhigegegonglvyuan。zhiyushiyongzhegepianshangtiaoyaqihaishishiyongjuyougenggaoxiaolvhuogengdidaijigonghaodewaijiedianyuan,kewanquanyouzhongduanyonghuzixingjuedinghekongzhi。zhegetiaoyaqijuyouzaiCPU低速 (500Hz 到1.5MHz) 時進入待機模式的特點,這可降低調壓器的功耗,使電流降到20mA。在這種情況下,最大輸出電流為1mA,足以驅動CPU和大多數外設,這有助於彌補32位微控製器較高的待機電流。
現今嵌入式係統逐步朝著嵌入式網絡發展,常常要與其它網絡聯網。為這樣的設計選擇一個微控製器需要同時考慮器件的互連能力、數據傳輸能力、安全性,且又不失實時應用處理所要求的監管和控製功能。微控製器供貨商正紛紛推出針對這類應用的32位微控製器。設計人員需要根據自己的特定係統來評估每一種產品。