搜索
bottom↓
回复: 620

开源的Altera、Xilinx、Lattice三合一USB下载线★火爆、★炫耀、★讨论中!

  [复制链接]
(372193644)

出0入0汤圆

发表于 2009-10-18 03:41:53 | 显示全部楼层 |阅读模式
带着激_情与梦想来到“www.ourdev.cn”,为阿莫的“友好交流气氛,乐于开源共享,这里远比混乱的现实世界美好”所佩服的五体投地。阿莫老大提供的这个平台给电子爱好者带来了无比的快乐。通过和谐的讨论与研究,不是从零开始闭门造车,而是通过一个人的肩膀一个人的肩膀传递。。。很多年轻人成长起来。用最流行的一句话概括就是“不是一个人在战斗”。希望阿莫老大把论坛办的“国内领先、国际一流”。用一句广告语宣传一下阿莫老大的论坛“www.ourdev.cn,您值得拥有”。

    言归正传,“工欲善其事、必先利其器”。最近潜力逐项研究Altera、Xilinx、Lattice的USB下载线。最终希望做成“开源的Altera、Xilinx、Lattice三合一的USB下载线”。填补国内的空白,以及为电子爱好者提供廉价的开发工具。下面把我的进展情况向版主和大家汇报一下:

1、Altera USB Blaster下载线。采用了3种方案,完成了“经典”->“改进”->“创新”。

a、第1种方案“经典”采用FT245BL+EPM3064+SN74HC244。不用多说,网上流行最经典的版本。简单介绍一下,就是通过硬件USB转FIFO芯片实现Altera Quartus II软件的1字节USB数据转成8bit数据给CPLD,CPLD负责解析Altera通讯协议完成JTAG的转换。最后通过驱动芯片SN74HC244支持1.8V~5.5V输出JTAG信号给目标板。开源资料如下:
EPM3064下载程序:ourdev_492807.rar(文件大小:207K) (原文件名:EPM3064下载程序.rar)
FT245BL驱动:ourdev_492808.rar(文件大小:403K) (原文件名:FT245BL驱动.rar)
FT245BL烧写工具:ourdev_492809.rar(文件大小:1.54M) (原文件名:FT245BL烧写工具.rar)
FT245BL下载程序:ourdev_492810.rar(文件大小:702字节) (原文件名:FT245BL下载程序.rar)
FT245BL+EPM3064+SN74HC244原理图:ourdev_492811.pdf(文件大小:21K) (原文件名:Altera USB Blaster74HC244版本原理图V2.00.pdf)

(原文件名:0001.JPG)


(原文件名:0002.JPG)


(原文件名:0003.JPG)

b、第2种方案“改进”采用FT245BL+EPM3064+SN74LVC4245。简单介绍一下,就是通过硬件USB转FIFO芯片实现Altera Quartus II软件的1字节USB数据转成8bit数据给CPLD,CPLD负责解析Altera通讯协议完成JTAG的转换。最后通过驱动芯片SN74LVC4245支持1.65V~5.5V输出JTAG信号给目标板。

c、第3种方案“创新”采用CY7C68013+ SN74HC244。简单介绍一下,就是通过CY7C68013在Keil环境下软件编程接收Altera Quartus II软件的1字节USB数据转成8bit数据,解析Altera通讯协议完成JTAG的转换。最后通过驱动芯片SN74HC244支持1.8V~5.5V输出JTAG信号给目标板。

现在淘宝店铺主推第三种方案“CY7C68013+ SN74HC244”。
原因1是kolja waschk(范科亚博士)自主创新利用CY7C68013开源编码实现Altera USB Balster的JTAG模式功能。我站在范博士的肩膀上完成了CY7C68013编码实现Altera USB Balster的AS、PS模式功能。
在此对范博士的开源辛勤劳动表示由衷的感谢。http://www.ixo.de/info/usb_jtag/
原因2是软件编程灵活性,固件可以从驱动中下载。

(原文件名:0004.JPG)


(原文件名:0005.JPG)


(原文件名:0006.JPG)
(372191794)

出0入0汤圆

 楼主| 发表于 2009-10-18 04:12:43 | 显示全部楼层
2、Xilinx Platform Cable USB下载线。
a、第1种方案“经典”采用了CY7C68013+XC2C256+74HC244。参考网友“boboo”提供的官方原理图、以及网友“h2feo4 无机酸”的成功经验分享。在此表示衷心的感谢!
开源资料如下:
68013的EEPROM固件:ourdev_492831.rar(文件大小:96字节) (原文件名:XilinxUSB EEPROM.rar)
CY7C68013+XC2C256+74HC244原理图:ourdev_492832.pdf(文件大小:23K) (原文件名:Xilinx Platform Cable USB 74HC244版本原理图V2.00.pdf)
2.54mm转接板原理图:ourdev_492833.pdf(文件大小:8K) (原文件名:Xilinx Platform Cable USB 转接板原理图V2.00.pdf)
下面详细说明一下DIY的步骤:
aa、68013固件下载。通过USB线缆连接PC机与Xilinx Platform Cable USB后,打开EZ-USB Control Panel软件,点击“EEPROM”按钮,下载68013的EEPROM固件“XilinxUSB EEPROM.iic”文件。

(原文件名:001.JPG)
bb、XC2C256固件更新。首先必须安装ise9.1及以上的版本。通过USB线缆连接PC机与Xilinx Platform Cable USB后,安装驱动程序。以ise10.1为例,驱动程序目录在C:\Xilinx\10.1\ISE\bin\nt\windrvr6.inf。安装完毕驱动后显示如下:

(原文件名:002.JPG)
cc、在“开始”-“运行”输出cmd后,在dos界面下输入如下指令并回车:
SET XIL_IMPACT_ENV_USB2_FORCE_CPLD_UPDATE=TRUE
然后输入impact命令,启动iMPACT软件。

(原文件名:003.JPG)
dd、iMPACT软件启动后,选择“create a new project”点击OK。

(原文件名:004.JPG)
选择“Automatica connect to a cable and identify Boundary-Scan chain”,点击“Finish”。

(原文件名:005.JPG)
此后软件会自动搜索电缆,并提示固件更新,此时点击“OK”。

