ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Xilinx ZYNQ学习笔记(一)——使用PS读写SD卡

2020-06-20 10:45:46  阅读:910  来源: 互联网

标签:PS 例程 配置 ZYNQ IO Xilinx 打开 SD


半年前用经费买的ZYNQ开发板,最近才派上用场。
在这里插入图片描述
最近正在进行的一些工作需要用到它(没错就是那个离线式数字信号处理系列的),今天来写第一个程序,准备一下后面的数据采集操作。
使用官方给的Example来测试SD卡的读写。

在这里插入图片描述
首先打开Vivado,在这里我使用的版本是2019.1,属于比较新的版本,黑金给的很多例程不能正常编译了。。而我又是个硬件,我也看不懂C语言编译器报的到底是个什么鬼错误。

所以重新新建一个好了。先打开工程新建。
在这里插入图片描述
在这里插入图片描述
打开之后直接创建block design。因为我们的SD卡是纯运行在PS端的,所以不需要使用到任何PL的东西。
在这里插入图片描述
在这里插入图片描述
创建出来就是这个样子滴~
在这里插入图片描述
双击打开zynq processing system7来进行下一步配置,红框中的三个是我们需要进行配置的东西。
在这里插入图片描述
首先配置PS端的IO,通过查阅官方使用手册,我们可以找到本次实验需要外设所连接到的引脚位置
在这里插入图片描述在这里插入图片描述

在SD卡IO的说明中可以看到,板子的生产商干了一件十分疑惑的事情,他们将SD卡的每个引脚通过了一颗电平转换芯片连接到FPGA的PS端,也就是说在SD的一端,其逻辑电平为LVCMOS3.3V,而在FPGA的一端,电平则为LVCMOS1.8V。如果配置成了3.3V就会导致出现错误,无法读写。这在我刚开始调这个例程的时候把我给坑惨了。
在这里插入图片描述
来到IO配置页面,把SD0和UART1这两个外设启动,注意SD卡那里要把它展开,勾选上Card Detect这一项,这是用来检测SD卡插入的。
两个外设根据刚才原理图上的接口选择就好了。
在这里插入图片描述
随后打开MIO configuration,在这里我们要修改Bank 1的IO电压,从原来的3.3V修改为1.8V,否则将会直接导致SD卡工作不正常。
在这里插入图片描述
接着打开DDR配置,修改成自己开发板的DDR内存型号就可以了。
完成之后直接点击OK就可。执行一下自动连线。
在这里插入图片描述在这里插入图片描述
到这里,对PS的配置就完成了,接下来依次完成红框中的两个。这些的作用是Vivado会为IP子系统生成一个顶层文件,这样我们就可以对该系统进行综合、实现并生成bit流了。
各Block都搭建完成后,Generate Output Products主要是把IP参数和连接信息update到project中,同时也会检查错误。在这里插入图片描述
然后就是素质三连hhhh
在这里插入图片描述
在这里插入图片描述
在生成比特流之后,我们需要导出硬件配置,以便我们在SDK中操作这些硬件。随后就可以打开SDK了。
在这里插入图片描述
新建一个工程~
在这里插入图片描述在这里插入图片描述
重新编辑板级支持包,打开它的xilfs库。
在这里插入图片描述在这里插入图片描述
打开打开使用长文件名的配置在这里插入图片描述在这里插入图片描述
可以看到编译器很快就编译好了我们刚才加入的库。接下来我们就可以导入官方库附带的例程了。
在这里插入图片描述在这里插入图片描述在这里插入图片描述
接下来我们打开SDK自带的终端,连接板子上PS端的UART1串口到IDE自带的终端上,方便观察信息。
在这里插入图片描述
在这里插入图片描述
打开后先返回Vivado,把bitstream烧写进FPGA里。
在这里插入图片描述
在这里插入图片描述
接下来运行这个例程就可以了。可以看到很轻松的print出了成功写入的消息。
如果打开SD卡里的文档,就是这个样子的。
在这里插入图片描述

以上desu。喵内!
在这里插入图片描述

标签:PS,例程,配置,ZYNQ,IO,Xilinx,打开,SD
来源: https://blog.csdn.net/qq_36470569/article/details/106865300

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有