複製鏈接
請複製以下鏈接發送給好友

Atmega16

鎖定
ATmega16是基於增強的AVR RISC結構的低功耗8 位CMOS微控制器。由於其先進的指令集以及單時鐘週期指令執行時間,ATmega16 的數據吞吐率高達1 MIPS/MHz,從而可以減緩系統在功耗和處理速度之間的矛盾。
中文名
Atmega16
本    質
CMOS微控制器
數據吞吐率
1 MIPS/MHz
I/O 口線
32個
定時器計數器
三個
工作寄存器
32個

Atmega16程序簡介

ATmega16 AVR 內核具有豐富的指令集和32 個通用工作寄存器。所有的寄存器都直接與運算邏單元(ALU) 相連接,使得一條指令可以在一個時鐘週期內同時訪問兩個獨立的寄存器。這種結構大大提高了代碼效率,並且具有比普通的CISC 微控制器最高至10 倍的數據吞吐率
ATmega16 有如下特點:16K字節的系統內可編程Flash(具有同時讀寫的能力,即RWW),512 字節EEPROM,1K 字節SRAM,32 個通用I/O 口線,32 個通用工作寄存器,用於邊界掃描的JTAG 接口,支持片內調試與編程,三個具有比較模式的靈活的定時器/ 計數器(T/C),片內/外中斷,可編程串行USART,有起始條件檢測器的通用串行接口,8路10位具有可選差分輸入級可編程增益(TQFP 封裝) 的ADC ,具有片內振盪器的可編程看門狗定時器,一個SPI 串行端口,以及六個可以通過軟件進行選擇的省電模式。
工作於空閒模式時CPU 停止工作,而USART、兩線接口、A/D 轉換器、SRAM、T/C、SPI 端口以及中斷系統繼續工作;掉電模式時晶體振盪器停止振盪,所有功能除了中斷和硬件復位之外都停止工作;在省電模式下,異步定時器繼續運行,允許用户保持一個時間基準,而其餘功能模塊處於休眠狀態; ADC 噪聲抑制模式時終止CPU 和除了異步定時器與ADC 以外所有I/O 模塊的工作,以降低ADC 轉換時的開關噪聲; Standby 模式下只有晶體或諧振振盪器運行,其餘功能模塊處於休眠狀態,使得器件只消耗極少的電流,同時具有快速啓動能力;擴展Standby 模式下則允許振盪器和異步定時器繼續工作。
本芯片是以Atmel 高密度非易失性存儲器技術生產的。片內ISP Flash 允許程序存儲器通過ISP 串行接口,或者通用編程器進行編程,也可以通過運行於AVR 內核之中的引導程序進行編程。引導程序可以使用任意接口將應用程序下載到應用Flash存儲區(ApplicationFlash Memory)。在更新應用Flash存儲區時引導Flash區(Boot Flash Memory)的程序繼續運行,實現了RWW 操作。 通過將8 位RISC CPU 與系統內可編程的Flash 集成在一個芯片內, ATmega16 成為一個功能強大的單片機,為許多嵌入式控制應用提供了靈活而低成本的解決方案。
ATmega16 具有一整套的編程與系統開發工具,包括:C 語言 編譯器、宏彙編、 程序調試器/ 軟件仿真器、仿真器及評估板。

Atmega16產品特性

u 高性能、低功耗的8位AVR微處理器
l 先進的RISC 結構
l 131條指令
l 大多數指令執行時間為單個時鐘週期
l 32個8位通用工作寄存器
l 全靜態工作
l 工作於16MHz時性能高達16MIPS
l 只需兩個時鐘週期的硬件乘法器
l 非易失性程序和數據存儲器
l 16K 字節的系統內可編程Flash,擦寫壽命: 10,000次
l 具有獨立鎖定位的可選Boot代碼區,通過片上Boot程序實現系統內編程,真正的同時讀寫操作
l 512 字節的EEPROM,擦寫壽命: 100,000次
l 1K字節的片內SRAM
l 可以對鎖定位進行編程以實現用户程序的加密
l JTAG 接口( 與IEEE 1149.1 標準兼容)
l 符合JTAG 標準的邊界掃描功能
l 支持擴展的片內調試功能
l 通過JTAG 接口實現對Flash、EEPROM、熔絲位和鎖定位的編程

Atmega16外設特點