(原文件名:007.JPG)
ee、更新完毕固件后推出iMPACT软件,并在DOS界面中输入指令
SET XIL_IMPACT_ENV_USB2_FORCE_CPLD_UPDATE=FALSE
然后关闭DOS界面。

ff、接上目标板后运行iMPACT,可发现已能正确识别器件,并可以对目标板器件读写等操作。

此Xilinx Platform Cable USB下载线在Win XP SP3操作系统+ISE9.1(ISE10.1)+XC9572(CPLD)+XC3S400(FPGA)+XCF02S(配置芯片)测试成功。
下面是在红色飓风II目标板卡XC3S400+XCF02S测试结果如下:

(原文件名:008.JPG)


(原文件名:009.JPG)


(原文件名:010.JPG)


(原文件名:011.JPG)


(原文件名:012.JPG)


(原文件名:013.JPG)


(原文件名:014.JPG)


(原文件名:015.JPG)


(原文件名:016.JPG)


(原文件名:017.JPG)


(原文件名:018.JPG)

b、第2种方案“创新”待定中。架构采用CY7C68013+ SN74HC244。
正在将“C:\Xilinx\10.1\ISE\data\xusb_xlp.hex”转成反汇编分析中~~~~~。

10月18日~10月31日特价118元销售Xilinx Platform Cable USB下载线。请发烧友们火速抢购。10月18日抢购6台。10月25日抢购40台。


(原文件名:019.JPG)


(原文件名:020.JPG)


(原文件名:021.JPG)

24小时的拷机测试8台完毕。

(原文件名:022.JPG)


(原文件名:023.JPG)
(372189321)

出0入0汤圆

 楼主| 发表于 2009-10-18 04:53:56 | 显示全部楼层
3、Lattice USB ispDOWNLOAD Cable下载线。
a、第1种方案:CY7C68013+LC4064+74HC244。原理图绘制中。。。

b、第2种方案:CY7C68013 +74HC244。待思考中。。。

最后逐项研究通透后,整合资源“Altera、Xilinx、Lattice三合一下载线”待思考中。。。

欢迎阿莫老大、版主roasn 和h2feo4、以及广大的网友批评指正。



天快亮了。。。该睡觉了。。。
(372176421)

出0入0汤圆

发表于 2009-10-18 08:28:56 | 显示全部楼层
不错不错,支持一下
(372175397)

出0入0汤圆

发表于 2009-10-18 08:46:00 | 显示全部楼层
真好,留着以后用吧
(372175188)

出0入0汤圆

发表于 2009-10-18 08:49:29 | 显示全部楼层
支持。已经有了。LZ你的TMS32 PCB板在那里?
(372172611)

出0入0汤圆

发表于 2009-10-18 09:32:26 | 显示全部楼层
支持!
头像被屏蔽
(372170966)

出0入0汤圆

发表于 2009-10-18 09:59:51 | 显示全部楼层
Cool !

注: COOL帖子内允许销售广告。
(372170353)

出0入0汤圆

发表于 2009-10-18 10:10:04 | 显示全部楼层
啊,火爆支持……
(372170269)

出0入0汤圆

发表于 2009-10-18 10:11:28 | 显示全部楼层
http://www.ourdev.cn/bbs/bbs_content_all.jsp?bbs_sn=3539602
【105楼】认为http://www.ixo.de/info/usb_jtag/ 已经用CY7C68013实现Altera USB Balster的AS、PS模式功能



同时http://www.ixo.de/info/usb_jtag压缩包readme表示支持Xilinx Platform Cable USB

Compile for the XPCU with e.g. "make HARDWARE=hw_xpcu_x".

就请楼主试验能否单片CY7C68013实现XPCU


(原文件名:XPCU.JPG)
(372168455)

出0入0汤圆

 楼主| 发表于 2009-10-18 10:41:42 | 显示全部楼层
To:【3楼】 xuyiyi 许意义
哈哈,沙发,支持!
起床真早。。。第一个让您抢到沙发。赞一个。我发现这里的人都很勤奋。。。半夜三更的时候在线还几百人。。。

To:【4楼】 roasn 冰封的心
不错不错,支持一下
谢谢斑竹的支持!

To:【5楼】 sunny1500 晨辉
真好,留着以后用吧
以后淘宝店铺多多交流。

To:【6楼】 bynce 罗曼
支持。已经有了。LZ你的TMS32 PCB板在那里?
您是论坛上大虾级人物了,经常能看见您的身影。。。TMS320的PCB一直在思考中到底该做什么。。。计划在近期会制作28015/28027的MCU级DSP处理模块。给大家提供一些低廉的开发板和XDS100仿真器。让更多的人能迈进DSP的门槛。

To:【7楼】 hebj
支持!
谢谢捧场。。。

To:【8楼】 cocalli
那是相当的不错!
您是论坛上大虾级人物了,经常能看见您的身影。。。呵呵~~~~~~~还希望大家多多交流这3种下载线的研究最新的进展进行相关的讨论,拿出您的看法和观点。我来汇总。好地想法和建议予以采纳支持和实施,给予一些PCB板等物质和精神奖励。

To:【9楼】 armok 阿莫
Cool !
注: COOL帖子内允许销售广告。
不用多说老了,这是您的地盘。。。您就是大名鼎鼎的阿莫老大。您的开源理念,为我们创造了一个和谐的交流平台。您的支持是我们前进的最大动力。希望适当的时候有机会与您合作。

To:【10楼】 xecho 回音
啊,火爆支持……
谢谢!
(372168225)

出0入0汤圆

发表于 2009-10-18 10:45:32 | 显示全部楼层
关注中。。
(372168014)

出0入0汤圆

发表于 2009-10-18 10:49:03 | 显示全部楼层
哈哈  我当初说的 把xilinx下载线降低到1XX的愿望终于实现了
(372167893)

出0入0汤圆

发表于 2009-10-18 10:51:04 | 显示全部楼层
记号

但是 LZ 的板子 画的 太无语了
(372167687)

出0入0汤圆

发表于 2009-10-18 10:54:30 | 显示全部楼层
LZ资料不错,谢谢!为人也很热情,上面每个帖子都给了回复啊!
(372167645)

出0入0汤圆

发表于 2009-10-18 10:55:12 | 显示全部楼层
不错呵呵
(372167578)

出0入0汤圆

