AMBA-APB知识点上

461 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第21天!

image.png

APB信号

  • PADDR[31:0]
    • 地址总线,由设备总线的bridge单元驱动
  • PSELx
    • 从译码器来的信号,到每一个总线从设备x【每个总线的从设备都会有一个x】
  • PENABLE
    • 用于在设备总线上把所有访问按时间阶段进行
  • PWRITE
    • 高电平(1):写
    • 低电平(0):读
  • PRDATA 和PWDATA
    • 最多32位宽

image.png

image.png

写传输(时序图要理解)

  • glitch是可以接受的,因为都是边缘采样的
  • 要清空采样,将penable拉低即可,这个信号也是受状态机控制的信号

image.png

image.png

Bridge (AHB 2 APB的接口)

image.png

  • 如何将AHB pipeline timing to 2-cycle apb timing? 通过有限状态机实现时序的转换

image.png

APB slave

APB上挂载的都是slave

image.png

image.png PRDATA信号是直接跟HRDATA信号连接而不需要寄存的。

## 通信方式(总线实现通信)

  • CPU (master) <--> IP(slave) CPU可以控制所有的IP,eg: CPU通过配置DMA的slave接口,从而让DMA去传数据
  • IP (master) <--> IP(slave) (走中断模式去进行通信)

Memory mapped IO

  • 每一个从设备都占用系统中的一段地址空间 【地址大小是32位的,整个地址空间是2^32位的,AHB的地址空间最小是以1K为单位的,1K也是边界,不可以超越这个边界】
  • 所有的从设备都是可寻址的【寻址是通过对高位地址译码,eg:[32:26],比如产生一个HSEl信号,通过这个HSEL信号可以寻找到所有的译码器】
  • 寄存器/存储器都是内存映射方式访问
  • CPU/IP读写其他IP的数据类似于读写存储器