自動化需求
使用電阻器,電容器,晶體管和運算放大器的構建電路只能發展至此,因為它們通常是模擬電路。即使使用分立邏輯芯片構建的數字電路也會很快變得過大和復雜!在過去,離散邏輯芯片之后的下一步是構建具有CPU,內存和IO設備的定制計算機。然而,這樣的壯舉不應該輕易嘗試,因為它們通常很容易出錯!值得慶幸的是,Microchip,Intel和Atmel等多家制造商發明了一種稱為微處理器的設備。但什么是微處理器以及它們如何在項目中使用?
圖1.一個簡單的Z80微型計算機的例子。
進入微處理器
微處理器是單一的包含CPU,內存(RAM和ROM)和IO硬件的芯片。這種芯片通常包含許多輸入和輸出引腳,允許您將它們連接到許多不同類型的電路,包括模擬和數字電路。與臺式計算機不同,大多數微處理器功能不多,內存有限,但在項目中非常小巧且易于實現。
圖2.許多微控制器都有DIP-8封裝。
下表顯示了針對常見微控制器的計算機的典型特征(例如PIC范圍)。
微控制器類型
業余愛好者和制造商最常用的類型有哪些。
PIC - Microchip
PIC單片機可能是最實用的芯片之一,具有個人和商業功能。這些器件使用5到6個引腳,可以使用微芯片提供的眾多編程器之一進行編程。最容易使用的是PICKIT3,它是一個程序員,允許您使用PC對微控制器進行編程和調試。 PICKIT3可以為您的項目提供電源(雖然數量很少),這有時非常有用。
PIC微控制器有各種形狀和尺寸,從愛好友好的DIP封裝到所有通向BGA,這使它們在商業環境中有用。最便宜的PIC可以0.20美元購買,但仍然提供許多有用的功能。即使是最便宜的設備,您可以期待的一些外圍設備包括。。.。。.
I2C和SPI
引腳中斷
PIC有不同的范圍:PIC16,PIC18,PIC24和PIC32。 PIC16和PIC18都是8位微控制器,這意味著內部的所有數據(寄存器和RAM)都是8位寬。 PIC24器件是16位器件,而PIC32器件是32位器件。上升范圍通常意味著更多的功能,速度和記憶,但不一定是價格上漲。如果您希望從事業余愛好工作或簡單項目,請堅持使用PIC16/PIC18系列,因為它們相對易于在匯編器和C語言中進行編程。由于兩個原因,PIC24和PIC32系列編程可能更加困難。首先,它們使用不同的CPU(MIPS),這意味著它們與其他PIC器件具有完全不同的指令集,其次,它們包含更高級的硬件,如果您不熟悉微控制器,這可能會令人不安。
AVR - Atmel(現在是Microchip)
AVR系列微控制器非常有趣,因為從表面上看,它們是與Microchip PIC系列非常相似。兩個控制器都有很棒的在線支持,可以用于像C這樣的語言,價格便宜,并且有很多外圍設備。但是,有一個功能可以區分兩者,這通常不會給予足夠的重視:CPU。
PIC CPU是基于RISC的,這意味著它們只有一些指令( PIC16范圍有大約30-40條指令)。這對于基本任務是有益的,因為它降低了代碼的復雜性。 AVR將自己稱為基于RISC的CPU,但ATMEGA328等設備有100多條指令。雖然有些人可能認為這很難學,但實際上它給程序員帶來了很大的力量,能夠在更短的時間內完成更復雜的任務。 AVR CPU也可以在一個時鐘周期內完成大部分指令,而不是PIC的四個指令,這意味著當以相同的速度運行時,AVR比PIC快四倍。 AVR CPU也沒有用于寄存器的存儲區切換,這在PIC器件中很難解決。 AVR缺乏的一個因素是它們的許多指令都在通用寄存器上工作,它們只有32個。這意味著如果正在處理大量數據,可能需要不斷地從SRAM加載數據。然而,PIC在執行操作時可以完全訪問其SRAM,但其SRAM通常被分成256字節的塊,這是存儲體切換的地方。
常見的AVR設備包括:
tinyAVR(非常小的設備,外圍設備有限但價格便宜且緊湊)
megaAVR(4-256KB程序存儲器,擴展指令)
XMEGA(大程序存儲器,DMA,大引腳封裝)
ST微控制器
ST微控制器系列提供AVR和PIC器件中的許多功能,包括外設,速度和存儲器。 PIC和AVR是業余愛好電子領域中最常見的兩種器件,但這并不意味著ST器件不適用。就像PIC系列一樣,ST設備有兩個不同的系列:STM8和STM32。 STM8器件是8位微控制器,具有許多功能,包括多達80個CPU指令,16位寄存器,間接尋址,堆棧和16位除法。但是,一些STM8器件具有流水線指令,這允許更高的吞吐量(假設沒有條件分支)。 STM32設備可以說比PIC和AVR設備更現代,因為它們使用ARM皮層內核,可以將它們打開到許多不同的軟件庫和編譯器。
STM8和STM32設備可以通過ST-Link輕松編程V2程序員,可低至4美元。 STM設備的一個主要缺點是它們的包裝;它們很少出現在愛好友好的DIP包裝中。這使得它們難以在不使用適配器和跳線的情況下集成到項目中。然而,由于它們的價格和表面貼裝封裝,它們在商業環境中非常有用,這就是它們在零售產品中常見的原因。這一優勢不僅體現在STM8器件中,STM32器件的售價僅為5美元,包含120MHz ARM內核,512KB ROM,128KB RAM,144引腳,CAN,I2C,SPI,UART和USB。雖然單個項目的5美元可能聽起來很多,但考慮到這個價格你基本上只有一臺具有令人難以置信的處理能力的ARM計算機!
我們將看到的最后一個微控制器是Arduino系列。 Arduino因其低成本,用戶友好性和外圍功能而在業余愛好社區中大受歡迎。事實證明,Arduino基于Atmega設備,使用ATMEGA328的一個更常見的板。因此,如果Arduino使用Atmel器件,為什么不單獨使用Atmel芯片呢?您可以在一個芯片上使用一個原因有幾個原因!
包含一個引導加載程序,因此可以通過USB進行編程端口
具有出色的軟件支持,并且有許多在線示例
無需外部硬件即可運行(僅限電源)
可以在項目中輕松使用(螺絲安裝座)
Arduino比芯片本身,但他們提供的東西非常適合那些剛接觸電子產品并且可能很難在面包板上使用IC的人。 Arduino通常使用Arduino IDE在C ++中編程,除非用戶決定自己編程寄存器并進行可能會破壞Arduino庫的調整,否則用戶可以減少控制。它們是快速原型設計的絕佳設備,但它們通常在商業環境中受損。
結論
市場上充斥著許多不同的設備,追蹤它們可能會很痛苦。有些很好用匯編程序編程,而有些很容易在電路中使用。但問題仍然存在,你應該選擇哪種設備?這完全取決于您,但這里有一些建議,具體取決于您的具體情況:
對于商業環境,請避免使用Arduino。 ST器件可能更適合,但PIC和AVR仍然是很好的微控制器。
如果速度很關鍵,請查看AVR/ST器件。盡管PIC具有高時鐘速度,但除非超出PIC18范圍,否則它們通常難以超過16MIPS。
如果需要簡單,則使用Arduino。如果要在商業上銷售該項目并且需要簡單,那么PIC可能很有用。
對于需要復雜操作和時間的,AVR設備對于復雜的指令可能非常有用設置(盡管他們說的是什么)。
對于高端工作,應考慮到STM32設備的ARM內核和大內存空間。
-
微控制器
+關注
關注
48文章
7906瀏覽量
153702
發布評論請先 登錄
家用電器開發中微控制器的選型要點

FPGA 與微控制器優缺點比較
PID控制器的類型和選擇指南
什么是電機控制器?具體有哪些應用類型?
電機控制器原理是什么?類型有哪些?
嵌入式系統中微控制器與微處理器的區別

ESP32 微控制器系列指南


評論