发表于 2009-10-18 10:56:19 | 显示全部楼层
没看出来哪里是“三合一”下载线啊
Altera和Xilinx是独立的,Lattice还没见到
(372167091)

出0入0汤圆

发表于 2009-10-18 11:04:26 | 显示全部楼层
谢谢,大公无私,,,支持。。。——————感觉比较复杂啊!!!————

(((我十年前的:并口烧写器,真正只用了一片:74LS244,感觉很简单,上周用MAX PLUS II 10.2版本烧写 EPM7064AETC成功)))

————下周,我再试试看::这个老的并口烧写器:能不能用 Quxxxx6.1版本,烧写 EPM 1270 ————希望能成功!
(372166875)

出0入0汤圆

发表于 2009-10-18 11:08:02 | 显示全部楼层
to 【18楼】 h2feo4 无机酸
应该是计划吧 估计是进度贴
(372166589)

出0入0汤圆

发表于 2009-10-18 11:12:48 | 显示全部楼层
不错..支持

另外.我的FPGA板子和你一样,哈哈
(372166395)

出0入0汤圆

 楼主| 发表于 2009-10-18 11:16:02 | 显示全部楼层
To:【18楼】 h2feo4 无机酸
没看出来哪里是“三合一”下载线啊
Altera和Xilinx是独立的,Lattice还没见到

无机酸兄弟。。。这的确是个现在最新的进展情况。。。Lattice的很快就会几周内搞定。估计要把这个三合一融合到一起,保守估计计划到2009年12月31日前有个结果吧。

还希望能够得到您的支持,您是一位非常热心的朋友。上次给您发过邮件。等您月末回来。。。我们聚会一次。聊聊技术谈谈合作事宜。
(372166189)

出0入0汤圆

发表于 2009-10-18 11:19:28 | 显示全部楼层
to 【22楼】 cznlpy SOPC创业联盟
真能有三合一的廉价下载线当然是造福大众咯
恩过几天见面聊
(372166174)

出0入0汤圆

 楼主| 发表于 2009-10-18 11:19:43 | 显示全部楼层
To:【11楼】 cctnt
您把具体的链接以及哪个目录中哪个文件详细告诉我。。。我在这边的Cy7C68013-56板卡上测试一下他的程序,看看是否支持PS和AS模式。

多谢!
(372165936)

出0入0汤圆

发表于 2009-10-18 11:23:41 | 显示全部楼层
To 楼主
首先感谢楼主,boboo,h2feo4等网友对于Xilinx下载线所做的各种贡献。

就Xilinx USB Cable,"CY7C68013+XC2C256+74HC244原理图",提一点建议,仅供参考:
【改进】Buffer_OE信号,高电平有效;从电路上会让输出JTAG和INIT_Out高阻,CPLD考虑把INIT_Out上拉。
【改进】Buffer_OE用MOSFET或者Gate反向,让输出驱动电路HiZ。这个是参考官方图的结果。
【问题】Serial Slave模式INIT信号,是双向的,参考DLC9的手册说明;即INIT_OUT应该输出,同时外部信号反馈回CPLD INIT_IN。
【问题】HC244的电平兼容。外部5V时,CPLD接口直接承受5V,恐怕会烧;外部3.3V时,正常;外部2.5V时,CPLD Port可能通过HC244的钳位二极管向Vref灌3.3V电流。导致接口/电源故障,比如Spartan3,未经处理的JTAG是2.5V,Vaux接口电流不太大,这么灌下去后果不好说。
【改进】HC244换TI的LVCA/B164245,成本肯定贵很多,但是兼容性能好。1.5到3.3V支持没问题;5V环境需要换驱动器。即1.2-5V的问题没有解决,1.5-3.3V没问题的。

【待确定】因为下载线和目标板上电顺序不一定,多少都有这个问题。原版的图还没认真研究,不过看起来多少也有。用164245,限制外部电压范围的前提下(外部1.5-3.3V),初步看不存在这个问题,有单边掉电保护。


我画的电路图,仅供参考和讨论。
Xilinx Embedded Download Cableourdev_493037.pdf(文件大小:31K) (原文件名:XilinxEmbeddedDownloadCable.pdf)
(372164928)

出0入0汤圆

发表于 2009-10-18 11:40:29 | 显示全部楼层
to【楼主位】
点击此处下载 ourdev_493049.zip(文件大小:123K) (原文件名:usb_jtag-20080705-1200.zip)



(原文件名:asps.JPG)
(372160934)

出0入0汤圆

发表于 2009-10-18 12:47:03 | 显示全部楼层
mark
(372160389)

出0入0汤圆

发表于 2009-10-18 12:56:08 | 显示全部楼层
congratulation
(372158936)

出0入0汤圆

发表于 2009-10-18 13:20:21 | 显示全部楼层
期待
(372158907)

出10入10汤圆

发表于 2009-10-18 13:20:50 | 显示全部楼层
三合一可以采用CY7C68013+ SN74HC244方案,但PC端需要增加一个程序,来配置驱动。但好像仍然需要人来判断芯片的厂商,没法自动识别芯片。
(372158779)

出0入0汤圆

发表于 2009-10-18 13:22:58 | 显示全部楼层
.....看了资料,你提供的好像没有什么吧,这都是网上很容易找到的吧。。。
(372158775)

出0入0汤圆

发表于 2009-10-18 13:23:02 | 显示全部楼层
三合一的线网上早就有卖了
(372158773)

出0入0汤圆

发表于 2009-10-18 13:23:04 | 显示全部楼层
mark
(372158731)

出0入0汤圆

发表于 2009-10-18 13:23:46 | 显示全部楼层
.....看了资料,你提供的好像没有什么吧,这都是网上很容易找到的吧。。。
(372155311)

出0入0汤圆

 楼主| 发表于 2009-10-18 14:20:46 | 显示全部楼层
To:【25楼】 dr2001
您的3改进2问题1确定提的很中肯。我虚心接受再研究一下,晚上晚些时候回复您。谢谢把您的想法拿出来与大家分享!赞一个~~~~~~~~

To:【26楼】 cctnt
我今天晚上22:00之前答复您。我下午需要出去一趟。。。晚上回来就在68013+244板卡上测试一下。

To:【28楼】 kenson
congratulation
谢谢您的支持。

