
[TOC]
描述: 本章以物联网以及工业控制入门学习的朋友为主,针对微控制器四大平台的一个概览,简单讲讲这些平台都有什么样的特点,能胜任什么样的任务,以及未来这些平台的发展趋势,最后谈谈学习这四大平台的切入点。
此处假设读者在阅读前对上面四大平台有一定的了解。
思维导图链接: https://kdocs.cn/l/cp10f8UIR77L
描述: 单片机非常适用于做控制的,例如读取传感器信号后判断来控制电机的转动,然而其不适合做算法,并且其一般就是冯诺依曼结构的,它的吞吐也不够,它也不适合做数据传输,因此它也不能做高速的数据处理。
优点: (1) 结构简单:
(2) 开发时间短: 有大量的例程和开发资料所以学习和开发周期短。
(3) 现成接口多:
缺点:
电脑主机USB->host接口)和从接口U盘->peripheral(外围接口))、网口、MIPI、SATA等。
描述: DSP(Digital Signal Processor) 数字信号处理 , 其为了实现一个数字滤波最基本的功能, 为了实现数字滤波其必须具备一个高吞吐量的特点,所以绝大数的DSP都是采用的哈佛结构。其次是高处理速度特点,它的高主要体现在两个方面第一个是主频高(例如TI公司即德州仪器公司在2006年左右实现了6000系列的DSP芯片就已经达到1Ghz主频),第二是必须能完成硬件卷积运算。
Tips: DSP 为了完成硬件卷积运算,一般在其内部集成了这三类硬件,首先累加器、硬件乘法器、桶形移位寄存器,有了这个三个器件后卷积速度便会大大加快。
Tips” 数字滤波实际上是要对两个采样点之间对缓存的数据进行一次卷积(可能有同学在图像滤波中听说过),实际上是移位乘加运算。
应用场景
Q: 哈佛结构和冯诺依曼结构有何关系区别与特点?
总结说明 DSP 适合处理单路串行的数字信号,如果不是数字信号则加上AD采样转换成为数字信号之后再处理,另外DSP也适合运行各种各样的数字信号处理的算法。
DSP 不适合的是做低端控制,绝大多数DSP芯片它的接口是没有单片机丰富的,使用起来也没单片机方便。其功耗与使用简易也比单片机要高和复杂。
优点:
缺点: (1)软件开发的门槛更高: 绝大多数是没有一个集成的IDE开发环境的,例如虚拟机->安装linux操作系统->配置开发工具链->开发板通过网口连接到虚拟机->开启NFS服务(用于数据共享)->使用VSCODE或者Source Insight代码编辑器编写代码->返回虚拟机编译代码->生成可执行文件->放入到NFS共享区->用开发板执行可执行程序。
(2)元器件更加复杂:体积大、价格高、功耗高(基于ARM核的单片机除外)。
应用场景: 视频解决方案: 利用ARM中央处理器实现运动相机以及行车记录仪等。
说明总结: ARM 适合数据处理、数据传输、以及作为一个CPU。 ARM 不适合
Q:什么是FPGA?
现场可编程门阵列(Field Programmable gate arry), 实际上它就是一个集成元件库。
集成元件库:
Microblaze(TM), X86(硬核):IBM PowerPC, ARM(硬核): Zync-七系列以后双核处理器。FPGA 开发方法采用硬件描述语言HDL(Hardware Description Language),表面与C语言有相似性,但其本质是不同的。
流程是根据你的开发套件画的电路,把HDL转换成为原理图,最终再把原理图变成电路图。
FPGA 三大方向:
FPGA 缺点:
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.
基本学习路线