DIY XDS100V3兼容XDS100V2

  • XDS100V3 官方资料
  • 原理图
  • 编辑FPGA工程
  • FT2232HL配置 和 烧录FPGA
  • 配置FT2232HL
  • 结语

XDS100V3 官方资料

官网就有XDS100V3的资料(官网链接我实在找不到,这里是eeworld论坛的链接),包括原理图、FPGA源代码、FPGA代码综合的方法、制作方法;

官网XDS100V3的资料如下

dtsa_a3p125.stp文件:是默认提供的FPGA编程文件。
Board_Design 目录: 下面有官方的原理图的PCB文件、BOM文件。
Documentation目录: 包含XDS100V3功能的介绍制作方法和接口定义。
FPGA目录:是FPAG的VHDL代码,默认使用A3P125VQ100,可以使用官方的Libero Soc开发套件对源代码进行修改、生成STP下载文件。
Utilities目录: 里面提供了通过FT223HL调试、烧录FPAG的工具,后面编程FPGA会用到。

原理图

我根据网上网友的资料还有TI官网的资料,自己画了一块XDS100V3的下载板,有些地方略有魔改,仅供参考;XDS100V3 主要使用了FT2232HL、A3P060VQ100(A3P060VQ100(可以使用A3P125VQ100替代,注意不要买带程序的IC,不然可能会无法编程FPGA,我第一次就遇到了),此外还使用了一颗E2PROM 93LC56BT来存储FT2232HL的配置信息;

整体结构如下(图片来源于官方文档)

FT2232HL及其外围电路:


FT2232HL将USB协议转换为JTAG协议,如果不需要XDS100V3的全部功能,可以仅使用FT2232HL而不需要FPGA芯片就可以实现XDS100V2。外围电路需要给FT2232HL提供3V3的供电,FT2232HL内部自带一个1.8V LDO,将3.3V转换为1.8V为USB PLL供电。FT2232HL 的USB配置信息存储在外部E2PROM中(我使用了了两个E2配合FPGA实现XDS100V2和XDS100V3的切换,纯粹是为了折腾。。。,可以只用一个E2),FT2232HL 一上电就会读取E2中的信息用作USB枚举过程(如果没有则使用FT2232HL的默认枚举信息),E2PROM可以通过FTDI的官方软件FT_Prog配置。

A3P060VQ100及其外围电路:


FPGA 负责将JTAG 1149.1转换为1149.7,即将FTDI的1149.1标准的JTAG接口转换1149.7标准,此外还可以将其他外部1149.1标准的JTAG下载器接口转化为1149.7标准;

编辑FPGA工程

如果需要对官方的VHDL代码进行魔改就需要Re-Synthesizing FPGA工程然后生产STP下载文件进行下载,当然也可以使用现成的STP文件直接烧录到FPGA中。Re-Synthesizing FPGA工程要使用需要使用Microsemi 的Libero_SoC 开发工具,我使用的是Libero_SoC_v11.8,安装软件需要提供license,可以在官网申请免费的license,可以参考网友的教程。

使用Libero打开FPGA 目录下方的 v3_fpga_125.prjx工程,打开软件会报错这是正常的:编辑VHDL文件

在Libero Soc的Files导航栏下,可以编辑工程目录内包含的文件。

编辑完成后,在Libero Soc的Deisgn Hierarchy导航栏下可以右键检查VHDL文件是否有语法错误:

Re-Synthesizing FPGA工程

在Libero的Design Flow界面点击图示处的小齿轮图标

选择对于型号的器件,点击Save

设置IO为LVCMOS 3.3V

右键Synthesize选择Open Interactively唤出Synplify工具:

在Synplify界面设置频率为100MHz,取消勾选FSM Complier,然后点击RUN,未发生报错就可以退出Synplify界面

Complier 工程&生成下载文件

回到Libero的Design Flow界面,删除Complie下面生成的默认.sdc文件,添加FPGA/constraint目录下面.sdc和.pdc文件

右键Complie选择Open Interactively唤出Designer工具,然后点击Complie取消勾选Abort Compile if errors…,然后点击OK:

点击Layout使用默认选项,然后点击Programing File选项,使用默认选项点击Finish

设置生成文件的文件名和路径,勾选.stp文件,点击生成

生成用于烧录的文件就在FPGA\designer\impl2下方:dtsa_a3p060.stp

FT2232HL配置 和 烧录FPGA

焊接完成PCB电路板后,需要先安装配置FT2232HL的FTDI的官方软件FT_Prog(需要提前安装FT2232HL的驱动),使用FT_Prog对FT2232HL的E2PROM进行配置后就可以使用/FPGA/Utilities目录下方对FPGA进行烧录和调试。

配置FT2232HL

将PCB通过USB线连接到电脑,打开FT_Prog,右键Devices 选择Scan and Parse,若FT2232HL及其外围电路工作正常,则EEPROM Type值为:93C56 EEPROM。

选择USB Device Descriptor,配置Custom VID/PID 为 Custom PID,Vendor值 0403,Product 值A6D1。

选择USB String Descriptors,配置Manufacturer 值 TI、Product Description 值 Texas Instruments XDS100 Ver 3.0

展开Hardware Specific 选项,按如下进行配置:

右键Devices 选择Program 选择对话框中的Program,完成Program右键Devices 选择Scan and Parse读取此时E2PROM的信息,检查其是否与上面的配置一致。

烧录stp文件到FPGA

运行cmd.exe(命令提示符),cd到XDS100V3的资料目录的Utilities目录,输入.\xds100v3_progfpga.exe -aPROGRAM .\dtsa_a3p060.stp(需要提前将dtsa_a3p060.stp复制到Utilities目录下方),返回如图则烧录成功

若在烧录过程中报错,则需要检查FPGA型号是否与.stp文件的IC型号一致、FPGA与FT2232HL间电路及外围电路是否正常,可以根据命令返回的错误查询导致异常的原因,参考Microsemi 的flashpro_ug_v11_6.pdf文件。完成后,就可以使用XDS100V3在CCS上下载和debug,实验时记得连接TDIS、PG引脚,JTAG接口引脚定义如下:

CCS验证XDS100V3功能结果如图:

CCS验证XDS100V2功能结果如图:

结语

第一次写文章,如有笔误请大家指正,多多包涵。
XDS100V3的资料链接;
PCB原理图和PCB图链接;

参考文章:
https://blog.csdn.net/mind11/article/details/50110539;
https://blog.csdn.net/whik1194/article/details/90483763;

XDS100V3-DIY相关推荐

  1. 单片机练习-RC-5红外遥控器程序及简单制造DIY PC遥控器

    本程序采用的芯片为SAA3010, 参考资料有: 1. 常用红外遥控接收头引脚图解 2. 红外遥控编码资料 3. RC-5红外遥控程序 4. GIRDER中文教程与电脑遥控器制作资料 5. Girde ...

  2. arduino下载库出错_【arduino】DIY音乐播放器,arduino播放wav音乐,TRMpcm库测试及使用...

    微信关注 "DLGG创客DIY"设为"星标",重磅干货,第一时间送达. arduino特点库超多,想必大家都领教了,今天来分享一下之前玩过的TRMpcm库. 这 ...

  3. diy高性能存储服务器,diy存储服务器

    diy存储服务器 内容精选 换一换 帮助用户完成专属云服务器备份任务的创建,快速完成服务器数据保护.专属云服务器不支持应用一致性备份.当专属对象存储的容量不足时,会导致专属云服务器备份创建失败.已开通 ...

  4. DIY强大的虚拟化环境-技术可行性部分

    [技术可行性部分]大体的cpu支不支持呀,实际效果使用呀,截图 效果截图嵌套虚拟化[esxi,xenserver,Hyper-V] 嵌套虚拟化:经过各种查资料,和测试验证[只测过intel的,amd的 ...

  5. Javascript使用三大家族和事件来DIY动画效果相关笔记(一)

    1.offset家族 ◆offsetWidth和offsetHeight表示盒子真实的宽度高度,这个真实的宽度包括 四周的边框.四周的padding.及定义的宽度高度或内容撑开的高度和宽度,可以用来检 ...

  6. 纯Python实现Torch API,康奈尔副教授为自己的课程创建了DIY教学库

    视学算法报道 编辑:杜伟 该项目是为纽约校区 Cornell Tech 的「机器学习工程」课程开发的. 近日,机器之心在 GitHub 上发现了一个 DIY 教学库--MiniTorch,该库适用于希 ...

  7. 为了杀蚊子,这位博士用树莓派DIY了一把激光枪!网友:伤到人怎么办?

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源:学术头条 本文约1057字,建议阅读3分钟. 本文介绍了国外博 ...

  8. 用树莓派DIY车钥匙,开锁仅需90秒

    贾浩楠 木易 发自 凹非寺  量子位 报道 | 公众号 QbitAI 一辆售价80-90万的特斯拉Model X,只用2000块就能开走??? 这不是特斯拉在搞什么购车金融方案,而是比利时鲁汶大学的研 ...

  9. DIY机器人?硬件创新也是潮流

    "车库"创新并非都是指互联网和移动互联网的创新,还有硬件创新,在硅谷硬件创新已经成为一个新的热潮. 智搜(Giiso)信息成立于2013年是国内领先的"人工智能+资讯&q ...

  10. 云计算正在告别DIY时代 阿里云专有云挑起企业级市场大梁

    "云计算的DIY时代已经过去",5月23日在2018云栖大会·武汉峰会上,阿里云专有云事业部总经理马劲表示,DIY式私有云正被时代抛弃,不仅部署费时费力,且难以解决企业云的顽疾.取 ...

最新文章

  1. 怎么复制链接伟html,index.html
  2. R语言:再谈REmap包
  3. CMU贺斌教授团队提出:冥想可以增强对脑机接口的控制
  4. jSearch(聚搜) v0.5.0 发布,多项更新和体验优化
  5. oracle高级复制管理里面,配置高级复制问题,请大家指点!
  6. java阻塞队列小结
  7. 计算机办公价格,公职人员,你的办公电脑最少要用6年,而价格不能超过这个数?...
  8. 数字图像处理 空间域平滑 MATLAB实验
  9. SpringCloud或SpringBoot+Mybatis-Plus利用mybatis插件实现数据操作记录及更新对比
  10. python效率低为什么_为什么我的工作效率降低了?
  11. linux安装vmwareTools
  12. Android -- Messager与Service
  13. mysql 备份 没有自动删除文件_删掉spfile在没有自动备份控制文件下从以前的rman备份中恢复数据库...
  14. 关于matlab浮点转定点总结
  15. 《王道》数据结构笔记整理2022
  16. 【连载】第三章刚体的定轴转动第二节转动惯量 刚体定轴转动定律
  17. 谷歌浏览器,如何不用翻墙,下载插件?
  18. PM2.5浓度数据集(1998-2016年)
  19. 【场景化解决方案】OA审批与金智CRM数据同步
  20. 【嵌入式Linux】开发环境搭建

热门文章

  1. [河北银行 2022 CTF]
  2. covmatrix matlab,matlab cov函数
  3. 【转载】偷窥女生宿舍(来自新浪读书)
  4. 软件工程个人作业-软件案例分析
  5. VCM马达智能化也是一个趋势
  6. 对js原型和原型链的理解
  7. Nim中文社区 官网现已上线!
  8. Java安全-Tomcat AJP 文件包含漏洞(CVE-2020-1938)幽灵猫漏洞复现
  9. 3.1 多集放大电路的耦合方式
  10. 2022年软考高项-第1章选择题知识点