一,什么是嵌入式系统
国外的系统定义:
嵌入式系统是控制、监视或辅助设备、机器和车间运行的装置。
国内行业普遍认同的定义:
嵌入式系统是以应用为中心、以计算机技术为基础,软、硬件可剪裁,适合应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统,用于对其他设备的控制、监视或管理等功能。
凡在的嵌入式系统的定义:
除通用PC机和服务器之外的一切计算机系统都可以叫嵌入式系统。典型应用产品有智能手机、工业机器人、无人机、无人驾驶汽车、心电监护仪、人工耳蜗等。
部分组成与层次
嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及应用程序等四部分组成。
分为四个层次:硬件层、中间层、软件层和应用层。
嵌入式系统有哪些特点
嵌入式系统通常是专用的,其程序是固化在芯片上的,用户不能修改。
通用PC机与嵌入式系统的区别
通用计算机系统 |
嵌入式系统 |
|
硬件 |
主机 (CPU、主板、存储器、显卡等) |
MCU/MPU (将CPU、存储器、I/O、集成在一个芯片上,形成芯片级计算机) |
显示器(屏幕尺寸大,分辨率高) |
显示屏(LCD/OLED,尺寸小) |
|
软件 |
相对独立,用户可安装、卸载 |
集成/固化在芯片中,用户不能更改 |
操作系统 |
Windows,Mac OS不开源,内核不可裁剪 |
ΜC/OS-Ⅱ、Linux、WinCE、Tiny OS、Android等,内核可裁剪 |
二、处理器的种类
1.MCU
MCU:Micro Control Unit,嵌入式微控制器(俗称单片机),把CPU、随机存储器RAM、只读存储器ROM、I/O、中断系统、定时器/计时器、各种功能外设等资源集成到一个芯片上的微型计算机系统,故称单片机,其只需很少的外围电路或者不需要外围电路,直接供电即可工作,是一个芯片级的计算机。
2.MPU
Micro Processor Unit,嵌入式微处理器。MPU是由通用计算机中的CPU(微处理器)演变而来,可以理解为增强版的CPU,即不带外围功能的器件。
MPU与MCU的区别与联系:
微处理器系统需要在MPU的基础上添加RAM、ROM、Flash、电源等外围电路,以及USB、LCD、键盘等外部设备;而MCU则是将RAM、ROM、定时器等外设集成在一个芯片上,形成芯片级的系统,即MCU集成了外部功能器件。
MPU | MCU | |
特点 | 处理能力强,可扩展更大的内存空间,主频、功耗、体积及价格方面相对较高 |
体积小、功耗低、价格低廉 |
优势 | 搭载操作系统的MPU功能更为强大,人机界面更为人性化、美观化 |
适用于功能单一、耗电量低、对价格敏感、便携式的、人机界面简单的产品应用。 |
应用场景 | 应用于功能多样、人机交互系统较为强大,对运算速度有较高要求的应用场合,比如多媒体设备 |
微波炉、智能手环以及电动车上的电机控制器等 |
随着技术的发展、市场需求等多方面因素,MPU与MCU的界限日趋模糊。
3.FPGA
FPGA:(Field-Programmable Gate Array,现场可编程门阵列)的内部包含了大量的逻辑单元、丰富的触发器资源和I/O引脚,借助于硬件描述语言或其他方式,用户可以根据设计需求修改其内部硬件结构,从而实现系统功能。FPGA可以实现任意所需功能,它可以实现其它处理器能够实现的功能,而反过来却不一定。
优点:
- 灵活性:可以现场配置器件功能,不再受硬件的制约;
- 高性能(速度快):FPGA用硬件处理数据,采用并发和流水两种技术,多个模块之间可以同时并行执行。
4.DSP
DSP具有两种含义:
- Digital Signal Processing(数字信号处理),是用数值计算的方式对信号进行加工处理的理论和技术。
- Digital Signal Processor(数字信号处理器),是一种专用于数字信号处理领域的微处理器芯片,将数字信号处理算法用具体的器件实现。
MCU、ARM、DSP、FPGA的区别:
如果说FPGA是采用硬件来实现算法的,那么DSP就是通过软件来实现算法的,而ARM作为一类技术的总称,其优势主要体现在控制方面。相较而言MCU入门简单,FPGA对数字电路的要求较高,DSP的开发需具备数字信号处理算法的理论知识并掌握面向对象的编程语言,初学者可以先学习MCU。
三、嵌入式系统的开发流程
四、设计实例
厨余垃圾智能检测系统
功能概述
- 能够分辨是否是厨余垃圾
- 能够判断垃圾桶是否装满
- 能够记录每天收入垃圾次数与重量
系统结构组成
- 该系统主要是软硬结合,通过简单硬件电路接受大量信息通过软件进行信息处理的过程。
- 由于对信息的处理主要是通过图像分析分辨垃圾种类以及与大数据对接判断质量与图像所分析的物品是否匹配,所以对图像处理及数据分析算法有较大需求。
- 硬件需要完成对重量转化为电信号的处理和图像的接受。
- 由于需要大量的数据计算与图像处理,选用DSP,有利于改进算法。
- 图像处理需要运用面向对象的编程语言,所以需要C++作为操作与开发平台。
功能模块
- 在软件方面,优化算法,通过传感器判断质量与通过摄像头分析垃圾种类与质量是否符合来精确识别垃圾种类。需要具有图像识别和大数据处理的功能和数据存储功能。
- 在硬件方面,需要安装传感器与摄像头,通过二者匹配来向硬件传输信息,再通过软件进行处理。还需要充电装置、无线通信、信号处理模块等等搭建底层电路。