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是什么

相关推荐
我是伪码农8 小时前
百蝶杯学习
学习
keyipatience9 小时前
JavaScript学习(1)书写位置,变量、数据类型、运算符
开发语言·前端·javascript·css·学习
xian_wwq10 小时前
【学习笔记】Milvus 如何完成一次向量相似度检索,Milvus 索引到底应该怎么选?-15
笔记·学习·milvus
Hhuhkt11 小时前
3D 云养宠小游戏
学习
松小白song12 小时前
【硬核排错实录】FPGA DDS 波形卡死:寄存器有值但正弦 / 三角 / 自定义波形完全不输出(双通道失效终极解决)
fpga开发
派大鑫wink12 小时前
纯前端实现软考中级·软件设计师备考学习网站
前端·学习
smartpi_ai13 小时前
51 单片机写好了,大模型语音怎么接?17T 全驱动的现成方案、双板串口分工的边界与画板前的三项硬件确认
单片机·嵌入式硬件·学习
星夜离尘5613 小时前
UART偶发乱码:波特率分频误差之外,还要算采样漂移
fpga开发·uart
辣知14 小时前
辣知·化智82 人类文明演化规律文化传承
学习
小雪崩16 小时前
嵌入式学习:Linux驱动开发总结
linux·驱动开发·学习