文章目录

  • 系统总线介绍
    • AHB
      • AHB组成部分
    • ASB
    • APB
      • APB组成部分
    • AMBA协议其它有关问题
  • DMA
    • 具体实施步骤
  • 关注作者

系统总线介绍

系统芯片中各个模块之间需要有接口来连接,总线作为子系统之间共享的通信链路。具有低成本、方便易用的优点。也存在着会造成性能瓶颈的缺点。

AMBA(Advanced Microcontroller Bus Architecture)

  • AMBA 1.0
    ASB和APB
  • AMBA 2.0
    AHB,ASB和APB
  • AMBA 3.0
    AMBA Advanced eXtensible Interface(AXI)
  • AMBA 4.0

一个典型的AMBA系统
处理器和其它主设备/从设备都是可以替换的
(1)AMBA总线介绍-编程知识网

AHB

  • 高速总线,高性能
  • 2级流水线操作
  • 可支持多个总线主设备(最多16个)
  • 支持burst传输
  • 总线带宽:8、16、32、64、128bits
  • 上升沿触发操作
  • 对于一个新设计建议使用AHB

AHB组成部分

  1. AHB主设备(master)
    初始化一次读/写操作
    某一时刻只允许一个主设备使用总线(CPU/DMA/DSP/LCDC…)
  2. AHB从设备(slave)
    响应一次读/写操作
    通过地址映射来选择使用哪一个从设备
    外部存储器控制器EMI、APB bridge
  3. AHB仲裁器(arbiter)
    允许某一个主设备控制总线
    在AMBA协议中没有定义仲裁算法
  4. AHB译码器(decoder)
    通过地址译码来决定选择哪一个从设备

ASB

  • 高速总线
  • 流水线操作
  • 支持多个总线主设备
  • 支持burst传输
  • 总线带宽:8、16、32bits
  • 三态、双向总线(不适于做DFT)
  • 下降沿或者上升沿触发

APB

  • 低速总线、低功耗
  • 接口简单
  • 在bridge中锁存地址信号和控制信号
  • 适用于多种外设
  • 上升沿触发

APB组成部分

  1. AHB2APB Bridge
    可以锁存所有的地址、数据和控制信号
    进行二级译码来产生APB从设备选择信号
  2. APB总线上的所有其它模块都是APB从设备

AMBA协议其它有关问题

  1. 与工艺无关
  2. 没有定义电气特性
  3. 仅在时钟周期级定义时序
    提取时序参数依赖于所采用的工艺和工作频率

DMA

(1)AMBA总线介绍-编程知识网
DMA是帮助CPU搬移数据的,DMA会先做一个读,再去做一个写。读写多少的size也看DMA自身的缓存。搬移完后,发一个INT给CPU。所有东西告诉CPU都是通过INT的方式,由CPU去读自身状态的寄存器。

具体实施步骤

(1)AMBA总线介绍-编程知识网
(1)AMBA总线介绍-编程知识网
(1)AMBA总线介绍-编程知识网
(1)AMBA总线介绍-编程知识网

关注作者

  • 自述
    作者是一位中科大数字设计专业的研究生,水平有限,如有错误,请大家指正,想要与大家一同进步。
  • 经历
    曾获得国家奖学金,“高教社杯”数学建模国家二等奖等
  • 陆续更新:
    1.与verilog数字设计相关的一些基础模块设计
    2.SV与UVM
    3.数字IC设计/验证过程中一些工具及语言的用法
    4.保研与竞赛经历等
  • 微信公众号
    欢迎大家关注公众号“数字IC小白的日常修炼”,期待与大家一同仗剑遨游数字IC世界。