嵌入式系统/特定微处理器
外观
< 嵌入式系统
本模块的嵌入式系统是对嵌入式系统中最流行的微处理器系列的非常简要的回顾。我们将在接下来的几个模块中详细介绍。这些微处理器系列中的每一个都拥有一个专门用于该处理器系列的模块。
我们将讨论的微处理器系列是
- 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 的“微控制器入门常见问题解答”的一部分。
- 用于无线传感器网络设备的微控制器