新聞中心

EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 把32位微控制器性能帶入工業(yè)和汽車應(yīng)用

把32位微控制器性能帶入工業(yè)和汽車應(yīng)用

作者: 時間:2011-04-19 來源:網(wǎng)絡(luò) 收藏

圖2表示了外設(shè)事件系統(tǒng)允許外設(shè)自我管理,無需主處理器干預(yù)。例如,若無外設(shè)事件系統(tǒng),定時器會在一個ADC上觸發(fā)一個轉(zhuǎn)換,然后把結(jié)果傳送給DMA,再存儲到存儲器里,所有這些都無需CPU的任何干預(yù)。若帶有外設(shè)事件系統(tǒng),沒有抖動,且當(dāng)愛特梅爾AVR工作在66MHz時,響應(yīng)延時固定在三個周期僅33ns。

2.jpg
圖2 外設(shè)事件系統(tǒng)允許外設(shè)自我管理

相比基于CPU的中斷驅(qū)動式事件控制器,外設(shè)事件控制器的響應(yīng)還具有更大的確定性。當(dāng)32位AVR UC3C工作在66MHz時,延時固定在三個周期或僅33ns,從而實現(xiàn)無抖動的精確事件時序,使ADC和DAC上的數(shù)據(jù)讀取和傳輸更準(zhǔn)確。這種延時可預(yù)測以及無需CPU開銷的特性還可防止事件遺漏或數(shù)據(jù)丟失。

為了全面地觀察外設(shè)事件系統(tǒng)的功能,考慮管理單個SPI端口所需的CPU負(fù)荷。如果外設(shè)與SRAM之間的數(shù)據(jù)傳輸是基于中斷的,SPI端口在接收到數(shù)據(jù)時會觸發(fā)一個中斷,然后CPU保存應(yīng)用環(huán)境(application context),把數(shù)據(jù)傳送到SRAM的適當(dāng)數(shù)據(jù)緩沖器中,再恢復(fù)應(yīng)用環(huán)境。即使在1.2Mbps的低數(shù)據(jù)率之下,管理SPI端口也需要53%的處理器能力。

反之,若采用外設(shè)事件系統(tǒng),USB端口會自動把接收到的數(shù)據(jù)傳輸?shù)紻MA。DMA再自動把該數(shù)據(jù)存儲在適當(dāng)?shù)拇鎯彌_器中,所有這些操作都無需CPU的任何干預(yù)。實質(zhì)上,采用外設(shè)事件系統(tǒng)可省去與外設(shè)管理有關(guān)的所有中斷,從而能把更多的CPU能力留給應(yīng)用。

外設(shè)事件系統(tǒng)還能減低實時系統(tǒng)管理的總體復(fù)雜性。以一個典型的三相馬達控制應(yīng)用為例,這種應(yīng)用需要一個PWM利用開/關(guān)脈沖發(fā)送來驅(qū)動電流。在開環(huán)架構(gòu)中必須同時測量兩個電流,才能確定反電動勢(back-EMF),以計算轉(zhuǎn)子的位置。閉環(huán)架構(gòu)也需要測量兩個電流,以讀取增量式編碼器返回的位置和方向數(shù)據(jù)。在緊急狀態(tài)下,系統(tǒng)還需要執(zhí)行硬件故障機制來中止馬達。而利用愛特梅爾AVR® UC3C 32位,所有這些輸入和輸出都可以通過外設(shè)事件系統(tǒng)在后臺進行管理。

需要大量不同的時鐘來實現(xiàn)這些系統(tǒng)支持的眾多功能。AVR UC3C架構(gòu)提供有多個時鐘選擇,從而可省去系統(tǒng)原本可能需要的多個外部時鐘源。AVR UC3C提供的時鐘選擇包括3個內(nèi)部RC振蕩器(115kHz、8MHz及120MHz)和1個用于生成頻率范圍從80MHz到240MHz的高速系統(tǒng)時鐘的鎖相環(huán)(PLL)。任何一個振蕩器都可作為系統(tǒng)的實時時鐘(RTC)源,外部振蕩器可用于提供額外的時鐘頻率。

IP保護

由于目前制造業(yè)常常將業(yè)務(wù)外包和離岸外包,加上軟件所包含的知識產(chǎn)權(quán)(IP)越來越多,代碼保護成為關(guān)鍵的設(shè)計考慮事項。有關(guān)IP保護的三大主要因素包括:

源代碼和目標(biāo)代碼的保護:存儲程序代碼的Flash必須具有鎖定功能,以保護代碼不被讀取或拷貝。這不僅可以防止競爭對手竊取應(yīng)用代碼,還能防止欠考慮的離岸制造商復(fù)制代碼,私下制造產(chǎn)品在當(dāng)?shù)劁N售。

代碼的部分鎖定:利用第三方開發(fā)商提供的應(yīng)用代碼,可以顯著加快系統(tǒng)開發(fā)進程,尤其是對依賴專用算法的應(yīng)用而言。傳統(tǒng)的保護機制,比如只提供目標(biāo)代碼的方案,因為無法檢驗代碼被使用的次數(shù),故不足以保護第三方的投資。而部分鎖定Flash的功能讓第三方開發(fā)商能夠放心地提供專有的代碼,因為代碼已經(jīng)編程在上了。

器件編程成本:的編程必須在安裝在電路板上之前進行,或者是采用器件內(nèi)編程的方式。預(yù)編程技術(shù)給物流帶來挑戰(zhàn),因為器件必須先在可靠的設(shè)施上編程,再運送到制造廠房。器件內(nèi)編程技術(shù)則可以在制造階段添加最新代碼。器件編程常用的一種方法是利用微控制器的JTAG端口。這種方法的缺點是需要指定4個I/O引腳專用于此目的,而且二進制代碼在微控制器和電路板之間傳送時會被暴露。替代方案是讓器件在工廠裝載啟動加載程序代碼,而這些代碼擁有足以支持一個接口(如USB端口)的功能。AVR UC3C 就附帶有USB驅(qū)動器,能夠支持器件固件升級(DFU),允許器件通過系統(tǒng)的USB端口進行編程。這就釋放了I/O引腳,并從系統(tǒng)BOM中刪去了JTAG標(biāo)頭。

愛特梅爾AVR® UC3C 32位微控制器架構(gòu)還包含了愛特梅爾FlashVault™代碼保護技術(shù)。FlashVault允許片上Flash進行部分編程和鎖定,創(chuàng)建安全的片上存儲空間,用以保護軟件IP。Flash上的鎖定部分不能被讀取、拷貝或調(diào)試。在開發(fā)和調(diào)試期間,F(xiàn)lashVault還可以采用一種部分未保護模式工作,以訪問存儲在Flash中的應(yīng)用程序代碼,同時仍然能夠保護第三方代碼。啟動加載程序代碼也可以被鎖定,以確保器件在出現(xiàn)災(zāi)難性軟件故障的情況下總是能夠重載應(yīng)用代碼。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