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

  • 说明
    • 演示:在软核中添加自定义的ip
    • bd文件的编辑
      • vitis文件

说明


直接在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)结果显示

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

  1. 第五期 中断设计 基于ARTY A7的MicroBlaze系统搭建与应用

    第五期 中断设计 基于ARTY A7的MicroBlaze系统搭建与应用 GPIO的中断 GPIO的中断--vitis部分 串口的中断 分析:GPIO,串口的中断怎么体现出来? GPIO的中断 (1) ...

  2. 第四章 DDR3和FLASH 基于ARTY A7的MicroBlaze系统搭建与应用

    DDR3和FLASH 基于ARTY A7的MicroBlaze系统搭建与应用 说明 实验过程 搭建microblaze 打开vitis flash烧写(重点) 验证 细节注意 说明 一般芯片是用内部存 ...

  3. qq自定义diy名片代码复制_「正点原子FPGA连载」第六章自定义IP核-呼吸灯实验

    1)摘自[正点原子]领航者 ZYNQ 之嵌入式开发指南 2)实验平台:正点原子领航者ZYNQ开发板 3)平台购买地址:https://item.taobao.com/item.htm?&id= ...

  4. SoC 外设-自定义 ip 实验 PWM实现呼吸灯

    SoC 外设-自定义 ip 实验 PWM实现呼吸灯 DS-5 中eclipse更新第二种代码为: /** main.c** Created on: 2021年12月9日* Author: awclou ...

  5. 仅展示成果:基于ROS的自动驾驶系统搭建教程(三):激光定位ndt_matching

    仅展示成果:基于ROS的自动驾驶系统搭建教程(三):激光定位ndt_matching 前端搭建完毕,接着完善后端的功能,现在是最基础的激光点云定位. 初步是要把循迹功能所涉及的所有相关模块给完善好,接 ...

  6. 一步步学习zynq软硬件协同开发(AX7010/20)【FPGA+ReWorks】:创建自定义IP实现rtc读写

    一.实验环境及目的 板卡:AX7010 Vivado版本:2017.4 开发机:I5  2.2GHZ  8GB  WIN7_X64 参考文档:<ALINX黑金ZYNQ7000开发平台配套教程&g ...

  7. 最简单DIY基于ESP32CAM的物联网相机系统⑥(用上位机VS2013 MFC实现WIFI图传)

    第一篇:最简单DIY基于ESP32CAM的物联网相机系统①(用网页实现拍照图传) 第二篇:最简单DIY基于ESP32CAM的物联网相机系统②(在JAVAWEB服务器实现图片查看器) 第三篇:最简单DI ...

  8. Python基于YOLOv7的火灾检测系统(源码&教程)

    1.项目背景 为解决传统传感器在检测火灾的过程中受到环境.安装距离等因素影响导致适应性差的缺点,本文基于视觉传 感器,通过视觉目标检测技术对火灾进行检测,从而实现火灾的预警. 2.识别效果展示 3.视 ...

  9. 飞谷云六期第三组——基于Spark的机器学习

    项目正式开始时间:2015.10.15. 随笔内容:本次项目的主题是基于Spark的ML.对于ML的学习有大概半年了,正好在网上关注到了由上海交通大学所主办的这个飞谷云的大数据项目,我所报名的这期已经 ...

最新文章

  1. angularjs学习第八天笔记(指令作用域研究)
  2. linux需要检测的系统资源不足,细说Linux 系统优化
  3. 外观模式(Façade Pattern)
  4. ArcGIS 10.7 模型构建器Model Builder空间建模流程化作业案例----影像拼接与掩膜裁剪
  5. MonkeyRunner之小白如何使用MonkeyRecorder录制回放脚本
  6. STM32固件库的安装
  7. MATLAB通过两点画三维直线(plot3)
  8. 【边缘计算】移动边缘计算中延迟和能量约束任务卸载的最优拍卖
  9. 如何将国际音标插入到Word中? | 怎么打48个国际音标?
  10. 计算机无法安装VC2015,win10 vc++2015一个或多个问题导致了安装失败如何处理
  11. 这将是你看到过最全的pdf预览解决方案
  12. 游戏外挂篇:如何Dump内存获得游戏的辅助
  13. 基于crontab的服务器恶意程序
  14. JavaWeb医院挂号系统
  15. 【OpenPCDet】Kitti数据集下训练PointPillars并评估可视化
  16. 计算机网络常见面试题(自答版)
  17. 二进制 八进制 十进制 十六进制
  18. 10.710.8 基于HyperOpt实现TPE优化基于Optuna实现多种优化
  19. java晋升述职_阿里感悟(九)-如何才能晋升
  20. 面试+学习+做项目+最全Java视频讲解

热门文章

  1. Qt5开发从入门到精通——第六篇一节( 图像与图片——位置相关函数 )
  2. PDR (Pedestrian Dead Reckoning)行人航位推算基本原理及实现
  3. 操作系统春招面试复习之:文件管理
  4. HDR视频色调映射算法(之二:Adaptive temporal TMO)
  5. Gate用户手册(二)怎样运行Gate以及可视化
  6. 制作JavaCV应用依赖的基础Docker镜像(CentOS7+JDK8+OpenCV4)
  7. 后端编译与优化(JIT,即时编译器)
  8. 1937 年阿尔法罗密欧 8C 2900B Berlinetta获选成为全球最负盛名的车辆
  9. pb rows changed between retrieve and update的问题
  10. 【AE软件】视频添加字幕