持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第21天!
APB信号
- PADDR[31:0]
- 地址总线,由设备总线的bridge单元驱动
- PSELx
- 从译码器来的信号,到每一个总线从设备x【每个总线的从设备都会有一个x】
- PENABLE
- 用于在设备总线上把所有访问按时间阶段进行
- PWRITE
- 高电平(1):写
- 低电平(0):读
- PRDATA 和PWDATA
- 最多32位宽
写传输(时序图要理解)
- glitch是可以接受的,因为都是边缘采样的
- 要清空采样,将penable拉低即可,这个信号也是受状态机控制的信号
Bridge (AHB 2 APB的接口)
- 如何将AHB pipeline timing to 2-cycle apb timing? 通过有限状态机实现时序的转换
APB slave
APB上挂载的都是slave
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的数据类似于读写存储器