把32位微控制器性能帶入工業(yè)和汽車應(yīng)用
現(xiàn)今的嵌入式工業(yè)及汽車系統(tǒng)中,有許多是基于8位或16位微控制器架構(gòu)來設(shè)計(jì)的。隨著新的低功耗32位架構(gòu)的面市,這些應(yīng)用有可能獲得更高的性能、準(zhǔn)確度和功效。此外,處理能力的提高也有助于實(shí)現(xiàn)新產(chǎn)品的差異性功能,包括先進(jìn)的控制算法,GUI顯示器、語音控制,以及電容式觸摸感測(cè)等下一代接口。
例如,在許多工業(yè)應(yīng)用中,馬達(dá)效率是影響功耗的主要因素之一。利用先進(jìn)的控制算法可以提高馬達(dá)效率,但這些算法又需要更高性能的微控制器來實(shí)現(xiàn)。另一方面,通信速度也同樣會(huì)影響效率,因?yàn)橥ㄐ潘俣仍礁?,系統(tǒng)就能夠從傳感器收集到更多的信息,同時(shí)更快速地識(shí)別事件并采取相應(yīng)的行動(dòng)。
過去32位架構(gòu)轉(zhuǎn)換一直受拖延的原因很多,比如微控制器的成本較高,不支持5V I/O等等。而現(xiàn)在,隨著愛特梅爾推出帶有全浮點(diǎn)單元(floating-point unit,FPU)的工業(yè)級(jí)微控制器——AVR® UC3C 32位微控制器,這些問題甚至其他一些設(shè)計(jì)問題都已迎刃而解。AVR UC3C整合了外設(shè)事件系統(tǒng)、高精度時(shí)鐘方案和高性能外設(shè),可提高系統(tǒng)的性能、可靠性和功效。此外,安全Flash、硬件式安全機(jī)制、直接連接模擬傳感器的能力,以及可配置軟件框架等多項(xiàng)功能的集成,可大大加快應(yīng)用的開發(fā)進(jìn)程。最后,AVR UC3C專門針對(duì)工業(yè)及汽車應(yīng)用的特殊要求進(jìn)行了優(yōu)化,不僅能提供32位處理能力,而且其功耗僅相當(dāng)于8位或16位微控制器的水平。
32位處理性能
32位與8/16位系統(tǒng)的效率差異相當(dāng)大,在16位處理器上,一次普通的32位乘/累加操作需要4次乘法與4次加法運(yùn)算。由于需要訪問存儲(chǔ)器以存儲(chǔ)中間結(jié)果或釋放多個(gè)寄存器,執(zhí)行效率會(huì)進(jìn)一步降低,并可能減慢其他操作的速度。因此,在16處理器上,一次32位乘法可能需要20~40個(gè)周期。而32位UC3C處理器只需要單個(gè)周期即可。此外,32位管線較寬,故從存儲(chǔ)器檢索數(shù)據(jù)及指令的速度更快。
集成式FPU的推出也使應(yīng)用開發(fā)得以進(jìn)一步簡(jiǎn)化。當(dāng)一種算法過于周期密集或需采用定點(diǎn)格式來實(shí)現(xiàn)時(shí),必須花費(fèi)產(chǎn)品開發(fā)周期的很大一部分時(shí)間來尋找能夠簡(jiǎn)化算法、加速計(jì)算的方法。這類簡(jiǎn)化常常是以準(zhǔn)確度為代價(jià)的。而利用FPU實(shí)現(xiàn)復(fù)雜算法所需要的工作量較小,動(dòng)態(tài)范圍更寬,并可保持最高的精度。利用32位浮點(diǎn)指令來實(shí)現(xiàn)復(fù)雜算法,不僅可以提高系統(tǒng)的準(zhǔn)確度和效率,還能夠大幅度加快開發(fā)進(jìn)程。浮點(diǎn)技術(shù)對(duì)廣大范圍內(nèi)的多種應(yīng)用都很有用,包括機(jī)器人技術(shù)、運(yùn)動(dòng)控制、馬達(dá)控制和音頻應(yīng)用。
愛特梅爾AVR® UC3C 32位微控制器指令集是結(jié)合了16位和32位指令的豐富指令集,可以利用C語言編譯器平衡性能與代碼密度。不過,UC3C微控制器的最大優(yōu)勢(shì)在于它的架構(gòu)針對(duì)嵌入式系統(tǒng)中常見的實(shí)時(shí)事件管理進(jìn)行了優(yōu)化。UC3C微控制器支持廣大范圍的各種高精度外設(shè)和接口,比如嵌入式系統(tǒng)需要的CAN和LIN,并支持整個(gè)工業(yè)溫度范圍的可靠運(yùn)作。AVR UC3C架構(gòu)設(shè)計(jì)是針對(duì)較小化處理延時(shí)以確保實(shí)時(shí)事件處理的,如圖1所示,系統(tǒng)可靠性和操作人員安全性的微控制器。
圖1表示的是愛特梅爾AVR UC3C 32位微控制器是一款高性能微控制器,設(shè)計(jì)具有較小處理延時(shí)以確保實(shí)時(shí)事件處理,從而確保系統(tǒng)可靠性和操作人員安全性。
圖1 愛特梅爾AVR UC3C 32位微控制器設(shè)計(jì)框圖
增強(qiáng)的處理能力可通過多種不同的方式來提升應(yīng)用的性能:
更高的準(zhǔn)確度和精度:更大的處理能力讓微控制器能夠以更高的采樣率支持更精確的ADC和DAC。
模擬傳感器的直接使用:AVR UC3C具有基于DMA的ADC、先進(jìn)的處理能力,以及可正確管理模擬傳感器的精確時(shí)序的集成技術(shù),故相比傳統(tǒng)的微控制器架構(gòu),可以支持更多的模擬傳感器。
更先進(jìn)的算法:實(shí)現(xiàn)更先進(jìn)的算法,如三相馬達(dá)控制和死區(qū)插入技術(shù)(dead-band insertion techniques),可以提高系統(tǒng)效率,降低系統(tǒng)的功耗和成本。
差異性:更大的處理能力還能夠?qū)崿F(xiàn)更先進(jìn)的用戶接口圖形。例如,許多微控制器都需要4或5個(gè)芯片才能實(shí)現(xiàn)系統(tǒng)的電容式觸摸功能。而利用靈活、高性能的AVR UC3C,電容式就能夠采用軟件實(shí)現(xiàn)觸摸功能,并可通過任何I/O引腳工作,無需外部元件。
更大的通信帶寬:系統(tǒng)可以共享更多的數(shù)據(jù),控制多個(gè)節(jié)點(diǎn),并捕捉分辨率更高的數(shù)據(jù)。目前的16位系統(tǒng)往往無法支持單個(gè)CAN或以太網(wǎng)堆棧。而利用帶DMA的32位架構(gòu),單個(gè)器件就可以作為多接口網(wǎng)關(guān)。
5V I/O標(biāo)準(zhǔn)
隨著制造工藝尺寸的縮小,微控制器供應(yīng)商也順應(yīng)形勢(shì),致力于減小I/O電壓以降低功耗和提高穩(wěn)定性。雖然這種電壓減小對(duì)消費(fèi)電子產(chǎn)品等眾多應(yīng)用是很有利的,但由于工業(yè)市場(chǎng)中的系統(tǒng)要求更長(zhǎng)的使用壽命,故不適合于采用3.3V I/O。因此,工業(yè)應(yīng)用中的大多數(shù)元件仍然是基于5V I/O的。
一直以來,32位處理器只提供3.3V I/O,因?yàn)樗鼈兊木w管數(shù)目較多,導(dǎo)致其制造工藝的幾何尺寸更小。為了支持市面上大量的基于5V的工業(yè)元件,這些處理器需要附加的電路,包括成本高昂的電平轉(zhuǎn)換器和電源,把5V I/O降至3.3V電平,以便于連接。當(dāng)然,更高的處理能力總是受歡迎的,但更高的成本卻不為市場(chǎng)所接受。至于轉(zhuǎn)換到3.3V I/O及元件這一替代方案也是不切實(shí)際的。大多數(shù)傳感器及其他工業(yè)元件都基于5V,故與其把系統(tǒng)需要的所有傳感器都來個(gè)大調(diào)換,繼續(xù)采用8位和16位微控制器則更方便、更具成本效益。
獨(dú)特的愛特梅爾AVR® UC3C 32位微控制器是首個(gè)支持5V I/O的工業(yè)級(jí)微控制器。這一成果通過更先進(jìn)的0.18µm工藝技術(shù)而得以實(shí)現(xiàn),因?yàn)槠湟砸环N可靠且具成本效益的方法支持更高的I/O電壓水平。這種本征5V I/O讓基于AVR UC3C的設(shè)計(jì)能夠充分利用32位微控制器新增加的CPU性能,無需任何復(fù)雜昂貴的電壓轉(zhuǎn)換器件。
除了支持5V I/O之外,AVR UC3C還附帶有廣大范圍的高性能外設(shè),可滿足工業(yè)和汽車應(yīng)用的需求:
ADC:16通道,12位,采樣速率高達(dá)1.5Msps;雙采樣及保持能力;內(nèi)置校準(zhǔn);內(nèi)部與外部參考電壓。
DAC:4路輸出(2×2通道),12位分辨率;轉(zhuǎn)換速率達(dá)1Msps,1us建立時(shí)間(settling time);靈活的轉(zhuǎn)換范圍;每通道1個(gè)連續(xù)輸出或2個(gè)采樣/保持輸出。
模擬比較器:4通道并帶有可選功率與速度;可選磁滯(0V、20mV和50mV);靈活的輸入選擇和中斷;結(jié)合兩個(gè)比較器的窗口比較功能。
定時(shí)器/計(jì)數(shù)器:多個(gè)時(shí)鐘源(5個(gè)內(nèi)部的,3個(gè)外部的);豐富的功能集(計(jì)數(shù)器、捕獲、上/下,PWM);每通道2個(gè)輸入/輸出信號(hào);全局啟動(dòng)控制,實(shí)現(xiàn)同步運(yùn)作。
正交解碼器:集成式解碼器,支持直接馬達(dá)旋轉(zhuǎn)檢測(cè)。
多個(gè)接口:包括一個(gè)雙通道雙線接口(TWI)、主/從SPI,以及可用作SPI或LIN的全功能USART。
全集成USB:內(nèi)置USB2.0收發(fā)器,支持低(1.5Mbps)、全(12Mbps)和On-The-Go模式。此外,AVR軟件框架為各種USB設(shè)備(海量存儲(chǔ)、HID、CDC、音頻)、主設(shè)備(大容量存儲(chǔ)、HID、CDC)和組合功能設(shè)備提供生產(chǎn)就緒(production-ready)的驅(qū)動(dòng)程序。
更高的系統(tǒng)吞吐量
外設(shè)管理可能已經(jīng)成為一個(gè)主要的系統(tǒng)瓶頸問題,情況在外設(shè)數(shù)目與其工作頻率不斷提高的情況下則更嚴(yán)重。在一個(gè)傳統(tǒng)的中斷式系統(tǒng)中,數(shù)據(jù)到達(dá)一個(gè)接口或傳感器端口,在被下一個(gè)數(shù)據(jù)值覆寫之前,CPU必須讀取和存儲(chǔ)結(jié)果。由于多通道高采樣速率,中斷開銷和數(shù)據(jù)處理會(huì)消耗很大比例的處理器可用時(shí)鐘周期。隨著被管理的外設(shè)數(shù)目增加,中斷延時(shí)也增加,從而引入抖動(dòng),降低準(zhǔn)確度。另外,其他設(shè)計(jì)問題也隨之產(chǎn)生,比如致使任務(wù)調(diào)度復(fù)雜化的優(yōu)先級(jí)中斷處理。
為了便于多個(gè)高性能外設(shè)的高效工作,AVR UC3C架構(gòu)采用了一個(gè)外設(shè)事件系統(tǒng),其允許外設(shè)自我管理,并彼此通信,無需主處理器干預(yù),如圖2所示。外設(shè)事件控制器通過一個(gè)可實(shí)現(xiàn)所有外設(shè)互連的內(nèi)部通信結(jié)構(gòu)來獨(dú)立處理CPU的外設(shè)間信令。取代觸發(fā)一個(gè)中斷去通知CPU讀取外設(shè)或端口數(shù)據(jù),外設(shè)可以自我管理,把數(shù)據(jù)直接傳送給SRAM存儲(chǔ),所有這些都無需CPU任何干預(yù)。從功率角度來看,只有那些轉(zhuǎn)換功能模塊是有源的。在整個(gè)事件發(fā)生期間,設(shè)備中最耗電的部件CPU,被釋放出來執(zhí)行應(yīng)用代碼或進(jìn)入IDIE模式以節(jié)能,而不必為了處理高頻中斷頻頻處于活躍狀態(tài)。
圖2表示了外設(shè)事件系統(tǒng)允許外設(shè)自我管理,無需主處理器干預(yù)。例如,若無外設(shè)事件系統(tǒng),定時(shí)器會(huì)在一個(gè)ADC上觸發(fā)一個(gè)轉(zhuǎn)換,然后把結(jié)果傳送給DMA,再存儲(chǔ)到存儲(chǔ)器里,所有這些都無需CPU的任何干預(yù)。若帶有外設(shè)事件系統(tǒng),沒有抖動(dòng),且當(dāng)愛特梅爾AVR工作在66MHz時(shí),響應(yīng)延時(shí)固定在三個(gè)周期僅33ns。
圖2 外設(shè)事件系統(tǒng)允許外設(shè)自我管理
相比基于CPU的中斷驅(qū)動(dòng)式事件控制器,外設(shè)事件控制器的響應(yīng)還具有更大的確定性。當(dāng)32位AVR UC3C工作在66MHz時(shí),延時(shí)固定在三個(gè)周期或僅33ns,從而實(shí)現(xiàn)無抖動(dòng)的精確事件時(shí)序,使ADC和DAC上的數(shù)據(jù)讀取和傳輸更準(zhǔn)確。這種延時(shí)可預(yù)測(cè)以及無需CPU開銷的特性還可防止事件遺漏或數(shù)據(jù)丟失。
為了全面地觀察外設(shè)事件系統(tǒng)的功能,考慮管理單個(gè)SPI端口所需的CPU負(fù)荷。如果外設(shè)與SRAM之間的數(shù)據(jù)傳輸是基于中斷的,SPI端口在接收到數(shù)據(jù)時(shí)會(huì)觸發(fā)一個(gè)中斷,然后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端口會(huì)自動(dòng)把接收到的數(shù)據(jù)傳輸?shù)紻MA。DMA再自動(dòng)把該數(shù)據(jù)存儲(chǔ)在適當(dāng)?shù)拇鎯?chǔ)緩沖器中,所有這些操作都無需CPU的任何干預(yù)。實(shí)質(zhì)上,采用外設(shè)事件系統(tǒng)可省去與外設(shè)管理有關(guān)的所有中斷,從而能把更多的CPU能力留給應(yīng)用。
外設(shè)事件系統(tǒng)還能減低實(shí)時(shí)系統(tǒng)管理的總體復(fù)雜性。以一個(gè)典型的三相馬達(dá)控制應(yīng)用為例,這種應(yīng)用需要一個(gè)PWM利用開/關(guān)脈沖發(fā)送來驅(qū)動(dòng)電流。在開環(huán)架構(gòu)中必須同時(shí)測(cè)量?jī)蓚€(gè)電流,才能確定反電動(dòng)勢(shì)(back-EMF),以計(jì)算轉(zhuǎn)子的位置。閉環(huán)架構(gòu)也需要測(cè)量?jī)蓚€(gè)電流,以讀取增量式編碼器返回的位置和方向數(shù)據(jù)。在緊急狀態(tài)下,系統(tǒng)還需要執(zhí)行硬件故障機(jī)制來中止馬達(dá)。而利用愛特梅爾AVR® UC3C 32位微控制器,所有這些輸入和輸出都可以通過外設(shè)事件系統(tǒng)在后臺(tái)進(jìn)行管理。
工業(yè)和汽車應(yīng)用需要大量不同的時(shí)鐘來實(shí)現(xiàn)這些系統(tǒng)支持的眾多功能。AVR UC3C架構(gòu)提供有多個(gè)時(shí)鐘選擇,從而可省去系統(tǒng)原本可能需要的多個(gè)外部時(shí)鐘源。AVR UC3C提供的時(shí)鐘選擇包括3個(gè)內(nèi)部RC振蕩器(115kHz、8MHz及120MHz)和1個(gè)用于生成頻率范圍從80MHz到240MHz的高速系統(tǒng)時(shí)鐘的鎖相環(huán)(PLL)。任何一個(gè)振蕩器都可作為系統(tǒng)的實(shí)時(shí)時(shí)鐘(RTC)源,外部振蕩器可用于提供額外的時(shí)鐘頻率。
IP保護(hù)
由于目前制造業(yè)常常將業(yè)務(wù)外包和離岸外包,加上軟件所包含的知識(shí)產(chǎn)權(quán)(IP)越來越多,代碼保護(hù)成為關(guān)鍵的設(shè)計(jì)考慮事項(xiàng)。有關(guān)IP保護(hù)的三大主要因素包括:
源代碼和目標(biāo)代碼的保護(hù):存儲(chǔ)程序代碼的Flash必須具有鎖定功能,以保護(hù)代碼不被讀取或拷貝。這不僅可以防止競(jìng)爭(zhēng)對(duì)手竊取應(yīng)用代碼,還能防止欠考慮的離岸制造商復(fù)制代碼,私下制造產(chǎn)品在當(dāng)?shù)劁N售。
代碼的部分鎖定:利用第三方開發(fā)商提供的應(yīng)用代碼,可以顯著加快系統(tǒng)開發(fā)進(jìn)程,尤其是對(duì)依賴專用算法的應(yīng)用而言。傳統(tǒng)的保護(hù)機(jī)制,比如只提供目標(biāo)代碼的方案,因?yàn)闊o法檢驗(yàn)代碼被使用的次數(shù),故不足以保護(hù)第三方的投資。而部分鎖定Flash的功能讓第三方開發(fā)商能夠放心地提供專有的代碼,因?yàn)榇a已經(jīng)編程在微控制器上了。
器件編程成本:微控制器的編程必須在安裝在電路板上之前進(jìn)行,或者是采用器件內(nèi)編程的方式。預(yù)編程技術(shù)給物流帶來挑戰(zhàn),因?yàn)槠骷仨毾仍诳煽康脑O(shè)施上編程,再運(yùn)送到制造廠房。器件內(nèi)編程技術(shù)則可以在制造階段添加最新代碼。器件編程常用的一種方法是利用微控制器的JTAG端口。這種方法的缺點(diǎn)是需要指定4個(gè)I/O引腳專用于此目的,而且二進(jìn)制代碼在微控制器和電路板之間傳送時(shí)會(huì)被暴露。替代方案是讓器件在工廠裝載啟動(dòng)加載程序代碼,而這些代碼擁有足以支持一個(gè)接口(如USB端口)的功能。AVR UC3C 就附帶有USB驅(qū)動(dòng)器,能夠支持器件固件升級(jí)(DFU),允許器件通過系統(tǒng)的USB端口進(jìn)行編程。這就釋放了I/O引腳,并從系統(tǒng)BOM中刪去了JTAG標(biāo)頭。
愛特梅爾AVR® UC3C 32位微控制器架構(gòu)還包含了愛特梅爾FlashVault™代碼保護(hù)技術(shù)。FlashVault允許片上Flash進(jìn)行部分編程和鎖定,創(chuàng)建安全的片上存儲(chǔ)空間,用以保護(hù)軟件IP。Flash上的鎖定部分不能被讀取、拷貝或調(diào)試。在開發(fā)和調(diào)試期間,F(xiàn)lashVault還可以采用一種部分未保護(hù)模式工作,以訪問存儲(chǔ)在Flash中的應(yīng)用程序代碼,同時(shí)仍然能夠保護(hù)第三方代碼。啟動(dòng)加載程序代碼也可以被鎖定,以確保器件在出現(xiàn)災(zāi)難性軟件故障的情況下總是能夠重載應(yīng)用代碼。
系統(tǒng)安全性
對(duì)于工業(yè)和汽車應(yīng)用,由于系統(tǒng)故障可能造成代價(jià)高昂的后果,甚至可能導(dǎo)致操作人員的傷亡,故安全性是其主要考慮事項(xiàng)。事實(shí)上,相當(dāng)比例的系統(tǒng)都會(huì)遇到時(shí)鐘故障,因而系統(tǒng)必須具有從時(shí)鐘故障中良好恢復(fù)的能力,對(duì)于那些使用壽命預(yù)計(jì)數(shù)十年的工業(yè)系統(tǒng)尤其如此。例如,馬達(dá)控制系統(tǒng)必須能夠在檢測(cè)到時(shí)鐘故障時(shí)就智能化關(guān)斷系統(tǒng),以保護(hù)馬達(dá)或操作人員避免災(zāi)難性損害。為此,AVR UC3C器件可以檢測(cè)出主要的時(shí)鐘故障,并切換到一個(gè)內(nèi)部115kHz RC振蕩器。系統(tǒng)可以利用備份時(shí)鐘繼續(xù)運(yùn)行(同時(shí)觸發(fā)一個(gè)主時(shí)鐘發(fā)生故障的警報(bào)),或執(zhí)行任何必須的關(guān)斷操作,以使系統(tǒng)進(jìn)入故障保護(hù)狀態(tài)。
另一個(gè)重要的安全功能是窗口式看門狗定時(shí)器。微控制器一般都采用看門狗定時(shí)器來監(jiān)測(cè)系統(tǒng)是否正常運(yùn)行。如果應(yīng)用代碼被破壞,看門狗定時(shí)器就不會(huì)被啟動(dòng),而一個(gè)軟件復(fù)位被觸發(fā),警告系統(tǒng)啟動(dòng)失敗。這種機(jī)制在軟件更新后顯得特別重要,以確保更新成功。
不過,看門狗定時(shí)器存在一個(gè)問題,就是它是通過軟件來設(shè)置和激活的。如果設(shè)置看門狗定時(shí)器的代碼從未被執(zhí)行,故障保護(hù)中斷就不會(huì)被觸發(fā)。窗口式看門狗定時(shí)器,如圖3所示,則是一種更為可靠的故障檢測(cè)形式,它定義了一個(gè)較窄的看門狗啟動(dòng)窗口。這種方案仍然需要定時(shí)器以軟件形式啟動(dòng),但不會(huì)出現(xiàn)上述看門狗因是通過硬件設(shè)置和激活的就無法被設(shè)置的異常情況,并可防止已破壞的應(yīng)用程序錯(cuò)誤修改看門狗配置。于是,窗口式看門狗總是在系統(tǒng)上電時(shí)被設(shè)置和激活,故若應(yīng)用代碼被破壞,在設(shè)置時(shí)間之后,故障保護(hù)中斷將被觸發(fā)。
圖3所示的看門狗定時(shí)器的作用是,通過要求應(yīng)用在設(shè)置時(shí)間幀之內(nèi)對(duì)看門狗定時(shí)器進(jìn)行清零來確認(rèn)系統(tǒng)是否正常工作。對(duì)于傳統(tǒng)看門狗定時(shí)器,如果已破壞的系統(tǒng)復(fù)位看門狗定時(shí)器,若不能首先激活它,就無法執(zhí)行故障檢測(cè)。而窗口式看門狗定時(shí)器在系統(tǒng)上電時(shí)以硬件形式被設(shè)置和激活,故可確保系統(tǒng)故障被檢測(cè)到。
圖3 窗口式看門狗定時(shí)器
窗口式看門狗定時(shí)器只在某個(gè)時(shí)間幀內(nèi)被啟動(dòng)。例如有一個(gè)中斷,其應(yīng)該在執(zhí)行了一定的周期數(shù)之后才返回到主循環(huán)(啟動(dòng)看門狗定時(shí)器)。如果中斷返回太快,中斷就沒有被正確執(zhí)行,因此可能存在某個(gè)系統(tǒng)問題。對(duì)于傳統(tǒng)的看門狗定時(shí)器,這個(gè)問題會(huì)被忽略過去。而使用時(shí)間幀式看門狗定時(shí)器的話,這時(shí)定時(shí)器將被過快啟動(dòng),從而觸發(fā)看門狗中斷。
加速系統(tǒng)開發(fā)
今天,在評(píng)測(cè)微控制器架構(gòu)時(shí),需要考慮的不僅有器件的硬件能力,還包括可使用什么樣的軟件庫(kù)和應(yīng)用就緒應(yīng)用軟件。從頭開始設(shè)計(jì)一個(gè)完整的系統(tǒng)需要大量的開發(fā)資源和時(shí)間。反之,利用現(xiàn)有的軟件框架則可以加快上市速度,大幅度減少應(yīng)用開發(fā)投資。
愛特梅爾AVR®軟件框架可以簡(jiǎn)化系統(tǒng)開發(fā),它支持各種最優(yōu)化接口驅(qū)動(dòng)器、外設(shè)固件和應(yīng)用代碼,包括大量的馬達(dá)控制算法、電容式觸摸驅(qū)動(dòng)器、先進(jìn)的數(shù)字信號(hào)處理算法(即FFT,以及帶通、高通及低通濾波器)、常用音頻與圖像編解碼器(如MP3)、語音識(shí)別引擎、顯示驅(qū)動(dòng)器、CAN/LIN服務(wù),以及FAT12/16/32文件系統(tǒng)等等。利用該框架實(shí)現(xiàn)外設(shè)或接口驅(qū)動(dòng)器可大大簡(jiǎn)化固件開發(fā),并縮短在AVR產(chǎn)品系列上移植應(yīng)用程序所需的時(shí)間。譬如,可用3個(gè)UART驅(qū)動(dòng)器支持RS-232與RS-485接口,還可以覆蓋一個(gè)CAN接口。同樣的,創(chuàng)建一個(gè)USB驅(qū)動(dòng)器就和選擇一個(gè)器件類別一樣簡(jiǎn)單,而且該框架提供有對(duì)應(yīng)的驅(qū)動(dòng)器代碼和協(xié)議堆棧。這個(gè)框架還包含了一個(gè)完整的實(shí)時(shí)操作系統(tǒng)(freeRTOS),并支持眾多流行產(chǎn)品,如uC-OS/II、embOS、ThreadX和openRTOS。愛特梅爾可免費(fèi)向客戶提供AVR軟件框架。
利用廣義的軟件框架有助于縮短開發(fā)時(shí)間,加快上市速度。AVR軟件框架提供有業(yè)界范圍最廣的生產(chǎn)就緒的軟件驅(qū)動(dòng)器及程序庫(kù)選擇,并包含了一組豐富的范例應(yīng)用完備文檔代碼。AVR微控制器可支持實(shí)時(shí)跟蹤,實(shí)現(xiàn)系統(tǒng)操作的完全可視化。此外,AVR微控制器每季都進(jìn)行更新,推出新功能。
利用直觀的GUI式愛特梅爾AVR Studio®開發(fā)環(huán)境可以快速配置驅(qū)動(dòng)器和接口,這樣一來,只需數(shù)分鐘而不是數(shù)個(gè)月就可以實(shí)現(xiàn)首個(gè)原型,如圖4所示。快速又簡(jiǎn)單的外設(shè)配置對(duì)工業(yè)市場(chǎng)而言是至關(guān)重要的,因?yàn)檫@樣一來,整個(gè)設(shè)計(jì)團(tuán)隊(duì)得以把主要精力集中在應(yīng)用開發(fā)上,而不是浪費(fèi)在另一個(gè)UART驅(qū)動(dòng)器的編碼上。AVR Studio是業(yè)界最完善的8位和32位應(yīng)用開發(fā)環(huán)境,可為所有AVR微控制器提供全面的編譯器和調(diào)試器支持。由于利用AVR軟件框架來配置外設(shè),故不同AVR器件之間的移植是真正無縫的。AVR Studio與AVR軟件框架完全集成,二者都可免費(fèi)或免權(quán)益金獲取。
圖4所示為愛特梅爾AVR Studio開發(fā)環(huán)境,可為所有外設(shè)提供驅(qū)動(dòng)器和接口固件。采用這種方法,無需數(shù)個(gè)月,數(shù)分鐘就可以配置出首個(gè)原型。
圖4 愛特梅爾AVR Studio開發(fā)環(huán)境
愛特梅爾還提供有廣泛的硬件式系統(tǒng)內(nèi)編程、調(diào)試和評(píng)測(cè)工具。例如,愛特梅爾AT32UC3C-EK評(píng)測(cè)工具套件就具有開箱即用的簡(jiǎn)便性,可為愛特梅爾AVR® UC3C 32位微控制器架構(gòu)的大量功能提供使用入口。它能夠接入每一個(gè)引腳和片上資源,以簡(jiǎn)單的過程直接驗(yàn)證AVR UC3C出色的低功耗特性。該評(píng)測(cè)工具套件還有愛特梅爾QTouch®電容式觸摸能力,以及用于無線連接的RF4CE、ZigBee、Wi-Fi和藍(lán)牙插件板。
真正的系統(tǒng)設(shè)計(jì)并不是把各種不同的芯片或子系統(tǒng)簡(jiǎn)單地組合起來?,F(xiàn)在的嵌入式應(yīng)用產(chǎn)品是包含了眾多功能性組件的復(fù)雜系統(tǒng)。向32位架構(gòu)轉(zhuǎn)換可以實(shí)現(xiàn)將設(shè)計(jì)整合在單個(gè)微控制器上,而這種32位微控制器架構(gòu)針對(duì)高性能、低功耗、實(shí)時(shí)處理與系統(tǒng)可靠性進(jìn)行了優(yōu)化。此外,這時(shí)系統(tǒng)設(shè)計(jì)還可以在單個(gè)協(xié)調(diào)環(huán)境中完成,從而加快系統(tǒng)的開發(fā)和測(cè)試進(jìn)程。
AVR UC3C是業(yè)界首款專為工業(yè)和汽車應(yīng)用而設(shè)計(jì)的32位處理器。UC3C整合了浮點(diǎn)計(jì)算能力和外設(shè)事件系統(tǒng),支持32位性能,它提供的性能與處理能力能夠?yàn)檫@些系統(tǒng)引入先進(jìn)的功能性,并創(chuàng)建新的市場(chǎng)機(jī)遇。再結(jié)合適當(dāng)?shù)母呔韧庠O(shè)組合、原生5V I/O、安全Flash和最完善的設(shè)計(jì)環(huán)境,加之針對(duì)馬達(dá)控制、傳感器監(jiān)控以及數(shù)字信號(hào)處理功能的生產(chǎn)就緒代碼,UC3C成為那些需要實(shí)時(shí)可靠性、高性能及高功效的應(yīng)用的理想MCU選擇。





