嵌入式工程师成长之路
- 微处理器分冯诺依曼结构和哈弗结构。指令集分为:精简指令RISC和复杂CISC
- 结构上二者差别前者的指令和数据存放在同一存储空间,统一编址;后者分开指令和数据,诗句的吞吐率提高了一倍
- RISC软件复杂性高,芯片成本低,增加了代码尺寸,采用简单的寻址模式,仅允许LOAD和STORE指令存取内存。其他所有操作都基于寄存器到寄存器
- 总线可分为片内总线路AMBA,AVALON、OCP等,片外并行总线如:PCI、ISA 片外串行总线:UART、SPI、I2C、USB等
- 片内总线取决于CPU core,片外总线选择取决于应用
AMBA 是ARM研发的一种总线规范。AHB用于高性能系统模块的连接,支持突发模式数据传输和事务分割。APB用于较低性能外设的简单连接。 AHB总线构成:
- 主单元,只有主单元在任何时刻使用总线,AHB可以有多个主单元。
- 从单元,可以响应读或写总线操作,主要是复杂度不够成为主单元
- 仲裁器,用于确定控制总线哪个是主单元,以保证任何时刻只有一个主单元可以启动数据传输
- 译码器,用于传输译码工作,提供传输过程中从单元的片选信号
AHB总线工作过程:
- 1 地址传送阶段,只持续一个时钟周期,在HCLK的上升沿数据有效。所有的从单元都在这个上升沿来采样地址信息
- 2 数据传输阶段,需要一个或几个时钟周期,可以通过HREADY信号来延长数据传输时间,当HREADY为低电平,就在数据传输中加入等待周期,直到高电平结束本次传输
APB主要由2部分构成:APB桥和APB从单元。
- APB桥是APB中唯一的主单元,是AHB的从单元。
- APB桥将系统总线AHB和APB连接起来,并执行功能:锁存地址保持有效,直到数据传输完成。
- 译码地址并产生一个外部片选信号,每次传送只有一个片选有效
- 写传送时驱动数据到APB
- 读传送石驱动数据到AHB
- 传送石产生定时触发信号到PENABLE
串行总线概述:
串行总线是指按位传送数据的通路 其连接线少,接口简单,成本低,传送距离远 点对点通信不需要select控制信号 异步通信不需要Clock时钟信号,同步总线必须要有时钟。 Data、Select和R/W可以根据协议复用同一根线 Slave不能和其他Slave直接通信,只有Master能发起一次通信
I2C总线:
- 简单有效,接口简单,占用空间小,减少电路板的空间需求和芯片引脚数量
- I2C总线连接到相同总线上的IC数量之首总线最大电容箱子,可达40个组件
- 串行的8位双向数据传输速率在标准模式下可达100Kps,快速模式400kps,高速3.4Mbps
- 支持多主控模式,具有完善的总线协议。
I2C总线构成和信号类型:
- I2C总线是由数据线SDA和时钟线SCL构成的同步串行总线,支持双向传送。
- CPU发出的控制信号分为地址码和控制码两部分,地址码用来选址
- I2C总线在传送数据过程**有三种类型信号:开始信号,SCL为高电平、SDA由高电平向低电平跳变
- 结束信号:SCL为高电平,SDA由低电平向高电平跳变,结束传送数据
- 应答信号:接收数据的IC在接收8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据
SPI总线:一种同步串行外设接口
- 一般使用四条线,串行时钟线SCLK
- 主机输入/从机输出数据线MISO
- 主机输出/从机输入数据线MOSI
- 低电平有效的从机选择线SS
- 主要分为主存和外存
- 主存储器的特点是速度快,一般采用ROM、EEPROM、NorFlash、SRAM、DRAM
- 外存是不能直接访问的存储器,价格低容量大,路SD,U盘 NandFlash等
- 输入输出接口和设备主要包括:中断控制器、DMA、串行和并行接口 定时器,计数器,看门狗 RTC、PWM、AD/DA等