1. 嵌入式系统总线
总线是CPU与存储器和设备通信的机制,传送数据、地址、和控制信息的公共通道
1.1 概述
1.1.1 分类
- 位置划分
- 片内总线:CPU内部各主要功能部件
- 片外总线:CPU与I/O,存储器信息交换
功能与信号
总线宽度
- 总线频率
总线带宽
高速总线
- 高速设备
- 桥:总线互联电路
- 低速总线
- 低速设备
原因:
- 数据宽度:高速总线提供较宽的数据连接
- 成本:高速更贵
- 桥允许总线独立操作,使I/O操作可与CPU并行操作
1.2 AMBA总线
Advanced Microcontroller Bus Architecture
定义了三种总线:
- AHB:支持突发模式数据传输和事务分割(中断),有效链接处理器、片上片外存储器,支持流水线
- Advanced High-performance Bus
- ASB:由AHB替代
- Advanced System Bus
- APB:较低性能外设简单连接,接在AHB上的二级总线
- Advanced Peripheral Bus
1.2.1 AHB
1.2.1.1 组成
- 主单元
- 只有主单元可任意时刻使用总线(主动),
- 可以有多个,
- 可以是RISC处理器,协处理器以及DMA控制器
- 从单元
- 可以响应总线操作(被动),在给定的地址范围对操作进行相应反应,向主单元反馈信号
- 复杂度不足以成为主单元的固定功能块
- 总裁器
- 确定控制总线的是哪个主单元,保证任何时候只有一个主单元可以启动数据传输
译码器
地址传送阶段(address phase)
- 数据传送阶段(data phase)
1.2.2 APB
1.2.2.1 组成
- APB桥
- APB桥是APB中唯一的主单元
- 是AHB/ASB的从单元,将APB和AHB连接起来
- 锁存地址
- 译码地址
- 驱动数据
- 产生定时触发信号PENABLE
- APB从单元(Slave)
1.5 串行总线
- 按位传送数据的通路
- 连接线少,接口简单,成本低,传送距离远
- 用于嵌入式系统与外设的连接和计算机网络
1.5.1 I2C总线
- 最初音频,视频开发
- 简单有效,10Kbps支持40个组件
- 支持多主控
- 一个主控能够控制信号的传输和时钟频率
1.5.1.1 构成及信号类型
- 由数据线SDA和时钟SCL构成
- 同步通信
- 每一个模块即使主控器或被控器,又是发送器和或接收器,取决于功能
- 控制信号分为地址码和控制量
1.5.1.2 工作流程
- 开始信号:SCL高,SDA下变
- 结束信号:SCL高,SDA上变
- 应答信号:接收端,收到8bit后,回一个特定低电平
1.5.2 SPI总线
- 四条线
- SCK
- MISO主机输入从机输出
- MOSI
- SS从机选择线
- 全双工
1.5.3 USB总线
- 方便
- 差分传输
2. 嵌入式存储系统
2.1 高速缓存Cache
- 存放使用的最多的程序代码和数据,主存部分内容的副本
- 集成在微处理器中
分数据/指令/混合Cache
Cache命中:CPU读取主存,Cache检查CPU送出的地址,判断要读的数据在Cache中与否,在就命中
- 未命中:读取数据不在Cache,将相关内容置入Cache
- 写入方法:
- 通写:Cache和内存同步更新
- 回写:Cache内容移出时更新内存
2.2 主存
- 处理器能直接访问的存储器,系统和用户的程序和数据
- ROM
- Nor Flash
- EPROM
- E2PROM
- PROM
RAM
静态随机存取存储器
- 数据存取速度快
- 容易和处理器放在一个芯片中
- 数据不需实时刷新
-
2.2.2 DRAM
动态随机存取存储器
- 电容漏电
- 容量较大,约为SRAM的4倍
- 成本低
-
2.2.3 NOR Flash
动作与RAM类似,可直接对某个内存空间进行方便的读取
- 成本较高
-
2.3 外存
处理器不能直接访问的存储器,用来存放用户的各种信息,容量大
- NandFlash
- DOC(Disk On Chip)
- CF(Compact Flash)
- SD(Secure Digital)
-
2.3.1 电子盘
2.3.2 NAND Flash
必须通过I/O指令方式读取,必须通过驱动程序读取
- 成本较低
- 每个内存单元面积较小,存储容量较大 位交换多,关键数据需要错误探测