嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>

嵌入式硬件基础

  • 1,存储器
    • 1.1 概念
    • 1.2,存储器结构模型
    • 1.3,存储器性能指标
    • 1.4,嵌入式存储器类型
      • 1.4.1,只读存储器
      • 1.4.2,随机存储器
      • 1.4.3,双端口RAM
      • 1.4.4,混合存储器
        • 1.4.4.1 **Flash** ★ ★ ★ ★ ★
        • 1.4.4.2 FRAM 铁电存储器
        • 1.4.4.3 系统配置数据存储器
    • 1.5,总结
  • 2,最小系统,电源与外围电路
    • 2.1,外围电路1:供电电路
    • 2.2,外围电路2:时钟电路
      • 2.2.1,构建时钟电路的方式一
      • 2.2.2,构建时钟电路的方式二
      • 2.2.3,多时钟管理
    • 2.3,延伸:电源管理与低功耗设计
  • 3,复位电路与看门狗逻辑
    • 3.1.,上电复位(POR)
    • 3.2,阻容式复位电路
    • 3.3,手动复位
    • 3.4,专用复位电路
    • 3.5,看门狗复位电路(WatchDog,WD)
    • 3.6,内部复位
    • 3.7,软件复位
  • 4,I/O接口与总线
    • 4.1,SPI串行总线
      • 4.1.1,SPI基本功能
      • 4.1.2,SPI的通信原理
      • 4.1.3,SPI连接方式
      • 4.1.4,SPI接口操作
      • 4.1.5,软件设计
    • 4.2,I^2^C串行总线
      • 4.2.1,概念
      • 4.2.2,基本通信过程
      • 4.2.3,I^2^C串行总线仲裁原理
      • 4.2.4,桥接SPI与I^2^C:
      • 4.2.5,总结
    • 4.3,UART与USART接口
      • 4.3.1,UART(通用异步通信收发器/SCI串行通讯接口)
      • 4.3.2,USART(通用同步/异步收发器)
    • 4.4,GPIO与GPIB
      • 4.4.1,GPIO(General Purpose Input Output,通用IO)
      • 4.4.2,GPIB
      • 4.4.3,总结
    • 4.5,本章小结
  • 5,Boot Loader
    • 5.1,示例:一个Boot Loader的运行过程
      • 5.1.1,单阶段运行模式
      • 5.1.2,多阶段模式
    • 5.2,常见Boot Loader比较 ★ ★ ★
  • 6,板级支持包BSP
    • 6.1,概要
    • 6.2,BSP基本功能
    • 6.3,BSP开发
    • 6.4,总结
  • 7,嵌入式虚拟化技术
    • 7.1,嵌入式虚拟化技术的约束与限制
    • 7.2,示例:Wind River虚拟机

工作知识学习及总结系列文档
本文主要记录学习嵌入式软硬件编程过程中的一些硬件基础知识


嵌入式微控制器MCU ,又称单片机,一般以某微处理器内核为核心,芯片集成多种部件,功能和外设,如8051系列。其最大的特点是单片化,体积大大减小,功耗和成本下降,可靠性提高,计算能力较为有限,主要用于控制等领域,因此成为微控制器。代表的有51系列,STM32,多种RAM芯片等。接下来将从几个方面来详细介绍MCU

1,存储器

1.1 概念

存储系统是计算装置中用于存放数据和程序的记忆性子系统,用以满足计算装置不同类型数据的临时/永久存储需要。
分级的存储体系
不同类型数据存储、访问要求具有差异,数据访问在时间、空间和顺序上的局部性原理
通用计算机采用了Cache、主存储器(RAM,内存)、外部存储器组成的三级存储体系;
多级存储体系的计算装置主要围绕主存储器来组织和运行;
对于体积、重量、功耗、可靠性以及成本等方面有特定要求的各类嵌入式系统而言,存储子系统的设计具有定制和多元的特征与要求。

两种典型存储体系:
1,以CPU为核心的、片内和片外存储资源相融合的存储体系;
2,与通用计算机相似的存储体系;

其中,嵌入式系统存储体系如下图所示:

嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>

1.3,存储器性能指标

