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

FPGA-Vivado2017.4-建立AXI4用于单片机与FPGA之间数据互通

1、打开工程,并建创建IP核

2、点击下一步

3、选择AXI4,点击下一步

4、起名字,并设置存储位置

5、设置一次传输,数据最大传输的数量

6、建立IP和编辑IP

7、建立连接口,根据第5步最多设置512*32个字节,注意分配输出和输入

intput 是FPGA到MCU,output是MCU到FPGA数据传输

8、建立内部例化调用

9、数据例化内部调用,建立链接,名称、类型、大小和第7步要相同

10、分配第5步设定的寄存器数值,一共设定了512个寄存器,设定前256个是FPGA给定到MCU数据,后256个为MCU给定到FPGA数据,寄存器的值为slv_reg0到slv_reg511.故slv_reg0到slv_reg255为输入及FPGA到MCU,后slv_reg256到slv_reg511为输出即MCU到FPGA数据。

11、屏蔽这个地方的所有寄存器

12、屏蔽slv_reg0到slv_reg255的输入,即FPGA给MCU的数值,防止数值被覆盖

13、屏蔽slv_reg0到slv_reg255的输入,即FPGA给MCU的数值,防止数值被覆盖

14、屏蔽slv_reg256到slv_reg511的输出,即MCU给FPGA的数值,防止数值被覆盖

15、编程赋值

16、IP生成

17、调用IP内核

18、编译FPGA

19、生成后打开C代码

20、MCU到FPGA传数据

F_MDATA_mWriteReg(XPAR_DATA_0_S00_AXI_BASEADDR,F_MDATA_S00_AXI_SLV_REG256_OFFSET,传输的数据32bit);

21、FPGA到MCU传数据

F_MDATA_mReadReg(XPAR_DATA_0_S00_AXI_BASEADDR, F_MDATA_S00_AXI_SLV_REG0_OFFSET)

http://www.xdnf.cn/news/1324081.html

相关文章:

  • OpenTelemetry、Jaeger 与 Zipkin:分布式链路追踪方案对比与实践
  • vscode wsl解决需要用别的用户调试的问题
  • VSCode REST Client 使用总结
  • Linux下的软件编程——IPC机制
  • Linx--MySQL--安装笔记详细步骤!
  • k8sday10服务发现(1/2)
  • 数据泵实施VPS海外:跨国数据同步的完整解决方案
  • 45 C++ STL模板库14-容器6-容器适配器-优先队列(priority_queue)
  • 系统架构评估方法全景解析
  • 【Java基础常见辨析】重载与重写,深拷贝与浅拷贝,抽象类与普通类
  • LLM - MCP传输协议解读:从SSE的单向奔赴到Streamable HTTP的双向融合
  • mq存量消息如何处理
  • 【iOS】Block补充
  • RecSys:排序中的融分公式与视频播放建模
  • 数据结构(03)——线性表(顺序存储和链式存储)
  • 从哲学(业务)视角看待数据挖掘:从认知到实践的螺旋上升
  • 常见的光源频闪控制方式
  • CSDN转PDF【无水印且免费!!!】
  • 数字时代著作权侵权:一场资本与法律的博弈
  • Gartner发布2025年AI与网络安全成熟度曲线:用AI增强网络安全计划的27项技术与创新
  • C++ const
  • Swift 实战:判断点集是否关于某条直线对称(LeetCode 356)
  • Effective C++ 条款48:认识模板元编程
  • 【前端面试题】JavaScript 核心知识点解析(第一题到第十三题)
  • 【Python语法基础学习笔记】条件表达式和逻辑表达式
  • 03.文件管理和操作命令
  • 网站服务器使用免费SSL证书安全吗?
  • 免费又强大的 PDF 编辑器 ——PDF XChange Editor
  • MacOS 安全机制与“文件已损坏”排查完整指南
  • 【Tech Arch】Spark为何成为大数据引擎之王