搜索
写经验 领红包
 > 生活

什么是apb总线(apb1总线)

导语:芯片技术基础:高性能低功耗的APB总线,MCU必备!

什么是APB总线

在了解APB总线之前,先让我给大家科普一下AMBA--高级微控制器总线体系规范,这套总线规范定义了三种总线协议,分别是AHB、ASB和APB。APB的中文名称是高级外设总线,也就是给芯片外设模块用的总线!

APB总线的特点

APB总线针对外设应用作了优化,降低了接口的功率消耗和复杂性。通常用来连接对带宽要求不高的外设模块,APB的所有信号跳变只会在时钟的上升沿发生,这个IC设计带来了很大的便利。

APB总线有什么用?

在芯片设计中,通常一个微控制器都会以一个高性能的系统中枢总线作为骨架,同时以CPU作为大脑,以存储器作为仓库,同时配置各种不同的外设模块作为微控制器的手脚。外设和存储器之间通过DMA做数据交换,而CPU和外设之间则是通过我们今天介绍的APB总线进行沟通。

图中右方的UART,Timer,Keypad,PIO就是外设,CPU访问外设时先经过桥接器转换成APB总线信号,再进行数据交换。

下面在介绍APB的读写操作之前,先介绍一下APB总线的信号有哪些:

PCLK:APB总线的时钟信号,所有其它APB总线信号都是以这个时钟为准。

PADDR:总线地址,APB总线里每一个操作的对象都有一个地址标识。

PWRITE:读/写信号标识,高电平代表CPU要写这个地址,低电平则代表读这个地址。

PSEL:选择信号,因为CPU可以用APB总线和多个外设通信,通过PSEL信号选中与哪个外设通信。

PENABLE:使能信号,在PSEL选中的下一个周期拉高,读/写完成后和PSEL信号一起拉底。

PWDATA/PRDATA:APB总线的写/读数据bus。

APB的写操作

如上图所示就是APB总线完成一次写操作的时序,执行流程是:

step1:PSEL信号拉高,同时PWRITE信号、PADDR信号和PWDATA信号切换成对应的状态。

step2 : 等待一个PCLK周期,PENABLE信号拉高,此时所有其它信号在PENABLE拉底之前都保持不变。

step3 : 等待一个PCLK周期,完成写操作并把PENABLE和PSEL信号拉底。

APB的读操作

APB的读操作如上图所示,和写操作的区别是此时的PWRITE信号为低电平,以及数据总线上关心的是PRDATA信号,因为此时是CPU从外设把数据读上来。

总结

APB总线是AMBA规范下非常高效而简单的一种总线协议,在芯片设计上被广泛采用。当然,上面介绍的APB总线读、写操作只是在没有等待信号情况下的操作时序,还有一种情况是有ready信号,需要等待若干周期后才把PENABLE信号和PSEL信号拉底,感兴趣的伙伴可以自行查阅。

如果觉得有用,记得点个赞哦!

免责声明:本文由原创用户编辑投稿,若来源犯您的合法权益,请与我们取得联系,我们更正修改。2023年04月08日由小开整理编辑!