AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

这篇具有很好参考价值的文章主要介绍了AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

**

AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

**
注:本例程是在xc7z010clg400_1实现,若导入至复旦微电子需更改为xc7z045iffg900-2L
(目录中带*号的可略过)
背景:PS端UART资源有限,难以满足实际运用中多串口的需求。
具体方法:PS通过AXI总线调用PL的资源进行UART的拓展,本说明采用vivado自带的IP核AXI Uartlite完成,属于AXI_GPIO。

一、Vivado IP核建立

完成图如下
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

1.1 ZYNQ 核配置

这块一般默认即可(可以双机查看GP Master AXI Interface->M_AXI_GP0_Interface是否勾选);由于使用的是PL端的资源,AXI_Uartlite IP核实现串口收发功能,故PS端不用配置其它设置;
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

1.2 AXI_Uartlite IP核配置

注:此处配置时,时钟和波特率一旦配置好,再更改时需要重新生成顶层文件及比特流;
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

(1)观察.bd文件,AXI_Uartlite IP核右边的UART管脚,通过自动布线迁到uart_rtl_0;
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

(2)uart_rtl_0对应的是PL端所约束的任意两个管脚;
注:这里不必考虑这两个引脚是怎么牵出来能作为串口接收发送的,AXI_Uartlite IP核内部逻辑实现模拟串口收发功能,通过引出uart_rtl_0作为任意约束脚,达到串口通信的目的;
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

1.3 编译VIVADO FPGA工程

Step1:单击 Block 文件—>右键—>the Output ProductsGlobalGenerate。
Step2:单击 Block 文件—>右键—>Create a HDL wrapper(生成 HDL 顶层文件)Let vivado manager wrapper and auto-update(自动更新)。
Step3:生成 Bit 文件。
Step4:导出到硬件: File—>Export Hardware—>Include bitstream
加载 SDK:File—>Launch SDK—>OK
注:调用PL端时,导出硬件需勾选Include bitstream

1.4 新建VIVADO SDK工程

Step1:打开 SDK 后,只能看到如下一个工程
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

Step2: 需要手动创建一个 application 工程,模板选择 helloworld。输入工程名字,单击 Next。
选择Hello Word,创建一个包含Hello Word的工程,单击 Finish 完成创建。之后会自动生成一个与 Application 工程名字相同且带有_bsp 后缀的 bsp 工程。
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

点击 axi_uartlite IP 对应的 Import Examples 工程,可以导入 axi_uartlite 的测 试用例。这里导入 xuartlite_polled_example 工程。
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

至此,在 Xilinx Vivado 和 Xilinx SDK 的开发流程完成。接下来要转入 Procise 开发流程。
注意此处的 axi_uart_bsp 工程的存在非常重要(必须存在),其内部存放的是与 PL 的 Block Design 相关的 IP 的驱动程序,因为接下来的 Procise 软件里面的 From Vivado 操作,会搜索 Xilinx SDK 工程下面以“_bsp”结尾的文件夹,并拷贝此文件夹里面的驱 动到 Procise 工程 SDK 的 FM_QL_bsp 文件夹下的 pl 文件夹中 。否则 Procise 软件 From Vivado 操作后,导出的 IAR 工程,将没有 pl 部分的驱动目录。
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

*1.5 下载调试

Step1:点击Xilinx—>Program FPGA 烧写bit文件。
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

注:红框中system_wrapper.bit即为“Step4:导出到硬件: File—>Export Hardware—>Include bitstream”这步所生成的bit;
Step2:如下图绿色播放按钮烧写elf文件(在vivado sdk中烧写)。
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

注:此处第一次打开工程下载会弹出选择窗口,选择run as hardware即可

二、Procise From Vivado

Step1:导入Vivado工程
点击PSOC—>from vivado
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

导入所需的vivado文件.bd和.xci,(参考如下黄色高亮)
.bd路径为:
C:/Users/11/Desktop/aa/axi_uart1/axi_uart/axi_uart.srcs/sources_1/bd/system/system.bd.xci路径为:
C:/Users/11/Desktop/aa/axi_uart1/axi_uart/axi_uart.srcs/sources_1/bd/system/ip/system_processing_system7_0_0/system_processing_system7_0_0.xci
Step2:导出SDK
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

观察bsp,pl文件夹为PL端生成的各种IP核的库函数,这里主要说明uartlite_v3_2
(Procise 软件里面的 From Vivado 操作,会搜索 Xilinx SDK 工程下面以“_bsp”结尾的文件夹,并拷贝此文件夹里面的驱 动到 Procise 工程 SDK 的 FM_QL_bsp 文件夹下的 pl 文件夹中)
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

Include 文件中包含的是软件ip核的基本类型,适用于各种xilinx处理器

Xparameters.h 这个文件是pl端配置完各种IP核后,所在生成的各寄存器的基地址及其它宏定义(比如uartlite的波特率,数据位等),如下图所示:
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

对比下图发现,Xparameters.h 文件中 #define XPAR_UARTLITE_0_BASEADDR 的值刚好对应pl端配置寄存器RX_FIFO的值
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

Uartlite_v3_2文件中,包含共10个.c/.h文件,这些是从vivado工程中的pl端导入
(需手动添加)
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

注:添加.h文件后需要查看路径是否包含,以免编译报错
AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源

