本文转载自:<span id="profileBt"><a href="https://mp.weixin.qq.com/s/Pu-cN3XF6y-nF4Bk4KwbOw"> FPGA打工人微信公众号</a></span>
AHB相比于APB,强大的不是一点半点,其主要是针对高效率、高频宽以及快速系统模块而设计的。也可以通过AHB-APB桥来连接APB总线系统。
<center><img src="http://xilinx.eetrend.com/files/2022-07/%E5%8D%9A%E5%AE%A2/100562610-26…; alt=""></center>
<strong>下面是二者的对比</strong>
<center><img src="http://xilinx.eetrend.com/files/2022-07/%E5%8D%9A%E5%AE%A2/100562610-26…; alt=""></center>
上面提到的burst,可以把它当作一个数据包,而数据包内的每个数据有很多相似之处,除了对应的地址不同,但位宽,以及访问时的命令(读/写)是完全相同的。
<strong>AHB的interconnection</strong>
AHB的interconnection环节主要包含四个部分:控制器Master、从设备Slave、译码器Decoder、仲裁器Arbiter。
<center><img src="http://xilinx.eetrend.com/files/2022-07/%E5%8D%9A%E5%AE%A2/100562610-26…; alt=""></center>
Master和Slave应该不需要做太多说明,但需要注意,同一时间,总线上只能有一个Master工作。
译码器Decoder:主要就是解析总线上传输的地址和控制信息,根据解码信息,提供片选信号给各个Slave。
仲裁器Arbiter:主要根据用户配置,确保总线上同一时间只能有一个主控制器拥有总线的控制权限。
<strong>AHB的接口信号</strong>
<center><img src="http://xilinx.eetrend.com/files/2022-07/%E5%8D%9A%E5%AE%A2/100562610-26…; alt=""></center>
<strong>基本传输</strong>
<center><img src="http://xilinx.eetrend.com/files/2022-07/%E5%8D%9A%E5%AE%A2/100562610-26…; alt=""></center>
第一个周期,Master驱动地址和控制信号;
第二个周期,Slave采样地址和控制信号,对于读操作,Slave将读取的数据写入总线;对于写操作,Master将写入的数据写入总线;
上面是没有wait的基本传输,下面是有wait的基本传输,而wait主要由HREADY信号控制。
<center><img src="http://xilinx.eetrend.com/files/2022-07/%E5%8D%9A%E5%AE%A2/100562610-26…; alt=""></center>