XDS100V3-DIY
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相关推荐
- 单片机练习-RC-5红外遥控器程序及简单制造DIY PC遥控器
本程序采用的芯片为SAA3010, 参考资料有: 1. 常用红外遥控接收头引脚图解 2. 红外遥控编码资料 3. RC-5红外遥控程序 4. GIRDER中文教程与电脑遥控器制作资料 5. Girde ...
- arduino下载库出错_【arduino】DIY音乐播放器,arduino播放wav音乐,TRMpcm库测试及使用...
微信关注 "DLGG创客DIY"设为"星标",重磅干货,第一时间送达. arduino特点库超多,想必大家都领教了,今天来分享一下之前玩过的TRMpcm库. 这 ...
- diy高性能存储服务器,diy存储服务器
diy存储服务器 内容精选 换一换 帮助用户完成专属云服务器备份任务的创建,快速完成服务器数据保护.专属云服务器不支持应用一致性备份.当专属对象存储的容量不足时,会导致专属云服务器备份创建失败.已开通 ...
- DIY强大的虚拟化环境-技术可行性部分
[技术可行性部分]大体的cpu支不支持呀,实际效果使用呀,截图 效果截图嵌套虚拟化[esxi,xenserver,Hyper-V] 嵌套虚拟化:经过各种查资料,和测试验证[只测过intel的,amd的 ...
- Javascript使用三大家族和事件来DIY动画效果相关笔记(一)
1.offset家族 ◆offsetWidth和offsetHeight表示盒子真实的宽度高度,这个真实的宽度包括 四周的边框.四周的padding.及定义的宽度高度或内容撑开的高度和宽度,可以用来检 ...
- 纯Python实现Torch API,康奈尔副教授为自己的课程创建了DIY教学库
视学算法报道 编辑:杜伟 该项目是为纽约校区 Cornell Tech 的「机器学习工程」课程开发的. 近日,机器之心在 GitHub 上发现了一个 DIY 教学库--MiniTorch,该库适用于希 ...
- 为了杀蚊子,这位博士用树莓派DIY了一把激光枪!网友:伤到人怎么办?
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源:学术头条 本文约1057字,建议阅读3分钟. 本文介绍了国外博 ...
- 用树莓派DIY车钥匙,开锁仅需90秒
贾浩楠 木易 发自 凹非寺 量子位 报道 | 公众号 QbitAI 一辆售价80-90万的特斯拉Model X,只用2000块就能开走??? 这不是特斯拉在搞什么购车金融方案,而是比利时鲁汶大学的研 ...
- DIY机器人?硬件创新也是潮流
"车库"创新并非都是指互联网和移动互联网的创新,还有硬件创新,在硅谷硬件创新已经成为一个新的热潮. 智搜(Giiso)信息成立于2013年是国内领先的"人工智能+资讯&q ...
- 云计算正在告别DIY时代 阿里云专有云挑起企业级市场大梁
"云计算的DIY时代已经过去",5月23日在2018云栖大会·武汉峰会上,阿里云专有云事业部总经理马劲表示,DIY式私有云正被时代抛弃,不仅部署费时费力,且难以解决企业云的顽疾.取 ...
最新文章
- 怎么复制链接伟html,index.html
- R语言:再谈REmap包
- CMU贺斌教授团队提出:冥想可以增强对脑机接口的控制
- jSearch(聚搜) v0.5.0 发布,多项更新和体验优化
- oracle高级复制管理里面,配置高级复制问题,请大家指点!
- java阻塞队列小结
- 计算机办公价格,公职人员,你的办公电脑最少要用6年,而价格不能超过这个数?...
- 数字图像处理 空间域平滑 MATLAB实验
- SpringCloud或SpringBoot+Mybatis-Plus利用mybatis插件实现数据操作记录及更新对比
- python效率低为什么_为什么我的工作效率降低了?
- linux安装vmwareTools
- Android -- Messager与Service
- mysql 备份 没有自动删除文件_删掉spfile在没有自动备份控制文件下从以前的rman备份中恢复数据库...
- 关于matlab浮点转定点总结
- 《王道》数据结构笔记整理2022
- 【连载】第三章刚体的定轴转动第二节转动惯量 刚体定轴转动定律
- 谷歌浏览器,如何不用翻墙,下载插件?
- PM2.5浓度数据集(1998-2016年)
- 【场景化解决方案】OA审批与金智CRM数据同步
- 【嵌入式Linux】开发环境搭建