To:【30楼】 yangyi
三合一可以采用CY7C68013+ SN74HC244方案,但PC端需要增加一个程序,来配置驱动。但好像仍然需要人来判断芯片的厂商,没法自动识别芯片。
初步想法计划是将三个厂商的PID\VID\DID分别装在3片不同的24LC00中,通过外壳的开关来选择切换具体哪个24LC00中的PID/VID/DID引导,重枚举之后通过上位机驱动给68013的RAM实时下载不同厂家的固件。更高级的全自动识别在思考中。。。。

To:【31楼】 touch_avr【34楼】 touch_avr
.....看了资料,你提供的好像没有什么吧,这都是网上很容易找到的吧。。。
的确如您所说,大部分都是网上可以找到的。我仅仅是来汇总、改进、一小点“创新”和验证一遍。同时也希望您把找到的资料共享开源一下。。。期待。。。尤其是Lattice USB方面。。。。。。。多谢,希望您也能拿出些资料来大家一起分享和讨论。
(372155180)

出0入0汤圆

发表于 2009-10-18 14:22:57 | 显示全部楼层
lz 一个问题
由于cy7c68013a没有内置SPI口,所以不外加CPLD/FPGA的话,直接用GPIO管脚bit-bang JTAG口速度会非常慢,
我尝试用手写的汇编来实现,但是每推出一位需要至少7个周期@12MHz
这样速度最快就是1MHz多点,而原装Altera的线最快是6MHz的TCK速率。

所以如果一定要cy7c68013a的话,一定要外加一个CPLD或者FPGA才好。

我有另外一个方案,正在实现中,使用STM32来做,可以讨论下~
这个的好处是Altera的下载线速度可以达到或者超过9MHz。

其实我有一个项目是整合尽可能多的功能,正在考虑中。
其中的一个方案就是cy7c68013a+fpga/cpld来做的。
(372153139)

出0入0汤圆

发表于 2009-10-18 14:56:58 | 显示全部楼层
To 35# cznlpy SOPC 创业联盟
有问题欢迎讨论……

To 36# minux
印象中STM32是USB FS的吧,那就不一定比Atmel的S64之类的好了。
Atmel的话,用SSC和SPI联合起来推数据,效率很高的。J-Link我估计就是这样实现的,我用9200 SSC做过扫JTAG的实验。
STM32可能SSC功能没有ATmel的强,用SPI弄应该也还不错,对时序什么的稍微麻烦一些。
剩下的工作大头就是USB协议了。
如果SAM3U的芯片够便宜的话,做这个应该很不错。
(372151462)

出0入0汤圆

发表于 2009-10-18 15:24:55 | 显示全部楼层
很好,很强大,标记一下
(372151062)

出0入0汤圆

发表于 2009-10-18 15:31:35 | 显示全部楼层
如果我做多合一USB下载线
我的方案:
首先我设计了一个多合一并口下载线(本质上就是一块CPLD),并支持自动切换
USB部分(CY7C68013)作为一个选配件,或者是扩展板
CPLD负责检测目标板类型,并为68013提供一个16位的SPI硬件
68013用IO模拟JTAG给CPLD升级固件

这样既可兼容并口,又可提供USB,还能支持自动切换,也能自动升级,一举多得


(原文件名:USB下载线.PNG)
当然,也可以不兼容并口
(372148983)

出0入0汤圆

发表于 2009-10-18 16:06:14 | 显示全部楼层
【37楼】 dr2001

但是STM32的SPI口最快可以到18MHz,而且做主、从都是如此。
而且是两个SPI,两个联合起来就能到直接操纵JTAG口了。为什么会时序复杂?
跟SPI+SSC有什么区别?SPI+SSC又不是专门操纵JTAG TAP的,他们的遇到的时序问题是一样多的。
(需要注意JLink也有在STM32上面跑的版本,虽然那个版本TCK最快4MHz,但是那显然不是技术问题而是商业问题)
而STM32比S64好的地方很多,首先他是Cortex-M3,工作频率高,效率高,其次价格便宜。

我前面说过了,只用cy7c68013的GPIO口,不可能达到2MHz以上的速度。这样你用HS USB一点意义都没有。

另外,我的新思路是不做Xilinx的下载线了,在PC上跑cable server来做协议转换。
毕竟cblsrv已经有参考了,但是我还没有找到有人公开了反向XC2C256的资料,所以从零起步就不一定容易了。
如果一定要做Xilinx下载线,可以考虑从USB协议入手,这个反向起来会稍微容易点(就我知道的信息来看,给转换成USBBlaster的还是比较容易的)。
(372146397)

出0入0汤圆

发表于 2009-10-18 16:49:20 | 显示全部楼层
mark~
(372144512)

出0入0汤圆

发表于 2009-10-18 17:20:45 | 显示全部楼层
期待
(372144043)

出0入0汤圆

发表于 2009-10-18 17:28:34 | 显示全部楼层
mark
(372143006)

出0入0汤圆

发表于 2009-10-18 17:45:51 | 显示全部楼层
严重关注,广大荷包不够鼓的弟兄将有福了。能Altera + Xilinx + Lattice + J-Link更好。
(372142799)

出0入0汤圆

发表于 2009-10-18 17:49:18 | 显示全部楼层
To: 【40楼】 minux 啊啊?

支持,用STM32应该更好。
(372142378)

出0入0汤圆

发表于 2009-10-18 17:56:19 | 显示全部楼层
【44楼】 hwbrat

如果真要 A + X + L + J
的话,如果能接受ARM-OB STM32的功能限制,用STM32是最好的方案,这个我已经搞了好长时间了。

如果不能接受ARM-OB STM32的功能限制,那么必须用7S128或者7S256来做,那样的话成本就高多了。
(372140789)

出0入0汤圆

发表于 2009-10-18 18:22:48 | 显示全部楼层
To 40楼 minux

因为ATmel的SSC端口配置更灵活一些,只要没有遇到硬件硬件的Bug,相比SPI来说,制造JTAG时序比SPI略容易。
印象中,ATmel SPI/SSC一般是总线除4吧,因为S64总线频率上不去,所以看起来低一些。
STM32,相比之下,主要的优势应该是廉价。恩。

自己弄的话,就搞转换吧,用CableServer。其实用JLink都可以的。呵呵。
(372136149)

出0入0汤圆

发表于 2009-10-18 19:40:08 | 显示全部楼层
jih
(372136055)

