AMBA标准定义了三种不同的总线
- 高级高性能总线(AHB);
- 高级系统总线(ASB);-----用的比较少
- 高级外设总线(APB)。
基于AMBA的典型微控制器:
典型的AMBA AHB系统设计包含以下成分:
AHB主机、AHB从机、AHB仲裁器、AHB译码器
典型的AMBA APB系统设计包含APB桥和APB从机
AHB基本传输过程:
- address phase
address phase传送的是address和control single
- data phase
data phase则是read/write data和response single。如果transfer在data phase时无法在1个clock cycle内完成,slave可用HREADY信号为低来延长transfer。
- HTRANS[1:0]为传输类型,分IDLE, BUSY, NONSEQ, SEQ。其中NONSEQ表示单次传输或者连续传输的开始,SEQ表示连续传输。
- HBURST[2:0]为burst type,分为SINGLE、INCR、WRAP4、INCR4、WRAP8、INCR8、WRAP16和INCR16八种。其中INCR类的burst,每一次transfer address必定是上一次transfer的address加上transfer size;WRAP类的burst,会将跨越地址边界的transfer address绕回地址边界起点。
- HSIZE为transfer size, 支持八种大小,8 bits、16bits、32bits……1024bits。
- HRESP是在transfer结束时表示的状态,分为OKAY、ERROR、RETRY和SPLIT四种。其中ERROR的原因譬如说企图写入只读的memory空间,或者读写根本不存在的memory空间。
APB规范以下列标题来描述:
- 状态图
- IDLE:外设总线的默认状态
- SETUP:当有传输要求时总线转移到SETUP状态,这时对应的选择信号PSELx拉高。总线仅在SETUP状态保持一个周期并将总是在下一个时钟的上升沿移动到 ENABLE状态
- ENABLE:使能信号PENABLE在ENABLE状态中被断言。地址、写和选择信号都是从SETUP到ENABLE状态的转变过程中保持稳定。
ENABLE状态也仅持续一个周期并且在这个状态之后如果没有进一步的传输要求总线将返回IDLE状态。另外,如果紧跟着另一个传输那么总线移动到SETUP状态。
- 写传输
- 读传输
时间: 2024-10-18 20:59:12