Atmel ATtiny25/45/85汽車級8位微控制器的深度剖析
在汽車電子飛速發(fā)展的今天,高性能、低功耗且穩(wěn)定可靠的微控制器成為了眾多電子工程師設(shè)計中的核心需求。Atmel 公司的 ATtiny25/45/85 汽車級8位微控制器憑借其出色的特性,在汽車及相關(guān)領(lǐng)域得到了廣泛的應(yīng)用。今天,我就從專業(yè)電子工程師的角度,對它進行一次全面的剖析。
文件下載:ATTINY25-15MZ.pdf
一、器件概述
ATtiny25/45/85 是基于 AVR 增強型 RISC 架構(gòu)的低功耗 CMOS 8位微控制器。它能在單時鐘周期內(nèi)執(zhí)行強大的指令,每兆赫茲可實現(xiàn)接近 1MIPS 的吞吐量,這使得系統(tǒng)設(shè)計師能夠在功耗和處理速度之間進行優(yōu)化。它擁有多種高性能特性,如豐富的寄存器、多種存儲器類型、強大的外設(shè)功能以及靈活的時鐘選項等,非常適合對成本、功耗和性能有嚴格要求的應(yīng)用。
二、AVR CPU 核心架構(gòu)
2.1 架構(gòu)概述
AVR CPU 采用哈佛架構(gòu),擁有獨立的程序和數(shù)據(jù)存儲器及總線,指令執(zhí)行采用單級流水線,在執(zhí)行一條指令時預(yù)取下一條指令,確保每個時鐘周期都能執(zhí)行指令。這種架構(gòu)讓其代碼效率更高,處理速度比傳統(tǒng) CISC 微控制器快達十倍。32 個通用工作寄存器可在單時鐘周期內(nèi)直接與算術(shù)邏輯單元(ALU)連接,支持快速算術(shù)和邏輯運算。
2.2 ALU 與狀態(tài)寄存器
AVR 的高性能 ALU 能在單時鐘周期內(nèi)執(zhí)行通用寄存器間或寄存器與立即數(shù)之間的算術(shù)運算,分為算術(shù)、邏輯和位功能三大類,部分架構(gòu)還支持強大的乘法器。狀態(tài)寄存器(SREG)保存最近執(zhí)行的算術(shù)指令結(jié)果,可用于條件操作時改變程序流程,像判斷結(jié)果是否為零、有無進位、是否溢出等。不過要注意,進入中斷程序時,SREG 不會自動保存,返回時也需軟件處理。
三、存儲系統(tǒng)
3.1 閃存程序存儲器
片上 2/4/8K 字節(jié)的系統(tǒng)內(nèi)可重編程閃存存儲器用于存儲程序,由于 AVR 指令為 16 或 32 位寬,閃存以 1024/2048/4096 × 16 組織,至少有 10,000 次的寫/擦除周期。在使用時,可利用 SPI 引腳進行閃存數(shù)據(jù)串行下載。
3.2 SRAM 數(shù)據(jù)存儲器
SRAM 數(shù)據(jù)存儲器分為寄存器文件、標準 I/O 存儲器和內(nèi)部數(shù)據(jù) SRAM 三部分,通過直接、帶位移的間接、間接、預(yù)減間接和后增間接五種尋址模式進行訪問,32 個通用工作寄存器、64 個 I/O 寄存器和 128/256/512 字節(jié)的內(nèi)部數(shù)據(jù) SRAM 均可通過這些尋址模式訪問。
3.3 EEPROM 數(shù)據(jù)存儲器
包含 128/256/512 字節(jié)的 EEPROM 數(shù)據(jù)存儲器,可單獨作為數(shù)據(jù)空間,單字節(jié)可讀寫,至少有 100,000 次的寫/擦除周期。讀寫時要遵循特定流程以防止數(shù)據(jù)損壞,如在電源電壓不穩(wěn)定時,可通過啟用內(nèi)部欠壓檢測器(BOD)或使用外部低 (V_{CC}) 復(fù)位保護電路來避免 EEPROM 數(shù)據(jù)損壞。
四、系統(tǒng)時鐘與時鐘選項
4.1 時鐘系統(tǒng)
ATtiny25/45/85 有多個時鐘系統(tǒng),包括 CPU 時鐘、I/O 時鐘、閃存時鐘、ADC 時鐘和內(nèi)部 PLL 產(chǎn)生的快速外設(shè)時鐘。不同時鐘可通過不同睡眠模式停止,以降低功耗。例如,在不使用某些模塊時,可通過睡眠模式停止其時鐘供應(yīng)。
4.2 時鐘源選擇
該器件有多種時鐘源選項,如外部時鐘、PLL 時鐘、校準的內(nèi)部 RC 振蕩器、看門狗振蕩器、外部低頻晶體、外部晶體/陶瓷諧振器等。默認時鐘源為內(nèi)部 RC 振蕩器,運行頻率為 8MHz,可通過熔斷位(fuse bits)進行選擇。在選擇時鐘源時,要考慮啟動時間、頻率穩(wěn)定性和功耗等因素。例如,在對啟動時間要求較高的應(yīng)用中,可選擇合適的啟動時間設(shè)置;在對頻率穩(wěn)定性要求較高的應(yīng)用中,可選擇外部晶體振蕩器。
4.3 系統(tǒng)時鐘預(yù)分頻器
通過設(shè)置時鐘預(yù)分頻寄存器(CLKPR)可對系統(tǒng)時鐘進行分頻,以降低功耗。更改預(yù)分頻設(shè)置時,需遵循特殊的寫入流程,同時要禁用中斷以確保寫入過程不被中斷。例如,在對處理能力需求較低時,可適當降低時鐘頻率以減少功耗。
五、電源管理與睡眠模式
5.1 睡眠模式概述
AVR 微控制器提供多種睡眠模式,可通過設(shè)置 MCUCR 寄存器中的 SE 位和執(zhí)行 SLEEP 指令進入。不同睡眠模式可停止不同模塊的運行,從而節(jié)省功耗。在進入睡眠模式后,若有啟用的中斷發(fā)生,MCU 會喚醒并執(zhí)行中斷程序。
5.2 具體睡眠模式
- 空閑模式:CPU 停止運行,但模擬比較器、ADC、定時器/計數(shù)器、看門狗和中斷系統(tǒng)繼續(xù)運行,可用于等待外部或內(nèi)部中斷喚醒,如定時器溢出中斷。
- ADC 降噪模式:CPU 停止運行,僅允許 ADC、外部中斷和看門狗(若啟用)繼續(xù)運行,可改善 ADC 的噪聲環(huán)境,提高測量分辨率。
- 掉電模式:振蕩器停止,僅外部中斷和看門狗(若啟用)繼續(xù)運行,只有外部復(fù)位、看門狗復(fù)位、欠壓復(fù)位、外部電平中斷或引腳變化中斷才能喚醒 MCU。
六、系統(tǒng)控制與復(fù)位
6.1 復(fù)位源
該器件有四種復(fù)位源,分別是上電復(fù)位、外部復(fù)位、看門狗復(fù)位和欠壓復(fù)位。每種復(fù)位源都有其觸發(fā)條件和對應(yīng)的復(fù)位邏輯,確保在不同情況下能可靠地復(fù)位系統(tǒng)。例如,上電復(fù)位在電源電壓低于檢測電平時觸發(fā),可用于確保設(shè)備從上電時就能正確復(fù)位。
6.2 復(fù)位邏輯與狀態(tài)寄存器
復(fù)位時,所有 I/O 寄存器會設(shè)置為初始值,程序從復(fù)位向量開始執(zhí)行。MCU 狀態(tài)寄存器(MCUSR)可提供復(fù)位源信息,有助于識別復(fù)位條件。在程序中,應(yīng)盡早讀取并復(fù)位 MCUSR 以準確判斷復(fù)位源。
七、外設(shè)功能
7.1 I/O 端口
所有 AVR 端口作為通用數(shù)字 I/O 端口時具有真正的讀 - 修改 - 寫功能,輸出緩沖器具有對稱的驅(qū)動特性,可直接驅(qū)動 LED 顯示屏。每個端口引腳有可選的內(nèi)部上拉電阻,且有保護二極管。在使用時,可通過設(shè)置數(shù)據(jù)方向寄存器(DDRx)和端口寄存器(PORTx)來配置引腳的輸入/輸出方向和電平。
7.2 定時器/計數(shù)器
7.2.1 8 位定時器/計數(shù)器 0(Timer/Counter0)
具有兩個獨立的輸出比較單元,支持 PWM 功能,有正常模式、CTC 模式、快速 PWM 模式和相位正確 PWM 模式等多種工作模式。不同模式下,計數(shù)器的計數(shù)方式、輸出比較寄存器的更新時間和中斷標志的設(shè)置方式都有所不同。例如,在快速 PWM 模式下,計數(shù)器從 BOTTOM 計數(shù)到 TOP 后重新從 BOTTOM 開始,可實現(xiàn)高頻 PWM 波形生成,適用于功率調(diào)節(jié)、整流和 DAC 等應(yīng)用。
7.2.2 定時器/計數(shù)器 1(Timer/Counter1)
支持同步和異步兩種時鐘模式,可提供高精度、高分辨率的計時和 PWM 功能。在異步模式下,使用快速外設(shè)時鐘(PCK)作為時鐘源,頻率可達 64MHz(或在低速模式下為 32MHz),可用于需要高速時鐘的應(yīng)用。在 PWM 模式下,與輸出比較寄存器 C(OCR1C)配合,可實現(xiàn)雙 8 位、自由運行且無毛刺的 PWM 輸出。
7.3 通用串行接口(USI)
提供兩線和三線同步數(shù)據(jù)傳輸功能,可作為主設(shè)備或從設(shè)備使用,支持數(shù)據(jù)接收中斷和從睡眠模式喚醒功能。兩線模式適用于 I2C 總線協(xié)議,三線模式適用于 SPI 協(xié)議。在使用時,可通過設(shè)置 USI 相關(guān)寄存器來配置工作模式、時鐘源和中斷使能等。
7.4 模擬比較器
可比較正引腳 AIN0 和負引腳 AIN1 上的輸入電壓,輸出結(jié)果可觸發(fā)獨立的中斷。可選擇在比較器輸出上升、下降或翻轉(zhuǎn)時觸發(fā)中斷,還可通過 ADC 多路復(fù)用器選擇不同的負輸入。在一些需要對模擬信號進行比較的應(yīng)用中,可利用該功能實現(xiàn)信號的判別和處理。
7.5 模數(shù)轉(zhuǎn)換器(ADC)
具有 10 位分辨率、多種輸入通道和可選增益,支持單端和差分輸入模式,可選擇不同的電壓參考源。轉(zhuǎn)換時間為 65 - 260μs,最大分辨率下采樣率可達 15kSPS,還可通過自動觸發(fā)功能實現(xiàn)固定間隔的轉(zhuǎn)換。在使用 ADC 時,要注意選擇合適的輸入通道、電壓參考源和預(yù)分頻設(shè)置,以確保轉(zhuǎn)換精度和速度。例如,在對溫度進行測量時,可選擇合適的通道和參考源,利用 ADC 測量溫度傳感器的輸出電壓,并通過校準公式計算出準確的溫度值。
八、調(diào)試與編程
8.1 debugWIRE 片上調(diào)試系統(tǒng)
使用單線雙向接口控制程序流程、執(zhí)行 AVR 指令和編程非易失性存儲器。激活 debugWIRE 后,RESET 端口引腳作為通信網(wǎng)關(guān),使用時要注意一些設(shè)計要求,如 RESET 線上的上拉電阻范圍、避免直接連接 (V_{CC}) 以及斷開 RESET 引腳的電容器和外部復(fù)位源等。在調(diào)試過程中,可利用軟件斷點對程序進行調(diào)試,但要注意頻繁更改斷點會影響閃存數(shù)據(jù)保留,調(diào)試用的設(shè)備不應(yīng)交付給最終客戶。
8.2 自編程閃存
該器件提供自編程機制,可通過 MCU 本身下載和上傳程序代碼,以頁為單位更新程序存儲器,在編程前需先擦除頁面,可選擇在擦除前或擦除后填充臨時頁面緩沖區(qū)。在進行自編程時,要注意地址的設(shè)置和操作的順序,避免出現(xiàn)編程錯誤。
九、存儲器編程
9.1 鎖定位和熔絲字節(jié)
提供兩個鎖定位和三個熔絲字節(jié),可用于設(shè)置存儲器的安全保護和配置器件的功能特性。鎖定位可限制閃存和 EEPROM 的進一步編程和驗證,熔絲位可控制時鐘源、復(fù)位功能、調(diào)試功能、看門狗定時器等。在編程時,要注意熔絲位的配置順序和編程方法,以及鎖定位對熔絲位的鎖定影響。
9.2 編程方法
支持串行下載和高壓串行編程兩種方法。串行下載使用 SPI 總線,在 RESET 拉低時進行編程;高壓串行編程需將器件置于高壓串行編程模式,按特定順序進行編程操作。在編程過程中,要注意時鐘信號的要求和編程指令的順序,確保編程的準確性和可靠性。
十、電氣特性與典型特性
10.1 電氣特性
涵蓋絕對最大額定值、DC 特性、外部時鐘驅(qū)動特性、ADC 特性和校準 RC 振蕩器精度等參數(shù)。了解這些電氣特性有助于在設(shè)計電路時確保器件的正常工作,避免超出其額定范圍而損壞器件。例如,在設(shè)計電源電路時,要確保電源電壓在器件的工作電壓范圍內(nèi);在設(shè)計時鐘電路時,要滿足外部時鐘驅(qū)動的頻率、占空比和上升/下降時間等要求。
10.2 典型特性
包含有源供電電流、空閑供電電流、掉電供電電流、引腳拉電流、引腳驅(qū)動強度、引腳閾值和滯后、BOD 閾值和模擬比較器偏移、內(nèi)部振蕩器速度、外設(shè)單元電流消耗、復(fù)位時的電流消耗和復(fù)位脈沖寬度、模數(shù)轉(zhuǎn)換器特性等典型曲線和數(shù)據(jù)。在進行功耗優(yōu)化和性能評估時,可參考這些典型特性曲線和數(shù)據(jù),合理選擇工作模式和配置參數(shù)。例如,在對功耗要求較高的應(yīng)用中,可根據(jù)不同工作模式下的電流消耗曲線,選擇合適的睡眠模式和關(guān)閉不必要的外設(shè)模塊,以降低功耗。
綜上所述,Atmel ATtiny25/45/85 汽車級 8 位微控制器憑借其豐富的功能、高性能和低功耗特性,為汽車及其他相關(guān)領(lǐng)域的電子設(shè)計提供了強大而可靠的解決方案。作為電子工程師,我們在設(shè)計過程中,要根據(jù)具體應(yīng)用需求,合理選擇和配置該器件的各種功能,充分發(fā)揮其優(yōu)勢,同時注意各種細節(jié)和注意事項,確保設(shè)計的穩(wěn)定性和可靠性。你在使用這款微控制器的過程中遇到過哪些問題呢?歡迎在評論區(qū)交流分享。
-
微控制器
+關(guān)注
關(guān)注
49文章
8616瀏覽量
165255 -
汽車電子
+關(guān)注
關(guān)注
3046文章
9050瀏覽量
173039
發(fā)布評論請先 登錄
Atmel ATtiny25/45/85汽車級8位微控制器的深度剖析
評論