嵌入式系统组成: 硬件子系统、软件子系统。
嵌入式系统分类:
硬件子系统包括:嵌入式处理器、存储器、I/O系统、附属电路。
即嵌入式系统上的处理单元:如嵌入式微处理器、嵌入式微控制器、数字信号处理器(DSP)、可编程器件(FPGA或CPLD)及其组合。
不同处理器的主要区别:
指令多少、指令形式(RISC和CISC)、处理器的结构设计、工艺和应用指标。
嵌入式处理器相对通用处理器,一般集成了较多的I/O接口电路或做了针对应用场景的优化,但本质区别不大,可以用通用处理器代替嵌入式处理器。
1、嵌入式微控制器:
典型的嵌入式微控制器包括在同一个IC(集成电路Integrated Circuit) 的:
CPU 内核、中断控制器、定时器/计数器、存储器(RAM、ROM)以及其他外部接口电路。
集成的外部接口较多,处理能力相对较弱,扩展需求低,适用于简单的控制系统。
2、嵌入式微处理器:
相较于微控制器,外部接口集成较少,处理能力强,一般需要大量的外围电路包括存储器和I/O接口电路。
实际上微控制器与微处理器处理内核上并没有太多区别,更多为一种定性上区分。
3、DSP:
专为信号处理设计,相较一般的数字数据处理,数据处理量大,实时性较高,包括定点DSP和浮点DSP。
密集的数学计算要求其具备一些特点:
4、可编程器件:
利用可编程器件实现嵌入式系统的处理器子系统可以提高系统的集成度,复杂的外部电路课集成到可编程器件上,甚至包括CPU,称为 SoC。
可以利用可编程器件实现(减少)以下逻辑电路,实现较高集成度:
软件的硬件化:利用FPGA实现的滤波器速度远快于软件实现的滤波器。
内部存储器和外部存储器。
嵌入式系统的存储器用于存放应用程序和数据,大多嵌入式系统软件以固件形式存放,一般对于微控制器不用外部存储器,使用其他处理单元则需要使用外部存储器。
制作工艺上:目前嵌入式系统大多数是半导体存储器。大部分使用的MOS工艺(低功耗,高集成,便宜,相对慢),部分使用双极性工艺(快速,但功耗高),还有HMOS的。
1.1 RAM随机存储器:
1.2 ROM只读存储器:
1.3 混合类型存储器:
典型的如NVRAM,实际上通常是RAM加后备电池集成,一般用于存储仅几百字节的系统关键信息,价格昂贵。
补充:对于系统配置数据存储器(类似于BIOS)要求:非易失性和访问便捷性。
常使用:NVRAM技术(价格贵)、RAM加电池(面积大)、串行EEPROM(速度慢)、FLASH存储器(部分低端芯片不具备接口)。具体综合考虑速度价格和应用条件。
对于不同的领域嵌入式系统很大一部分的区别在于这一部分,结合不同的应用场景与功能需求需要选区不同的外部I/O接口电路(各种外设)。
1、嵌入式处理器工作必须的附属电路:
时钟电路、复位电路、调试电路、监视定时器、译码器电路等,不包含数据的输入输出,但是对处理器工作必不可少,通常与处理器设计在一起构成处理器子系统。
2、I/O子系统:
用于处理器与外部设备之间的数据通信和交互。
1、复位电路: 完成硬件的初始化
阻容复位电路、手动复位电路、看门狗复位电路(程序必须定时清除看门狗计数防止溢出,否则触发复位)、专用复位电路(输出复位信号,集成如复位电路、看门狗定时器、点源电压监视电路等)、内部复位电路(看门狗电路与处理器集成在一起)、软件复位(需要相应指令和硬件支持)。
2、系统时钟: 产生处理器工作的时钟信号
通用计算机可以使用分离的时钟电路,对于嵌入书系统,常将时钟电路集成在处理器上,只需外接晶体即可。
3、I/O模块:
3.1 基本结构概述:
I/O接口电路通过内部总线与处理器内核交换信息。
总线按照传输的数据类型分为:
数据总线DB、地址总线AB、控制总线CB。
对于I/O模块的操作一般集中于对寄存器操作,从编程结果上可分为:
处理器内核通过访问I/O接口模块的寄存器来操作模块,而寄存器地址编码一般有以下两种:
对于存储器和I/O接口电路的地址空间的分配需要使用译码器:
3.2 定时器/计数器:
定时器与计数器实际上基本结构相同,定时器使用内部系统时钟作为计数脉冲,计数器通常使用来自处理引脚信号对外部事件计数。
3.3 SPI接口:
SPI(串行外部设备接口Serial Peripheral Interface),利用3条线(数据收发与时钟线)完成两个芯片间的双工高速通信。
SPI系统主要用于同标准外设芯片通信,如移位寄存器、ADC、LCD控制器等;也可用于小型系统中交换数据代替UART。
工作时类似于分布式16位移位寄存器,一半在微控制器(SPI主设备)内,一般在外设(SPI从设备)里,通过循环移位完成主从设备数据交换。
一般来说,SPI系统使用4根I/O引脚实现数据传输:串行时钟SPSCK/PD3、主入从出MISO/PD1、从入主出MOSI/PD2、低有效从机片选SS*、PD0。
3.3 UART:
异步通信收发器,有的处理器称为SCI。
通信双方不使用同步时钟而是使用相同的波特率,数据的发送接收单位是帧,发送接受可以同时进行,属于全双工通信。
3.4 通用并行接口:
嵌入式处理器的通用并行接口提供:输入输出、双向功能。大多数的嵌入式处理器通用I/O口与其他的端口复用引脚以节省引脚降低成本。
3.5 I2C接口:
由Philips公司开发的双向两线式同步串行总线,用于连接微控制器及其外围设备,最初是为音频和视频设备设计开发,现应用较为广泛。
由数据总线SDA和时钟总线SCL构成串行总线,在处理器与被控IC、IC与IC之间进行双向传送,最高100Kbps。各种被控IC均并联在该总线上,具有唯一的地址。
总线必须由主器件(一般是微控制器)控制,主器件产生串行时钟(SCL)控制总线的传输方向,并且产生起始和停止条件。
3.6 I2S接口与音频输入输出:
3.7 LCD 显示屏接口:
LCD显示系统包括LCD控制器、LCD驱动器、LCD显示屏和背光电路:
嵌入式处理器支持LCD显示是指嵌入式处理器上集成了LCD控制器。
3.8 A/D接口:
一般大多嵌入式处理器带有相关接口,适用于一般性应用,对于高速、高精度要求时可以外接A/D、D/A转换芯片。
3.9 实时时钟模块:
系统电源关闭后,RTC可以通过备用电源维持工作,使用外部晶振工作,同时可以完成闹钟功能。
不同的嵌入式处理器区别在于性能和功能。