简介
AMBA(AdvancedMicrocontrollerBusArchitecture)总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,具有高速度低功耗等特点。
AMBA总线体系包括以下三种总线。
AHB:AdvancedHigh-performanceBus,用于高性能、高时钟工作频率模块。
ASB:AdvancedSystemBus,用于高性能系统模块。
APB:AdvancedPeripheralBus,用于慢速外设模块。
典型的AMBA总线系统
从AHB/ASB总线到APB总线需要通过桥接器(Bridge)进行互联。
APB总线介绍
应用于慢速外设,如UART、键盘等,不需要AHB总线体系中的Arbiter与Decoder。
Arbiter为仲裁器,决定哪个Master工作。Decoder为译码器,决定Master与哪个Slave进行数据传输。
APB传输时的信号
|pclk|时钟信号|
|presetn|复位信号,低有效|
|paddr|地址|
|psel|选择salve有效信号|
|penable|使能信号,在传输周期起作用|
|pwrite|数据读写控制,高电平为写数据,低电平为读数据|
|prdata|读数据|
|pwdata|写数据|
APB传输时状态
通过APB总线传输数据时有三个状态:
IDLE:初始化状态,此时pselx=0,penable=0,此时未选中Slave。
SETUP:此时pselx=1,penable=0,在SETUP状态保持一个周期,paddr与pwrite给定。
ENABLE:此时pselx=1,penable=1,在ENABLE状态保持一个周期,paddr与pwrite保持不变。
在经过SETUP与ENABLE状态后传输完成,之后如果没有传输要进行,就进入IDLE状态等待;如果有连续的传输,则进入SETUP状态。
APB传输时序图