物联网之微控制器四大平台概述与学习选择

2022-09-29 14:32:44 浏览数 (2)

[TOC]

前言简述

描述: 本章以物联网以及工业控制入门学习的朋友为主,针对微控制器四大平台的一个概览,简单讲讲这些平台都有什么样的特点,能胜任什么样的任务,以及未来这些平台的发展趋势,最后谈谈学习这四大平台的切入点。

此处假设读者在阅读前对上面四大平台有一定的了解。

思维导图链接: https://kdocs.cn/l/cp10f8UIR77L

单片机 -

描述: 单片机非常适用于做控制的,例如读取传感器信号后判断来控制电机的转动,然而其不适合做算法,并且其一般就是冯诺依曼结构的,它的吞吐也不够,它也不适合做数据传输,因此它也不能做高速的数据处理。

优点: (1) 结构简单:

  • 体积小: 例如最小的单片机是一片F51的单片机(3x3)有16个引脚用于光模块里。
  • 价格低: 例如Arduino Micro 芯片带外围元件才两位数。
  • 低功耗: 例如在做低功耗设计的时候,可将其静态的待机电流控制在10个nA以下,然后便可利用纽扣电池让他待机久。

(2) 开发时间短: 有大量的例程和开发资料所以学习和开发周期短。

(3) 现成接口多:

  • I2C、SPI : 用于接一些传感器元件和屏幕等。
  • AD : 用于读取模拟量信号,电位器的旋钮。
  • PWN: 控制电机和舵机的转动。

缺点:

  • 传输速度低: 一般只有10兆到百兆,例如新型的单片机ESP32其最高的速度可以运行到200兆。
  • 接口局限性: 一般只能接一些低俗的传感器之类的接口,很难接上高速传输通用的接口,例如没有USB OTG(支持主接口(电脑主机USB->host接口)和从接口U盘->peripheral(外围接口))、网口、MIPI、SATA等。

DSP - 数字信号处理

描述: DSP(Digital Signal Processor) 数字信号处理 , 其为了实现一个数字滤波最基本的功能, 为了实现数字滤波其必须具备一个高吞吐量的特点,所以绝大数的DSP都是采用的哈佛结构。其次是高处理速度特点,它的高主要体现在两个方面第一个是主频高(例如TI公司即德州仪器公司在2006年左右实现了6000系列的DSP芯片就已经达到1Ghz主频),第二是必须能完成硬件卷积运算。

Tips: DSP 为了完成硬件卷积运算,一般在其内部集成了这三类硬件,首先累加器、硬件乘法器、桶形移位寄存器,有了这个三个器件后卷积速度便会大大加快。

Tips” 数字滤波实际上是要对两个采样点之间对缓存的数据进行一次卷积(可能有同学在图像滤波中听说过),实际上是移位乘加运算。

应用场景

Q: 哈佛结构和冯诺依曼结构有何关系区别与特点?

总结说明 DSP 适合处理单路串行的数字信号,如果不是数字信号则加上AD采样转换成为数字信号之后再处理,另外DSP也适合运行各种各样的数字信号处理的算法。

DSP 不适合的是做低端控制,绝大多数DSP芯片它的接口是没有单片机丰富的,使用起来也没单片机方便。其功耗与使用简易也比单片机要高和复杂。

ARM

优点:

  • 安装OS操作系统: 实现一个并发的现象,实现多任务、多进程的调度(线程)。
  • 丰富的接口: 包括以太网、USB、MIPI、SATA这些接口是需要协议栈支持的。
  • 配置灵活: 例如CPU(手机里的其实是ARM的),将ARM把不用的东西去掉就可以实现一个单片机比如stm32或者esp32等(基于ARM核)。

缺点: (1)软件开发的门槛更高: 绝大多数是没有一个集成的IDE开发环境的,例如虚拟机->安装linux操作系统->配置开发工具链->开发板通过网口连接到虚拟机->开启NFS服务(用于数据共享)->使用VSCODE或者Source Insight代码编辑器编写代码->返回虚拟机编译代码->生成可执行文件->放入到NFS共享区->用开发板执行可执行程序。

(2)元器件更加复杂:体积大、价格高、功耗高(基于ARM核的单片机除外)。

应用场景: 视频解决方案: 利用ARM中央处理器实现运动相机以及行车记录仪等。

说明总结: ARM 适合数据处理、数据传输、以及作为一个CPU。 ARM 不适合

FPGA

Q:什么是FPGA?

现场可编程门阵列(Field Programmable gate arry), 实际上它就是一个集成元件库。

集成元件库:

  • 导线:wire
  • 寄存器: red
  • 乘法器
  • 时钟管理器: PLL(锁相环), DCM(数字时钟管理器), MMCM。
  • 存储器: RAM, 双口RAM、FIFO(先入先出存储器)特点是容量大。
  • 存储控制器: DDR2/DDR3/DDR4
  • 高速串行器: 光纤、PCIe、SATA。(将并行信号改进行高速的串行信号)
  • CPU处理器: 其主要可以分为以下三种单片机(软核): Microblaze(TM), X86(硬核):IBM PowerPC, ARM(硬核): Zync-七系列以后双核处理器。
  • AD转换器: 主流的开发库都包含它。

FPGA 开发方法采用硬件描述语言HDL(Hardware Description Language),表面与C语言有相似性,但其本质是不同的。

流程是根据你的开发套件画的电路,把HDL转换成为原理图,最终再把原理图变成电路图。

FPGA 三大方向:

  • (1) 逻辑开发: 核心是要产生一个复杂的时序,例如CMOS的驱动时序图(有的时序图利用单片机、ARM或者DSP是及其难以实现的),主要应用于高端相机。
  • (2) DSP开发: 一般是进行雷达开发。
  • (3) 嵌入式开发: 一般是采用ARM和处理电路实现的。

FPGA 缺点:

  • (1) 价格高: 最次的也是几十到一百左右。主流的A7的35T大概现在的价格在500元。
  • (2) 接口不丰富: 要什么都需自己编,例如I2C/SPI等。
  • (3) 开发周期长门槛高: 硬件描述语言是一个说明文,编译时间较长。
  • (4) 外围器件多,PCB设置复杂: 需要外接存储器 flash记录配置,并在启动时读取FPGA。
  • (5) 体积大、功耗高。

FPGA 优点: 就一句话One Chip to rule them all利用一个FPGA实现所有芯片的功能,可以用其实现一个单片机、DSP或者ARM(包括专用电路的arm),总结一句话就是适合做大型复杂的工程设计。

说明总结: FPGA 特别适合处理并行的高速信号、芯片设计前期验证、还适合用在一些不值流片的高端设计上。

FPGA 不适合低成本的产品。

本章总结

应用场景: 单片机: 白色家电(例如洗衣机控制) DSP: 视频直播 ARM: 统揽天下 FPGA: 芯片验证、高端应用。

未来发展: 单片机: 精简的ARM(STM32或者ESP32) DSP: 加了DSP硬件的ARM(arm9【哈佛结构】、Ti公司的DSP集成C-M4核) ARM: 加了各种专用电路的ARM(SOC) FPGA: 带可编程电路的ARM.

基本学习路线

  • 单片机: ATMEGA328P、STM32系列、ESP32系列。
  • STM32: RTOS
  • ARM处理器: Linux

0 人点赞