-
AMBA APB4
与
AMBA3
AHB-Lite 1.0
协
议介绍
2013
年
09
月
18
日
16:09
绝对好文
关键词:
AMBA
,
APB4
,
AHB-
Lite
作者:
Allen
Zhan
[
介绍
]
根据
ARM
的说法
,
今天
AMBA
已经成为了业界事实
上的
总线
标准
.
本文我们简
单对
AMBA4
中的
APB
v2.0(
也称为
APB4),
以及
AMBA3 AHB-Lite v1.0
进行简
单的了解
.
我们的介绍集中在
,
我们比较有兴趣的地方
.
尽管如此
,
也可能几
乎覆盖了协议中几个最重要的部分
.
[AMBA APB]
AMBA
Advanced
Microcontroller
Bus
Architecture,
由
AR
M
定义的总线架构
(
标准
),
由一个协议家族组成
. ARM
声称这一标准已经称为事实上的
uController
业界
通用标准
.
APB
The Advanced Peripheral Bus(APB)
是
AMBA
协议家族中一个组成部分
.
它被定义为一个
low-cost
的接口
,
为了最小能耗与减小接口的
复杂性进行的
优化设计
.
被用于连接通用外围
,
比如
timers,
inerrupt
controllers,
UART
是
,
and
IOs.
通过
system-to-peripheral bus
bridge
与
main system bus
相连
,
有助于降
低能耗
.
APB
版本
当前
(
2013
年
9
月
),
最近的
APB
协议版本是
AMBA
APB
Protocol
Specification
v2.0.
或者因为属于
AMBA4
家族中的发布协议
,
一般也被称为
APB4.
而在第一个版本
(APB2
)
中
, APB
的基本组元
, APB bridge
与
APB slave
被定
义
.
而在
APB3
中
, Ready signal
被引入
,
这意味着增加了操作状态中
,
增加了
wait state.
另外增加了
PSLVERR,
用于错误报告的
signal.
最近的
APB4,
增加了
PPROT
与
PSTRB signal.
APB bridge
与
APB
slave
我们可以挂载各种
慢速
的外设在
APB
上
,
比如
IO,
比如
UART,
比如
SPI,
etc.
它们都作为
slave
的角色存在
.
但是
,
我们想想看
, bridge
这个
role
就蛮有意思
.
它实际上暗示我们
, APB
不能<
/p>
单独存在
我们这
里所谓不能
单独存在
< br>的意思
,
是说
APB
一定不能直
接连接在
processor
上
(
或者说
arm core
上
).
而最可能的
,
是通过
APB
bridge
而连接在高速的
bus
上
.
实际上
,
在
AHB-Lite
协议中
,
我们发现
APB bridge
被作为
AHB-Lite
的
slave
而被定义
.
Data buses
APB
协议有两个独立的
data bus,
一个用来读
data,
一个用来写
data.
因为没有独立的握手信号
,
所以在两
根
bus
上
,
同一时刻数据传输不能同时发
生
.
Write Transfers
我们简单对
APB
的
trasfers
过程进行分析
,
比如我们分析
write transfer
with no wait states:
[
图例
1: Write
transfer with no wait states]
T0: Idle state
T1: Setup state
write
address PADDR, write data PWDATA
setup
state
仅仅只保持
1pcs clock
cycle,
而在下一个
PCLK
的上升沿
,
一
定进入
Access
state.
T2: Access state
APB
bridge
通过拉高
PENABLE,
通知
slave
第二阶段
(
也就是
access phase)
开始
.
因为是
no wait states,
我们见到了
PREADY
在此被拉高
,
表示
slave
通知
bridge,
在下一个
PCLK
的上升沿
,
本次
transfer
的过程可以结束
.
T3:
finish transfer, then enter Idle state again or
the next setup.
PREADY
拉低
,
说明
slave
通知本次
transfer
结束
.
在
PREADY unasserted
之前
, PADDR,
PWDATA,
以及其他的
signals
都应该保持有效
.
从上述时序中
,
我们了解到
,
write
transfer
看来至少需要
3
cycles.
setup
-
access - finish
而在一个
write transfer with
wait states
时序中
,
[
图例
2: Write
transfer with wait states]
我们见到了
, Slave
通过
unassert
的方式
p>
(
拉低
),
延迟了
2pcs
cycles(
根据
图例的例子
),
这样在
T2
状态上的拉高动作
,
被延时到
T4
进行拉高
.
也就是
Slave
通知在
T5 cycle
中结束本次
transfer.
这就是通过
PREADY
引入了
wait state
后现象
,
我们注意到
,
一般的术语被
称为
Operating States
Read
Transfer
的情形与
Write
Transfer
类似
,
这样
,
我们就基本完备讲述了
APB
protocol,
附上
Operating
States
进行理解
:
[
图例
3: State
Diagram]
-
-
-
-
-
-
-
-
-
上一篇:最常用地质矿产专业英语词汇(新)
下一篇:材料科学基础专业名词