FPGA—ZYNQ学习GPIO-EMIO(三)

EMIO使用

GPIO 可以通过 MIO 连接到 PS 端的引脚,也可以通过 EMIO 连接到 PL再到引脚。 mio是通过arm处理芯片和器件相互连接,emio是通过ps控制PL在到引脚。emio的时候,ps通过M_AXI_GPO的口然后进行互联和GPIO再输出,这些是EMIO 的路劲,再到管脚。



1.创建bd与PL进行互联

在原有的基础上进行扩展,前面说了MIO 是通过ps的GPIO口直接与pin脚相连控制外设器件的,而EMIO是通过ps的GPIO到FPGA的pl侧进行处理,然后在到外部管脚。现在拓展EMIO外设

2.在bd中打开GPIO

设置一个GPIO管脚

3.配置PS给PL侧进行传输信息通道GP

4.在配置给PL侧的时钟和复位

给PL的时钟

给PL的复位

总的图如下图

5.PS的ARM设计完后,需要GPIO外设模块

上述是给FPGA和外设的三态门

本工程用输出去控制

接下来需要给PL进行控制外设,但是上面的还不够完整还需要配置ps与gpio的axi互联模块

6.ps与gpio的axi互联模块

找到smartconnect模块。

互联模块给一个输入端口,,可以多个输出端口

7.进行同步复位模块,每个工程基本的都有没有也可以,最好有,进行同步复位

完整框架如下

8.连接网络

将ps的时钟链接互联模块,以及M_AXIGP0_ACLK,给去全局工作时钟。PS的复位给同步复位模块,然后同步复位给互联模块的复位

点击上述进行排版

上述接错了后面会报错正确连接如下互联模块复位链接错了

9.分配AXI总线的地址

自动分配地址值

10报错检查

11,将bd输出并打包生成顶层

打包可以看到顶层

12打包代码

除了DDR以及DIXED的口其他都是PL侧的资源

会看到iobuffer

IOBUF是什么

相关推荐
py有趣3 小时前
LeetCode算法学习之合并区间
学习·算法·leetcode
青衫码上行4 小时前
【Java Web学习 | 第1篇】前端 - HTML
java·前端·学习
charlie1145141914 小时前
HTML 理论笔记
开发语言·前端·笔记·学习·html·1024程序员节
知识分享小能手4 小时前
uni-app 入门学习教程,从入门到精通,uni-app 企业项目实战:鲁嗑瓜子项目开发知识点(9)
前端·javascript·学习·微信小程序·小程序·uni-app·vue
知识分享小能手4 小时前
uni-app 入门学习教程,从入门到精通,uni-app中uCharts组件学习((8)
vue.js·学习·ui·微信小程序·小程序·uni-app·echarts
Yupureki5 小时前
从零开始的C++学习生活 14:map/set的使用和封装
c语言·数据结构·c++·学习·visual studio·1024程序员节
Yupureki5 小时前
从零开始的C++学习生活 15:哈希表的使用和封装unordered_map/set
c语言·数据结构·c++·学习·visual studio·1024程序员节
Mr.Jessy5 小时前
JavaScript学习第六天:函数
开发语言·前端·javascript·学习·html·1024程序员节
生物小卡拉5 小时前
指定列交集内容合并-Rscript_v1.0
笔记·学习·r语言