u 兩個具有獨立預分頻器和比較器功能的8位定時器/計數器
l 一個具有預分頻器、比較功能和捕捉功能的16位定時器/計數器
l 具有獨立振盪器的實時計數器RTC
l 四通道PWM
l 8路10位ADC,8個單端通道,2個具有可編程增益(1x, 10x, 或200x)的差分通道
l 面向字節的兩線接口
l 兩個可編程的串行USART
l 可工作於主機/ 從機模式的SPI 串行接口
l 具有獨立片內振盪器的可編程看門狗定時器
u 特殊的處理器特點
l 上電覆位以及可編程的掉電檢測
l 片內經過標定的RC振盪器
l 片內/片外中斷源
l 6種睡眠模式: 空閒模式、ADC 噪聲抑制模式、省電模式、掉電模式、Standby 模式以及擴展的Standby模式  u I/O和封裝
l 32個可編程的I/O口
l 40引腳PDIP封裝, 44引腳TQFP封裝, 與44引腳MLF封裝
u 工作電壓
:
l ATmega16L:2.7 - 5.5V
l ATmega16:4.5 - 5.5V
u 速度等級
l 8MHz ATmega16L
l 0-16MHz ATmega16
u ATmega16L在1MHz, 3V, 25°C時的功耗
l 正常模式: 1.1 mA
l 空閒模式: 0.35 mA
l 掉電模式: < 1 μA

Atmega16引腳功能

