FPGA|CPLD|ASICwilliam hill官网
直播中

乔海权

12年用户 53经验值
擅长:可编程逻辑 电源/新能源 模拟技术 测量仪表 EMC/EMI设计 嵌入式技术 制造/封装 存储技术 CRF/无线 接口/总线/驱动 处理器/DSP 光电显示 控制/MCU EDA/IC设计 RF/无线 MEMS/传感技术
私信 关注
[经验]

【DIGILENT挑战赛】arty artix 7- 35t 测试第4篇 添加 MTDS库,驱动TFT屏幕

本帖最后由 qiaohaiquan 于 2017-4-26 20:52 编辑

1. 首先需要使用第3篇,添加microblaze 软核处理器。
2. 下载MTDS库,https://reference.digilentinc.co ... ons/mtdshield/start
     在这个网址有下载连接
3. 目前 这个MTDS Display Platforms 平台库支持2种类型的TFT屏幕   
    Multi-Touch Display Shield,这个就是我手上的这种,有arduino接口 和SPI接口
    Pmod MTDS下面第2张图
1.JPG
1.JPG

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 按钮
1.JPG
选择IP,点击+号,把下载的MTDS库路径加进去
1.png
6. 在工程中可以看到的你的添加的IP核
1.png
7. 添加 Pmod MTDS 这个IP核
1.png

8. 然后切换到 open black design ,就是原理图设计界面,点击 Run Connection Automation,让原理图自动连接。之后如下图
1.png
其实这个时候,你添加进去的 IP核不是SPI接口的。需要自己去配置一下,双击这个IP核,在 interface 和 board 里面都要设置成SPI接口。
1.png
9. 点击 Regenerate Layout button按钮,重排设计,就是把原理图位置啥调整一下,方便看
    10. 点击 Validate Design,查看你的 设计是否有问题     11. 检查你的GPIO配置是否正确,先看下自然生成的引脚配置
      1.png
    在看下屏幕的接口
1.png
   在看下板子的接口
    1.png
   可以看到有个引脚是不对的,就是 SS片选这个引脚,所以我们需要自己去修改这个引脚,在vivado 里面的  io palnning 修改成 V17,其他几个引脚是正确的。
2.JPG
    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屏上的卡槽。
3.JPG 1.JPG
16. 点击下载 program FPGA, 之后
选择你的 工程  点击   Run As… button选择 Launch on Hardware (System Debugger)
17. 打开软件,9600波特率,在串口上会输出启动失败的信息。
1.JPG 18. 这个时候,失败了,要怎么解决,只能用逻辑分析仪了,先不插屏幕
1.JPG

19. 先抓取 CS引脚的波形
1.JPG

20. 抓起时钟CLK信号
1.JPG
21. 抓取 MOSI信号
  这次MOSI信号一直没有抓取到,很奇怪
22. 抓取MISO信号
1.JPG

23. 第一个疑问,为啥 MOSI没信号,MISO反而有信号???
同时抓取4个信号,波形都看着很正常,是把。
1.JPG
不过凭着我的经验,这个波形肯定不对劲。
24. 然后笨宝宝又去查看了原理图和引脚图,确定没问题
    那么产生4个疑问,MOSI应该有信号但是没信号,MISO不应该有信号但是有信号,CS片选不应该这么整齐的。
    clk应该有整齐的时钟但是没有,那么我开始猜测是 digilent 给的资料问题还是我的问题?
    这4个信号都看着不对
25. 暂时不知道什么原因,等digilent 给个回复看是咋回事吧



回帖(6)

lee_st

2017-4-27 10:08:41
例程不错啊,看看了
举报

陈彭鑫

2017-4-27 12:19:47
你好:
     我是另一位挑战赛的试用者,之前也一直在倒腾这个MTDS,结果无疾而终。说下我的经验吧,Digilent官方提供了两个sample projects,一个是 MTDS for Arduino,另一个是pmodMTDS for Arty。然而我们的MTDS并不是pmod接口,而是Arduino接口,但Digilent并未提供MTDS在Arty-Arduino接口上的sample project....有点绕,我想你应该也发现了。

      其实这个MTDS只是个SPI的串口屏而已,随便一个单片机就能驱动起来,用FPGA的Microblaze驱动也是同样的道理。于是,我就到Digilent forum发帖想求个程序,链接在此:

      你有空可以看一下,@jpeyron这位朋友给了详细的解释,并提供了调试成功的工程文件。

举报

陈彭鑫

2017-4-27 12:20:44
原贴链接:
https://forum.digilentinc.com/topic/3932-use-multi-touch-display-shield-on-arty-board/#comment-14912
举报

陈彭鑫

2017-4-27 12:22:47
不好上传附件,你自己到楼上的链接里面下载吧,希望能够帮到你。
QQ截图20170427122206.jpg
举报

乔海权

2017-4-27 13:45:22
引用: 左岸cpx 发表于 2017-4-27 12:22
不好上传附件,你自己到楼上的链接里面下载吧,希望能够帮到你。

好的,真的很感谢你,我今天试一下
举报

__MoCuishle

2017-4-27 17:26:57
厉害厉害,学习了.exe
举报

更多回帖

发帖
×
20
完善资料,
赚取积分