APB总线

这篇具有很好参考价值的文章主要介绍了APB总线。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 apb 协议的特点:低成本 低功耗 低带宽 无流水 完成一次传输最少需要两个周期

2 端口定义:

penable : 使能型号,高电平表示传输开始

pready: 表示slave 还没准备好响应主机,可以用来延长传输

pslerr: 表示传输失败

1 apb 总线

1.1 接口信号

psel: 片选信号

pwrtie: 片选信号有效后,可对外设进行读写操作,1写0读

penable: 当前操作是写操作,在penable为高电平时数据会被写入相应的寄存器;如果时读操作,从机必须在penable使能周期提供稳定的数据以供读取。

reg [31:0] con_reg;
//- address decode
assign con_en = (reg_addr == `IC_CON);

//---------------------------------
//-- write and read enable
//-- Generate write and read enable signals from psel,peable and pwrite inputs 
assign wr_en = psel && pwrite && penable;
assign rd_en = psel && (!pwrite) && (!penable);

// con reg write enable
assign con_we = con_en & wr_en;

// con reg write
always@(posedge pclk,negedge presetn) begin
    if(!presetn) begin
        con_reg <= 0;
    end
    else begin
        if(con_we) begin
            con_reg <= ipwdata;
        end
    end
end     

//- apb read data mux 
always@(*) begin
    iprdata = {32{1'b0}};
    case(1'b1)
        con_en: iprdata = con_reg;
        ...
    endcase
end

//- apb read data
always@(posedge pclk,negedge presetn) begin 
    if(!presetn) begin
        prdata <= 0;
    end
    else begin
        if(rd_en) begin
            prdata <= iprdata;
        end
    end
end      

apb每一笔数据的传送,需要两个周期,适合没有流水线架构的设计中。penable 作为数据传递时的启动信号。

APB协议检查

1 当pwrite,penable, paddr 有效时,psel 是有效的.

2 pwdata 有效时,pwrite 有效

3 pready 有效时,penable 有效

4 pslverr 拉高时,psel 和 penable 和 pready 都要为高

5 一旦

1.2 状态机

IDLE SETUP ENABLE

Note:

  1. 完成一次操作后,PENABLE必须置0;
  2. 若后续没有操作,PSEL置0,否则置1;

2 协议验证

2.1 testcase

2.1.1 single transaction

// step1 continous write

// step2 continous read 

// step3 read after write

// step4 read immediately after write

2.1.2 burst transaction

// step1 continous burst write

// step2 continous 

1 single_write

2 single_read

3 single_read_with_wait_state

4 single_write_with_wait_state文章来源地址https://www.toymoban.com/news/detail-685005.html

到了这里,关于APB总线的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • APB协议及APB_Slave设计

    原文: 翻译: APB协议是一个 低成本 的接口,经过了优化, 降低了功耗和接口复杂性 。APB接口是 简单 , 同步 , 无流水线 的协议。 每次传输花费至少两个周期完成。 APB接口设计是为了访问外围设备中的可编程控制寄存器。APB外设通常使用APB桥连接到内存系统。例如,A

    2024年02月05日
    浏览(36)
  • AMBA协议笔记(APB)

    Chapter 1 概述 APB(Advanced Peripheral Bus),是 低功耗 和 减少接口复杂度 的优化接口协议。APB接口是 低带宽 , 不需高性能流水线的接口协议 ,同时APB也具有非流水线的协议。 所有信号都只在时钟的上升沿跳变 ,目的是为了 简化设计流程中的APB外设融合 。 每次传输至少需要

    2024年02月10日
    浏览(33)
  • stm32 APB1和APB2的区别

    APB1外设时钟使能寄存器(RCC_APB1ENR) 低速APB使能,最大允许频率36MHz APB2外设时钟使能寄存器(RCC_APB2ENR) 高速APB使能,最大允许频率72MHz 这里的外设是相对Cortex M3的内核来讲的。这两个寄存器都是32的,占用四个字节。这两个寄存器都位于结构体RCC_TypeDef中,名字叫APB1ENR和APB2ENR。操

    2024年02月11日
    浏览(29)
  • APB 基本原理

    APB是AMBA总线体系中的一员,因其具备低功耗、接口和控制简单的特点,广泛被运用于低带宽和不带总线的高性能外设接口,ASIC芯片中寄存器访问。 APB的传输信号只与时钟上升沿有关,故其具备以下优点: 易于实现高频操作; 性能与时钟占空比无关; 静态时序分析简单;

    2024年02月06日
    浏览(45)
  • FPGA开发(4)——AXI_LITE总线协议

    对于axi总线的学习我主要是参考了赛灵思的ug1037文档以及arm的INI0022D手册,对其中的内容做了总结。 AXI是amba总线的一种,包含三种,axi full、axi lite和axi stream。 AXI工作:axi接口包含了五组通道,分别是读地址、写地址、读数据、写数据以及写响应。数据可以在主机和从机中双

    2024年01月16日
    浏览(51)
  • APB-UART(1)

    UART是现在MCU常用外设,它具有应用简单(只有几个寄存器),应用广泛,接线简单等优点,对电平进行转换后,通信距离较长。 单位:bps(位每秒),指发送一位所占用的时间 发送FIFO是一个8位宽、32位深的FIFO存储缓冲器。通过APB接口写入的CPU数据存储在FIFO中,直到被发送

    2024年02月02日
    浏览(27)
  • APB-UART-1

    uart(universal asynchronous reciver and transmitter) 通用异步收发器,是一种通用串行数据总线,用于异步通信,将数据的二进制位一位一位的进行传输。 该总线双向通信,可以实现全双工传输(rxd txd可同时工作)和接受。 同步通信和异步通信 发送方和接收方按照同一个时钟节拍工

    2024年02月13日
    浏览(26)
  • APB接口的24小时钟表计数器

    //2022-3-19 soc设计 //APB接口的钟表计数器模块 //题目1:APB接口的模6计数器/模10计数器模块 // 设计内容: //APB2.0 接口 //支持异步复位(低电平有效) //支持软件同步复位(高电平有效) //支持计数暂停(高电平有效) //钟表计数器的显示按照每秒更新 //钟表计数器按照24小时循

    2023年04月08日
    浏览(29)
  • DW_apb_i2c 使用介绍1

    目录 2.0 DW_apb_i2c 版本 2.1 DW_apb_i2c 逻辑设计架构 2.2 DW_apb_i2c 特点  2.3 DW_apb_i2c 功能使用介绍 2.3.1 工作模式 2.3.2 开始信号 2.3.3 停止信号 2.3.4 从机地址模式 2.3.5 输入滤波功能 2.3.6 SCL速率配置 2.3.6.1 SCL 配置寄存器 2.3.6.2 SCL 计算公式  2.3.6.3 SCL 实例计算 2.3.7 总线清除功能 2.

    2024年02月15日
    浏览(34)
  • 第二章 DW_apb_i2c 介绍

    目录 2.0 DW_apb_i2c 版本 2.1 DW_apb_i2c 逻辑设计架构 2.2 DW_apb_i2c 特点  2.3 DW_apb_i2c 功能使用介绍 2.3.1 工作模式 2.3.2 开始信号 2.3.3 停止信号 2.3.4 从机地址模式 2.3.5 输入滤波功能 2.3.6 SCL速率配置 2.3.6.1 SCL 配置寄存器 2.3.6.2 SCL 计算公式  2.3.6.3 SCL 实例计算 2.3.7 总线清除功能 2.

    2024年02月06日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包