深入解析Atmel ATtiny25/45/85汽車級(jí)8位AVR微控制器
在汽車電子領(lǐng)域,對(duì)高性能、低功耗微控制器的需求日益增長(zhǎng)。Atmel的ATtiny25/45/85系列8位AVR微控制器憑借其卓越的特性,成為了眾多汽車應(yīng)用的理想選擇。今天,我們就來深入探討這款微控制器的各個(gè)方面。
文件下載:ATTINY25V-15MT.pdf
一、產(chǎn)品概述
ATtiny25/45/85是基于AVR增強(qiáng)型RISC架構(gòu)的低功耗CMOS 8位微控制器。它能夠在單時(shí)鐘周期內(nèi)執(zhí)行強(qiáng)大的指令,實(shí)現(xiàn)接近每兆赫茲1MIPS的吞吐量,這使得系統(tǒng)設(shè)計(jì)人員可以在功耗和處理速度之間進(jìn)行優(yōu)化。
1.1 主要特性
- 高性能與低功耗:先進(jìn)的RISC架構(gòu)包含120條強(qiáng)大的指令,大部分指令可在單時(shí)鐘周期內(nèi)執(zhí)行,同時(shí)具備32個(gè)8位通用工作寄存器,采用全靜態(tài)操作,有效降低功耗。
- 非易失性存儲(chǔ)器:擁有2/4/8KB的系統(tǒng)內(nèi)可編程閃存(ATtiny25/45/85),具備10,000次的寫入/擦除耐久性;128/256/512字節(jié)的系統(tǒng)內(nèi)可編程EEPROM,耐久性高達(dá)100,000次寫入/擦除周期;還有128/256/512字節(jié)的內(nèi)部SRAM。
- 外設(shè)功能豐富:配備8位定時(shí)器/計(jì)數(shù)器,帶有預(yù)分頻器和兩個(gè)PWM通道;高速8位定時(shí)器/計(jì)數(shù)器,具有獨(dú)立的預(yù)分頻器;2個(gè)高頻PWM輸出,帶有獨(dú)立的輸出比較寄存器和可編程死區(qū)時(shí)間發(fā)生器;通用串行接口,帶有起始條件檢測(cè)器;10位ADC,包含4個(gè)單端通道和2個(gè)帶可編程增益(1x, 20x)的差分ADC通道對(duì);可編程看門狗定時(shí)器,帶有獨(dú)立的片上振蕩器;片上模擬比較器。
- 特殊特性:具備debugWIRE片上調(diào)試系統(tǒng),可通過SPI端口進(jìn)行系統(tǒng)內(nèi)編程;擁有外部和內(nèi)部中斷源;支持低功耗空閑、ADC降噪和掉電模式;具備增強(qiáng)的上電復(fù)位電路和可編程欠壓檢測(cè)電路;內(nèi)部校準(zhǔn)振蕩器。
1.2 引腳配置與封裝
ATtiny25/45/85提供6個(gè)可編程I/O線,有8引腳SOIC和20引腳QFN兩種封裝形式,滿足不同應(yīng)用的需求。其工作電壓范圍為2.7 - 5.5V,速度等級(jí)在2.7 - 5.5V時(shí)為0 - 8MHz,在4.5 - 5.5V時(shí)為0 - 16MHz,適用于汽車溫度范圍 -40°C至 +125°C。
二、AVR CPU核心架構(gòu)
2.1 架構(gòu)概述
AVR采用哈佛架構(gòu),為程序和數(shù)據(jù)使用獨(dú)立的存儲(chǔ)器和總線,通過單級(jí)流水線執(zhí)行程序存儲(chǔ)器中的指令,在執(zhí)行一條指令的同時(shí)預(yù)取下一條指令,實(shí)現(xiàn)每個(gè)時(shí)鐘周期執(zhí)行一條指令。
2.2 關(guān)鍵組件
- ALU(算術(shù)邏輯單元):與32個(gè)通用工作寄存器直接相連,可在單時(shí)鐘周期內(nèi)執(zhí)行通用寄存器之間或寄存器與立即數(shù)之間的算術(shù)運(yùn)算,分為算術(shù)、邏輯和位功能三大類操作。
- 狀態(tài)寄存器(SREG):包含最近執(zhí)行的算術(shù)指令結(jié)果的信息,可用于改變程序流程以執(zhí)行條件操作。
- 通用寄存器文件:優(yōu)化設(shè)計(jì)以支持AVR增強(qiáng)型RISC指令集,支持多種輸入/輸出方案,方便高效的數(shù)據(jù)處理。
- 堆棧指針:主要用于存儲(chǔ)臨時(shí)數(shù)據(jù)、局部變量和中斷及子程序調(diào)用后的返回地址,在數(shù)據(jù)SRAM中分配堆??臻g。
- 指令執(zhí)行時(shí)序:憑借哈佛架構(gòu)和快速訪問寄存器文件的概念,實(shí)現(xiàn)并行指令預(yù)取和執(zhí)行,達(dá)到每兆赫茲1MIPS的性能。
2.3 復(fù)位和中斷處理
AVR提供多種中斷源,每個(gè)中斷和復(fù)位向量在程序內(nèi)存空間中有獨(dú)立的程序向量。中斷優(yōu)先級(jí)由中斷向量地址決定,地址越低,優(yōu)先級(jí)越高。中斷發(fā)生時(shí),全局中斷使能I位被清除,所有中斷被禁用,可通過軟件設(shè)置I位啟用嵌套中斷。中斷響應(yīng)時(shí)間最短為四個(gè)時(shí)鐘周期,從中斷處理程序返回也需要四個(gè)時(shí)鐘周期。
三、存儲(chǔ)器系統(tǒng)
3.1 閃存程序存儲(chǔ)器
ATtiny25/45/85包含2/4/8KB的系統(tǒng)內(nèi)可編程閃存,用于程序存儲(chǔ)。閃存組織為1024/2048/4096 × 16,具備至少10,000次的寫入/擦除耐久性。
3.2 SRAM數(shù)據(jù)存儲(chǔ)器
SRAM數(shù)據(jù)存儲(chǔ)器的低224/352/607個(gè)數(shù)據(jù)存儲(chǔ)位置可尋址寄存器文件、I/O存儲(chǔ)器和內(nèi)部數(shù)據(jù)SRAM。支持五種不同的尋址模式,方便數(shù)據(jù)的訪問。
3.3 EEPROM數(shù)據(jù)存儲(chǔ)器
包含128/256/512字節(jié)的EEPROM數(shù)據(jù)存儲(chǔ)器,可單獨(dú)尋址,單字節(jié)可讀寫,具備至少100,000次的寫入/擦除耐久性。讀寫EEPROM時(shí),CPU會(huì)有相應(yīng)的時(shí)鐘周期暫停。
3.4 I/O存儲(chǔ)器
所有I/O和外設(shè)都位于I/O空間,可通過特定指令在32個(gè)通用工作寄存器和I/O空間之間傳輸數(shù)據(jù)。I/O寄存器中的狀態(tài)標(biāo)志可通過寫入邏輯1來清除,部分I/O寄存器可直接進(jìn)行位訪問。
四、系統(tǒng)時(shí)鐘與時(shí)鐘選項(xiàng)
4.1 時(shí)鐘系統(tǒng)與分布
ATtiny25/45/85有多種時(shí)鐘系統(tǒng),包括CPU時(shí)鐘、I/O時(shí)鐘、閃存時(shí)鐘、ADC時(shí)鐘和內(nèi)部PLL產(chǎn)生的快速外設(shè)時(shí)鐘。可通過不同的睡眠模式停止未使用模塊的時(shí)鐘,以降低功耗。
4.2 時(shí)鐘源
提供多種時(shí)鐘源選項(xiàng),可通過閃存熔絲位進(jìn)行選擇,包括外部時(shí)鐘、PLL時(shí)鐘、校準(zhǔn)的內(nèi)部RC振蕩器、看門狗振蕩器、外部低頻晶體、外部晶體/陶瓷諧振器等。默認(rèn)時(shí)鐘源為內(nèi)部RC振蕩器,運(yùn)行頻率為8MHz。
4.3 晶體振蕩器
XTAL1和XTAL2可配置為片上振蕩器,可使用石英晶體或陶瓷諧振器。振蕩器有三種不同的工作模式,可根據(jù)熔絲設(shè)置選擇不同的頻率范圍和啟動(dòng)時(shí)間。
4.4 系統(tǒng)時(shí)鐘預(yù)分頻器
可通過設(shè)置時(shí)鐘預(yù)分頻寄存器(CLKPR)對(duì)系統(tǒng)時(shí)鐘進(jìn)行分頻,以降低功耗。更改預(yù)分頻設(shè)置時(shí),需遵循特定的寫入程序,并禁用中斷以確保操作的穩(wěn)定性。
五、電源管理與睡眠模式
5.1 睡眠模式
AVR提供多種睡眠模式,可通過設(shè)置MCUCR寄存器中的SE位和執(zhí)行SLEEP指令進(jìn)入。不同的睡眠模式可根據(jù)應(yīng)用需求關(guān)閉未使用的模塊,從而節(jié)省功耗。
5.2 低功耗策略
在AVR控制系統(tǒng)中,應(yīng)盡可能使用睡眠模式,并選擇使設(shè)備功能運(yùn)行最少的睡眠模式,同時(shí)禁用不需要的功能。例如,在進(jìn)入睡眠模式前禁用ADC、模擬比較器、欠壓檢測(cè)器、內(nèi)部電壓參考和看門狗定時(shí)器等模塊;在睡眠模式下,將所有端口引腳配置為使用最小功率。
六、系統(tǒng)控制與復(fù)位
6.1 復(fù)位源
ATtiny25/45/85有四種復(fù)位源:上電復(fù)位、外部復(fù)位、看門狗復(fù)位和欠壓復(fù)位。復(fù)位時(shí),所有I/O寄存器將設(shè)置為初始值,程序從復(fù)位向量開始執(zhí)行。
6.2 欠壓檢測(cè)
片上欠壓檢測(cè)(BOD)電路可監(jiān)測(cè)VCC電平,通過BODLEVEL熔絲選擇觸發(fā)電平,具有滯后特性以確保無毛刺的欠壓檢測(cè)。
6.3 看門狗定時(shí)器
看門狗定時(shí)器由片上128kHz振蕩器提供時(shí)鐘,可通過控制預(yù)分頻器調(diào)整復(fù)位間隔??膳渲脼楫a(chǎn)生中斷而非復(fù)位,有助于從掉電模式喚醒。
七、I/O端口
7.1 通用數(shù)字I/O
端口為雙向I/O端口,帶有可選的內(nèi)部上拉電阻。可通過設(shè)置DDxn位選擇引腳方向,通過設(shè)置PORTxn位控制上拉電阻和輸出電平。
7.2 替代端口功能
大多數(shù)端口引腳除了作為通用數(shù)字I/O外,還具有替代功能,如復(fù)位、調(diào)試接口、ADC輸入、定時(shí)器輸出等。這些功能由內(nèi)部模塊產(chǎn)生的覆蓋信號(hào)控制。
八、定時(shí)器與計(jì)數(shù)器
8.1 8位定時(shí)器/計(jì)數(shù)器0
具備兩個(gè)獨(dú)立的輸出比較單元、雙緩沖輸出比較寄存器、比較匹配時(shí)清除定時(shí)器、無毛刺相位正確脈沖寬度調(diào)制器(PWM)、可變PWM周期、頻率發(fā)生器和三個(gè)獨(dú)立的中斷源。支持多種工作模式,如正常模式、CTC模式、快速PWM模式和相位正確PWM模式。
8.2 定時(shí)器/計(jì)數(shù)器1
支持同步和異步兩種時(shí)鐘模式,具備高分辨率和高精度,可支持兩個(gè)8位PWM調(diào)制器。在PWM模式下,可產(chǎn)生互補(bǔ)輸出,并可通過死區(qū)時(shí)間發(fā)生器插入非重疊時(shí)間。
九、通用串行接口(USI)
提供基本的硬件資源,支持兩線和三線同步數(shù)據(jù)傳輸,具備數(shù)據(jù)接收中斷、從空閑模式喚醒等功能。在兩線模式下,還可從所有睡眠模式(包括掉電模式)喚醒。
十、模擬比較器與ADC
10.1 模擬比較器
可比較AIN0和AIN1引腳的輸入值,輸出結(jié)果可觸發(fā)獨(dú)立的中斷??蛇x擇中斷觸發(fā)方式,如上升沿、下降沿或翻轉(zhuǎn)。
10.2 ADC
具備10位分辨率、0.5 LSB積分非線性、±2 LSB絕對(duì)精度等特性。支持四種多路復(fù)用單端輸入通道、兩個(gè)差分輸入通道和溫度傳感器輸入通道。可選擇不同的電壓參考和轉(zhuǎn)換模式,支持自動(dòng)觸發(fā)和中斷功能。
十一、debugWIRE片上調(diào)試系統(tǒng)
提供完整的程序流控制、實(shí)時(shí)操作、符號(hào)調(diào)試支持等功能。使用單線程雙向接口進(jìn)行控制和編程,需注意調(diào)試時(shí)的一些限制,如外部復(fù)位源不支持等。
十二、自我編程與存儲(chǔ)器編程
12.1 自我編程
設(shè)備提供自我編程機(jī)制,可通過MCU本身下載和上傳程序代碼。閃存以頁(yè)為單位進(jìn)行更新,編程前需先擦除頁(yè)面,可選擇在擦除前后填充臨時(shí)頁(yè)面緩沖區(qū)。
12.2 存儲(chǔ)器編程
包括程序和數(shù)據(jù)存儲(chǔ)器鎖定位、熔絲字節(jié)、簽名字節(jié)和校準(zhǔn)字節(jié)等。可通過串行下載和高壓串行編程兩種方式對(duì)閃存和EEPROM進(jìn)行編程。
總結(jié)
Atmel ATtiny25/45/85汽車級(jí)8位AVR微控制器憑借其豐富的功能、低功耗特性和廣泛的應(yīng)用范圍,為汽車電子應(yīng)用提供了強(qiáng)大的支持。無論是在性能要求較高的應(yīng)用場(chǎng)景,還是對(duì)功耗敏感的系統(tǒng)中,都能發(fā)揮出色的作用。電子工程師在設(shè)計(jì)汽車電子系統(tǒng)時(shí),可根據(jù)具體需求充分利用這款微控制器的特性,實(shí)現(xiàn)高效、可靠的設(shè)計(jì)。你在使用這款微控制器的過程中遇到過哪些問題呢?歡迎在評(píng)論區(qū)分享你的經(jīng)驗(yàn)和見解。
-
汽車電子
+關(guān)注
關(guān)注
3046文章
9050瀏覽量
173039 -
AVR微控制器
+關(guān)注
關(guān)注
0文章
15瀏覽量
6965
發(fā)布評(píng)論請(qǐng)先 登錄
深入解析Atmel ATtiny25/45/85汽車級(jí)8位AVR微控制器
評(píng)論