嵌入式系統/特定微處理器
外觀
< 嵌入式系統
本模組的嵌入式系統是對嵌入式系統中最流行的微處理器系列的非常簡要的回顧。我們將在接下來的幾個模組中詳細介紹。這些微處理器系列中的每一個都擁有一個專門用於該處理器系列的模組。
我們將討論的微處理器系列是
- 8051 微控制器 8 位
- Atmel AVR 8 位
- Atmel AVR32
- Microchip PIC 微控制器(此係列包括與程式碼相容的 Parallax SX 晶片)8 位
- Microchip dsPIC 微控制器 16 位:評論:Circuit Cellar:“你準備好了 16 位了嗎?看看 Microchip 的 16 位微控制器系列” 由 Jeff Bachiochi 撰寫,2007 年;示例應用:µWatch D-I-Y 開源科學計算器手錶
- 飛思卡爾微控制器
- Zilog Z8 系列(Z8、Z8encore、Z8XP)
- 賽普拉斯 PSoC 微控制器
- 德州儀器 MSP430 微控制器 16 位
- ARM 微處理器(此係列包括飛利浦 LPC210x ARM 微控制器、
已停產的英特爾 w:StrongARM、Atmel AT91RM9200 以及英特爾 XScale 微處理器) - x86 微處理器
對於許多嵌入式系統而言,這些微控制器中的任何一個都綽綽有餘。
- TI MSP430 的功耗最低。在睡眠模式下,0.3 µW = 3 V * 0.1 µA。2xx 和 4xx 系列中的一些晶片包括 12 位 DAC。
- 賽普拉斯 PSoC 具有多個真正的模擬輸出。使用睡眠模式,功耗低至 21 µW = 5 V * 4.2 µA [1]。(您可以透過使用外部 ADC 或使用 PWM 輸出和一些低通濾波來偽造模擬輸出,從其他晶片獲得模擬輸出。)大多數賽普拉斯 PSoC 微控制器都提供 DIP 和 SMT 版本。
- 這些系列中的許多都包括帶有整合 10 位 ADC 的微控制器,但 Atmel AVR 8 位系列(截至 2006 年初)擁有價格最低的包含此類 ADC 的晶片,以及另一款成本/ADC 最低的晶片。大多數 Atmel AVR 8 位微控制器都提供 DIP 和 SMT 版本。
- 如果您需要非常小的晶片,Atmel AVR、PIC、PSoC1 和飛思卡爾微控制器系列都包括微小的 8 引腳 SOIC 微處理器。
- 如果您想要 32 位處理器,現在一些飛利浦 ARM 處理器和飛思卡爾 Coldfire 處理器售價低於 5 美元。(僅提供 LQFP64 ?)。
- 如果您想要 32 位處理器,並且想要一個(相對)易於原型製作的 DIP 封裝,並且希望它目前正在生產中,那麼您的選擇非常有限:[1]
- 32 位 Parallax Propeller (w:Parallax Propeller)
- 32 位 LPC1114FN28/102 ARM 處理器
- 32 位 PIC32MX210F016B-I/SP MIPS 處理器
- 許多人以及一些商用產品在 XScale 微處理器或 Atmel AT91RM9200(ARM 核心)上執行 Linux,無需散熱器或風扇。Linux 也已移植到 Atmel AVR32 AP7 系列 [2](僅提供 208 引腳 VQFP)。Linux 也已移植到飛思卡爾 68k/ColdFire 處理器。我認為 Linux 尚未移植到上面提到的其他任何處理器。
- 如果您經常想要下載並在處理器上執行新程式碼,那麼如果處理器是“普林斯頓體系結構”——能夠在 RAM 中執行指令的處理器——這會使事情變得更輕鬆,例如 MSP430 或 ARM 處理器或 PIC32 MIPS 處理器或 Parallax Propeller 或飛思卡爾 RS08 或 M·CORE。在“哈佛體系結構”上下載和執行新程式碼更困難(但正如 Arduino 所證明的,並非不可能),這種體系結構無法在 RAM 中執行指令,例如大多數 8051 和 Microchip PIC 和 Atmel AVR 晶片。
(待辦事項:非常不完整)
有多種方法可以將微控制器連線到 USB 主機。
- 一些微控制器(例如一些 18x 系列 PICmicro、24x94 系列(x = 7、8、9)PSoC 以及一些飛利浦 ARM 微控制器、一些 Atmel ARM 微控制器以及飛思卡爾 MC9S08JS16)具有內建的“全速”USB 裝置介面。
- 幾乎所有微控制器都有 UART。您可以新增一個 USB 介面卡,在該 UART 和 USB 之間進行介面,例如 一些基於 CP2102 晶片的介面卡 和 一些基於 FTDI 晶片的介面卡。大多數這些介面卡旨在將微控制器放在裝置端,而將 PC 放在主機端。這些介面卡是全速(12Mbps)USB 裝置,但不要指望它們很快,它們中的大多數模擬序列埠,波特率高達約 1 Mbps。
- 幾乎所有微控制器都可以充當 I2C 主機。一些介面卡 基於 ST-NXP Wireless(以前是飛利浦半導體的一個部門)的 PDIUSBD11 晶片和 PDIUSBD12 晶片 連線到微控制器的 I2C 埠或 GPIO 埠,並充當 USB 外設。
- 許多微控制器(例如 Atmel ATmega16)可以被程式設計為使用一些外部無源元件成為低速 USB 裝置 [3]。
有多種方法可以將微控制器連線到 USB 裝置。
- 幾乎所有微控制器都有 UART,一些 USB 介面卡 [4] [5] 可以設定為將微控制器作為主機,而將一些 USB 裝置(滑鼠、鍵盤或快閃記憶體驅動器)放在裝置端。
- "將 USB 快閃記憶體驅動器連線到 PIC 微控制器" 由 Fred Dart 撰寫,2008 年
- 一些微控制器(例如 Parallax Propeller)可以使用一些外部無源元件程式設計為與一些 USB 外設通訊 [6]。
如何 ? ... USB On-The-Go (OTG) 定義了一個單一插座,該插座可以在主機和裝置之間自動切換 ... 例如,一臺帶有單個 USB 插座的相機,在插入 PC 時充當裝置(用於上傳照片),但在插入印表機時充當主機(用於直接列印照片,無需 PC)...[2]
- LUFA 庫允許支援 USB 的 AVR 微控制器充當 USB 主機、從機或 OTG 裝置。[7]
- 大多數 Atmel 32 位 AVR UC3 微控制器支援全速(12 Mbps)USB 2.0,具有 USB 主機、從機或 On-The-Go (OTG) 功能。
- PIC24FJ32GB002 和引腳相容的 PIC24FJ64GB002 - 它們是唯一同時滿足以下條件的晶片嗎?(a)提供 DIP 封裝;(b)具有內建 USB OTG 硬體?
有關 USB 的更多詳細資訊,請參見序列程式設計:USB 技術手冊。
- ↑ RepRap wiki: "32 位微控制器,採用通孔封裝"
- ↑ "理解 USB On-The-Go" 作者:Kosta Koeman 2001
- "如何選擇 MCU 平臺?" 對許多不同的處理器進行了很好的回顧。
- Instructables: "如何選擇微控制器" 作者:westfw
- Ladyada: "PIC 與 AVR" "好吧,我知道你們想要什麼。你們想要終極格鬥,嵌入式 EE 風格。你們想知道哪一個更好,PIC 還是 AVR?"
- Mike Harrison: "哪一個更好:PIC 還是 AVR?"
- CNCzone: "Microchip 與 Atmel"
- PSoC 開發者 "PSoC 與 PIC/AVR/ATMEL/8051" 簡要比較了 Freescale、Microchip 和 Cypress 的幾個 CPU。
- 選擇好處理器後,您需要知道從哪裡購買嵌入式系統/從哪裡購買它。
- 機器人:單板計算機 討論了包含 CPU 和一些支援晶片的“處理器模組”,它們以一個方便的封裝提供。
- 微控制器入門,是 Russ Hersch 的“微控制器入門常見問題解答”的一部分。
- 用於無線感測器網路裝置的微控制器