IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> ZYNQ 串口打印输出——FPGA Vitis篇 -> 正文阅读

[嵌入式]ZYNQ 串口打印输出——FPGA Vitis篇

ZYNQ芯片主要由PS端(ARM处理器)和PL端(FPGA逻辑单元)组成,因此ZYNQ芯片结合了ARM芯片和FPGA芯片的优点于一身。本实验主要介绍使用PS端来完成ZYNQ串口打印输出的功能。

虽然本实验仅仅使用了PS,但是还要建立一个Vivado工程,用来配置PS管脚。虽然PS端的ARM是硬核,但是在ZYNQ当中也要将ARM硬核添加到工程当中才能使用。本实验使用的Vivado版本为Vivado2021.1。

1. Vivado工程的建立

(1)打开Vivado,创建一个名为“Uart_HelloWorld”的工程;
(2)点击“Create Block Design”,创建一个Block设计,也就是图形化设计;
在这里插入图片描述
(3)进入到“Block Design”界面后,点击“Add IP”按钮,搜索“zynq”,在搜索结果列表中双击“ZYNQ7 Processing System”;
在这里插入图片描述
(4)双击Block图中的“processing_system7_0”(即zynq的PS端IP核),配置该IP核的参数;
在这里插入图片描述
(5)首先出现的界面是ZYNQ硬核的架构图,可以很清楚看到它的结构,可以参考ug585文档,里面有对ZYNQ的详细介绍。图中绿色部分是可配置模块,可以点击进入相应的编辑界面,当然也可以在左侧的窗口进入编辑。
在这里插入图片描述
(6)本教程使用的ZYNQ开发板为ZerdBoard,该开发板使用J14串口用于数据传输,电路图如下图所示,可知该串口的FPGA端接口为MIO48、MIO49。
在这里插入图片描述
(7)选择“Peripheral I/O Pins”选项卡,勾选“UART1”;
在这里插入图片描述
(8)选择“MIO Configuration”选项卡,设置好Bank0 I/O Voltage和Bank1I/O Voltage;ZedBoard的Bank0 I/O Voltage设为LVCMOS 3.3V、Bank1 I/O Voltage设为LVCMOS 1.8V。
在这里插入图片描述
(9)选择“Clock Configuration”选项卡,根据ZerdBoard板卡配置,Input Frequency(MHz)设置为33.333333MHz,CPU Clock Ratio默认为6:2:1。
在这里插入图片描述
(10)选择“DDR Configuration”选项卡,根据ZerdBoard板卡配置,DDR型号选择为MT41J128M16HA-15E。
在这里插入图片描述
(11)点击“OK”按钮,完成该IP核的配置。点击“Run Block Automation”, Vivado软件会自动完成一些导出端口的工作。
在这里插入图片描述
(12)按照默认点击“OK”,不更改任何参数。
在这里插入图片描述
(13)点击“OK”以后我们可以看到PS端导出一些管脚,包括DDR还有FIXED_IO,DDR是DDR3的接口信号,FIXED_IO为PS端固定的一些接口,比如输入时钟,PS端复位信号,MIO等。连接FCLK_CLK0到M_AXI_GP0_ACLK,按“Ctrl+S”保存设计。
在这里插入图片描述
(14)选择Block设计,右键“Create HDL Wrapper…”,创建一个Verilog或VHDL 文件,为block design生成HDL顶层文件。
在这里插入图片描述
(15)保持默认选项,点击“OK”
在这里插入图片描述
(16)展开设计可以看到PS被当成一个普通IP来使用。选择block设计,右键“Generate OutputProducts”,此步骤会生成block的输出文件,包括IP,例化模板,RTL源文件,XDC约束,第三方综合源文件等等。供后续操作使用。
在这里插入图片描述
(17)弹出的窗口直接安装默认设置,点击“Generate”。
在这里插入图片描述
(18)点击Vivado “Flow Navigator”一栏里的“Generate Bitstream”,等待Vivado生成好bit文件后,在菜单栏“File -> Export -> Export Hardware…”导出硬件信息,这里就包含了PS端的配置信息。
在这里插入图片描述
(19)在弹出的对话框中勾选“Include bitstream”并点击“Next”以及“Finished”。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(20)到此为止,Vivado的工作告一段落,Vivado最后导出了一个硬件平台的XSA文件。软件开发工程师用该XSA文件便可以脱离Vivado软件环境对上层应用软件进行开发。

2. Vitis(SDK)工程的建立和调试

在Vivado早期的版本中,软件工程师的开发是在SDK软件中进行的,Vivado目前最新的版本(例如Vivado 2021.1)已将原来的SDK软件升级为Vitis软件。
(1)点击 Vivado 菜单“Tools-> Launch VitisIDE”,启动 Vitis。
在这里插入图片描述
(2)首先我们要建立一个平台工程。这个平台工程即对应于我们刚刚在Vivado下搭的硬件平台。点击Vitis菜单“File-> New->Platform Project…”。
在这里插入图片描述
(3)工程命名“Zynq7000_Platform”,并点击下一步。
在这里插入图片描述
(4)点击“Browse…”指定硬件平台文件,即我们刚用Vivado最后导出的硬件平台配置XSA文件。点击完成。
在这里插入图片描述
(5)可以在项目的游览窗口里看到刚建立的平台工程文件夹。
在这里插入图片描述
(6)建立好平台工程后,我们再建立一个应用工程,该工程即实现串口打印“Hello World”信息。点击Vitis菜单“File-> New->Application Project…”,并点击下一步。
在这里插入图片描述
在这里插入图片描述
(7)选中我们刚建好的“Zynq7000_Platform”平台工程,并点击下一步。
在这里插入图片描述
(8)给应用工程取个名字,并点击下一步。
在这里插入图片描述
(9)从应用工程模板里,选择“Hello World”工程,点击“Finish”按钮。
(10)分别编译平台工程和应用工程。
在这里插入图片描述
(11)至此,我们完成了所有SDK软件的配置和开发工作。

3. 下载程序至开发板

(1)作者使用的开发板为ZedBoard开发板,板卡上的跳线帽MIO2~MIO6都接地,如下图所示。板卡和计算机之间连好JTAG下载线和串口线(USB转串口),给板卡上电。
在这里插入图片描述
(2)Vitis下点击“Run Configurations…”
在这里插入图片描述
(3)点击“Single Application Debug(GDB)”,在“Application”选项卡中勾选“ps7_cortexa9_0”,点击“Run”按钮。
在这里插入图片描述
(4)程序运行成功后,便会在计算机的串口调试助手上打印如下信息。
在这里插入图片描述
(5)至此我们完成了ZYNQ串口打印输出项目的全部工作内容。

4. 工程源码下载

该工程对应的源码可以通过关注该微信公众号,找到对应的原创文章进行下载,工程采用的是Vivado2021.1版本。
如果大家对我们的文章感兴趣,可以关注我们的微信公众号:“图灵研究院”:
在这里插入图片描述

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-11-19 17:47:09  更:2021-11-19 17:47:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:17:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码