我是靠谱客的博主 舒适煎饼,最近开发中收集的这篇文章主要介绍Pynq调试AXI UART接口,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Pynq将IP的操作封装的很好,但是也隐藏了很多细节 

Pynq的Base.bit在PL生成了MicroBlaze,这个处理器帮助我们操作了GPIO、UART、IIC等外设,但是在测试时PL无法同时加载两个bit流文件,那么自定义的设计无法和Base.bit中定义的外设同时存在,具体结果有两种:①PL server直接断开②会一次加载bit流文件,最后在PL里加载的bit流是最后一个加载的,使用先前的会有不是当前加载的错误

解决办法是在自己设计中加入这些bit流,目前还没查到如何加载多个设计的bit流 

所以在设计中,我加入了需要的UART模块,也就是AXI UartLite,但是在测试中出现了一些问题,发送的数据乱七八糟的,将设计加载在SDK中调试数据发送正常,一般xilinx的IP还是很可靠的,并且SDK中测试正常,可以进行一下猜测:是因为时钟设置问题,造成波特率不同,接收的数据出现问题

 从这里开始查(点击进入连接),这里提示说明,这里说明会根据tcl文件加载设置,加载bit流

 查看设计的tcl文件,确实是50MHz,那么是不是Pynq在解析bit流时对时钟没能设置呢,不然也不会有pynq.pl_server.tcl_parser这样一个模块用来解析tcl文件,找找如何查看当前PL的时钟,最后在这个模块中查找到pynq.ps,ps模块有

 很明显,这个模块包含了我们需要的时钟信息,做一下测试,时钟时31.25MHz,那么就是时钟有问题

我们修改为50Mhz,现在时钟正常,进行发送也正确,这里不再展示

这里不仅仅是一个Pynq下AXI UARTLite的调试和使用,也对Pynq框架进行了最简单的一个探索,希望对大家有帮助 

最后

以上就是舒适煎饼为你收集整理的Pynq调试AXI UART接口的全部内容,希望文章能够帮你解决Pynq调试AXI UART接口所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部