当前位置:网站首页>AHB2APB桥接器设计(2)——同步桥设计的介绍
AHB2APB桥接器设计(2)——同步桥设计的介绍
2022-06-27 06:18:00 【摆渡沧桑】
点击进入【硬件安全】社区,查看更多精彩内容
声明:
🥭 作者主页:【摆渡沧桑的CSDN主页】。
️ 未经作者允许,禁止转载。
️ 本文为非盈利性质,目的为个人学习记录及知识分享。因能力受限,存在知识点分析不正确的可能。若您参考本文造成了不良后果,本人不承担相关责任。
️ 若本文所采用图片或相关引用侵犯了您的合法权益,请联系我进行删除。
欢迎大家指出文章错误,欢迎同行与我交流 ~
一、AHB2APB同步桥的整体介绍
1.1 模块框图
模块框图:
可以分为三个部分来分析整个同步桥的设计:
主要功能将左边AHB的信号转换为APB的信号,同步桥只有一个时钟和复位,信号转换主要由一些组合逻辑来实现
1. 第一部分: 主要有HCLK,HRESETn, PCLKEN, APBACTIVE这些时钟、复位控制信号
2. 第二部分: 主要以H开头的信号,主要是AHB BUS上的信号
3. 第三部分: 主要以P开头的信号,主要是APB BSU上的信号
二、AHB2APB同步桥的信号接口
2.1 系统信号接口
| 信号 | 方向 | 位宽 | 描述 |
|---|---|---|---|
| HCLK | I | 1 | 同步桥AHB和APB的同步时钟 |
| HRESETn | I | 1 | 同步桥AHB和AOB的同步复位 |
| PCLKEN | I | 1 | PCLK的使能信号 |
| APBACTIVE | O | 1 | 指示APB桥工作信号,可以应用于后级APB BUS上的CLK GATE |
2.2 AHB BUS一侧的接口信号(AHB Slave接口信号)
有关AHB的详细协议介绍参考AMBA总线部分,此部分仅介绍模块已有的接口信号
| 信号 | 方向 | 位宽 | 描述 |
|---|---|---|---|
| HSEL | I | 1 | 每个AHB从机的选通信号。每个从机有自己独立的从机选择信号,并用该信号,表示当前传输是都选中该从机,一般是地址信号的译码 |
| HADDR | I | 16 | AHB 16 bit地址总线 |
| HTRANS | I | 2 | AHB的传输类型,IDLE, BUSY, NONSEQ, SEQ四种传输类型 |
| HSIZE | I | 3 | AHB每一个transfer传输数据的大小,以字节为单位 |
| HPROT | I | 4 | AHB保护控制信号,需要slave带有保护功能,一般不作使用。主要给希望执行保护级别的模块使用 |
| HWRITE | I | 1 | AHB写信号,高为写,低为读 |
| HWDATA | I | 32 | AHB写数据 |
| HREADY | I | 1 | AHB总线从机的输入ready信号 |
| HRDATA | O | 32 | AHB读数据 |
| HREADYOUT | O | 1 | AHB桥输出的ready信号,一般与HREADY对应 |
| HRESP | O | 1 | AHB状态相应信号 |
2.3 APB BSU一侧的接口信号 (APB Master接口)
| 信号 | 方向 | 位宽 | 描述 |
|---|---|---|---|
| PADDR | O | 16 | APB地址信号 |
| PENABLE | O | 1 | APB使能信号 |
| PWRITE | O | 1 | APB写信号,高为写,低为读 |
| PSTRB | O | 4 | APB写选通信号,表示哪个字节有效 |
| PPROT | O | 3 | APB Slave的保护类型。提供保护机制 |
| PWDATA | O | 32 | APB写数据 |
| PSEL | O | 1 | APB的设备的选通有效信号 |
| PRDATA | I | 32 | APB读数据 |
| PREADY | I | 1 | APB ready信号 |
| PSLVERR | I | 1 | APB 传输错误信号 |
2.4 特殊型号说明
2.4.1 APBACTIVE信号:同步桥的工作状态信号
APBACTIVE = 1, 说明此时同步桥处于工作状态,有信号在AHB和APB之间传输
APBACTIVE可以用作APB子系统时钟门控信号,供外设做低功耗处理。
2.4.2 PCLKEN信号:(处理PCLK与HCLK之间的关系,需要控制PCLKEN信号)
如果PCLK = HCLK,则PCLKEN 输入1;如果PCLK = 1/2 HCLK,则PCLKEN = PCLK
如果需要HCLK = N * PCLK,那么PCLKEN 需要在PCLK的上升沿的前一拍置位
在不增加逻辑复杂度的情况下,在一定程度上,增加了总线的灵活性,降低了功耗
2.4.3 AHB中的HREADY信号:
- 作为AHB的从机,从机必须由一个输入ready和一个输出ready信号
- HREADY信号: 同步桥的输入信号,外部AHB仲裁器收集各个AHB Slave设备的HREADYout信号,然后做出判断,在送给Slace 端口。表示AHB总线是否READY
- HREADYout信号:同步桥的输出信号。代表同步桥是否准备好接收或者发送数据。在同步桥的数据转换中,APB读写操作至少需要两个时钟周期,设计时需要让AHB在合适的时候拉低HREADYout信号,添加合适的等待周期,从而实现AHB到APB的数据转换。
2.4.4 AMBA APB 3.0信号
- PREADY
APB Slave通过PREADY信号直接来告诉master,Slave的Ready状态。如果PREADY为高,表示可以接收读写操作,如果PREADY为低,表示Master需要等待- PSLVERR
加入Slave反馈给Master Error 反馈功能
2.4.5 AMBA APB 4.0信号
- PSTRB[3:0]
在写操作中,用来指示,byte lane (即多bit字节中哪一个字节是有效的)
在读操作应该改全1,读操作不考虑- PPROT[2:0]
在新版的 APB 4.0协议中,可以采用作为外设访问权限的设置
1. PPROT[0]:0:正常可以访问;1:私有访问,特权级别
2. PPROT[1]:0:安全访问;1:非安全访问
3. PPROT[2]:0:数据;1:指令
三、AHB2APB同步桥的设计参数
定义一些参数,来让代码更加灵活,便于修改
- ADDRWIDTH:16, 地址空间,对应64 KB的寻址空间
- REGISTER_WDATA: 1, (主要定义AHB到APB在数据传输是否对寄存器需要处理)
优点:AHB2APB的同步桥PWDATA会变成寄存器输出,有利于时序优化
缺点:会增加HWDATA到PWDATA的输出延迟- REGISTER_RDATA: 1 (主要定义APB到AHB输出的读数据做寄存器处理)
优点:AHB2APB的同步桥PRDATA会变成寄存器输出,有利于时序优化
缺点:会增加PRDATA到HRDATA输出延迟
四、AHB2APB同步桥的时序图
4.1 burst写传输:
AHB这一侧,每个一个时钟周期会受到一个HREADY = 0的信号,等待APB将数据写入
4.2 back-back 传输(写读循环)
不经常出现一个写,接着一个读传输
精选往期 《AMBA总线》系列文章
【协议篇】
AMBA总线协议(一)——一文看懂APB总线协议
AMBA总线协议(二)——一文看懂AMBA2 AHB2与AMBA3 AHB-Lite总线协议的区别
AMBA总线协议(三)——一文看懂AHB总线所有协议总结(AHB2 & AHB-Lite & AHB5 )
AMBA总线协议(四)—— Multi-Layer AHB System (多层AHB总线架构)
AMBA总线协议(五)—— AXI3 协议接口信号介绍1
AMBA总线协议(六)—— 一文看懂 AXI3 协议原子访问2
边栏推荐
猜你喜欢

