<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 以高速緩存和片上閃存實現(xiàn)微控制器近似的確定性

          以高速緩存和片上閃存實現(xiàn)微控制器近似的確定性

          作者: 時間:2012-01-30 來源:網(wǎng)絡 收藏

          為了控制執(zhí)行機構,實時控制系統(tǒng)要從傳感器接收輸入信號,經(jīng)控制運算后向執(zhí)行機構輸出指令信號。這些輸出必須在接收到輸入后的規(guī)定時間內(nèi)被觸發(fā)——即系統(tǒng)需具有實時性;同時,對相同控制狀態(tài)下的相同輸入,輸出也應當始終相同——即系統(tǒng)需具有確定性。

          電子行業(yè)中眾多領域的發(fā)展正在使這些基本的實時控制系統(tǒng)變得越來越復雜。一方面,控制算法越來越精細,達到了人工智能的決策水平。另一方面,這些控制系統(tǒng)越來越多地連網(wǎng),即與以太網(wǎng)或無線局域網(wǎng) (LAN) 進行局域連接,以及與互連網(wǎng)連接實現(xiàn)遠距離通信。此外,用戶界面也變得越來越復雜,對安全性的要求也越來越高,使得數(shù)據(jù)加密和外部控制源的合法性驗證成為系統(tǒng)不可缺少的功能。

          這些發(fā)展趨勢使得處理器必須具備更強大的處理能力和更高的通信帶寬。處理器必須能夠按照某種確定的方式對實時輸入信號做出響應,同時還必須有足夠的存儲能力來處理各種網(wǎng)絡通信 (作為低優(yōu)先級的任務)。然而,在很多情況下,為提高性能而進行的系統(tǒng)升級需要保留原先的設備驅(qū)動程序、網(wǎng)絡協(xié)議堆棧以及作為控制算法基礎的一些基本運算操作。采用工業(yè)標準的處理器構架尤其如此,如32位ARM RISC。圖1給出了一個遵從這兩個原則的MCU升級的實例,即將以ARM7為基礎的AT91SAM7X系列升級為以ARM9為基礎的 AT91SAM9XE 系列。這兩個系列的器件均有用于存儲程序代碼和參考數(shù)據(jù)的。

          這兩個系列的一個重要差別在于:ARM9處理器具有指令和數(shù)據(jù),而ARM7處理器沒有。有助于緩解由于處理器和內(nèi)存之間的能力差異(前者能以約200MIPS的速度運行代碼,而后者只能以約25MHz的速度傳輸數(shù)據(jù))而造成的性能下降。眾所周知,在采用緩存的系統(tǒng)中不可能實現(xiàn)完全的確定性。不過,ARM926EJ-S處理器和AT91SAM9XE系列的很多架構特性可讓應用開發(fā)人員實現(xiàn)近似確定的實時性能。

          +寬數(shù)據(jù)總線

          很多架構上的特性可最大限度地提高內(nèi)部數(shù)據(jù)傳輸帶寬。如圖2所示,以AT91SAM9XE系列為例,除具有單獨的、且能以處理器速度工作的16Kb 指令和數(shù)據(jù)高速緩存外,還通過一個7層AHB總線矩陣在處理器、外設和內(nèi)存之間建立并行數(shù)據(jù)通道。USB主機和以太網(wǎng)MAC外設都有專門的DMA端口來實現(xiàn)自主數(shù)據(jù)傳輸,而其APB外設則配有外設DMA控制器(PDC),使內(nèi)存和網(wǎng)絡接口間的批量數(shù)據(jù)傳送幾乎不占用處理器資源。高級中斷控制器(AIC)可在規(guī)定的處理器周期數(shù)以內(nèi)處理一系列優(yōu)先的中斷向量。

          圖1 AT91SAM7X系列升級為AT91SAM9XE系列

          圖2 AT91SAM9XE架構

          高速緩存使處理器能按其所要求的速度及時獲得指令和數(shù)據(jù),除非緩存當中未緩沖所需的數(shù)據(jù)或指令。遇到這種情況,處理器就得閑置一會兒,直到高速緩存被重新填充。高度并行的DMA數(shù)據(jù)傳輸機制能減少處理器對數(shù)據(jù)傳輸?shù)慕槿?,但并非完全不介入。因為任何時候都有可能出現(xiàn)中斷請求,即使只需很少的周期來處理該中斷。那么如何才能保證系統(tǒng)在規(guī)定的時間內(nèi),根據(jù)給定的輸入觸發(fā)確定的輸出呢?

          如何獲得確定性

          要獲得確定性,可將存儲在閃存中各個關鍵性操作的代碼分解成小于16Kb的模塊。將所需的模塊加載到指令緩存中,并鎖定,以確保執(zhí)行該模塊期間它始終在高速緩存中。如有必要,相關的數(shù)據(jù)結(jié)構也可加載和鎖存在數(shù)據(jù)緩存中。這里,鎖存功能是通過高速緩存的鎖存寄存器來實現(xiàn)的。這樣就可保證關鍵代碼按處理器的速度執(zhí)行。

          如果某一高速緩存正好沒有所需的指令代碼,則該緩存將通過它與間的128位數(shù)據(jù)總線重新加載所需的指令代碼。該總線能以4倍于處理器時鐘的速度加載32位數(shù)據(jù),大大縮短了刷新高速緩存的時間。此外,緩存的回繞功能 (wrapping) 可確保遺漏的關鍵數(shù)據(jù)被優(yōu)先加載。

          考慮到所有這些因素,計算出執(zhí)行時間,并對同時出現(xiàn)多個中斷和DMA傳輸作最壞打算,就能確定是否能滿足實時性約束,以及還有多大的余量。必要時,也可針對每種可能情況編寫一些后退程序,允許系統(tǒng)在無法達到實時要求時,以故障弱化方式 (fail-soft,即工作可靠但性能下降的方式) 運行。

          結(jié)論

          仔細設計應用代碼,充分利用處理器內(nèi)核的關鍵架構功能,將能在基于復雜控制算法的嵌入式連網(wǎng)實時控制系統(tǒng)中實現(xiàn)近似的確定性。這些關鍵架構功能包括:數(shù)據(jù)和指令高速緩存的鎖存、回繞功能、連接高速緩存和片上閃存的128位寬度的數(shù)據(jù)總線、低遲滯高級中斷控制器,以及用于在外設、網(wǎng)絡接口及片上/片外閃存間直接傳輸數(shù)據(jù)的DMA控制器。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();