AHB_Lite和APB总线入门
1. 概述
AHB总线(the Advanced High-performance Bus)和APB总线(the Advanced Peripheral Bus)由ARM公司研发的AMBA(Advanced Microcontroller Bus Architecture)片上总线协议定义。其中AHB总线主要应用于高性能、高时钟频率的系统模块;而APB总线主要用于低带宽的周边外设之间的连接,例如UART等外设。
在一些非常简单的系统中,主要使用的是AHB-Lite总线(以下简称为AHB总线)和APB总线,其中Cortex-M0作为AHB总线的主机,来对AHB总线上的其他从机进行控制。系统中的一部分外设作为APB总线的从机,由APB总线的主机——AHB-APB桥来控制,而AHB-APB桥又作为AHB的从机,由CPU控制。这样CPU就通过AHB总线和APB总线控制了整个系统。
2. AHB-Lite总线
2.1 通信流程简述
如图,是一个由一个主机和三个从机组成的系统,描述了一个经典的主机对从机的读写过程。其中为了实现AHB协议,还添加了Decoder地址译码器模块和Multiplexor从机选择器模块。
当主机需要和从机通信时,输出写数据信号HWDATA和地址信号HADDR,并直接连接至从机;但是从机还需要被告知这些信号是否有效,即还需要一个HSEL信号;主机的地址信号HADDR在传入从机的同时,还传入了地址译码器,地址译码器根据事先配置好的各个从机在内存的地址映射,由当前的HADDR输出得到相应的HSEL输出,从而实现对当前时刻的从机进行选择,这样就完成了AHB主机到从机的通信。
从机执行指令