只读性
若存储器中写入数据后,只能被读出,但不能用通常的办法重写或改写,这种存储器为只读存储器,即ROM;
若存储器在写入数据后,既可对它进行读出,又可再对它写入,为可读/写存储器, 或随机访问存储器。

易失性
若存储器在断电之后,仍能保存其中的内容,则称为非易失性存储器;否则,为易失性存储器;
只读存储器(ROM)是非易失性的,随机存储器(RAM)是易失性的。

位容量
存储能力;
不同地址线、数据线宽度的存储器,位容量可能相同。

速度、功耗、价格等

1.4,嵌入式存储器类型

嵌入式系统多使用半导体类型的存储器;

嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
按照双端口操作特性可以分为:
伪双端口RAM:一个为只读端口,另一个为只写端口;
双端口RAM:两个端口均可进行读和写。

按照存储体类型可以分为:
SRAM型、DRAM型和SDRAM型。

双端口RAM逻辑如下图所示:

嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
双端口RAM的典型工作方式可分为:中断方式,忙逻辑方式和信号量方式。

中断方式如下图所示:

嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
左侧访问时,先获取信号量,之后就占用信号量。右侧访问时,发现信号量被占用,则访问被阻塞。

访问时序举例:

嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>

主要分为两类:NOR和NAND型 ,区别是:
内部存储体的架构;
接口不同:NOR是属于SRAM型接口,NAND属于I/O接口;
随机读取速度不同:NOR可以取代E2PROM,多用于BOOT ROM; NAND由于其高密度,多用于大量数据的存储。

NOR Flash于上世纪八十年代末问世,是Intel设计的一个主要的Flash规格标准。NOR Flash以EEPROM为基础,存储单元由NMOS构成,可随机读取任意单元内容;其适合程序代码的并行读写,常用于BIOS存储器和微控制器内部存储器等

NAND Flash是使用复杂I/O接口来串行存取数据的存储器件,共用一套总线作为地址总线和数据总线。NAND Flash将几个N-MOS单元用同一根线连接,可以按顺序读取存储单元内容; 适合数据或文件的串行读写存储;成批量访问

Flash写操作特点
每一个存储位置必须在重写操作之前被擦除,否则写结果将可能是新、旧值的某个逻辑组合,产生错误;
一次擦除一个扇区块,不可能只擦除单个字节;扇区大小随具体器件变化,通常是KB量级;
擦除和写入数据的过程取决于器件特性,较复杂,设计Flash驱动程序能提供较好支持。

嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>

nvSRAM
是一种同时采用了“SRAM+非易失性存储元E2PROM” 的复合式新型NVRAM;
一个非易失性E2PROM存储元对应一个SRAM存储元;
E2PROM通常采用基于氮化硅的存储技术SONOS,用厚度更薄的氮化硅层来代替之前的多晶硅浮栅层E2PROM的擦写次数约为50万次,系统掉电后数据可保持20年左右;
SRAM模式下,该存储器就是一个普通的静态RAM;非易失模式下,数据并行地从SRAM存储到E2PROM或者从E2PROM恢复到SRAM。

嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>

2,最小系统,电源与外围电路

嵌入式系统硬件是以处理器与存储器为核心,以电子线路连接所有电子元件和接口所形成的器件网络。

◆最小系统是指一个仅具有进入正确执行模式所需最少资源的系统。从硬件角度,最小嵌入式系统硬件包括了嵌入式处理器、片上/片外存储器以及电源供电、复 位、时钟等外围辅助电路。
◆通过设计和验证最小系统硬件,可以掌握以特定处理器为核心的嵌入式硬件设计方法,并为进一步的功能、接口、总线扩展奠定基础 。

最小系统的外围电路包括:芯片、器件正常工作所需要的电路以及供电电路、复位电路、时钟电路等

2.1,外围电路1:供电电路

供电电路计算硬件的基本组成,为系统提供一种或多种负载能力的电压输出, 其稳定性对整个系统硬件的安全、可靠运行具有重要影响

嵌入式系统中大都采用直流稳压电源电路;

供电电路设计
包括下图中的全部,或者后端部分;
可采用元件搭建,也可以直接采用电源器件。

嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>

2.2.1,构建时钟电路的方式一

