当前位置: 首页 > news >正文

简单的MCU与FPGA通过APB总线实现通讯(fpga mcu APB):乘法器为例

测试平台:

GW1N4器件内置 M1内核;并且可以设置 APB总线与fpga 逻辑进行交互;

框图:

+---------------------+
|                     |
|   M1 Microprocessor |  <-----------------+
|                     |                    |
|   +-----------------+--------------------+
|   |                                             |
|   |  APB Bus                                  |
|   |  (PCLK, PRESETn, PSEL, PENABLE, PWRITE,   |
|   |   PADDR, PWDATA, PRDATA, PREADY, PSLVERR) |
|   +-----------------+--------------------+
|                     |                    |
+---------------------+                    ||v
+---------------------+---------------------+
|                                          |
|   FPGA Multiplier Module                 |
|   +-------------------------------------+
|   |                                     |
|   |  +-----------------+                |
|   |  |  Multiplier     |                |
|   |  +-----------------+                |
|   |  |  8-bit register |                |
|   |  +-----------------+                |
|   |                                     |
|   |  +-----------------+                |
|   |  |  Multiplicand  |                |
|   |  +-----------------+                |
|   |  |  8-bit register |                |
|   |  +-----------------+                |
|   |                                     |
|   |  +-----------------+                |
|   |  |  Command       |                |
|   |  +-----------------+                |
|   |  |  2-bit register |                |
|   |  +-----------------+                |
|   |                                     |
|   |  +-----------------+                |
|   |  |  Result        |                |
|   |  +-----------------+                |
|   |  |  16-bit register|                |
|   |  +-----------------+                |
|   |                                     |
|   +-------------------------------------+
|                                          |
+---------------------+---------------------+

说明

    M1 微处理器


        APB Bus:M1 微处理器通过 APB 总线与 FPGA 乘法器模块进行通信。APB 总线包括以下信号:
            PCLK:总线时钟信号。
            PRESETn:复位信号,低电平有效。
            PSEL:选择信号,表示当前传输的目标是从设备。
            PENABLE:使能信号,表示传输的第二个时钟周期(即数据传输周期)。
            PWRITE:读/写控制信号,高电平表示写操作,低电平表示读操作。
            PADDR:地址总线,表示当前传输的目标地址。
            PWDATA:写数据总线,用于写操作的数据传输。
            PRDATA:读数据总线,用于读操作的数据传输。
            PREADY:准备就绪信号,表示从设备已经准备好响应当前传输。
            PSLVERR:错误信号,表示传输过程中发生错误。

    FPGA 乘法器模块


        Multiplier:8 位寄存器,用于存储乘数。
        Multiplicand:8 位寄存器,用于存储被乘数。
        Command:2 位寄存器,用于存储命令。
        Result:16 位寄存器,用于存储乘法结果。

交互过程:

    初始化
        M1 微处理器通过 APB 总线初始化 FPGA 乘法器模块。
        设置乘数寄存器和被乘数寄存器的初始值。

    写操作
        M1 微处理器通过 APB 总线写入乘数寄存器和被乘数寄存器。
        设置命令寄存器中的启动位(例如 CMD_START)。

    读操作
        M1 微处理器通过 APB 总线读取命令寄存器的状态位(例如 STATUS_FINISHED),以检查乘法操作是否完成。
        如果乘法操作完成,读取结果寄存器中的乘法结果。

    完成
        M1 微处理器通过 APB 总线清除命令寄存器中的启动位,完成一次乘法操作。
        可以重复上述步骤进行多次乘法操作。

框图总结

通过这个框图,我们可以清晰地看到 M1 微处理器和 FPGA 乘法器模块之间的连接性和交互过程。APB 总线作为通信桥梁,确保了两者之间的数据传输和控制信号的传递。

M1端的C代码:

http://www.lryc.cn/news/486952.html

相关文章:

  • css uniapp背景图宽度固定高度自适应可以重复
  • 深度学习--优化器
  • 【嵌入式】关于push老仓库到新仓库的方法
  • 从线下到线上,上门洗衣服务如何实现智能化升级?
  • SQL字段来源表的解析
  • 理解 Python 解释器:CPython 与 IPython 的比较及选择指南
  • Java NIO 深度解析:构建高效的 I/O 操作
  • 总结拓展十六:特殊采购业务——VMI采购模式
  • vue2 + iview(view-design) 中封装使用 vxe-table 处理表格渲染大量数据卡顿现象
  • 初学者指南:知识库问答(KBQA)多跳路径的核心与应用
  • 创建springboot+vue项目相关配置问题
  • 基于AOA算术优化的KNN数据聚类算法matlab仿真
  • 【机器学习】在泊松分布中,当λ值较大时,其近似正态分布的误差如何评估?
  • ABAP开发-面向对象开发_2
  • 微信小程序-prettier 格式化
  • 241118学习日志——[CSDIY] [ByteDance] 后端训练营 [06]
  • Android WMS概览
  • 新一代API开发工具,让API调试更快 更简单
  • 友元类和友元函数
  • Sulfo-Cy5-Iodoacetamide能够发出明亮的荧光信号,使得生物样本的精细结构得以清晰呈现
  • Python中的TCP
  • CSS(8)高级技巧:精灵图,css三角,用户界面,vertical-align属性应用
  • Flink新版Source接口源码解析
  • SLM561A系列60V10-50mA单通道线性恒流LED驱动芯片,为汽车照明、景观照明助力
  • 一次失败的wxpython安装macOS M1
  • 【大数据技术基础 | 实验十一】Hive实验:新建Hive表
  • 【yarn】yarn rest api每日job数量分析
  • 蓝桥杯单片机第十一届省赛(第一场)
  • hive复杂数据类型Array Map Struct 炸裂函数explode
  • FIFO架构专题-FIFO是什么