本帖最后由 qiaohaiquan 于 2017-4-26 20:52 编辑
1. 首先需要使用第3篇,添加microblaze 软核处理器。
2. 下载MTDS库,
https://reference.digilentinc.co ... ons/mtdshield/start
在这个网址有下载连接
3. 目前 这个MTDS Display Platforms 平台库支持2种类型的TFT屏幕
Mul
ti-Touch Display Shield,这个就是我手上的这种,有arduino接口 和SPI接口
Pmod MTDS下面第2张图
4. 然后在介绍页面中说道
If you're using the Multi-Touch Display Shield, then you will need to connect the PmodMTDS IP to the appropriate SPI interface associated with the shield on your board (instead of a Pmod interface) when designing your block diagram. 假如你使用的是第一种Multi-Touch Display Shield,恩,我就是用的这个,你需要使用PmodMTDS 的IP核,在原理图中把接口换成SPI接口的类型。所以我们这次用的是SPI接口。
5. 下载完MTDS库,需要在vivado 里面把库IP添加进去
点击下图的 project setting 按钮
选择IP,点击+号,把下载的MTDS库路径加进去
6. 在工程中可以看到的你的添加的IP核
7. 添加 Pmod MTDS 这个IP核
8. 然后切换到 open black design ,就是原理图设计界面,点击
Run Connection Automation,让原理图自动连接。之后如下图
其实这个时候,你添加进去的 IP核不是SPI接口的。需要自己去配置一下,双击这个IP核,在 interface 和 board 里面都要设置成SPI接口。
9.
点击 Regenerate Layout button按钮,重排设计,就是把原理图位置啥调整一下,方便看
10. 点击 Validate Design,查看你的 设计是否有问题 11. 检查你的GPIO配置是否正确,先看下自然生成的引脚配置
在看下屏幕的接口
在看下板子的接口
可以看到有个引脚是不对的,就是 SS片选这个引脚,所以我们需要自己去修改这个引脚,在vivado 里面的 io palnning 修改成 V17,其他几个引脚是正确的。
12. 右键点击工程里面的设计,选择 create HDL Wrapper.
13.点击 Generate Bitstream 生成二进制文件,用来烧写到板子
14.点击 File ,选择 Export→Export Hardware. 勾选 Include Bitstream
15. 点击 选择 Launch SDK,这个时候会启动SDK开发软件,如下图 创建一个新工程,具体参考上份文档
把 main.cc 和 MyDispDemo2.cc这2个文件复制到工程。同时把 src文件复制进来,更新工程。
同时把Resources文件里面的2个文件复制到TF卡的根目录,把TF卡插上TFT屏上的卡槽。
16. 点击下载
program FPGA, 之后
选择你的 工程 点击 Run As… button选择 Launch on Hardware (System Debugger)
17. 打开软件,9600波特率,在串口上会输出启动失败的信息。
18. 这个时候,失败了,要怎么解决,只能用逻辑分析仪了,先不插屏幕
19. 先抓取 CS引脚的波形
20. 抓起时钟CLK信号
21. 抓取 MOSI信号
这次MOSI信号一直没有抓取到,很奇怪
22. 抓取MISO信号
23. 第一个疑问,为啥 MOSI没信号,MISO反而有信号???
同时抓取4个信号,波形都看着很正常,是把。
不过凭着我的经验,这个波形肯定不对劲。
24. 然后笨宝宝又去查看了原理图和引脚图,确定没问题
那么产生4个疑问,MOSI应该有信号但是没信号,MISO不应该有信号但是有信号,CS片选不应该这么整齐的。
clk应该有整齐的时钟但是没有,那么我开始猜测是 digilent 给的资料问题还是我的问题?
这4个信号都看着不对
25. 暂时不知道什么原因,等digilent 给个回复看是咋回事吧