出0入0汤圆

发表于 2009-10-18 19:41:42 | 显示全部楼层
mark
(372135954)

出0入0汤圆

发表于 2009-10-18 19:43:23 | 显示全部楼层
【47楼】 dr2001

STM32优势不仅仅是廉价,处理能力也强。如果以后需要把一部分逻辑下放到MCU,也比较容易。

JLink的TCK, TDI, TDO这组用的是SSC, TCK, TMS, TDO这组用的是SPI。
可以承认我所知的厂家里,Atmel的SSC/SPI都是设计得很不错的。
7S64一方面是ARM7,另一方面是主频方面的问题。
如果SAM3U系列出来了,而且可以接受的价格的话,基本上不用考虑别的芯片了,太合适了。

使用Cable Server,用任何的JTAG接口都可以,主要考虑到反向CPLD难度比较大,从EZUSB代码弄也有希望,但是只是知道GPIF的状态,
还是差很多。
(372133504)

出0入4汤圆

发表于 2009-10-18 20:24:13 | 显示全部楼层
支持!
(372131273)

出0入0汤圆

发表于 2009-10-18 21:01:24 | 显示全部楼层
其实,实际做设计的时候,都不会是在一块目标板上::同时用几个不同厂商的CPLD ,FPGA 吧。。

所以,设计这个“多合一”的下载线:::允许使用::“硬件跳线”——啊!!PnP之前,大家不也使用硬跳线来设置吗!

个人观点::现在这些设计电脑主板的,,也不能因为有几个USB ,就把“老主宗”都丢了啊。。

老主宗——————并口 378H,,串口 2F8,3F8 ————的硬件,还是要保留才完美啊。。。
(372129841)

出0入0汤圆

发表于 2009-10-18 21:25:16 | 显示全部楼层
我还真以为是真的三合一呢,不过还是支持
(372127690)

出0入0汤圆

发表于 2009-10-18 22:01:07 | 显示全部楼层
【52楼】 caosix

你是说用跳线来兼容各个下载线是吗?现在的问题不在这里啊。
并口、串口什么意思啊?并口串口的问题是,新的电脑都没有这些接口了,另外,他们的速度都比不了HS USB的速度。
并口EPP最快的时候勉强能超过FS USB
(372123810)

出0入0汤圆

发表于 2009-10-18 23:05:47 | 显示全部楼层
好贴留名
(372123213)

出0入0汤圆

发表于 2009-10-18 23:15:44 | 显示全部楼层
好东西
(372122129)

出0入0汤圆

发表于 2009-10-18 23:33:48 | 显示全部楼层
强帖!留名!
(372121475)

出0入0汤圆

发表于 2009-10-18 23:44:42 | 显示全部楼层
mark
(372116620)

出0入0汤圆

 楼主| 发表于 2009-10-19 01:05:37 | 显示全部楼层
To:【25楼】 dr2001
针对【问题】HC244的电平兼容。外部5V时,CPLD接口直接承受5V,恐怕会烧;外部3.3V时,正常;外部2.5V时,CPLD Port可能通过HC244的钳位二极管向Vref灌3.3V电流。导致接口/电源故障,比如Spartan3,未经处理的JTAG是2.5V,Vaux接口电流不太大,这么灌下去后果不好说。

1、外接3.3V,若您所说,在目标板卡XC3S400-PQ208+XCF02S测试一切正常。包括blank、checksum、erase、progaram、readback、readid、readUsercode、vrerify。测试近百次全部成功。
2、针对2.5V,手头上没有VREF为2.5V的目标板卡。待验证中。。。
3、外接5V,前段时间在XC9572(VREF为5V)测试过十几次遍全部成功。以前也查过手册。XC2C256内核电压1.8V,IO电压3.3V,最大极限为4.1V。很多CPLD芯片的虽然手册上说IO电压是3.3V,但实际使用上能承受5V电压。抱着试试看的态度。这部分电路就没有改进。
今天考虑您的提出这么多宝贵建议。我又在XC9572(VREF为5V)测试几百次。。。最终终于把XC2C256的TDO引脚烧毁了。。。教训深刻呀(科学是严谨的,不能有丝毫的侥幸心里)。
以下是前100次都成功的抓图。

(原文件名:0001.JPG)


(原文件名:0002.JPG)


(原文件名:0003.JPG)


(原文件名:0004.JPG)


(原文件名:0005.JPG)


(原文件名:0006.JPG)


(原文件名:0007.JPG)

最后2副图是测试100多次以后的测试结果。。。估计XC2C256的TDO引脚“烧毁”了。。。但readid和readUsercode还成功。。。说明JTAG其他引脚还能正常工作。

(原文件名:0008.JPG)


(原文件名:0009.JPG)
(372114778)

出0入0汤圆

 楼主| 发表于 2009-10-19 01:36:19 | 显示全部楼层
To:【26楼】 cctnt
由于对Keil软仿真非常熟悉。。。我参考的是fx2.old文件夹下,老的fx2框架版本。但是这个版本只支持jtag模式,不支持as,ps模式。新的版本基于开源的编译器sdcc开发,不熟悉,看了一下hw_basic.c的确实现了AS和PS模式。等有时间也捉摸一下这个sdcc编译器,生成hex或bin文件后,测试一下看看下载速度如何。

不过共同点都是根据Altera USB Blaster软件的通信协议来进行解析编码的(即任务书和需求都是一样的,仅在于编码实现有所不同)。

(原文件名:200910190127.JPG)


To:【11楼】 cctnt
Compile for the XPCU with e.g. "make HARDWARE=hw_xpcu_x".
手上现在只有Keil编译这个68013。看来得真的学习一下sdcc编译器了。。。您有这方面资料吗?明天上百度上找找。。。学习中。。。学习完毕后能编译下载后再答复您!
(372112601)

出0入0汤圆

 楼主| 发表于 2009-10-19 02:12:36 | 显示全部楼层
To:【15楼】 yuhang
但是 LZ 的板子 画的 太无语了

谢谢批评指正。虽然说十年前就在画板子。。。可还是长进不大。

