### APB中文协议详解 #### 一、APB协议简介 **高级外围总线(Advanced Peripheral Bus, APB)**是ARM公司开发的高级微控制器总线架构(Advanced Microcontroller Bus Architecture, AMBA)协议家族的一个组成部分。APB的设计旨在提供一个成本效益高的接口,其主要目标在于降低功耗及接口的复杂度,适用于那些不需要高性能但要求较低成本和功耗的外围设备。 #### 二、APB协议特点 1. **非流水线式:** APB协议不具备流水线特性,这意味着它更适合于那些对带宽需求不高、不需要高速传输特性的外围设备。 2. **低功耗:** 由于其设计初衷是为了降低功耗,因此在实现上进行了优化,使得它能够在较低的功耗水平下工作。 3. **低复杂度:** 相比于其他高级总线协议如AXI,APB协议的接口更为简单,降低了实现难度。 4. **兼容性:** APB可以与其他AMBA协议如AHB、AHB-Lite、AXI和AXI4-Lite等进行连接,这增加了其灵活性和适用范围。 5. **数据传输机制:** 每次数据传输至少需要两个周期完成。此外,APB协议采用与时钟上升沿同步的信号转换方式,简化了APB外围设备与各种设计流程的集成。 #### 三、APB协议信号描述 APB协议定义了一系列信号,用于实现数据传输和其他功能: 1. **PCLK:** 时钟源,所有APB传输都在时钟PCLK的上升沿进行。 2. **PRESETn:** 系统总线等效复位信号,有效状态为LOW(低),通常直接连接到系统总线的复位信号。 3. **PADDR:** APB桥接单元驱动的地址总线,宽度可达32位。 4. **PPROT:** 指示事务的保护级别(正常、特权或安全),以及事务是数据访问还是指令访问。 5. **PSELx:** 由APB桥接单元产生的信号,指示选择了哪个从设备进行数据传输。 6. **PENABLE:** 表示APB传输的第二个及后续周期,用于区分第一个周期。 7. **PWRITE:** 指示传输方向,HIGH表示写入访问,LOW表示读取访问。 8. **PWDATA:** 在PWRITE为HIGH时,由APB桥接单元驱动,用于写入周期。 9. **PSTRB:** 写入选通信号,指示写入传输期间哪些字节通道被更新。 10. **PREADY:** 由从设备使用,用于扩展APB传输,即告知主设备是否准备好接收或发送数据。 11. **PRDATA:** 当PWRITE为LOW时,由所选从设备驱动,用于读取周期。 12. **PSLVERR:** 传输失败信号,APB外围设备不需要支持该信号,通常绑定为LOW。 #### 四、数据传输 ##### 4.1 写入传输 APB协议定义了两种类型的写入传输: 1. **无等待状态的写入传输:** - 在T1时钟周期,写入传输开始,地址PADDR、写入数据PWDATA、写入信号PWRITE和选择信号PSEL被寄存。 - 在T2时钟周期,使能信号PENABLE和就绪信号PREADY被寄存。此时,PENABLE表示传输访问阶段的开始,而PREADY则表示从设备已经准备好在下一个时钟周期完成传输。 - 在T3时钟周期,传输完成,PENABLE和PSEL被取消断言。 2. **具有等待状态的写入传输:** - 在访问阶段,当PENABLE为HIGH时,如果从设备通过将PREADY信号置为LOW来扩展传输,则传输将继续。 - 在这种情况下,所有相关的信号(PADDR、PWRITE、PSEL、PENABLE、PWDATA、PSTRB和PPROT)都将保持不变,直到PREADY变为HIGH,表明从设备已经准备好继续传输。 #### 五、总结 APB协议是一种专为低带宽外围设备设计的成本效益高、功耗低的接口。它与其他AMBA协议兼容,能够简化数据传输过程。通过对关键信号的理解,可以更好地掌握APB协议的工作原理及其在现代微控制器系统中的应用。 APB协议作为AMBA协议家族的一员,在低功耗嵌入式系统中扮演着重要的角色。通过深入了解其信号描述和传输机制,开发者可以更有效地利用APB协议实现外围设备的高效互联。
- 粉丝: 1
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助