石英晶体谐振器 (无源晶振、晶振,常记为Xtal)
基于压电效应特性并采用特定切割方式和晶片尺寸,在石英晶片加上电极和外壳封装所制造的不同频率谐振元件;
可用于稳定频率和选择频率。

嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
例子:
嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
复位脉冲宽度取决于电容、电阻的参数;
复位脉冲宽度与电源电压、复位电平门限电压、电容、电阻的值密切相关,约为0.7R1C1~ R1C1毫秒。

例子:
8051 MCU要求复位信号长度至少为两个机器周期,即24个时钟周期以上,那么在RST(或RST)端出现复位信号后的第二个机器周期,片内复位电路检测复位信号并进行内部复位,
直至该信号恢复。

以8051 MCU为例,假设采用6MHz振荡器且电源建立时间不超过10ms、振荡器建立时间不超过30ms时,那么复位脉冲宽度应不小于tRST=(10ms+30ms+2×2μs),此时理论上要求的R1C1值不小于(tRST/0.7)=57.15ms。

优点:简单、成本低,大部分时间正常工作
缺点:在电源瞬时跌落和恢复过程中,电容充放电的指数特性导致电容未完成放电时便又开始充电,从而无法产生合格宽度的复位脉冲。
改进

嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>

3.4,专用复位电路

是一种专用的集成电路,输出复位信号;
可支持多种复位信号;
所产生的复位信号质量较高;

嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
看门狗计时器WDT一直在计数,当WDI有信号输入时,定时器清零,如果长时间没有信号输入,定时器会溢出,溢出则产生一个输出信号CLR,复位电路。左侧称为喂狗。

1,如何使用看门狗电路/strong>
软硬件配合;
嵌入式系统程序,正常逻辑,每个确定的时间必然运行其中的某部分代码,完成看门狗复位操作;
如果在一个特定最大的时间内没有运行该类代码,则认为系统故障,看门狗电路产生复位信号,使处理器强制复位,系统从复位向量处重新运行。

2,提高可靠性
环境恶劣时,嵌入式处理器运行过程中可能出现死机和跑飞的情况,此时需要使用特定电路使处理器强制复位;
实现嵌入式系统的自动状态监测和恢复,提高故障恢复能力和可靠性。

例子:

嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>

3.6,内部复位

工作原理
利用watchdog复位方式,是看门狗复位的延申;
上电时,程序没有复位watchdog,watchdog timer溢出,完成复位;
微控制器不需要reset引脚;

例:philips 的P87LPC76x系列
配置成内部复位的时候,reset引脚可以作为普通的I/O使用,节省了引脚;

3.7,软件复位

方法
软件复位的方法是通过软件设置一个特殊功能寄存器的位完成控制器的复位,复位结果如同硬件复位一样;

注意
软件复位与程序从复位向量处开始运行不同;其中,软件复位指的是使处理器恢复初始状态,程序从头开始重新执行。
从复位向量处开始运行程序,处理器/控制器的状态不会回到复位状态,只是从start处开始运行程序。(处理器在当前状态下,程序重新执行)

4,I/O接口与总线

I/O子系统模型
总线连接
通过寄存器组实现访问

嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
左边主设备,右边从设备
MISO:指的是如果这个设备是主设备MASTER,那么该口为输入,为从设备的话,该口为输出。

4.1.1,SPI基本功能

用端口中的4个引脚实现数据传送
串行时钟SPSCK/PD3
主接收从发送 MISO/PD1
主发送从接收 MOSI/PD2
低有效从机片选SS*/PD0;
不用 SPI功能时,这些引脚被配置成通用I/O;

嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
数据流动
MOSI:主发送从接收 端口
MISO:主接收从发送 端口
嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
通过移位寄存器,主机和从机交换数据。
嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>

4.1.3,SPI连接方式

嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
其余寄存器详见课本。

4.1.5,软件设计

采用标准SPI控制器
通常都提供了相应的驱动和API,如SPIRead(Addr, *Value)、SPIWrite(Addr,Value)等→无需关注上述SPI协议的具体细节;

也可采用处理器自带的GPIO来模拟SPI主设备的接口

参考程序:

来源:宛宛宛

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年11月10日
下一篇 2021年11月10日

相关推荐