飛思卡爾:改善嵌入式系統(tǒng)實時效能的新途徑
在這個日趨復雜的世界,對于嵌入式處理器的要求也愈來愈高。去年也許使用128k的程序及4個實時處理緒列便足以執(zhí)行應用程序,但是今年的產品規(guī)格已將所需內存提升為兩倍,中斷處理提高為三倍。要處理的信息本質似乎非常穩(wěn)定-其實遠比您想象的還要多!去年的微控制器必須在兩個通訊總線上處理25筆4位的訊息,而今年已經必須要在4個通訊總線上處理200筆4位的訊息。在面對這種不斷升高的工作負荷時,自然傾向尋求更強大的處理器來執(zhí)行工作。一般來說處理器效能的傳統(tǒng)趨勢是提升速度及數(shù)據(jù)總線,所以一個8位處理器可從8MHz提升到16MHz,一個16位的裝置升級為一個32位的裝置。但是,兩種作法都必須付出應用上的成本。更快的裝置可能消耗更多的電力,而且較不符合EMC的要求,更大的位寬度則會造成先前的軟件投資優(yōu)勢盡失,并導致更多的冗余(例如使用32位的緩存器來處理4位的資料)。
飛思卡爾半導體(前身為Motorola半導體產品部門)了解這個持續(xù)的趨勢,因此在其新研發(fā)的S12X架構中采用創(chuàng)新的方法,可兼顧效能的提升與向后兼容性,并專注在效能提升的問題。這個新設計可在需要之處提升處理器的效能,也就是能實時處理信息。
動態(tài)內存存取(DMA)
改善系統(tǒng)實時效能的一個熟知的方法是,額外提供一個邏輯模塊,在事件發(fā)生時產生響應,并允許處理器在較方便的時間來處理信息。這個DMA控制器通常將傳送到模塊的信息復制到內存(RAM),并允許已處理的信息自動從內存移到外部外圍裝置。所有這些工作皆獨立于目前的CPU活動-詳見圖1。這種方式肯定有所助益,但其效益僅限于延遲必然發(fā)生的事件-CPU還是得在某一時間處理信息。S12X采用一個根本的方法,即提供「智能型DMA」控制器,不只移動資料,同時直接執(zhí)行所有的處理工作。如圖2所示,這個新的XGate可以從外圍裝罝擷取信息,連同其它資料(例如內存中的資料)一并處理,然后傳送到另一個外圍裝置,其間完全不需CPU的介入。
XGate
XGate控制器已完全整合到新推出的MC9S12XDP512微控制器-暢銷的飛思卡爾半導體S12家族較新成員。XGate是一個可程序的16位RISC核心,極適用于實時及DMA類型運作。與S12X裝置的整合意謂從微控制器的任何一個外圍裝置傳來的中斷都可以由主CPU或XGate處理。XGate可以:(1)讀寫所有外圍裝置及內存:(2)讀取閃存(flash)中的信息。
可設定以執(zhí)行復雜的工作
為了讓XGate達到較大效能,其主要程序通常儲存位于內存中。這使得80MHz的時脈可應用于控制器,相對于S12X CPU只需使用40MHz。而且,S12X架構不同于傳統(tǒng)的DMA,可保證XGate每一個CPU周期至少可存取內存一次。
XGate編程
如要讓「智能型DMA」更為實用,必須使它容易編程。在理想的環(huán)境下,軟件工程師應該能夠導入以C語言編寫的既有程序代碼,并針對DMA重新組譯。基于這個原因,XGate選擇16位RISC機器作為程序撰寫模式,并有適用于C語言程序的指令集。
一般的系統(tǒng)完整性檢查系透過CRC16計算,也就是對一組資料模塊進行多項式計算,并透過產生較終檢核碼的值,來確認內存內容符合預期。這種算法可利用周期性的中斷來呼叫。飛思卡爾S12 MCU的這種算法之典型建置如圖3所示。在S12X上,此一算法可在XGate定期重新組譯及執(zhí)行,其好處是系統(tǒng)設計者可在CPU上執(zhí)行更多處理,卻不會降低系統(tǒng)檢查的效益。XGate不僅釋放CPU給其它活動,同時還使這個簡單算法的執(zhí)行時間,獲得了4倍的驚人改善。這也讓設計者可以在相同期間所執(zhí)行的CRC演算次數(shù)高4倍,藉此改善系統(tǒng)的自我檢查能力。值得注意的是,這項革命性的架構方法,僅透過簡單的重新組譯及重新導向周期性的中斷,便可帶來這些重大的優(yōu)點。
S12X的自動化應用
大多數(shù)汽車應用對實時效能的要求都很高,通常超過模塊的實際功能。例如汽車的儀表板必須可以顯示車輛目前的狀態(tài),同時可接收并處理從傳感器傳來的實時訊息。由于XGate不僅可以接收這項信息,還可予以格式化并儲存,因此CPU可用來響應駕駛人互動的時間便大量增加,更可減少顯示器可能出現(xiàn)的噪聲干擾。
根據(jù)廣泛使用的S12架構,這種雙重方法的好處就非常明顯了。
大多數(shù)現(xiàn)代化汽車都是利用通訊網關來允許不同的通訊網路互傳訊息。此外,網關還可以執(zhí)行其它功能。XGate可以在大約4μs內執(zhí)行一個典型的網關工作(檢查CAN ID,儲存于內存,然后復制到傳送緩沖器(transmit buffer)中),而S12需9μs。這表示使用XGate,CPU可儲存高于9us的中斷。對一個具有5個CAN網絡完全滿載的非常忙碌連接網關而言,它可節(jié)省超過20%的CPU處理能力,卻僅用到XGate的10%。
對于一個更復雜的網關而言,要將個別位字段或訊號在多個CAN上進行路由傳送,XGate的處理速度通常可高于每秒處理35000 則訊息。
利用軟件建立自訂的解決方案
標準的嵌入式軟件設計活動就是建立硬件外圍裝置的軟件版本。典型的實例包括運用I/O建立一個序列通訊端口,或額外的PWM信道。S12X架構藉由建立高度復雜的「虛擬外圍裝置」,讓這種設計方法邁入新的層次。由于CPU的實時響應不受外在事件的影響,它可在配有一個基本CAN模塊的裝置上,直接建置完整的CAN節(jié)點,從標準的串行端口建立LIN模塊,從單一的定時器提供40個 PWM信道,還可提供其它變化的方式。由于這些變化完全由軟件控制,便可以混合及搭配各式組合。需要3個32個信箱的CAN模塊及2個8個信箱的模塊?沒問題!和另外一種將所有模塊都建置在硬件中的方法相比,這簡直是莫大的妙用,后者恐怕必須用到所有架構內的可能配置, 成本也會大幅增加。?
簡化實時設計
除了提供改善的實時效能,這種雙重架構途徑也可為實時軟件設計者帶來意想不到的好處。許多架構式分析及設計工具依賴設計者將資料流處理與實時或控制處理分開。這個方法可以簡化高階設計,但卻隱藏了在建置時潛藏的效能問題。有了S12X,設計者可輕易確保實時處理不會互相沖突,因為主CPU可以完全將重心放在主要資料的處理。
相關閱讀:
- ...2015/04/13 11:48·智能汽車演進從飛思卡爾車窗升降參考設計開始
- ...2014/07/14 21:18·飛思卡爾C29x加密協(xié)處理器:網絡數(shù)據(jù)安全的“門神”
- ...2014/01/08 11:59·愛上飛思卡爾QorIQ T2系列的N種理由
- ...2012/03/31 10:34·從飛思卡爾SafeAssure功能安全保障方案看汽車安全設計
- ...2011/07/14 13:31·Spansion攜手飛思卡爾構建存儲開發(fā)平臺
- ...2010/01/18 11:01·飛思卡爾的汽車儀表完整解決方案
- ...· “芯創(chuàng)杯”首屆高校未來汽車人機交互設計大賽報名正式啟動
- ...· 探秘第二屆衛(wèi)藍山鷹“創(chuàng)新·共享”試驗技術論壇!
- ...· “2018中國半導體生態(tài)鏈大會”在江蘇省盱眙舉行
- ...· 新主題新規(guī)劃,CITE 2019瞭望智慧未來
- ...· 從汽車到工廠,TI毫米波傳感器致力于創(chuàng)造更智能的世界
- ...· 意法半導體(ST)、Cinemo和Valens在CES 2018展上聯(lián)合演示汽車信息娛樂解決方案
- ...· 北京集成電路產業(yè)創(chuàng)新發(fā)展高峰論壇即將在京召開
- ...· 三菱電機強勢出擊PCIM亞洲2017展
- ...· Efinix® 全力驅動AI邊緣計算,成功推出Trion™ T20 FPGA樣品, 同時將產品擴展到二十萬邏輯單元的T200 FPGA
- ...· 英飛凌亮相進博會,引領智慧新生活
- ...· 三電產品開發(fā)及測試研討會北汽新能源專場成功舉行
- ...· Manz亞智科技跨入半導體領域 為面板級扇出型封裝提供化學濕制程、涂布及激光應用等生產設備解決方案
- ...· 中電瑞華BITRODE動力電池測試系統(tǒng)順利交付北汽新能源
- ...· 中電瑞華FTF系列電池測試系統(tǒng)中標北京新能源汽車股份有限公司
- ...· 中電瑞華大功率高壓能源反饋式負載系統(tǒng)成功交付中電熊貓
- ...· 中電瑞華國際在電動汽車及關鍵部件測評研討會上演繹先進測評技術
- ...· 數(shù)據(jù)采集終端系統(tǒng)設備
- ...· 簡儀科技踏上新征程
- ...· 易靈思® 宣布 AEC-Q100 資質認證和汽車系列產品計劃
- ...· 易靈思® 宣布擴充高性能 鈦金系列™ FPGA 產品 鈦金系列產品擴充至包含 1M 邏輯單元的 FPGA
- ...· 易靈思® 宣布Trion® Titanium 在臺積電 (TSMC) 16納米工藝節(jié)點流片
- ...· TI杯2019年全國大學生電子設計競賽頒獎典禮在京舉行
- ...· BlackBerry QNX虛擬機獲得全球首個汽車安全完整性等級(ASIL) ‘D’認證
- ...· 威馬汽車選擇BlackBerry助力下一代汽車