avr單片機和stm32區別與優缺點分析

2020-11-26 電子發燒友

  摘要: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語言編程風格介紹

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 淺談avr和arm的區別
    1997年,由Atmel公司挪威設計中心的A先生和V先生,利用Atmel公司的Flash新技術,共同研發出RISC精簡指令集高速8位單片機,簡稱AVR。   特點   高可靠性、功能強、高速度、低功耗和低價位,一直是衡量單片機性能的重要指標,也是單片機佔領市場、賴以生存的必要條件。
  • 怎麼學習STM32單片機?看老司機是怎麼說的!
    本文引用地址:http://www.eepw.com.cn/article/201705/359058.htm  我不是說STM32不好,而是這種為了學習單片機而去學習單片機的思路不對。  你問,如何系統地入門學習stm32?  本身就是一個錯誤的問題。
  • 用ULN2003驅動24BYJ48步進電機時,怎麼接stm32單片機比較好?
    stm32單片機是一種高性能、低成本、低功耗的單片機,可以說很多應用場合都會用到,特別是對於大型系統,像電源、充電樁、交互機、電機驅動、PLC、逆變器、印表機、掃描儀、警報系統、視頻電話、 HVAC 等。那麼對於如何用STM32驅動步進電機呢?
  • 為什麼很多單片機的工作電壓是5v?
    12V和24V來自於汽車電瓶,早年乘用車又12V和24V兩個系統,現在一般小型車12V,商用車24V,再究其由來應該是鉛酸電池。 所以3v3和5v一般出現在信號電路或者單片機等vcc供電,而12v/24v一般出現在低壓動力電,例如主板、顯卡、軸流風機、監控器。硬體決定系統基礎,如果鋰電池早點應用的話估計還會有3.7/7.4這個系統。
  • 一文看懂STC單片機冷啟動和復位有什麼區別
    打開APP 一文看懂STC單片機冷啟動和復位有什麼區別 發表於 2018-04-03 09:13:22 還支持ISP下載,不用編程器,只要一個MAX232和一些廉價的元件就能寫程序,可擦寫10萬次。因此是一款很好用的單片機。
  • STC單片機的種類與區別介紹
    最近有太多的人不明白「單片機系列」的問題了。也就是說,很多人都在問STC12C2052和STC12C4052兩個型號有什麼區別。
  • 你知道嗎,為什麼很多單片機的工作電壓是5V?
    12V和24V來自於汽車電瓶,早年乘用車又12V和24V兩個系統,現在一般小型車12V,商用車24V,再究其由來應該是鉛酸電池。 所以3v3和5v一般出現在信號電路或者單片機等vcc供電,而12v/24v一般出現在低壓動力電,例如主板、顯卡、軸流風機、監控器。 硬體決定系統基礎,如果鋰電池早點應用的話估計還會有3.7/7.4這個系統。
  • 常用單片機優缺點詳細剖析
    ,參差不齊~~同時湧現出一大批擁有代表性單片機的廠商:Atmel、TI、ST、MicroChip、ARM…國內的宏晶STC單片機也是可圈可點…下面為大家帶來51、MSP430、TMS、STM32、PIC、AVR、STC單片機之間的優缺點比較及功能體現……51單片機應用最廣泛的8位單片機當然也是初學者們最容易上手學習的單片機,最早由Intel
  • AVR單片機的優勢特徵及未來發展展望
    可以說,二十世紀跨越了三個「電」的時代,即電氣時代、電子時代和現已進入的電腦時代。不過,這種電腦,通常是指個人計算機,簡稱PC機。它由主機、鍵盤、顯示器等組成。還有一類計算機,大多數人卻不怎麼熟悉。這種計算機就是把智能賦予各種機械的單片機(亦稱微控制器)。顧名思義,這種計算機的最小系統只用了一片集成電路,即可進行簡單運算和控制。因為它體積小,通常都藏在被控機械的「肚子」裡。
  • 基於Proteus和AVR單片機的無刷直流電機控制系統仿真
    本文引用地址:http://www.eepw.com.cn/article/201610/307857.htm關鍵詞:Proteus;AVR單片機;無刷直流電機;仿真;控制系統永磁無刷直流電動機不使用電刷和換向器組成的機械換向機構而是使用電子的直流電動機。
  • AVR單片機微秒級和毫秒級延時函數
    在用單片機IO口模擬總線時序時老是碰到問題,自己總結了一下大多數是因為我們的延時不準確造成的,所以自己調了兩個延時函數>,我板子上用的是AT Mega128的單片機和16MHz的晶振,用示波器看了這兩個函數產生的波形還挺準確的,希望大家能用得上 ^_^本文引用地址:http://www.eepw.com.cn/article/201611/321603.htm//16MHz晶振
  • 13個基於STM32的經典項目設計實例,全套資料~
    STM32單片機現已火遍大江南北,各種教程資料也是遍布各大網站論壇,可謂一抓一大把,但大部分都差不多。尤其對於新手,是一個學習stm32單片機的“活生生”的範例。本文引用地址:http://www.eepw.com.cn/article/201706/346863.htm1.
  • RC振蕩器和晶體振蕩器的優缺點和電路圖分析
    打開APP RC振蕩器和晶體振蕩器的優缺點和電路圖分析 周碧俊 發表於 2018-08-06 17:02:19 今天我們介紹的是振蕩器中比較常見的兩種,RC振蕩器和晶體振蕩器 RC振蕩器和晶振 RC振蕩器: 在振蕩電路中的頻率選擇部分可以只用電阻和電容構成。 這種只用電阻和電容構成的振蕩器稱為RC振蕩器 。 晶振: 只要在晶體板極上施加交變電壓,就會使晶片產生機械變形振動,此現象即所謂逆壓電效應。
  • 基於AVR單片機的LED照明燈控制系統設計
    當紅外接收器接收到紅外遙控信號時,通過外部中斷將AVR單片機從休眠模式中喚醒;AVR單片機開始解析紅外信號,如果與系統地址匹配,則將根據解析到的命令改變LED恆流源驅動的輸入,從而改變LED燈的狀態。     2 系統硬體設計  2.1 控制器  控制器採用AVR單片機ATmega8
  • stm32單片機中使用GPIO口模擬PWM輸出解析
    兩個系列都內置32K到128K的快閃記憶體,不同的是SRAM的最大容量和外設接口的組合。時鐘頻率72MHz時,從快閃記憶體執行代碼,STM32功耗36mA,相當於0.5mA/MHz。當微控制器或晶片組沒有足夠的I/O埠,或當系統需要採用遠端串行通信或控制時,GPIO產品能夠提供額外的控制和監視功能。   分類:硬體/嵌入開發驅動開發/核心開發   每個GPIO埠可通過軟體分別配置成輸入或輸出。Maxim的GPIO產品線包括8埠至28埠的GPIO,提供推挽式輸出或漏極開路輸出。提供微型3mm x 3mm QFN封裝。
  • stm32編碼器的接口模式
    371電機中的碼盤就是這樣的,他是334線碼盤,具有較高的測速精度,也就是電機轉一圈輸出334個脈衝,晶片上已集成了脈衝整形觸發電路,輸出的是矩形波,直接接單片機IO就OK。             增量式旋轉編碼器通過內部兩個光敏接受管轉化其角度碼盤的時序和相位關係,得到其角度碼盤角度位移量增加(正方向)或減少(負方向)。
  • 用STM32做一個微型掌上示波器項目——終於鼓起在大牛前獻醜的無比...
    這是我第一次在這個論壇上發表東西,其實本人進入晶片的世界的時間並不長,從接觸51單片機到現在還不到一年,所以可以算是小白啦~想了很久,總算拿出在論壇大牛前獻醜的無比勇氣,寫起該帖:dizzy::dizzy:。因為製作時間很短,元器件不是很夠用,所以只能做出這個只有初級功能的示波器了,只是菜鳥級程序,不建議大家做學習之用。
  • 2.4G和5G WiFi的優缺點分析
    打開APP 2.4G和5G WiFi的優缺點分析 5G站長 發表於 2020-10-17 11:46:35 一個WiFi信號是傳統的2.4G,另外一個名稱後面會多了一個5G標識,而今天裝機之家來分享一下Wifi 2.4G與5G區別科普。 無線路由器基礎知識 Wifi 5G網絡什麼意思? 傳統的無線路由器只有一個2.4G頻段的WIFI信號,而雙頻路由器除了有一個2.4G頻段的WIFI信號,還有一個5G頻段的WiFi信號。
  • AVR單片機IO口結構和上拉和下拉電阻的作用
    為搞清IO結構,首先看看上拉和下拉電阻的作用。最小輸入高電平和低電平:輸入高電平>=2.0V,輸入低電平<=0.8V,噪聲容限是 0.4V。 2,CMOS電平: 1邏輯電平電壓接近於電源電壓,0邏輯電平接近於0V。而且具有很寬的噪聲容限。),此時需用上拉電阻來提升輸出高電平的電壓值 。  2、OC門必須外加上拉電阻,才能使用。(OC門:三極體的叫集電極開路,場效應管的叫漏極開路,簡稱開漏輸出。
  • 用單片機和CPLD實現步進電機的控制
    單片機可以專注於處理輸入信號與輸出信息之間的轉換等複雜的算法.不必佔用過多的CPU資源去直接控制電機,也減小了由此引入幹擾的可能性;CPLD只需把單片機傳送過來的信息轉換成電機的控制信號。這樣就發揮了單片機和CPLD兩者的優點。