To:【36楼】 minux 啊啊?
您说除了51单片机的弱项。。。我这边也深有感触。就是用68013模拟出的时序TCK速度太慢了(因为68013最大也就能跑48MHz)。我觉得要想提高TCK速度,最好使用一个300MHz的DSP型号TMS320F283xx来搞。俺对STM32刚刚入门。。。现在的想法是先让3种下载线在68013上跑通。下一步的计划再搞提高TCK下载速率。有机会在与您深入讨论。

To:【39楼】 h2feo4 无机酸
我们的想法很相似。

To:【40楼】 minux 啊啊?、【50楼】 minux 啊啊?
1、我最近有时间找2台机器联网也测试一下Xilinx cable server功能。到时候把图贴出来。
2、反向XC2C256的确有困难。。。我先从68013的*hex文件反汇编入手。分析完毕后再整理68013到底实现哪些功能。看看能否逆向推出通信协议。
3、cblsrv不熟悉。。。有时间百度一下。

To:【44楼】 hwbrat
能Altera + Xilinx + Lattice + J-Link更好。
如您所说,争取最大的扩展和兼容。不过现阶段仅从这三种CPLD/FPGA入手。

To:【52楼】 caosix
现在使用并口的 人太少了。。。我这边有一堆并口下载线呢。。。

To:【57楼】 XUEPENGBIN 薛鹏斌
看见您就感觉回到了东北。我也是东北那疙瘩的。贼野蛮。。。
(372111904)

出0入0汤圆

 楼主| 发表于 2009-10-19 02:24:13 | 显示全部楼层
2009-10-18总结:
1、今天看到大家很多人参与了讨论和提出很好的建议,我也扩展了很多思路。我下周整理后再发布。。。
2、今日之星评选给cctnt、h2feo4 无机酸、dr2001、minux 啊啊?共4位兄弟。在精神上奖励外,物质方面给予一些PCB板卡(FT245BL+EPM3064+74HC244PCB板卡、FT245BL+EPM3064+74HC4245PCB板卡、CY7C68013+74HC244PCB板卡、CY7C68013+XC2C256+74HC244PCB板卡)的奖励。。。请这四位兄弟与我淘宝店铺联系领取。
3、对作出有贡献的网友以后也会奖励。奖励的PCB板卡种类也会慢慢增多涉及DSP\CPLD\FPGA。


该睡觉了。。。。。明天与广大网友继续再战斗。。。。
(372087650)

出0入0汤圆

发表于 2009-10-19 09:08:27 | 显示全部楼层
To 【59楼】 cznlpy SOPC创业联盟
好奢侈啊,就这么烧了一个CoolRunner。尸体赶紧收好,雕刻孔当钥匙链。恩。

对于JTAG 2.5V的情况,我设想的验证流程:
【目标】
1、验证HC244是否存在钳位二极管;
2、验证Cable CPLD 3.3V输出的引脚,会经过钳位二极管,向2.5V JTAG接口电源倒灌电流;验证是否也会从输出引脚输出不正确的电平。
最坏工况是目标板没有上电时刻,等于3.3V直接加在2.5V引脚上。
对于Xilinx FPGA,可能就是VCC-CORE,VCC-IO没有上电;VCC-AUX弱电流供电,设计电压2.5V,实际3.3V;部分3.3V兼容,带有钳位二极管引脚上给了3.3V电压,内部2.5V。

【验证方法】
1、仿真器上电,端子悬空,看Vref是多少的电压;
2、加上电阻假负载,看Vref能不能出来几个mA的电流;
3、此时TDI/TMS/TCK等线上,是什么电压;能不能出来点电流什么的。
如果HC244等有钳位二极管的话,Vref悬空应该是3.3V左右的电压么,应该略小;能拉出来2-4mA电流,这时候应该不会烧Cable CPLD;1x-2xmA的话,HC244也许发热,CPLD的某个输出Pin也许会故障。

反过来的,如果Cable没有上电,JTAG接口Vref给2.5V/3.3V,也应该简单测量一下,看CoolRunner那侧是否有电流。
Cable里边的芯片,长时间加载非正常工作电压,或许会有问题?这个事情我就不清楚了,手册上也没提过。

我没测试环境,就辛苦你测试,验证啦。


To 【61楼】 cznlpy SOPC创业联盟 & 【40楼】 minux
我也有兴趣研究研究CableServer,呵呵。有机会讨论讨论啊。
那个东西不需要两台机器,启动Server,Impact连接LocalHost就可以了。恩。
(372087461)

出0入0汤圆

发表于 2009-10-19 09:11:36 | 显示全部楼层
在这里能让人看到希望!

lz,ADI公司的DSP仿真器贵得要命,最便宜的也要1000多,质量有保障,售后服务好的至少也卖3000,原厂的就更不必说了。借这个强帖的机会,说下心声,希望你在完成这个开源项目之后,将来有时间也能把开发ADSP的入门门槛降低到广大爱好者容易接受的范围之内。
(372085626)

出0入0汤圆

发表于 2009-10-19 09:42:11 | 显示全部楼层

jtag转接板 (原文件名:jtagconv.jpg)

配个转接板,希望直接和板上的IO相连。
(372083565)

出0入0汤圆

发表于 2009-10-19 10:16:32 | 显示全部楼层
to 【59楼】 cznlpy SOPC创业联盟
对于2.5V和5V的兼容性,Xilinx有专门的应用笔记来介绍
我的那个帖子一楼都提供了分析,也给出了官方原文
2.5V兼容性的应用笔记是xapp453,需要加一些吸收电流的措施以防反向电流导致电压升高
5V兼容性的应用笔记是xapp429,需要钳压二极管来保护IO
我做的版本在TDO上加了保护二极管,读写XC9536一百次没发现任何问题
(372082206)

出0入0汤圆

发表于 2009-10-19 10:39:11 | 显示全部楼层
确实很棒
(372081436)

出0入0汤圆

发表于 2009-10-19 10:52:01 | 显示全部楼层
如果是三个一的话,我订一个,强烈期待!!!!!!!!
(372079645)

出0入0汤圆

发表于 2009-10-19 11:21:52 | 显示全部楼层
跟风贴一个娱乐的结果,参考了无机酸的电路图,增加了164245等等。面积就大多了,要40x80mm。

欢迎批评指正。

原理图 ourdev_493338.pdf(文件大小:68K) (原文件名:XEDB_Schemetic.pdf)

PCB正面  (原文件名:XEDB_PCB_TopSide.jpg)

