当前位置:网站首页>【手撕AHB-APB Bridge】~ AMBA总线 之 APB
【手撕AHB-APB Bridge】~ AMBA总线 之 APB
2022-08-02 19:43:00 【IC二舅】
本章目录:
前言
文章更新原则如下:当日微信公众号首发===>最早次日博客更新(取决于作者时间)
如果大家想看到第一手的文章请关注 微信公众号 “IC二舅” ,回复关键字有学习资料获取,并且可以一起进群讨论学习!!!
一. 引入
APB(Advanced Peripheral Bus) 作为高级外设总线是AMBA协议之一,也是最基本的总线协议。按照ARM官方定义,APB是一种低成本的接口协议,可以实现低功耗以及精简的接口设计,降低接口设计的复杂度。
APB协议不支持流水线设计,它主要应用在低带宽设计需求的接口中,高性能带宽需求可以使用AXI总线。APB协议的实现与时钟沿对齐,以简化外设接口的设计。每次传输至少需要消耗两个时钟周期。
在SOC设计中,APB一般作为IP的配置接口,其中包括低速外设如I2C,UART等,可以方便的实现CPU对外设IP的寄存器配置。系统中一般会实现一个AXI2APB或者AHB2APB的转换桥将APB口挂载在系统上。这里不讨论AXI,以AHB2APB为例:
二. APB总览
APB一般情况下只是一个Slave,如上图所示。APB中最重要的就是需要掌握以下几点:
- a. APB有哪些信号?
- b. APB的读写时序图?
- c. AHB2APB的地址映射关系是什么?

1. APB信号

PCLK和PRESETn表示的是 Global 变量,不论在AHB还是APB中都有的,以下几个信号是APB的信号:
2. APB的读写时序图
2.1 APB写操作的时序图

完成一次传输需要两个Cycle,一是SETUP cycle,另一个是ENABLE cycle。首先PSEL信号拉高,此时的PENABLE拉低,此时数据已经开始写,但没完成!!!之后第二个周期,PENABLE拉高,完成一次传输。
2.2 APB读操作的时序图

读操作和写操作比较类似,可以参照写操作!!!
三. 地址映射关系

逐层传递,解码,储存,通过 两级Mapping(映射)的过程 完成地址映射!!!
四.实现方式
如何实现传输2个ahb的pipeline到两个时钟周期的timing呢?
答:apb通过实现状态机来实现该功能的。
五. 数据流向

APB Slave:左侧的输入信号是来自bridge的,输出只有一个,那就是读出来的数据送给AHB。
六. Apb到ahb的接口(读数据)

图中的小1表示地址线传输(从AHB向APB),此时PSEL拉高,PENABLE拉低,完成第一个周期,后来PENABLE拉高,完成第二个周期,此时的数据已完成 读取。
声明
本人所有系列的文章,仅供学习,不可商用,如有侵权,请告知,立删!!!
本人主要是记录学习过程,以供自己回头复习,再就是提供给后人参考,不喜勿喷!!!
如果觉得对你有用的话,记得点赞+收藏+评论!!!
全网各平台同名===> “IC二舅”
====================================================================
下期预告:
AMBA总线 之 AHB ,敬请期待!!!
边栏推荐
- LeetCode - 105. 从前序与中序遍历序列构造二叉树;023.合并K个升序链表
- LeetCode 622 设计循环队列[数组 队列] HERODING的LeetCode之路
- J9 digital theory: the Internet across chain bridge has what effect?
- 银保监会:人身险产品信披材料应由保险公司总公司统一负责管理
- Leetcode刷题——单调栈问题(739每日温度问题、496下一个更大元素I、503下一个更大元素 II)
- ssh配置
- es 官方诊断工具
- 一款好用的FAQ搭建工具
- Translate My Wonderful | July Moli Translation Program Winners Announced
- 软件测试分类
猜你喜欢

unittest自动化测试框架总结

Shell: conditional statements

What is a Field Service Management System (FSM)?what is the benefit?

ShardingSphere-proxy +PostgreSQL implements read-write separation (static strategy)

SQL 入门之第一讲——MySQL 8.0.29安装教程(windows 64位)

程序员也许都缺一个“二舅”精神

腾讯云孟凡杰:我所经历的云原生降本增效最佳实践案例

斯堪尼亚SCANIA OTL标签介绍

In action: 10 ways to implement delayed tasks, with code!

实现客户服务自助,打造产品知识库
随机推荐
MySQL安装(详细,适合小白)
Geoserver+mysql+openlayers
Triacetin是什么化学材料
Translate My Wonderful | July Moli Translation Program Winners Announced
线性表(顺序表和链表)
Lvm逻辑卷
4 kmiles join YiSheng group, with more strong ability of digital business, accelerate China's cross-border electricity full domain full growth
分布式事务
软件测试分类
云平台简介
谷歌竞价机器学习如何去理解?
二丙二醇甲醚醋酸酯
网络协议介绍
即时通讯开发移动端网络短连接的优化手段
unittest自动化测试框架总结
MaxCompute 近期发布上线的版本的 SQL 引擎新功能参数化视图有什么优势?
【LeetCode】1374. 生成每种字符都是奇数个的字符串
Parse the commonly used methods in the List interface that are overridden by subclasses
扫码预约 | 观看Apache Linkis数据处理实践以及计算治理能力
Mysql安装流程 【压缩版】