XDS510 DSP仿真器开源
论坛开源的资料越来越多了,我也来贡献一份自己的力量。首先,说明一下开源这个仿真器的原因。
1、XDS510仿真器能够调试TI公司绝大多数的DSP器件,仿真速度比较快。将该仿真器的资料公布出来,可以进一步降低学习DSP的门槛,给更多的人提供学习DSP的机会。
2、目前,介绍该仿真器的资料已经比较多,也有很多网友根据这些资料进行DIY。其中有成功的,也有失败的。究其原因是网上的资料透明度不够高,很多地方存在歧义或者避而不谈。我们成功开发了该仿真器,了解该仿真器制作过程中存在的一些问题。将该仿真器开源,一者可以帮助喜欢DIY的网友解决一些问题,二者是想请网友们提供更好的解决思路,从而进一步完善该仿真器。毕竟我们的技术水平有限,而我们的论坛是高手如云之地。
3、我们论坛的DSP版块不是很活跃,在过去的一段时间里,在论坛的开源活动中得到了很多的经典资料,现在也应当为论坛做点贡献了,呵呵。
下面对资料进行说明:
1、原理图。在研究该仿真器的过程中,参考了网上的多个版本的资料,进行了分析和综合(在此需要感谢那些热心的网友)。大多数版本都是采用的CY7C68013A + SN74ACT8990 + CPLD的形式,其中关于该仿真器制作的论文《基于USB2.0接口的DSP仿真技术》没有采用CPLD,而是采用了跳线的形式(其实在61ic的网站上有该版本仿真器的原理图和PCB文件,只不过不太好找)。在制作时添加了CPLD,因为CPLD要比跳线更加灵活,成功率较高。国外的EDAboard网站上有几篇关于XDS510仿真器制作的帖子,其中一篇是:http://www.edaboard.com/thread29184.html。在制作的过程中,也参考了帖子中的一些资料,对这些网友也表示感谢,特别是just4u78,他在帖子中提供的一些信息对我的制作提供了很大的帮助。
网上版本的原理图连线多数混乱,按照个人习惯,给连线关系添加了网络标号,看着比较舒服了些,也避免了一部分歧义。
2、EEPROM。其中存储的内容是:0xC0, 0x05, 0x11 ,0x01, 0xE0, 0x01, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF。在板子上设置了专门的烧写口,可以通过外部工具烧写。
3、CPLD。在这里只是实现了一个简单的逻辑粘合,逻辑比较简单。这也是很多开发中的一个瓶颈,很多资料对这里是避而不谈。我采用的软件版本是ISE10.1,在板上设有CPLD的烧写口。
提供的资料包括经过整理调试后,最终的原理图版本和CPLD烧写的工程文件。至于EEPROM的烧写,建议最好在板上设一个烧写接口,通过外部工具来实现。因为调试时,CY7C68013A的烧写一般是不成功的。
XDS510仿真器原理图.pdfourdev_607404HBH4OH.pdf(文件大小:480K) (原文件名:XDS510仿真器原理图.pdf)
CPLDconfig.rar,CPLD代码ourdev_607405UZP6Y0.rar(文件大小:779K) (原文件名:CPLDconfig.rar)
附带上wintech的仿真器驱动程序,它的官网上即可以下载到,根据CCS的版本安装即可。
仿真器驱动程序.rarourdev_607429EH8TKM.rar(文件大小:5.03M) (原文件名:TDS510USB_V1.3.rar) 将调试过程中碰到的问题也放在这里,一是给DIY的朋友提供解决思路,少走些弯路;二是希望能寻求到更好的解决方法。
调试过程中的问题汇总:
1、关于JTAG接口保护。在JTAG接口添加了总线驱动芯片SN74LVTH244A,在第一版中没有添加该驱动芯片,只有在JTAG线很短的时候才可以正常仿真。第二版中添加了该驱动芯片,如果末端再加上ESD保护芯片的话,驱动能力也会出现不足的问题,为何?在这里我是参考TI公司的XDS100V2中的设计,使用相同的ESD防护芯片是TPD4E002。在XDS100V2中采用的CPLD是XC2C32A,没有添加驱动芯片;我这里采用的是XC9536XL,添加驱动芯片,为何我这里会存在问题?
2、关于EEPROM。在设计中采用EEPROM存储CY7C68013A的VID/PID信息,但是采用CYPRESS提供的工具经常会出现EEPROM烧写失败的情况。对这个芯片不是很熟悉,索性在第二版中添加了EEPROM的烧写接口,在外部编写了一个单片机程序专门烧写和读取,然后通过串口观察烧写的内容是否正确。
3、关于驱动程序。在介绍仿真器的论文中说可以采用任意一款仿真器的驱动程序。但在调试时发现并非如此。开始EEPROM采用的是瑞泰公司的VID/PID,但是使用其驱动程序却无法正常仿真调试。在这地方困了很长时间后,更换为了wintech的方案,就可以了。所以该仿真器确切的应该是叫TDS510,而非XDS510,但是查了很多资料,也没弄明白两者的区别。难道TDS510是wintech自主开发的,XDS510是TI提供的方案?
4、关于CY7C68013A复位。在第一版中我采用的是100k+0.1uF的复位方案,CYPRESS提供的开发板中也是这样做的。在第二版中,我将该复位信号引入了CPLD,想作为一个全局复位信号使用。但是我发现了一个奇怪的问题,如果采用100k+0.1uF的复位,只要我烧写CPLD,不管其中是否设置逻辑关系,就会出现PC检测不到CY7168013A的现象。为何?开始很郁闷,也不知是复位的原因,只是在调试中用手无意碰到了复位电容,然后就检测到了。后来将100k的电阻更换为了24k就正常了。不知哪位能帮我解释一下这个问题? 该仿真器已经制作成功有几个月的时间,在实验室中使用的这段时间里还没有碰到故障。下面附上一些图片。
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607418UKRU1B.JPG
AD2009中的3D视图截图.JPG (原文件名:AD2009中的3D视图截图.JPG)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607419QEVXDL.JPG
电路板正面截图.JPG (原文件名:电路板正面截图.JPG)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607420FVXZY4.JPG
电路板背面截图.JPG (原文件名:电路板背面截图.JPG) 再上几张实物照片,拍摄效果不是很好,还请见谅。
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607423SBW9CL.jpg
空板正面.jpg (原文件名:空板正面.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607424Z64EKQ.jpg
空板背面.jpg (原文件名:空板背面.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607427M8ANNY.jpg
仿真器焊好后正面.jpg (原文件名:仿真器焊好后正面.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607428MC8BHU.jpg
仿真器焊好后背面.jpg (原文件名:仿真器焊好后背面.jpg) 这个要顶一下。很强大 速度有多快?
用过两个510的仿真器,一个可以开usb2.0高速运行 一个hellodsp的垃圾仿真器必须禁止掉2.0才行 干脆我们合作一把,我生产,一起销售,怎么样? 不错,感谢分享,顶楼主~~~~~ mark 强mark!
想问一下,我在linux下装CCS5,它应该只支持原版的XDS510,不支持这个和原版的有什么不同? 回复【9楼】liurangzhou
-----------------------------------------------------------------------
没有在linux系统下试过,也没有留意过类似的驱动程序,所以不太确定是否可行。 回复【5楼】boboo 波波
-----------------------------------------------------------------------
貌似不会存在禁止USB2.0的问题。
至于速度的问题,不知该如何解答你,这里采用的TCK时钟是12MHz。
实验室也有560的仿真器,速度肯定不如560快,功能也不如560强大。但肯定比XDS100V2的速度快不少。
备注:我也做了XDS100V2的仿真器,但该仿真器只能在CCS4中使用。现在最新版本应该是CCSV4.2,感觉问题还比较多,不如CCS3.3稳定好用。所以一般情况下我们还是使用XDS510和CCS3.3的环境。 楼主的板子可以再紧凑一点吧,同事画过一个XDS510的板子,感觉比楼主的小,100*60的面积,装在铝盒里。
XDS100V2正在画板子,已经基本完工,再做细微调整就可以投板了,与510同样尺寸。 回复【11楼】redbat_228
回复【5楼】boboo 波波
-----------------------------------------------------------------------
貌似不会存在禁止usb2.0的问题。
至于速度的问题,不知该如何解答你,这里采用的tck时钟是12mhz。
实验室也有560的仿真器,速度肯定不如560快,功能也不如560强大。但肯定比xds100v2的速度快不少。
备注:我也做了xds100v2的仿真器,但该仿真器只能在ccs4中使用。现在最新版本应该是ccsv4.2,感觉问题还比较多,不如ccs3.3稳定好用。所以一般情况下我们还是使用xds510和ccs3.3的环境。
-----------------------------------------------------------------------
560仿真器内部是什么样子?有照片和原理图吗 mark mark 世界因为开源而美好。 well done. mark cool
标记一个 回复【12楼】lukeunderwood 潜水的熊猫
-----------------------------------------------------------------------
应该可以紧凑的,主要是因为外壳已经定下来了,板子做的就比较大了些。
我是先做的XDS100V2的仿真器,前后修改了3版,主要是因为不同应用,尺寸问题。感觉XDS100V2还是比较容易制作成功的。
欢迎交流,呵呵 回复【13楼】boboo 波波
-----------------------------------------------------------------------
没有560的原理图,有的话就做了,呵呵。拆过Blackhawk的PCI560的,很小的板子,器件秘密麻麻的。
抱歉,没有照片,那个破_解的难度应该会很大。有个144脚的CPLD。 再来张加上外壳后的照片:
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607528DYSUIU.jpg
加上外壳后的版本.jpg (原文件名:加上外壳后的版本.jpg) 好像那个SN74ACT8990非常贵其他差不多100能搞定了还是正xds100v2去 先mark一下,再好好研究 不知道售价多少,我是买一个呢还是做一个呢? mark 回复【23楼】boboo 波波
-----------------------------------------------------------------------
兄弟对XDS510仿真器了解的挺多的,呵呵
价格确实主要在ACT8990,本来我们自己做的实验箱方案选择的是XDS510,无奈前段时间这个芯片的价格到了200多元。正好TI给学校的实验室提供了CCSV4的license,所以就更换为了XDS100V2的方案。
其实ACT8990可以在TI申请到的,如果想自己制作的话,我可以提供其他元器件,包括电路板。论坛的朋友可以优惠20元./emotion/em025.gif./emotion/em025.gif,欢迎大家光顾,如果在制作过程中碰到了问题,欢迎交流… mark 继续,焊接调试步骤简要描述:
1、焊接电源芯片AMS1117、USB接口即外围器件,测量芯片的输出电压应为3.3V左右。
2、焊接CY7C68013A和24LC01B及其外围器件,这里注意R20无需焊接,在烧写完代码后可将其焊接上,用于写保护,烧写24LC01B(建议通过外部烧写工具,在下面提供了一个89S52的烧写示例代码)。在PC机上安装驱动程序,将仿真器和PC机相连,这时应该可以检测到器件,会提示找到新硬件,设置到对应的驱动程序路径即可。
3、焊接CPLD及外围器件,运行ISE10.1,打开楼主位的CPLDconfig工程文件,编译,通过下载线下载程序即可。
4、焊接ACT8990、SN74LVTH244A、1G14及其他元器件。完毕。
基本步骤就是上面几个,按这个步骤比较容易定位可能出现的焊接问题。当然也可以一次焊完,然后再烧写代码。
附上51机烧写EEPROM的示例代码,基本思想是:先烧写代码,然后读取,通过串口将数据发送给上位机显示。
51机烧写EEPROM代码ourdev_607691O8SHK1.rar(文件大小:21K) (原文件名:c51eepromV1.2.rar) ACT8990时序复杂不不太麻烦的话改天试试cpld? 回复【30楼】boboo 波波
-----------------------------------------------------------------------
没有对ACT8990仔细研究过,不过网上有个ACT8980的vhdl文件。
如果能用CPLD来实现那就太好了,呵呵。
对CPLD应用不是很深,只是在板上做些简单的逻辑关系。
咱们论坛上有很多制作仿真器的高手,但是一直没有见他们在这里现身,可能对DSP不是很感兴趣吧。
真希望他们能提供些建议和思路… 好东西啊,不过为降低成本的确应该把JTAG逻辑重做。
to 30楼、31楼
JTAG逻辑用CPLD做下还是不大现实的哈,太小了,大的价格又高没意义了。
不过可以用FPGA做,以前我曾经呆过的公司,JTAG逻辑就是用FPGA做的,JTAG的状态机是标准的,即使没有现成的参考代码,光看标注花点时间也是可以写出来的,一颗低端的FPGA就应该可以搞定ACT8980的逻辑了。
我很久没弄DSP了,手里没有DSP的板子做试验,好久看淘块最便宜的板子试着做一下。 mark! 请问有8990详细的芯片资料吗?包括内部寄存器描述之类的。 很不错的开源。
EMUL0,1通过CPLD间接连接在8990的EVENT脚上,而在8990里面的EVENT0,1实际就是GPIO的作用。通过8990内部寄存器设进行读写。
这个设计文档里面EMUO EMU1方向反了,在CPLD中转的时候逻辑也错了。ENUL0,1是仿真器对目标板的主动控制,是输出。
只是EMU0,1并不是在所有的类型的DSP中用到,所以没有表现出错误来。
参考一下XDS100,就可以从例证上确定EMUO,1的方向。 挺好 mark 很强大! 有谁知道 原理图中的NOPOP是什么吗就是U3、U4、U5 是什么东东啊 回复【39楼】liycobl
-----------------------------------------------------------------------
那3个是用于ESD防护的芯片TPD4E001,在这个方案里不用焊接。调试中发现,如果焊接后会降低仿真器的驱动能力。此外,接口的驱动芯片具有一定的ESD防护功能,所以就取消了这三个芯片。NOPOP的意思就是不用安装,在原理图中经常见到。 回复【40楼】redbat_228
-----------------------------------------------------------------------
谢谢! 现在懂了 mark,我也自己做了一板,能用,直接抄的,改天发上来让大家瞧瞧,比这个小很多,器件想当的紧凑,66mm*40mm 回复【23楼】boboo 波波
-----------------------------------------------------------------------
好像那个SN74ACT8990非常贵其他差不多100能搞定了还是正xds100v2去
---------------------------------------------------------------
我买的300多,还好项目上带的,呵呵 回复【22楼】redbat_228
-----------------------------------------------------------------------
问下楼主大人,你们那个公司招人不啊。我老家潍坊,在太原一个类似这样的公司工作。 如果U4不用焊 那么U11上的V_TD还有什么用呢U11是不是能去掉呢 mark 回复【46楼】afei8856
mark
----------------------------------------------------------------------- 这个支持CCS-C3X,C32吗? 由于我的疏忽,CPLD的配置文件版本上传错了。现将正确版本文件上传。如果给您造成了不便,还请见谅。
CPLD配置文件ourdev_630712P6B2W6.rar(文件大小:780K) (原文件名:CPLDconfigV1.1.rar) mark 楼主好人一个 mark 今天测试了一下,这个仿真器也能支持RTDX,但是跟560的速度还是有些差距的。 mark 以前做过这个板, 后来因为 8990价高而且不好买放弃了.. 呵呵,我有好几颗SN74ACT8990,两颗全新的,几颗拆机的。可以考虑整个板子试试!
这个肯定不如560了,不一样的价格啊!不过比起XDS100V2还是要强一些的。 呵呵~自己做仿真器,不错! 路过,拜读,感谢楼主。 楼主,你做的那个开发板有整套的元件及板子吗?怎么联系你,我也做一个玩玩 请问这个用什么方式检查仿真器的好坏,谢 好东西!顶!!! mark 有没有PCB文件 标记标记,谢谢了 mark 今天刚从TI哪里收到两片SN74ACT8990的样片
这样的话,就解决了。我的大问题了。
但是还有个大问题啊
用的都是莱迪斯的CPLD
没有上面所提到的CPLD的下载器啊
不过楼主,最近有没有改进呢。
有没有发现其他的问题呢
赶紧有的话,跟大家说一下了。
我也准备DIY一个了。
现在大芯片已经申请回来了。用我公司的名义,
TI那边的人还特意的打电话给来问我来着,
我就打着公司产品的名号
问我什么时候量产,吓死我了。
我只能说,我负责开发,量产需要等待公司的安排呢
楼主,你有什么新情况,
及时的跟大伙说一下了。
不剩赶紧啊。 回复【67楼】xkdwangcs
-----------------------------------------------------------------------
CPLD和EEPROM的程序我已经烧写进去了。
现在刚给ACT8990加了个座,所以直接把芯片插上就能用了。
稍后上个图。 回复【68楼】redbat_228
-----------------------------------------------------------------------
好的。我现在申请到的ACT8990这个封装估计好像有点不靠谱。
估计我也要加个底座好焊接一下了。
这个封装有点类似我以前用过的一款凌阳单片机的封装。 回复【69楼】xkdwangcs
-----------------------------------------------------------------------
8990貌似只有一种封装,PLCC-44的。 仿真器调试过程中,才后悔当时没有使用芯片座。不过,在论坛网友的建议下,已经寻找到了解决方法,帮了我一个大忙。
在此向该网友致谢./emotion/em025.gif./emotion/em025.gif
具体方法是,把PLCC贴片座中间的底座去除,然后再焊接。添加后的效果如下:
http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_654907T0EPDN.jpg
510仿真器(加座后). (原文件名:510仿真器(加座后).jpg) 强大,dsp仿真器,mark MARK MARK 回复【楼主位】redbat_228
-----------------------------------------------------------------------
Hi, redbat_228
我想DIY一个,SN74ACT8990也申请了,但突然发现还没有CY7C68013A的固件,咋办? HI, 各位大哥,
刚才ti打电话告诉我SN74act8990同意给我了,我现在还没找到cy7c68013a的固件,请哪位大哥给我个。在此谢过!
whitexiang@163.com 不太明白,什么固件?
我已经提供全套的资料了啊 Hi, redbat_228
哦,我看了下cy7c68013a的资料,是个单片机,应该有个执行程序才对呀,也就是所谓的固件。
弱弱的问下,如果没有的话,是在什么时候从哪个界面下载进cy7c68013a的呢?
或者不需做任何动作,只要EEPROM中的资料正确就OK?由CCS自已搞定?
敬请回答,谢谢! 恩,是由CCS来搞定的。 wo ye zuo yi ge Mark,very good! Mark,very good! mark niu mark lz有pcb文件吗?我懒得画了 我的这个贴子里有全套的资料包括PROTEL 99SE 的原理图与PCB,cy7c68013a不需要写程序,焊上后直接让电脑来识别,EEPROM,可以通通过cy7c68013a向EEPROM里写程序。这是我发的这个贴子地址http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4972641&bbs_page_no=1&search_mode=3&search_text=zhgcao&bbs_id=9999,大家自己去下吧。 非常感谢! 自己做成本太大了,还是买一个比较划算一些 回复【楼主位】redbat_228
-----------------------------------------------------------------------
XDS510仿真器原理图.pdf 下载了几次都是打不开,文件损坏,楼主能不能发给我huof01@163.com 谢谢! 不错,感觉太复杂了 mark~ 回复【90楼】huof01
回复【楼主位】redbat_228
-----------------------------------------------------------------------
xds510仿真器原理图.pdf 下载了几次都是打不开,文件损坏,楼主能不能发给我huof01@163.com 谢谢!
-----------------------------------------------------------------------
已实验,可以下载,并且可以正常打开。
文件已发送到你邮箱。 刚接触DSP,学习中 mark mark 楼主,那个emu0和emu1到底是干什么用的,是输入还是输出? 顶! 顶! m.a.r.k.
页:
[1]
2