目录
- AMBA总线概述
- AHB
- APB
- 不同IP之间的互联
什么是总线:
- 系统芯片中各个模块之间需要有接口来连接
- 总线作为子系统之间共享的通信链路
- 优点: 低成本、方便易用
- 缺点: 会造成性能瓶颈
一、AMBA总线概述
Advanced Microcontroller Bus Architecture 是由英国 ARM 公司提出的一种处理器总线架构。 AMBA总线架构是一组用于系统级集成电路(SoC)设计的开放标准,旨在提供高 性能 、可扩展和可重用的接口和总线结构。
定义了三种总线:
AHB(Advanced High-performance Bus) 快速
ASB()
APB(Advanced Peripheral Bus) 慢速
AMBA发展历史:
AMBA 1.0 : ASB和APB
AMBA 2.0 : AHB ASB和APB
AMBA 3.0 : AXI
AHB:
在SoC片上系统中,AHB主要用于一些高性能模块之间的连接(如CPU、DMA、DSP等)、
2级流水线操作、
支持多个主控制器、
支持burst传输、
总线带宽:8、16、32、64、128bits、
上升沿触发操作、
支持字节、半字、字传输。
APB:
低速总线、低功耗、
接口简单、
在Bridge中锁存地址信号和控制信号、
适用于多种外设、
上升沿触发。
AHB的组成部分:
- AHB主设备(master)
发起一次读/写操作
某一时刻只允许一个主设备使用总线
CPU、DMA、DSP、LCDC - AHB从设备(slave)
响应一次读/写操作
通过地址映射来选择使用哪一个从设备
外部存储器控制器EMI、APB bridge - AHB仲裁器(arbiter)
允许某一个主设备控制总线
在AMBA协议中没有定义仲裁算法 - AHB译码器(decoder)
通过地址译码来决定选择哪一个从设备
APB的组成部分:
- AHB2APB Bridge
可以锁存所有的地址、数据和控制信号
进行二级译码来产生APB从设备选择信号
APB总线上的所有其他模块都是APB从设备