Multithreading basic part part 1

Multithreading basic Part3

426-二叉树(513.找树左下角的值、112. 路径总和、106.从中序与后序遍历序列构造二叉树、654. 最大二叉树)

Inter thread wait and wake-up mechanism, singleton mode, blocking queue, timer

KubeSphere 集群配置 NFS 存储解决方案-收藏版

0.0.0.0:x的含义
Software testing year end summary report template

427- binary tree (617. merge binary tree, 700. search in binary search tree, 98. verify binary search tree, 530. minimum absolute difference of binary search tree)

Assembly language - Wang Shuang Chapter 11 flag register - Notes

JVM的垃圾回收机制
随机推荐
vscode korofileheader 的配置
Configuring the help class iconfiguration in C # NETCORE
HTAP 深入探索指南
openresty使用文档
JS to implement bidirectional data binding
js实现双向数据绑定
美摄云服务方案:专为轻量化视频制作场景打造
expect脚本中使用scp命令的方法,expect脚本中scp命令获取不了值的问题完美解决方法
yaml文件加密
LeetCode 0086. Separate linked list
爬虫学习5---反反爬之识别图片验证码(ddddocr和pytesseract实测效果)
JVM整体结构解析
Keep 2 decimal places after multiplying SQLSEVER fields
程序猿学习抖音短视频制作
Altium designer 19 device silk screen label position shall be placed uniformly in batches
JVM tuning ideas
【Cocos Creator 3.5.1】event. Use of getbutton()
观测电机转速转矩
Thinking technology: how to solve the dilemma in work and life?
建模竞赛-光传送网建模与价值评估
