zoukankan      html  css  js  c++  java
  • APB协议

     在APB2协议中,定义了set up stageaccess stage

        定义两个stage其实就相当于定义两个时钟周期。因为APB的slave通常来说对应peripheral的registers,访问这些slave registers(control,status,write/read data)两个clock cycle就够了。对于status register而言是软件轮询的方式(每次访问同样是两个clock cycle)

       下图是一个APB2的读操作的例子, 因为PWRITE=0. Set up stage在T2时刻(因为PSEL=1, PENABLE=0),access stage在T3时刻(因为PSEL=1,PENABLE=1),读数据是在T3时刻返回的。

                                                                 图: APB2的读时序

                                                                  图:APB3的写时序

        可以看到PREADY信号中的access是被延长了的,在PREADY为低电平的收,外设没有准备好被写数据,直到PREADY为高的时候,才能够写数据,相应的PSEL和PWDATA都被延长了。

                                                                   图:APB3的读时序

        APB3是有error信号的,在access的最后一个阶段给出,如果有eeror的话,PREADY也PSLVERR都必须为1。对master而言,可以在这几个信号都为1的时候,去采集PSLVERR信号。

        APB3相较于APB2多了PREADY和PSLVERR两个信号。上文提到APB2,系统通常是通过软件的方式去轮询Peripheral的status register(两个clock cycle),APB3加了硬件的解决方法,Slave通过PREADY信号直接来告诉master现在Slave已经READY了,可以接受读写操作,如果此时不READY,那么master就要wait到它Ready,这样就不需要软件时刻去轮询status register了。对于PSLVERR而言,加入了Slave反馈给master error response功能。

        APB4比APB3多了什么信号PPROT和PSTRB信号。随着架构的不断发展以及对系统安全性的重视,在新的系统中通常会有security的要求,那么APB4也需要演进,PPROT信号主要就是为了表示当前的这个访问/transaction是secure的还是non-secure的,从而和整个系统的security保持一致性。PSTRB的信号的加入,能够使APB对某个byte进行读写操作。因为即使传输的是32位的信号,但是可能只有部分byte是有效的,用PSTRB的每一个bit来代表每个32位中的4个byte哪些是有效的。

  • 相关阅读:
    excel使用总结
    使用spring的@Scheduled注解执行定时任务,启动项目不输出警告
    web.xml配置错误导致applicationContext.xml配置重复加载
    POI3.8解决导出大数据量excel文件时内存溢出的问题
    linux常用命令总结
    javax.mail 发送邮件异常
    eclipse下创建maven项目
    java单例模式的几种写法比较
    msql数据迁移,myisam及innoDB
    JS监听回车事件
  • 原文地址:https://www.cnblogs.com/yiwenbo/p/10019105.html
Copyright © 2011-2022 走看看