《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 改善嵌入式系統(tǒng)實(shí)時(shí)效能的新途徑

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

2008-01-04
作者:Steve McAslan

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

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

?

?

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

?

?

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

  • 讀寫(xiě)所有外圍裝置及內(nèi)存
  • 讀取閃存(flash)中的信息
  • 可設(shè)定以執(zhí)行復(fù)雜的工作

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

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

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

?

?

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

根據(jù)廣泛使用的S12架構(gòu),,這種雙重方法的好處就非常明顯了,。

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

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

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

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

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]