改善嵌入式系統實(shí)時(shí)效能的新途徑

發(fā)布時(shí)間:2010-9-30 10:24    發(fā)布者:eetech
關(guān)鍵詞: 嵌入式系統 , 實(shí)時(shí) , 效能
在這個(gè)日趨復雜的世界,對于嵌入式處理器的要求也愈來(lái)愈高。去年也許使用128k的程序及4個(gè)實(shí)時(shí)處理緒列便足以執行應用程序,但是今年的產(chǎn)品規格已將所需內存提升為兩倍,中斷處理提高為三倍。要處理的信息本質(zhì)似乎非常穩定-其實(shí)遠比您想象的還要多!去年的微控制器必須在兩個(gè)通訊總線(xiàn)上處理25筆4位的訊息,而今年已經(jīng)必須要在4個(gè)通訊總線(xiàn)上處理200筆4位的訊息。在面對這種不斷升高的工作負荷時(shí),自然傾向尋求更強大的處理器來(lái)執行工作。一般來(lái)說(shuō)處理器效能的傳統趨勢是提升速度及數據總線(xiàn),所以一個(gè)8位處理器可從8MHz提升到16MHz,一個(gè)16位的裝置升級為一個(gè)32位的裝置。但是,兩種作法都必須付出應用上的成本。更快的裝置可能消耗更多的電力,而且較不符合EMC的要求,更大的位寬度則會(huì )造成先前的軟件投資優(yōu)勢盡失,并導致更多的冗余(例如使用32位的緩存器來(lái)處理4位的資料)。

飛思卡爾半導體(前身為Motorola半導體產(chǎn)品部門(mén))了解這個(gè)持續的趨勢,因此在其新研發(fā)的S12X架構中采用創(chuàng )新的方法,可兼顧效能的提升與向后兼容性,并專(zhuān)注在效能提升的問(wèn)題。這個(gè)新設計可在需要之處提升處理器的效能,也就是能實(shí)時(shí)處理信息。  

動(dòng)態(tài)內存存取(DMA)

改善系統實(shí)時(shí)效能的一個(gè)熟知的方法是,額外提供一個(gè)邏輯模塊,在事件發(fā)生時(shí)產(chǎn)生響應,并允許處理器在較方便的時(shí)間來(lái)處理信息。這個(gè)DMA控制器通常將傳送到模塊的信息復制到內存(RAM),并允許已處理的信息自動(dòng)從內存移到外部外圍裝置。所有這些工作皆獨立于目前的CPU活動(dòng)-詳見(jiàn)圖1。這種方式肯定有所助益,但其效益僅限于延遲必然發(fā)生的事件-CPU還是得在某一時(shí)間處理信息。S12X采用一個(gè)根本的方法,即提供「智能型DMA」控制器,不只移動(dòng)資料,同時(shí)直接執行所有的處理工作。如圖2所示,這個(gè)新的XGate可以從外圍裝罝擷取信息,連同其它資料(例如內存中的資料)一并處理,然后傳送到另一個(gè)外圍裝置,其間完全不需CPU的介入。  



XGate  

XGate控制器已完全整合到新推出的MC9S12XDP512微控制器-暢銷(xiāo)的飛思卡爾半導體S12家族最新成員。XGate是一個(gè)可程序的16位RISC核心,極適用于實(shí)時(shí)及DMA類(lèi)型運作。與S12X裝置的整合意謂從微控制器的任何一個(gè)外圍裝置傳來(lái)的中斷都可以由主CPU或XGate處理。XGate可以:(1)讀寫(xiě)所有外圍裝置及內存:(2)讀取閃存(flash)中的信息。

可設定以執行復雜的工作  

為了讓XGate達到最大效能,其主要程序通常儲存位于內存中。這使得80MHz的時(shí)脈可應用于控制器,相對于S12X CPU只需使用40MHz。而且,S12X架構不同于傳統的DMA,可保證XGate每一個(gè)CPU周期至少可存取內存一次。  

XGate編程

如要讓「智能型DMA」更為實(shí)用,必須使它容易編程。在理想的環(huán)境下,軟件工程師應該能夠導入以C語(yǔ)言編寫(xiě)的既有程序代碼,并針對DMA重新組譯;谶@個(gè)原因,XGate選擇16位RISC機器作為程序撰寫(xiě)模式,并有適用于C語(yǔ)言程序的指令集。

