全面总结嵌入式系统相关的知识

发布于:2024-08-16 ⋅ 阅读:(151) ⋅ 点赞:(0)

全面总结嵌入式系统相关的知识

1、嵌入式系统的组成

  1. 硬件层
    嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口、I/O接口(A/D、 D/A、 I/O)。在这些模块上加入电源电路、时钟电路、存储电路,就构成了一个嵌入式核心控制模块。
  2. 中间层
    硬件与软件之间的层也叫硬件抽象层(HAL)或者叫板级支持(BSP)。使得系统上层软件和底层硬件分离开,使系统的底层驱动程序与硬件无关。上次软件开发者无需关系底层的情况只需要调用BSP提供的接口即可进行开发。这一层的工作包括底层硬件初始化、数据的输入/输出操作和硬件设备的配置功能。
  3. 系统软件层
    由实时操作系统、文件系统、图形用户接口、网络系、通用组件模块组成。

2、实时系统

定义:在指定或确定的时间内完成系统功能和对外部或内部、同步或异步时间做出相应的系统。

3、实时系统的调度

  • 调度:给定一组事时任务和系统资源,确定每个任务何时何地执行整个过程。
  • 抢占式调度:通常是优先级驱动的的调度。优点是可保证高优先的任务时间约束。缺点是上下文切换多。
  • 非抢占调度:通常是按时间片分配的调度,一个任务不能抢占另一个任务,除非任务主动放弃资源。优点是上下文切换少,缺点是处理器有效资源利用率低,可调度性差。
  • 静态表驱动策略:时间约束表指明个任务的运行时刻和运行时间。
  • 优先级驱动策略:按照任务优先级的高低确定任务的执行顺序。

任务的分类:周期任务、偶发任务、非周期任务

4、嵌入式微处理器体系结构

  • 冯诺依曼结构:程序和数据共用一个存储空间,程序指令存储的地址和数据存储的地址指向同一个存储器的不同位置,采用单一的地址及数据总线,程序和数据的宽度相同。如8086、ARM7、MISP…
  • 哈弗结构:程序和数据采用两个单独的存储器,每个存储器独立编址、独立访问,是一种将程序和数据存储分开的存储器结构。如:VAR、ARM9、ARM10

5、信息存储的字节顺序

  • 存储单位:每个地址为一个字节(8位)
  • 字长决定了未处理器的寻址能力,即虚拟地址空间的大小
  • 32位处理器的虚拟地址空间位2^32 = 4G(这里每一个数字代表一个地址)
  • 大端字节序:高位存储在低地址,低位存在高地址
  • 小端字节序:低位存储在低地址,高位存在高地址
  • 网络设备的存储顺序问题取决于OSI模型底层中的数据链路层。(如can的字节序)

6、逻辑电路基础

  • 根据电路是否具有存储功能,将逻辑电路分成:组合逻辑电路、和时序逻辑电路
  • 组合逻辑电路:电路任意时刻的输出仅取决于该时刻的输入信号,而与输入信号作用前的状态无关,常用的组合逻辑电路有译码器和多路选择器。
  • 时序逻辑电路:电路的输出不仅与当前时刻的输入有关还与还与电路的状态有关。因此时序电路中要包含记忆元件。触发器是构成时序逻辑电路的基础。常用的时序逻辑电路有寄存器和计数器。
  • 由于集成电路的高电平输出电流小,而低电平输出电流相对比较大,采用集成门电路直接驱动LED时,较多采用低电平驱动方式。液晶七段字符显示器LCD利用液晶有外加电场和无外加电场时不同的光学特性来显示字符。

7、总线电路及信号驱动

总线是各种信号线的集合,是嵌入式系统中各部件之间传送数据、地址和控制信息的公共通路。在同一时刻,每条通路线路上能够传输一位二进制信号。按照总线所传送的信息类型,可以分为:数据总线(DB)、地址总线(AB)和控制总线(CB)。

8、嵌入式系统中信息表示与运算基础

  • 定点表示法:数的小数点的位置人为约定固定不变。
  • 浮点表示法:数的小数点是浮动的,他由尾数和阶数部分组成。