PCB反面  (原文件名:XEDB_PCB_BotSide.jpg)

貌似是PCB绿油的透明度有点没弄好。只能当布局看啦。
(372079025)

出0入0汤圆

发表于 2009-10-19 11:32:12 | 显示全部楼层
看来Xilinx下载线要遍地开花了
(372078914)

出0入0汤圆

发表于 2009-10-19 11:34:03 | 显示全部楼层
to【71楼】 h2feo4 无机酸

从几个月前的4XX降到现在的1XX  能不开花么
(372078676)

出0入0汤圆

发表于 2009-10-19 11:38:01 | 显示全部楼层
to 【72楼】 boboo
从现在的情况来看,说不定再过两个月,就都是xx元的了
(372078337)

出0入0汤圆

发表于 2009-10-19 11:43:40 | 显示全部楼层
To 【73楼】 h2feo4 无机酸
关键芯片要xx元啊,除非都用拆机的旧片子。

CoolRunner的那个片子什么价格?
(372078073)

出0入0汤圆

发表于 2009-10-19 11:48:04 | 显示全部楼层
to 【74楼】 dr2001
只要推出CPLD内部的逻辑功能,就完全可以把它移植到更廉价的IC中,甚至可以用软件模拟
所以我估计,在未来的几个月,应该会有人做出成本低于40元的下载线
(372074791)

出0入0汤圆

发表于 2009-10-19 12:42:46 | 显示全部楼层
顶!
(372072994)

出0入0汤圆

发表于 2009-10-19 13:12:43 | 显示全部楼层
支持!
(372071613)

出0入0汤圆

发表于 2009-10-19 13:35:44 | 显示全部楼层
to 【75楼】 h2feo4 无机酸
还是看谁有兴致做这个事情吧,我倒是有兴趣,可惜没太多条件。

软件模拟,开发工作量比较大,估计和分析USB协议有的比了。
从Cable CPLD的引脚布局上看,如果不是Xilinx故意这么做的话,有理有怀疑CPLD资源使用率已经比较高了,即便反向了逻辑,是否能找到合适的廉价芯片也难说。
(372070285)

出0入0汤圆

发表于 2009-10-19 13:57:52 | 显示全部楼层
这一天终于到来了
(372069050)

出0入0汤圆

发表于 2009-10-19 14:18:27 | 显示全部楼层
用 FT2232H 来实现也是一个思路
http://www.rmdir.de/~michael/xilinx/
http://openocd.berlios.de/
http://urjtag.org/
http://xianzilu.spaces.live.com/
(372068796)

出0入0汤圆

发表于 2009-10-19 14:22:41 | 显示全部楼层
太好了,支持
(372067120)

出0入0汤圆

发表于 2009-10-19 14:50:37 | 显示全部楼层
mark
(372055869)

出0入0汤圆

发表于 2009-10-19 17:58:08 | 显示全部楼层
【80楼】 zzemu

对,而且FT2232H还是高速USB,TCK最快能到30MHz.
美中不足,FT2232H非常贵,可能是用的不多。

不过这么实现我也考虑过,只能在PC机上做兼容了,不太好。而且只能用FTDI的驱动,不太爽。
(372049679)

出0入0汤圆

发表于 2009-10-19 19:41:18 | 显示全部楼层
mark
(372040192)

出0入0汤圆

发表于 2009-10-19 22:19:25 | 显示全部楼层
强贴留名
(372035621)

出0入0汤圆

发表于 2009-10-19 23:35:36 | 显示全部楼层
这个要mark一下
(372024341)

出0入0汤圆

 楼主| 发表于 2009-10-20 02:43:36 | 显示全部楼层
To:【63楼】 dr2001
我这边现在有一堆的Altera、Xilinx下载线。手头上没有2.5V的开发板,暂时无法按照您的说法去逐项验证。待拿到2.5V开发板再测试。我近期会搞一些XC9572XL(3.3V)开发板和XC3S200(3.3V)开发板。此外,您看看您那边需要哪些硬件设备。。。我全力鼎住您。。。

To:【65楼】 zzemu
您这是万能的JTAG转接板呀!

To:【70楼】 dr2001
您的板卡准备何时投产。。。投产数量多少?

To:【75楼】 h2feo4 无机酸 &【78楼】 dr2001
等无机酸回来,我们两个在一起商量一下,看看可否把这个XC2C256固件移植到廉价的CPLD中。。。这肯定是一个发展的方向和潮流。此外只要您有兴趣,没条件。。。创造条件也要上。。。看看您需要什么。我现在最需要的就是时间,感觉每天的时间过的太快了。

To:【79楼】 zl0801 赵亮
不用多说了。。。俺的校友。在国内NiosII入门开发板大名鼎鼎。您的淘宝店铺越来越红火了,现在应该请客服在忙活吧。

To:【80楼】 zzemu &【83楼】 minux 啊啊?
方案改进会考虑FT2232H。我这边的XDS100USB就是使用FT2232D芯片。28元批量采购的。性能卓越,现在可以仿真F28xxx/F28xx系列芯片。最近发现TI发布的新的驱动还能仿真55x和674x。看来XDS100USB慢慢强大起来了。

To:【86楼】 kugel
在您的淘宝店铺买过东西。呵呵~~~~~~~~大家都来了。
(372024048)

出0入0汤圆

 楼主| 发表于 2009-10-20 02:48:29 | 显示全部楼层
总结一下10月20日晚上2个小时的进展:
hex文件路径:C:\Xilinx\10.1\ISE\data\xusb_xlp.hex(Firmware version=1029;Firmware hex file version=1302)——以ISE10.1为例。
源文件xusb_xlp.hex文件:ourdev_493659.rar(文件大小:10K) (原文件名:xusb_xlp_10.1hex.rar)
反汇编xusb_xlp.asm文件:ourdev_493660.rar(文件大小:26K) (原文件名:xusb_xlp_10.1asm.rar)
通过覆盖率分析:可执行语句为5306行;可执行分支为766个。
1、程序架构采用main+中断框架,首先分析中断向量表分析增加注释如下:
Q 0000:             LJMP  Q1897    // c_int00库函数引导起始地址
Q 0003:                           // INT0中断未使用
Q 000B:            LJMP  Q1A34    // Timer0中断函数起始地址
Q 0013:                           // INT1中断未使用
Q 001B:                           // Timer1中断未使用
Q 0023:                           // USART0中断未使用
Q 002B:                           // Timer2中断未使用
Q 0033:            LJMP  Q23B2   // USB唤醒中断函数起始地址
Q 003B:                           // USART 1中断未使用
Q 0043:            LJMP  Q1600   // USB中断函数起始地址
Q 004B:                           // IIC总线中断未使用
Q 0053:            LJMP  Q1600   // GPIF或FIFO或INT4中断函数起始地址
Q 005B:                           // INT5中断未使用
Q 0063:                           // INT6中断未使用

