摘要:avr單片機和stm32單片機是目前使用較廣泛的單片機,那么avr單片機和stm32單片機有什么區別呢?有什么優劣勢呢?
一、AVR單片機介紹
AVR單片機是1997年由ATMEL公司研發出的增強型內置Flash的RISC(Reduced Instruction Set CPU) 精簡指令集高速8位單片機。可以廣泛應用于計算機外部設備、工業實時控制、儀器儀表、通訊設備、家用電器等各個領域。
avr單片機特點:
1. avr系列沒有類似累加器A的結構,它主要是通過R16~R31寄存器來實現A的功能。在avr中,沒有像51系列的數據指針DPTR,而是由X(由 R26、R27組成)、Y(由R28、R29組成)、Z(由R30、R31組成)三個16位的寄存器來完成數據指針的功能(相當于有三組DPTR),而且 還能作后增量或先減量等的運行,而在51系列中,所有的邏輯運算都必須在A中進行;而avr卻可以在任兩個寄存器之間進行,省去了在A中的來回折騰,這些 都比51系列出色些
2. avr的專用寄存器集中在00~3F地址區間,無需像pic那樣得先進行選存儲體的過程,使用起來比pic方便。avr的片內RAM的地址區間為 0~00DF(AT90S2313) 和0060~025F(AT90S8515、AT90S8535),它們占用的是數據空間的地址,這些片內RAM僅僅是用來存儲數據的,通常不具備通用寄 存器的功能。當程序復雜時,通用寄存器R0~R31就顯得不夠用;而51系列的通用寄存器多達128個(為avr的4倍),編程時就不會有這種感覺。
3. avr的I/O腳類似pic,它也有用來控制輸入或輸出的方向寄存器,在輸出狀態下,高電平輸出的電流在10mA左右,低電平吸入電流20mA。這點雖不如pic,但比51系列還是要優秀。
AVR單片機優點:
AVR單片機是Atmel公司推出的較為新穎的單片機,其顯著的特點為高性能、高速度、低功耗。它取消機器周期,以時鐘周期為指令周期,實行流水作 業。AVR單片機指令以字為單位,且大部分指令都為單周期指令。而單周期既可執行本指令功能,同時完成下一條指令的讀取。通常時鐘頻率用4~8MHz,故 最短指令執行時間為250~125ns。
avr單片機缺點:
1. 是沒有位操作,都是以字節形式來控制和判斷相關寄存器位的
2. C語言與51的C語言在寫法上存在很大的差異,這讓從開始學習51單片機的朋友很不習慣
3. 通用寄存器一共32個(R0~R31),前16個寄存器(R0~R15)都不能直接與立即數打交道,因而通用性有所下降。而在51系列中,它所有的通用寄存器(地址00~7FH)均可以直接與立即數打交道,顯然要優于前者。
最多的器件:ATUC64L3U、ATxmega64A1U、AT90S8515
每種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大部分型號的性價比較高,性價比表現突出的型號有:atmega48、atmega8、atmega16、atmega169P。
供貨方面:通用型號的AVR供貨較為穩定,非常規型號的AVR樣品及供貨仍存在問題。
市場占有率:AVR的市場占有率還是不如PIC與51,但AVR的優點使得AVR的市場占有一直在擴展,AVR的年用量也一直在上漲。
應用區域
AVR已被廣泛用于:
空調控制板
打印機控制板
智能電表
智能手電筒
LED控制屏
醫療設備
GPS
avr單片機典型應用電路圖
avr單片機最常用的是5V與3.3V兩種電壓。本線路以開關切換兩種電壓,并且以雙色二極管指示(5V時為綠燈,3.3V時為紅燈)。JP3輸入電壓為7.5v—9v。
串口使用一個max232芯片。
使用跳線JMP2—1,不使用串口時,請將其斷開,防止串口電路對IO口的干擾。
VCC與R2out之間接串上一個電阻R2和一個發光二極管LED1,特別說明,只有當此二極管閃的時候才說明串口在工作,直接接上的時候,此發光二極管也可能會亮。
為減小AD轉換的電源干擾,Mega16芯片有獨立的AD電源供電。官方文檔推薦在VCC串上一只10uH的電感(L1),然后接一只0.1uF的電容到地(C3)。
Mega16內帶2.56V標準參考電壓。也可以從外面輸入參考電壓,比如在外面使用TL431($0.0625)基準電壓源。不過一般的應用使用內部自帶的參考電壓已經足夠。習慣上在AREF腳接一只0.1uF的電容到地(C4)。
Mega16已經內置RC振蕩線路,可以產生1M、2M、4M、8M的振蕩頻率。不過,內置的畢竟是RC振蕩,在一些要求較高的場合,比如要與RS232($780.5000)通信需要比較精確的波特率時,建議使用外部的晶振線路。
早期的90S系列,晶振兩端均需要接22pF左右的電容。Mega系列實際使用時,這兩只小電容不接也能正常工作。不過為了線路的規范化,我們仍建議接上。
二、stm32單片機介紹
由ST廠商推出的stm32系列單片機,行業的朋友都知道,這是一款性價比超高的系列單片機,應該沒有之一,功能及其強大。其基于專為要求高性能、低成 本、低功耗的嵌入式應用專門設計的ARM Cortex-M內核,同時具有一流的外設:1μs的雙12位ADC,4兆位/秒的UART,18兆位/秒的SPI等等,在功耗和集成度方面也有不俗的表 現,當然和MSP430的功耗比起來是稍微遜色的一些,但這并不影響工程師們對它的熱捧程度,由于其簡單的結構和易用的工具再配合其強大的功能在行業中赫赫有名。
特性:
1.內核:ARM32位Cortex-M3CPU,最高工作頻率72MHz,1.25DMIPS/MHz,單周期乘法和硬件除法
2.存儲器:片上集成32-512KB的Flash存儲器。6-64KB的SRAM存儲器
3.時鐘、復位和電源管理:2.0-3.6V的電源供電和I/O接口的驅動電壓。POR、PDR和可編程的電壓探測器(PVD)。4-16MHz的晶 振。內嵌出廠前調校的8MHz RC振蕩電路。內部40 kHz的RC振蕩電路。用于CPU時鐘的PLL。帶校準用于RTC的32kHz的晶振
4、調試模式:串行調試(SWD)和JTAG接口。最多高達112個的快速I/O端口、最多多達11個定時器、最多多達13個通信接口
使用最多的器件:stm32F103系列、stm32 L1系列、stm32W系列
stm32單片機優點:
除新增的功能強化型外設接口外,STM32互連系列還提供與其它STM32微控制器相同的標準接口,這種外設共用性提升了整個產品家族的應用靈活性,使開發人員可以在多個設計中重復使用同一個軟件。新STM32的標準外設包括10個定時器、兩個12位1-Msample/s 模數轉換器 (交錯模式下2-Msample/s)、兩個12位數模轉換器、兩個I2C接口、五個USART接口和三個SPI端口。新產品外設共有12條DMA通道,還有一個CRC計算單元,像其它STM32微控制器一樣,支持96位唯一標識碼。
新系列微控制器還沿續了STM32產品家族的低電壓和節能兩大優點。2.0V到3.6V的工作電壓范圍兼容主流的電池技術,如鋰電池和鎳氫電池,封裝還設有一個電池工作模式專用引腳Vbat。以72MHz頻率從閃存執行代碼,僅消耗 27mA電流。低功耗模式共有四種,可將電流消耗降至兩微安。從低功耗模式快速啟動也同樣節省電能;啟動電路使用STM32內部生成的8MHz信號,將微控制器從停止模式喚醒用時小于6微秒。
STM32由于有各種外設 操作起來簡單,可以處理模擬以及數字信號,適用于設計的控制電路
stm32缺點:
STM32是跑指令的,適合跑算法,但是針對多路的信號處理就需要很多片DSP來并行處理。
三、stm32與pic、avr單片機的對比分析
下表格對avr、pic和STM32這三種系列的單片機進行比較,對象都選擇各個系列的64腳封裝的芯片,其中Mega128和pic18F6680均為其所在系列中高端芯片。通過表格可以看出不管在處理速度,外圍設備還是價格上,STM32都具有非常大的優勢,唯一不足之處就是stm32暫時還未集成內部EEPROM,但可以使用Flash的IAP功能來替代,在可靠性上應該更高點。
在使用C語言編程方面,pic的體系結構是最不適合的,且編譯軟件無法與GCC,keilc相比。
在抗干擾方面,主要還是和開發者的水平有關,而一定要說哪種單片機的抗干擾強,哪種弱,其實標準不一樣,結果也不一樣。人們普遍認為pic的抗干擾很強,但那是C系列,現在集成內部Flash的F系列要差許多,特別是早期出廠的幾批。avr系列單片機普遍被認為抗干擾性能是比較差的,曾經有人列出了一個表格,使用日本的測試方法,結果是avr排在了最后,其實對于一般的應用也沒什么問題。STM32是由著名的ST公司生產的,該公司一直致力于電機控制芯片的研發生產,而且做的很出色,我想抗干擾應該沒什么問題,至少不會比前兩種差。
推薦閱讀:avr單片機c語言編程風格介紹
評論
查看更多