9、存储器

  • flash存储器:flash存储器分为NOR Flash和NAND Flash两种。
  1. Flash存储器的特点
  • 区块结构:在物理山分为若干的区块,区块之间相互独立。
  • 先擦后写:Flash的写操作只能将数位从1写成0,不能从0写成1,所以对存储器进行写入之前必须先执行擦除操作。将预写入的数据位初始化为1。擦除操作的最小单位是一个区块,而 不是一个字节。
  • 操作指令:执行写操作,他必须输入一串特殊的指令(NOR Flash)或者完成一段时序(NAND flash)才能将数据写入。
  1. NOR flash的特点
    应用程序可以直接在闪存内运行,不需要剪代码读到RAM中运行。NOR Flash的传输效率很高,在1MB~4MB的小容量时具有很高的成本效益,但是很低的擦除和写入速度大大影响了他的性能。
  2. NAND Flash的特点
    工艺上能够实现高密度存储,并且写入和擦除速度也很快,有的U盘就使用NAND Flash作为存储介质。
  3. NOR Flash和NAND Flash的区别:
  • NOR Flash的读速度比NAND Flash稍快一些。
  • NAND Flash的擦除和写入速度比NOR Flash快很多
  • NAND Flash的随机读取能力差,适合大量数据的连续读取。
  • NOR Flash带有SRAM接口,有足够的地址引进来寻址,可以很容易地存取其内部的每一个字节。NAND Flash的地址、数据和命令共用8位总线(有写公司的产品使用16位),每次读写都要使用复杂的I/O接口串行地存取数据。
  • NOR Flash的容量一般较小,通常在1MB~8MB之间;NAND Flash只用在8MB以上的产品中。因此,NOR Flash只要应用在代码存储介质中,NAND Flash适用于资料存储。
  • NAND Flash中每个块的最大擦写次数是一百万次,而NOR Flash是十万次。
  • NOR Flash可以像其他内存那样连接,非常直接地使用,并可以在上面直接运行代码;NAND Flash需要特殊的I/O接口,在使用的时候,必须先写入驱动程序,才能继续执行其他操作。因为设计师绝不能向坏块写入,这就意味着在NAND Flash上自始至终必须进行虚拟映像。
  • NOR Flash用于对数据可靠性要求较高的代码存储、通信产品、网络处理等领域,被成为代码闪存;NAND Flash则用于对存储容量要求较高的MP3、存储卡、U盘等领域,被成为数据闪存。

10、RAM存储器

  1. SRAM的特点:
    SRAM表示静态随机存储器,只要供电就能保持存储的值,无刷新周期,由触发器构成基本单元。具有较高的速率,常用于高速缓冲存储器。
  2. DRAM的特点:
    DRAM表示动态随机存取器。每个存储单元由一个晶体管和一定电容器组成,数据存储在电容器中。电容器由于漏电而导致电荷丢失,因此DRAM期间是不稳定的。他必须有规律的进行刷新,从而将数据保存在存储器中。
  3. SDRAM的特点
    同步动态随机存储器。同步是指内存工作需要同步时钟,内部的命令发送与数据的传输都以它为基准;动态是指存储器阵列需要不断的刷新来保证数据不丢失。
  4. DDRAM双倍速率动态随机存储器,也称DDR。DDRAM是基于SDRAM技术的,SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR内存则是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据。

11、GPIO原理与结构

GPIO是I/O的最基本形式,它是一组输入引脚或输出引脚。有些GPIO引脚能够加以编程改变工作方向,通常有两个控制寄存器:数据寄存器和数据方向寄存器。数据方向寄存器设置端口的方向。
如果将引脚设置为输出,那么数据寄存器将控制着该引脚状态。若将引脚设置为输入,则此输入引脚的状态由引脚上的逻辑电路层来实现对它的控制。

12、A/D接口

  • 计数式A/D转换法:大概的原理是内部生成一个比较电压与外部电压比较,当内部电源低于外部输入电压时计数值加1,继续增加内部参考电压并与外部电压比较。这种AD采样方式的缺点是速度比较慢,尤其但外部输入电源较大时计数值较大需要的时间较长。
  • 双积分式A/D转换法。
  • 逐次逼近式A/D转换法

13、串行通信

异步通信必须遵循3项规定:

  • 字符格式:起始位+数据+校验位+停止位(检验位可无),低位先传送。
  • 波特率:每秒传送的位数。
  • 校验位:奇偶检验。a、奇校验:要使字符加上校验位有奇数个“1”。b、偶检验:要使字符加上校验位有偶数个“1”。
  1. (5)RS232的电气特性:负逻辑。在TxD和RxD上:逻辑1为-3V~-15V,逻辑0为3V~15V。
  2. RS-422串行通信接口:
  • RS-422是一种单机发送、多机接收的单向、平衡传输规范,传输速率可达10Mb/s。
  • RS-422采用差分传输方式,也称做平衡传输,使用一对双绞线。
  • RS-422需要一终端电阻,要求其阻值约等于传输电缆的特性阻抗。
  1. RS-485串行总线接口
  • RS-485是在RS-422的基础上建立的标准,增加了多点、双向通信能力,通信距离可为几十米到上千米。
  • RS-485收发器采用平衡发送和差分接收,具有抑制共模干扰的能力。
  • RS-485需要两个终端电阻。在近距离(300m一下)传输可不需要终端电阻。