引腳名稱引腳功能説明
VCC 電源正
端口A(PA7..PA0)
ATmega引腳圖 ATmega引腳圖 [1]
端口A 做為A/D 轉換器的模擬輸入端。端口A 為8 位雙向I/O 口,具有可編程的內部上拉電阻。其輸出緩衝器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,端口被外部電路拉低時將輸出電流。在復位過程中,即使系統時鐘還未起振,端口A 處於高阻狀態
端口B(PB7..PB0)
端口B 為8 位雙向I/O 口,具有可編程的內部上拉電阻。其輸出緩衝器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,端口被外部電路拉低時將輸出電流。在復位過程中,即使系統時鐘還未起振,端口B 處於高阻狀態。
端口B 也可以用做其他不同的特殊功能.
端口C(PC7..PC0)
端口C 為8 位雙向I/O 口,具有可編程的內部上拉電阻。其輸出緩衝器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,端口被外部電路拉低時將輸出電流。在復位過程中,即使系統時鐘還未起振,端口C 處於高阻狀態。如果JTAG接口使能,即使復位出現引腳 PC5(TDI)、 PC3(TMS)與 PC2(TCK)的上拉電阻被激活。端口C 也可以用做其他不同的特殊功能.
端口D(PD7..PD0)
端口D 為8 位雙向I/O 口,具有可編程的內部上拉電阻。其輸出緩衝器具有對稱的驅動特性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,則端口被外部電路拉低時將輸出電流。在復位過程中,即使系統時鐘還未起振,端口D 處於高阻狀態。端口D 也可以用做其他不同的特殊功能.
RESET 復位輸入引腳。持續時間超過最小門限時間的低電平將引起系統復位。門限時間見P36Table 15。持續時間小於門限間的脈衝不能保證可靠復位。
XTAL1
反向振盪放大器與片內時鐘操作電路的輸入端。
XTAL2
反向振盪放大器的輸出端。
AVCC
AVCC是端口A與A/D轉換器的電源。不使用ADC時,該引腳應直接與VCC連接。使用ADC時應通過一個低通濾波器與VCC 連接。
AREF
A/D 的模擬基準輸入引腳
ATmega16 內核介紹
右邊為AVR 結構的方框圖
ATmega16內部框圖 ATmega16內部框圖
為了獲得最高的性能以及並行性, AVR 採用了Harvard 結構,具有獨立的數據和程序總線。程序存儲器裏的指令通過一級流水線運行。CPU 在執行一條指令的同時讀取下一條指令( 在本文稱為預取)。這個概念實現了指令的單時鐘週期運行。程序存儲器是可以在線編程的FLASH。
快速訪問寄存器文件包括32 個8 位通用工作寄存器,訪問時間為一個時鐘週期。從而實現了單時鐘週期的ALU 操作。在典型的ALU 操作中,兩個位於寄存器文件中的操作數同時被訪問,然後執行運算,結果再被送回到寄存器文件。整個過程僅需一個時鐘週期
寄存器文件裏有6 個寄存器可以用作3 個16 位的間接尋址寄存器指針以尋址數據空間,實現高效的地址運算。其中一個指針還可以作為程序存儲器查詢表的地址指針。這些附加的功能寄存器即為16 位的X、Y、Z 寄存器。
ALU支持寄存器之間以及寄存器和常數之間的算術和邏輯運算。ALU也可以執行單寄存器操作。運算完成之後狀態寄存器的內容得到更新以反映操作結果。
程序流程通過有/ 無條件的跳轉指令和調用指令來控制,從而直接尋址整個地址空間。大多數指令長度為16 位,亦即每個程序存儲器地址都包含一條16 位或32 位的指令。
程序存儲器空間分為兩個區:引導程序區(Boot 區) 和應用程序區。這兩個區都有專門的鎖定位以實現讀和讀/ 寫保護。用於寫應用程序區的SPM 指令必須位於引導程序區。
在中斷和調用子程序時返回地址的程序計數器(PC) 保存於堆棧之中。堆棧位於通用數據SRAM,因此其深度僅受限於SRAM 的大小。在復位例程裏用户首先要初始化堆棧指針SP。這個指針位於I/O 空間,可以進行讀寫訪問。數據SRAM 可以通過5 種不同的尋址模式進行訪問。
AVR 存儲器空間為線性的平面結構。
AVR有一個靈活的中斷模塊。控制寄存器位於I/O空間。狀態寄存器裏有全局中斷使能位。每個中斷在中斷向量表裏都有獨立的中斷向量。各個中斷的優先級與其在中斷向量表的位置有關,中斷向量地址越低,優先級越高。  I/O 存儲器空間包含64 個可以直接尋址的地址,作為CPU 外設的控制寄存器、SPI,以及其他I/O 功能。映射到數據空間即為寄存器文件之後的地址0x20 - 0x5F。
AVR單片機的型號標識解析
1. 型號緊跟的字母,表示電壓工作範圍。帶“L”:2.7-5.5V;若缺省,不帶“L”:4.5-5.5V。
例:ATmega48-20AU,不帶“L”表示工作電壓為4.5-5.5V。
2. 後綴的數字部分,表示支持的最高系統時鐘。  例:ATmega48-20AU,“20”表示可支持最高為20MHZ的系統時鐘。
3. 後綴第一(第二)個字母,表示封裝。“P”:DIP封裝,“A”:TQFP封裝,“M”:MLF封裝。  例:ATmega48-20AU,“A”表示TQFP封裝。
4. 後綴最後一個字母,表示應用級別。“C”:商業級,“I”:工業級(有鉛)、“U”工業級(無鉛)。  例:ATmega48-20AU,“U”表示無鉛工業級。ATmega48-20AI,“I”表示有鉛工業級。  AVR 8-Bit MCU的最大特點
與其它8-Bit MCU相比,AVR 8-Bit MCU最大的特點是:
· 哈佛結構,具備1MIPS / MHz的高速運行處理能力;
· 超功能精簡指令集(RISC),具有32個通用工作寄存器,克服瞭如8051 MCU採用單一ACC進行處理造成的瓶頸現象;
· 快速的存取寄存器組、單週期指令系統,大大優化了目標代碼的大小、執行效率,部分型號FLASH非常大,特別適用於使用高級語言進行開發;
· 作輸出時與PIC的HI/LOW相同,可輸出40mA(單一輸出),作輸入時可設置為三態高阻抗輸入或帶上拉電阻輸入,具備10mA-20mA灌電流的能力;
· 片內集成多種頻率的RC振盪器、上電自動復位、看門狗、啓動延時等功能,外圍電路更加簡單,系統更加穩定可靠;
· 大部分AVR片上資源豐富:帶E2PROM,PWM,RTC,SPI,UART,TWI,ISP,AD,Analog Comparator,WDT等;
· 大部分AVR除了有ISP功能外,還有IAP功能,方便升級或銷燬應用程序。
AVR單片機的應用區域
目前,AVR已被廣泛用於:
· 空調控制板
· 打印機控制板
· 智能電錶
· LED控制屏
· 醫療設備
· GPS
從市場角度看AVR單片機
· 性價比:AVR大部分型號的性價比較高,性價比表現突出的型號有:atmega48、atmega8、atmega16、atmega169P
· 供貨方面:通用型號的AVR供貨較為穩定,非常規型號的AVR樣品及供貨仍存在問題。
· 市場佔有率:目前,AVR的市場佔有率還是不如PIC與51,但,AVR的優點使得AVR的市場佔有一直在擴展,AVR的年用量也一直在上漲。
參考資料