2、c_int00库函数引导起始地址反汇编分析增加注释如下:
Q1897:             MOV   R0,#7FH
                   CLR   A
Q189A:             MOV   @R0,A
                   DJNZ  R0,Q189A  // 清7FH~00H片内RAM为0
                   MOV   SP,#50H   // 设置堆栈SP指针为50H
                   LJMP  Q18DE     // c_int00引导
;==========================================================================
Q18A3:             LJMP  Q222D     // main函数起始地址
;==========================================================================


该睡觉了。。。明天继续分析。以后希望大家分析的重点将是:
A、主函数main。
B、3个中断函数。
C、特殊功能寄存器80H~F8H分析。
D、GPIF波形存储器E400~E47F GPIF 波形描述符0、1、2、3数据分析。
E、通用配置寄存器E600H~E60CH分析。
F、端点配置寄存器E610H~E649H分析。
G、中断寄存器E650H~E668分析。
H、输入/输出寄存器E670H~E67CH分析。
I、USB控制寄存器E680H~E687H分析。
J、端点寄存器E68AH~E6BFH分析。
K、通用可编程接口(GPIF)寄存器E6C0H~E6F5H分析。
L、端点缓冲区寄存器E740H~FDFFH分析。
(371999679)

出0入0汤圆

发表于 2009-10-20 09:34:38 | 显示全部楼层
To 【87楼】 cznlpy SOPC创业联盟
那个板子就是画着玩的。没盒子尺寸,只能当裸版用,弄了也没啥意思。
焊接什么的也挺麻烦的,没什么没时间折腾这事儿。-_b
(371984104)

出0入0汤圆

发表于 2009-10-20 13:54:13 | 显示全部楼层
三合一要是真的出来了,那真是好事
(371977025)

出0入0汤圆

发表于 2009-10-20 15:52:12 | 显示全部楼层
学习了 期待
(371973460)

出0入0汤圆

发表于 2009-10-20 16:51:37 | 显示全部楼层
to 【楼主位】 cznlpy SOPC创业联盟
26楼usb_jtag-20080705-1200.zip
sdcc编译需要linux环境,不作任何修改生成两个hex给楼主试验
点击此处下载 ourdev_493835.rar(文件大小:4K) (原文件名:altera.rar)
点击此处下载 ourdev_493841.rar(文件大小:5K) (原文件名:xilinx.rar)
(371973280)

出0入0汤圆

发表于 2009-10-20 16:54:37 | 显示全部楼层
强!
(371970307)

出0入0汤圆

发表于 2009-10-20 17:44:10 | 显示全部楼层
【92楼】 cctnt

sdcc在Windows下运行得好好啊。

http://sdcc.sourceforge.net/snap.php#Windows

这种跟系统没有什么耦合的开源软件,不至于不能在Windows底下运行的。
(371960284)

出0入0汤圆

发表于 2009-10-20 20:31:13 | 显示全部楼层
【94楼】 minux 啊啊?

26楼usb_jtag-20080705-1200.zip
C51文件夹项目用LINUX风格

(原文件名:asps.JPG)
(371957044)

出0入0汤圆

发表于 2009-10-20 21:25:13 | 显示全部楼层
LZ  的DSP 仿真器 真 娇气
偶今天刚拿到 货  一 不小心 把JATG 口接反了
该过来后怎么也连接不上. 后来拆个看了下244挂了  我朋友 买的 插反N多次了 都木有 挂掉
害得偶虚惊一场.
(371950629)

出0入0汤圆

发表于 2009-10-20 23:12:08 | 显示全部楼层
mark
(371941826)

出0入0汤圆

 楼主| 发表于 2009-10-21 01:38:51 | 显示全部楼层
To:【96楼】 itelectron
XDS510USB仿真器的架构采用TI原装的架构CY7C68013+ACT8990+EPM7032+74HC244。谢谢您的建议,以后增强在误操作方面的设计。。。


To:【92楼】 cctnt &【94楼】 minux 啊啊?
谢谢提供资料和编译后生成的hex文件。

经过一晚上的测试。。。JTAG不通。

明天我把工程移植到Keil修改后再编译。。。有信心可以跑通。。。初步了解到采用GPIF与XC2C256通信机制。

该睡觉了。。。
(371941157)

出0入0汤圆

发表于 2009-10-21 01:50:00 | 显示全部楼层
DSP仿真器不是官方推荐7脚堵上防差错码?
(371920676)

出0入0汤圆

 楼主| 发表于 2009-10-21 07:31:21 | 显示全部楼层
To:【99楼】 boboo
DSP仿真器不是官方推荐7脚堵上防差错码?

我这边的DSP板卡设计一般都采用带缺口的IDC10座来设计。。。由于有缺口插反了插不上去。
还有一个办法就是把DSP板卡的第6脚剪掉,剪掉的针插到DSP仿真器的第6脚(楼上所说的TI官方推荐)。这样就可以双重保护不被插反。
(371915075)

出0入0汤圆

发表于 2009-10-21 09:04:42 | 显示全部楼层
To 【98楼】 cznlpy SOPC创业联盟
你看一下那个代码的引脚对应关系就知道了,CPLD的引脚和现在CoolRunner的不一样。
能跑通的可能性很小。

从分析Firmware或者USB协议入手比较快,我感觉。
(371911563)

出0入0汤圆

发表于 2009-10-21 10:03:14 | 显示全部楼层
to 【楼主位】 cznlpy SOPC创业联盟

范的代码设置hw_xpcu_i直接写板上的CPLD
附编译后的HEX,请试验
点击此处下载 ourdev_494109.rar(文件大小:5K) (原文件名:xpcu_i.rar)
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2021-8-3 22:49

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表