第六期 自定义IP添加-PWM 基于ARTY A7的MicroBlaze系统搭建与应用

第六期 自定义IP添加-PWM 基于ARTY A7的MicroBlaze系统搭建与应用

说明

在这里插入图片描述
直接在cpu中添加p产生pwm的IP核,会消耗较多定时器资源,而定时器资源是比较紧缺的
所以考虑在FPGA上生成pwm波,而软核只考虑提供pwm波的周期和占空比

演示:在软核中添加自定义的ip

(1)新建工程
在这里插入图片描述在这里插入图片描述
(2)先要有一个产生pwm的.v文件,文件中有两个输入,周期(步进值)和延迟
在这里插入图片描述
(3)产生自定义ip核
在这里插入图片描述
(4)要创建一个满足axi4的IP核(直接点击进来的)
在这里插入图片描述
(5)axi4 的寄存器个数为4个,本例子中其实只有两个,主要例化时就可以例化两个
在这里插入图片描述
在这里插入图片描述
(6)在ip catalog中找到自定义的IP核,编辑
在这里插入图片描述
(7)添加pwm的.v文件,并且注意要复制代码的勾选项
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(8)将ip核进行例化,两个寄存器端口的例化注意连接端口
在这里插入图片描述
在这里插入图片描述
(9)添加两次的例化,并且添加两个输出端口,在顶层文件也需要进行添加输出端口
在这里插入图片描述
(10)进行自动融合,re-package ip
就完成了pwn ip的设计

bd文件的编辑

(1)新建bd文件
在这里插入图片描述
(2)添加时钟,软核,串口->布线
在这里插入图片描述
(3)添加pwm的ip,ctrl + T输出端口,自动连接,检查是猴子正确
(4)注意,pwm的时钟是100MHz
在这里插入图片描述
(5)产生顶层封装文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(6)对pwm的管脚输出进行配置,
添加官方的管脚约束条件
若是用到该管脚,就取消到注释,但注意要管脚名称正确

(7)生产bit流文件
在这里插入图片描述
(8)导出硬件文件,注意导出位置

vitis文件

(1)新建hello,world工程
在这里插入图片描述
在这里插入图片描述

(2)利用pwm_ip.h编写驱动文件,参数文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)在hello,world中修改,编写驱动文件
1添加头文件
2添加寄存器设置,写寄存器的函数(基地址,偏移量,数据)(两路)
3添加while循环(占空比的变化)
为了体现两路pwm变化的不同,将两路占空比进行反向

在这里插入图片描述
(4)编译,下载
在这里插入图片描述
(5)结果显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值