MCU是Micro Control Unit的缩写,大致可分为四大平台。
1. 单片机
优点
- 结构简单
- 体积小
- 价格低
- 功耗低
- 开发时间段
- 有诸多现成接口
- I2C、SPI、AD、PWM
- 编程方面资源丰富、成熟
缺点
- 速度低 - 十几兆到百兆
- 接口不够丰富 - 高速的接口缺乏,比如 没有USB OTG、网口、MPI、SATA等
总结
- 适合 —— 控制,比如:读外围模拟量,接受信号来控制电机、控制屏幕显示、控制开关等
- 不适合
- 算法 —— 冯诺依曼结构,吞吐量不够,处理速度慢
- 数据传输 —— 没有高速接口
- 高速数据处理
2. DSP (Digital Signal Processor)
特点
- 实时数字滤波器 - 两个采样点之间对缓存数据进行一次卷积 - 移位乘加运算,这个运算量很大。
- 高吞吐量 —— 哈弗结构
- 高处理速度
- 主频高
- 硬件卷积运算 实现硬件支持
- 累加器
- 硬件乘法器
- 桶形移位寄存器
总结
- 适合
- 处理单路串行的数字信号 - 非数字型号可通过AD把采样成数字信号之后再处理
- 运行DSP算法 - 运行各种数字信号处理算法
- 不适合 —— 低端控制
- 接口不够丰富;
- 功耗比单片机高;
- 实现比单片机复杂;
- 编程方面资源不如单片机丰富。(高端控制除外)
3. ARM
优点
- 能装OS —— 并发,线程调度
- 接口丰富 —— 以太网、USB、MIPI、SATA,只要OS支持,协议栈支持
- 配置灵活 - 芯片设计商根据实际应用场景实现
- CPU
- 单片机
- 专用处理器,比如视频解决方案
缺点
- 软件开发门槛更高 - 非arm单片机,没有现成的IDE集成开发环境,虚拟机,交叉
- 器件更加复杂
- 体积大 - 集成的东西更多
- 价格高
- 功耗高
总结
- 适合
- 数据处理
- 数据传输
- 作为CPU
- 不适合 - ?
4. FPGA
- 什么是FPGA - 一种现场可编程门阵列,全程Field Programmable Gate Array,就是一个集成元件库,一大堆的离散的硬件的元器件,把它们集成的,按照一定规律的放到一个硅片上的一个器件。
- 继承元件库
- 导线 - wire
- 寄存器 - reg
- 乘法器 - 一堆、数量可以很多
- 时钟管理器 - PLL、DCM、MMCM
- 存储器 - RAM、双口RAM、FIFO
- 存储控制器 - DDR2、3、4
- 高速串行器 - 把并行信号串行成高速的串行信号 - 实现PCIe、SATA、光纤
- CPU
- 单片机(软)- Microblaze(TM)
- x86(硬) - IBM PowerPC
- ARM(硬) - 7系列以后 (Zync)
- AD转换器
- 继承元件库
- FPGA开发方法 —— 硬件描述语言HDL——开发套件画电路
- 综合 - 把HDL转成原理图
- 实现 - 把原理图变成电路图
- PGA三大方向
- 逻辑开发 - 复杂时序发生,由其自身实现机制决定。
- DSP开发 - 雷达 大量并行信号 处理
- 嵌入式开发 - ARM + 处理电路
FPGA 缺点
- 价格高
- 接口不丰富
- 开发门槛高,周期长 - 迭代时间长
- 外围器件多,PCB设计复杂
- 体积大、功耗高
FPGA 优点 - One chip to rule them all
总结
- 适合
- 并行高速信号处理
- 芯片设计前期验证
- 不值得流片的高端设计
- 不适合 - 低成本 - FPGA 高端应用
5. 总结
典型应用场景
- 单片机 - 白色家电
- DSP - 实时信号处理应用场景 ,视频直播,自动火炮控制、巡航导弹
- ARM - 统揽天下
- FPGA - 芯片验证、高端应用
未来发展方向
- 单片机 - 精简的ARM
- STM32
- ESP32
- DSP - 加了DSP硬件的ARM
- ARM9 - 哈弗结构
- TI公司的DSP集成C-M4核
- ARM - 加了各种专用电路的ARM(如SOC M1)
- FPGA - 带了可编程电路的ARM
基本学习路线
- 简单的单片机
- ATMEGA328P
- STM32系列
- ESP32系列
- STM32 - +RTOS
- FreeRTOS
- RT-Thread
- ARM处理器 - Linux
结语
各平台融合的趋势已势不可挡,ARM当之无愧的成为了MCU江湖这个时代的主角,光芒万丈。