一般的系統完整性檢查系透過(guò)CRC16計算,也就是對一組資料模塊進(jìn)行多項式計算,并透過(guò)產(chǎn)生最終檢核碼的值,來(lái)確認內存內容符合預期。這種算法可利用周期性的中斷來(lái)呼叫。飛思卡爾S12 MCU的這種算法之典型建置如圖3所示。在S12X上,此一算法可在XGate定期重新組譯及執行,其好處是系統設計者可在CPU上執行更多處理,卻不會(huì )降低系統檢查的效益。XGate不僅釋放CPU給其它活動(dòng),同時(shí)還使這個(gè)簡(jiǎn)單算法的執行時(shí)間,獲得了4倍的驚人改善。這也讓設計者可以在相同期間所執行的CRC演算次數高4倍,藉此改善系統的自我檢查能力。值得注意的是,這項革命性的架構方法,僅透過(guò)簡(jiǎn)單的重新組譯及重新導向周期性的中斷,便可帶來(lái)這些重大的優(yōu)點(diǎn)。  




S12X的自動(dòng)化應用

大多數汽車(chē)應用對實(shí)時(shí)效能的要求都很高,通常超過(guò)模塊的實(shí)際功能。例如汽車(chē)的儀表板必須可以顯示車(chē)輛目前的狀態(tài),同時(shí)可接收并處理從傳感器傳來(lái)的實(shí)時(shí)訊息。由于XGate不僅可以接收這項信息,還可予以格式化并儲存,因此CPU可用來(lái)響應駕駛人互動(dòng)的時(shí)間便大量增加,更可減少顯示器可能出現的噪聲干擾。

根據廣泛使用的S12架構,這種雙重方法的好處就非常明顯了。  

大多數現代化汽車(chē)都是利用通訊網(wǎng)關(guān)來(lái)允許不同的通訊網(wǎng)路互傳訊息。此外,網(wǎng)關(guān)還可以執行其它功能。XGate可以在大約4μs內執行一個(gè)典型的網(wǎng)關(guān)工作(檢查CAN ID,儲存于內存,然后復制到傳送緩沖器(transmit buffer)中),而S12需9μs。這表示使用XGate,CPU可儲存高于9us的中斷。對一個(gè)具有5個(gè)CAN網(wǎng)絡(luò )完全滿(mǎn)載的非常忙碌連接網(wǎng)關(guān)而言,它可節省超過(guò)20%的CPU處理能力,卻僅用到XGate的10%。

對于一個(gè)更復雜的網(wǎng)關(guān)而言,要將個(gè)別位字段或訊號在多個(gè)CAN上進(jìn)行路由傳送,XGate的處理速度通?筛哂诿棵胩幚35000 則訊息。  

利用軟件建立自訂的解決方案  

標準的嵌入式軟件設計活動(dòng)就是建立硬件外圍裝置的軟件版本。典型的實(shí)例包括運用I/O建立一個(gè)序列通訊端口,或額外的PWM信道。S12X架構藉由建立高度復雜的「虛擬外圍裝置」,讓這種設計方法邁入新的層次。由于CPU的實(shí)時(shí)響應不受外在事件的影響,它可在配有一個(gè)基本CAN模塊的裝置上,直接建置完整的CAN節點(diǎn),從標準的串行端口建立LIN模塊,從單一的定時(shí)器提供40個(gè) PWM信道,還可提供其它變化的方式。由于這些變化完全由軟件控制,便可以混合及搭配各式組合。需要3個(gè)32個(gè)信箱的CAN模塊及2個(gè)8個(gè)信箱的模塊?沒(méi)問(wèn)題!和另外一種將所有模塊都建置在硬件中的方法相比,這簡(jiǎn)直是莫大的妙用,后者恐怕必須用到所有架構內的可能配置, 成本也會(huì )大幅增加。

簡(jiǎn)化實(shí)時(shí)設計

除了提供改善的實(shí)時(shí)效能,這種雙重架構途徑也可為實(shí)時(shí)軟件設計者帶來(lái)意想不到的好處。許多架構式分析及設計工具依賴(lài)設計者將資料流處理與實(shí)時(shí)或控制處理分開(kāi)。這個(gè)方法可以簡(jiǎn)化高階設計,但卻隱藏了在建置時(shí)潛藏的效能問(wèn)題。有了S12X,設計者可輕易確保實(shí)時(shí)處理不會(huì )互相沖突,因為主CPU可以完全將重心放在主要資料的處理。
本文地址:http://selenalain.com/thread-30117-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页