如下图中,可以看到路径包含pl内的include和libsrc
注:这里尽量使用相对路径,绝对路径受文件位置移动影响,需每次更改路径

AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源文章来源地址https://www.toymoban.com/news/detail-452622.html

到了这里,关于AXI_UART调试说明-PS使用AXI_Uartlite拓展PL端串口资源的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AXI DMA IP核使用说明

    AXI DMA提供内存和AXI4-Stream 目标外设之间的高带宽直接内存访问。DMA除了配置为直接DMA模式外,还可以配置为scatter/gather(S/G)模式,S/G模式减轻CPU负担。 为了掌握对DMA的使用方法,需要对DMA IP核有足够的了解。这篇文章主要对AXI DMA IP 核的使用进行简单的说明,接下来详细论

    2024年02月13日
    浏览(34)
  • zynq 使用AXI_dma 传输==pl到ps,linux驱动开发,应用层处理DMA数据

    在使用zynq输出处理时,会使用到pl和ps的数据传输,可供使用的方案有多种,由于我们的数据量较大打算,因此使用用以下两种方案处理: 1.使用pl直接写ddr3, 2.使用dma, 本次详细介绍使用axi_dma如何将pl的数据在linux应用层接收数据并处理,以及遇到的问题 fpga工程,我们使用

    2024年02月03日
    浏览(41)
  • yueyin uart ip 使用说明文档

    本文用于讲解yueyin IP 的uart ip(串口/rs422/rs485/rs232)的功能,以及使用说明,方便使用者快速上手。 版本:V1.0.0 编制:月隐 yueyin_ip_uart是月隐编写的串口IP,实现串口的底层收发时序,可灵活设置奇偶校验位,数据位的位宽等参数,收发指示信号明显好用。 串口的协议为:

    2024年02月10日
    浏览(48)
  • 苹果手机IAP2协议Lightning转串口uart使用说明

    这个是之前做的一个demo板子,利用IAP2协议,实现app和外设的USB数据传输。 Lightning转uart使用说明 功能简介 此功能板通过IAP2协议实现了ios外部配件与app的双向数据通讯,可以接收串口发来的数据,并传给app,也可以接收app发下来的数据,并通过串口发送出去。 上图可以看出

    2024年02月07日
    浏览(41)
  • ZYNQ通过AXI DMA实现PL发送连续大量数据到PS DDR

    硬件:ZYNQ7100 软件:Vivado 2017.4、Xilinx SDK 2017.4   ZYNQ PL 和 PS 的通信方式有 AXI GPIO、BRAM、DDR等。对于数据量较少、地址不连续、长度规则的情况,BRAM 比较适用。而对于传输速度要求高、数据量大、地址连续的情况,比如 ADC,可以通过 AXI DMA 来完成。 1、硬件设计 1.1 ZYNQ7

    2024年02月04日
    浏览(30)
  • fpga 通过axi master读写PS侧DDR的仿真和上板测试

           FPGA和ARM数据交互是ZYNQ系统中非常重要的内容。PS提供了供FPGA读写的AXI-HP接口用于两者的高速通信和数据交互。一般的,我们会采用AXI DMA的方式去传输数据,DMA代码基本是是C编写,对于FPGA开发者来说不利于维护和debug。本文提供一种手写AXI_MASTER接口用于PL 向DDR指定位

    2024年04月12日
    浏览(28)
  • ZYNQ PS与PL通过AXI-LITE连接,在Linux下直接读写PL的物理地址,实现PS与PL的交互

    ZYNQ开发,如果PL与PS的交互方式仅为AXI-Lite总线的话,在Linux下可以通过直接访问PL的寄存器物理地址来实现PS-PL的数据交互。 测试代码的PC开发平台为Ubuntu18.04,QT5。 ZYNQ为7020,并移植了Linux系统和Ubuntu16.04的最小系统。 将PL的程序封装成IP核,通过AXI-LITE与PS连接,对外是18个寄

    2024年04月10日
    浏览(34)
  • FPGA----ZCU106基于axi-hp通道的pl与ps数据交互(全网唯一最详)

    1、大家好,今天给大家带来的内容是,基于AXI4协议的采用AXI-HP通道完成PL侧数据发送至PS侧(PS侧数据发送至PL侧并没有实现,但是保留了PL读取PS测数据的接口) 2、如果大家用到SoC这种高级功能,那大家应该对于AXI4协议已经很熟悉了,但本文侧重点为初学者直接提供可以上

    2023年04月24日
    浏览(34)
  • TCP调试工具使用说明

    目录 TCPTool概述 1 TCPTool简介 2 软件运行环境 3 软件安装 4 应用场景 5 软件主界面 TcpTool配置选项 1 设置软件界面风格 2 设置发送选项 3 设置接收选项 TCPTool基础操作 1 保存当前调试 2 打开历史调试 3 新建服务端 4 启动和停止服务端 5 新建客户端 6 连接服务端并调试 下载地址

    2024年02月06日
    浏览(43)
  • AXI interconnect IP核的说明及用法

            AXI interconnect可以对AXI总线进行管理,支持多个主机采用AXI总线访问从机,或者一个主机访问多个从机。真正实现了总线通信,N Master模块与M Slave模块的通信,减少了相互间通信的复杂度,内部实现时钟域转换,不需要外部的过度干预,内部可实现FIFO等,免去了很

    2024年02月02日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包