🔥点击进入【硬件安全】社区,查看更多精彩内容🔥
🔥点击查看《AMBA总线》系列文章🔥
📢?声明: 🥭 作者主页:【摆渡沧桑的CSDN主页】。 ?? 未经作者允许,禁止转载。 ?? 本文为非盈利性质,目的为个人学习记录及知识分享。因能力受限,存在知识点分析不正确的可能。若您参考本文造成了不良后果,本人不承担相关责任。 ?? 若本文所采用图片或相关引用侵犯了您的合法权益,请联系我进行删除。 😄 欢迎大家指出文章错误,欢迎同行与我交流 ~
一、AHB2APB桥的基本原理
1. AHB与APB总线
AHB: Advanced High-performance Bus,高级高性能总线 APB: Advanced Peripheral Bus,高级外设总线
2. AHB与APB总线的特性
AHB:
1.高性能、高时钟频率、高带宽 2.多master并行操作、Burst突发操作、split分片传输、2级流水线传输 3.可以作为master接口,也可以作为slave接口 4.CPU、DSP、DMA、FLASH、SRAM等
APB:
1.低速、低带宽 2.设计简单,只有SETUP、ENABLE两个状态 3.专为降低功耗和接口复杂而设计的总线 4.只作为slave属性的外设总线 5.常见的有UART,I2C,SPI,RTC,GRCC,PWM等
3. AHB2APB桥的作用(为什么会有桥?)
1.用于AHB主设备到APB的从设备的连接 2.完成AHB和APB协议的转换、以及异步数据的通信 3.AHB2APB桥是AHB总线上的从设备,也是APB总线唯一一个主设备
4. SoC系统中的AHB2APB桥所处的位置
左边是SoC系统中基本的master,如Cortex M3, 通过matrix仲裁器会将总线地址,分别映射到AHB的slave中, 中间通过两个bridge(外设众多,可以通过两组bridge来管理不同外设),AHB将与APB上的从设备通信
二、AHB2APB桥的分类(按照时钟频率来分)
1. SoC系统总线的时钟分布
- SOC系统中时钟来源很多,如对于RTC,WatchDog等外设,对于时钟频率的要求很低(32.768KHz)但是对于CPU,DMA,Memory等可能需要很高的时钟频率,这样会用到PLL产生高频率的时钟
- 对于AHB总线的时钟,会对main clk进行分频,得到APB的时钟,可以设置不同的时钟工作频点,分别得到AHB和APB总线的时钟频率
- 对于AHB和APB总线,他们各自上的时钟频率可能是不一样的,也可能是相同的,同步桥和异步桥
2. AHB2APB桥的分类
- 复杂的SoC系统,由于时钟的多样性,导致AMBA总线的规范并没有规定AHB,APB总线的时钟关系
- 但是在一般的SoC中,为了灵活配置AHB,APB的时钟频率,所以AHB,APB工作时钟频率不一样
- AHB2APB同步桥:AHB和APB时钟来源相同,相位相同
- AHB2APB异步桥:AHB和APB时钟频率、相位可以相同也可以不同
三、AHB2APB同步桥 (时钟来源、相位相同)——APB使用的时钟和AHB的时钟相同
1. 同步桥的优点:
- 设计简单、综合出来的面积小
- 非流水线结构、稳定可靠
- 整个总线系统由单个时钟控制,有利于时序分析和综合
2. 同步桥缺点:
- 从设备功耗高
- 从设备工作时钟频率高,对设计时序有较高要求
四、AHB2APB异步桥(时钟频率、相位可以相同也可以不同)
1. 异步桥的优点:
- APB时钟可以灵活配置
- 有利于功耗控制
2. 异步桥的缺点:
- 设计复杂、需要增加跨时钟域的同步处理
- AHB读写低频APB设备需要调节等待周期,降低AHB主设备的性能
- APB的时钟频率会限制外设的最高传输速度,如SPI, UART等
🔥 精选往期 《AMBA总线》系列文章🔥
【协议篇】 AMBA总线协议(一)——一文看懂APB总线协议 AMBA总线协议(二)——一文看懂AMBA2 AHB2与AMBA3 AHB-Lite总线协议的区别 AMBA总线协议(三)——一文看懂AHB总线所有协议总结(AHB2 & AHB-Lite & AHB5 ) AMBA总线协议(四)—— Multi-Layer AHB System (多层AHB总线架构) AMBA总线协议(五)—— AXI3 协议接口信号介绍1 AMBA总线协议(六)—— 一文看懂 AXI3 协议原子访问2
|