14、SPI

主机和外设都包含一个串行移位寄存器,主机通过向它的SPI串行寄存器写入一个字节来发起一次数据传输。寄存器通过MOSI信号线将字节传送给外设,外设也将自己移位寄存器中的内容通过MISO信号线返回给主机,这样,两个移位寄存器中的内容就被交换了。

外设的写操作和读操作时同步完成的,因此SPI成为一个很有效的协议。

如果只是进行写操作,主机只需忽略收到的字节;反过来,如果主机要读取外设的一个字节,就必须发送一个空字节来引发从机的传输。

15、IIC

IIC总线是具备总线仲裁和高低速设备同步等功能的高性能多主机总线。

IIC总线上需要两条线:串行数据线SDA和串行时钟线SCL。

总线上的每个器件都有唯一的地址以供识别,而且各器件都可以作为一个发送器或者接收器(由器件的功能决定)。

IIC总线有4种操作模式:主发送、主接收、从发送、从接收。

IIC在传送数据过程有3种类型信号:
A、开始信号:SCL为低电平时,SDA由高向低跳变。
B、结束信号:SCL为低电平时,SDA由低向高跳变。
C、应答信号:接收方在收到8位数据后,在第9个脉冲向发送方发出特点的低电平。

主器件发送一个开始信号后,它还会立即送出一个从地址,来通知将与它进行数据通信的从器件。1个字节的地址包括7位地址信息和1位传输方向指示位,如果第7位为0,表示要进行一个写操作,如果为1,表示要进行一个读操作。

SDA线上传输的每个字节长度都是8位,每次传输种字节的数量没有限制的。在开始信号后面的第一个字节是地址域,之后每个传输字节后面都有一个应答位(ACK),传输中串行数据的MSB(字节高位)首先发送。

如果数据接收方无法再接收更多的数据,它可以通过将SCL保持低电平来中断传输,这样可以迫使数据发送方等待,直到SCL被重新释放。这样可以达到高低速设备同步。

IIC总线的工作过程:SDA和SCL都是双向的。空闲的时候,SDA和SCL都是高电平,只有SDA变为低电平,接着SCL再变为低电平,IIC总线的数据传输才开始。SDA线上被传输的每一位在SCL的上升沿被采样,该位必须一直保持有效到SCL再次变为低电平,然后SDA就在SCL再次变为高电平之前传输下一个位。最后,SCL变回高电平,接着SDA也变为高电平,表示数据传输结束。

16、以太网接口

  • 传输的数据长度,目的地址DA+源地址SA+类型字段TYPE+数据段DATA+填充位PAD,最小为60B,最大为1514B。
  • ARP(地址解析协议):网络层用32位的地址来标识不同的主机(即IP地址),而链路层使用48位的物理地址(MAC)来标识不同的以太网或令牌网接口。ARP功能:实现从IP地址到对应物理地址的转换。
  • ICMP(网络控制报文协议):IP层用它来与其他主机或路由器交换错误报文和其他重要控制信息
  • IP(网际协议):IP工作在网络层,是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据包格式传输。
  • TCP(传输控制协议):TCP协议是一个面向连接的可靠的传输层协议,它为两台主机提供高可靠性的端到端数据通信。
  • UDP(用户数据包协议):UDP协议是一种无连接不可靠的传输层协议,它不保证数据包能到达目的地,可靠性有应用层来提供。UDP协议开销少,和TCP相比更适合于应用在低端的嵌入式领域中。
  • 端口:TCP和UDP采用16位端口号来识别上层的用户,即应用层协议,例如FTP服务的TCP端口号都是21,Telnet服务的TCP端口号都是23,TFTP服务的UDP端口号都是69。

17、CAN总线接口

总线信号使用差分电压传送。两条信号线被称为CAN_H和CAN_L,静态是均为2.5V左右,此时状态表示逻辑1,也可以叫做“隐性”。用CAN_H比CAN_L高表示逻辑0,称为“显性”,此时,通常电压值为CAN_H=3.5V和CAN_L=1.5V。

  • CAN总线的一个位时间可以分成4个部分:同步段、传播时间段、相位缓冲段1和相位缓冲段2。
  • CAN总线的数据帧有两种格式:标准格式和扩展格式。包括:帧起始、仲裁场、控制场、数据场、CRC场、ACK场和帧结束。

网站公告

今日签到

点亮在社区的每一天
去签到