搜索
bottom↓
楼主: cznlpy

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

  [复制链接]

出0入0汤圆

发表于 2009-10-21 12:42:19 | 显示全部楼层
【95楼】 cctnt

哈哈,你不知道Windows下面也能用make么?
我现在做的单片机程序都是Makefile管理,拿到Windows机器上一个make搞定,跟Linux下编译的一个样。

出0入0汤圆

发表于 2009-10-21 12:53:13 | 显示全部楼层
我建议还是不要移植到Keil了,花那些时间不值得(sdcc和Keil的差异挺大的)。

按照我那个链接装上sdcc,然后装个winavr(如果你也用AVR的话,就是用里面的msys环境,你也可以单独装msys)就齐了,
把sdcc的bin目录设置到PATH里面,然后就能直接在cmd里面make了。
这么弄绝对比移植过去容易得多。

出0入0汤圆

发表于 2009-10-21 22:10:12 | 显示全部楼层
还有 LZ  的DSP 仿真器 的芯片 是拆机的么  芯片 好 旧啊  
不过只要不影响使用就OK了.
希望能用上个 1  2 年.

出0入0汤圆

发表于 2009-10-21 22:36:19 | 显示全部楼层
这个很强大,期待中

出0入0汤圆

 楼主| 发表于 2009-10-22 07:57:23 | 显示全部楼层
实验中遇到些挫折。。。今天晚上我再贴图。现在是黎明前的黑暗。。。。。。

出0入0汤圆

发表于 2009-10-22 09:03:29 | 显示全部楼层
有意思,几个下载线合在一起还是很有意义的,调试时桌面就没那么乱了

出0入0汤圆

发表于 2009-10-22 09:05:47 | 显示全部楼层
to【103楼】 minux 啊啊?

我没用msys,用cygwin模拟环境

出0入0汤圆

发表于 2009-10-22 12:02:50 | 显示全部楼层

出0入0汤圆

发表于 2009-10-22 19:29:57 | 显示全部楼层
To 【107楼】 cznlpy SOPC创业联盟
如果方便的话,能不能告诉我一下下载线盒子的尺寸?
我改改贴我画的那个版本的Gerber?

出0入0汤圆

发表于 2009-10-22 21:06:03 | 显示全部楼层
to【109楼】 cctnt

cygwin是不得已才使用的。因为它不是native移植,而msys是真正的native Windows程序。
同样,用cygwin-gcc编译的代码也脱离不了cygwin1.dll而执行,但是msys配合mingw-gcc编译的代码就不会。

msys里面我一般要用的东西都有了,反正我也不经常在Windows底下开发,只要我的Makefile在Windows底下能正常build即可。

出0入0汤圆

 楼主| 发表于 2009-10-23 07:23:25 | 显示全部楼层
To:【111楼】 dr2001
我今天晚上测量一下。。。再把尺寸发给您。我这边还有几百个。。。有时间给您寄几个过去。此外,您若需要把您的邮寄地址告诉我。。。我的邮箱lpyczn@yahoo.com.cn

出0入0汤圆

发表于 2009-10-23 12:33:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-10-23 13:32:34 | 显示全部楼层
这么吊!

出0入0汤圆

 楼主| 发表于 2009-10-23 18:06:40 | 显示全部楼层
To:【11楼】 cctnt &【26楼】 cctnt & 【92楼】 cctnt 【102楼】 cctnt
经过几天的测试,总结如下 :
1、dscr.a51描述符中的PID和VID与Xilinx不一致,导致驱动无法安装。(修订了PID=03FD和VID=0008后重新编译仍然JTAG不通)
2、正如【101楼】 dr2001 所说“你看一下那个代码的引脚对应关系就知道了,CPLD的引脚和现在CoolRunner的不一样,能跑通的可能性很小。”我又仔细看代码,初步定位:发现映射关系“IOA.4->CPLD85、IOA.5->CPLD86、IOA.6->CPLD83、IOA.7->CPLD49”与我的DLC9LP板卡映射关系“IOA.4->CPLD60、IOA.5->CPLD61、IOA.6->CPLD58、IOA.7->CPLD24”不一致。
3、我准备从GPIF入手以及重新编码68013程序。等编码完毕通过测试我在通知您。



To:【94楼】 minux 啊啊?【104楼】 minux 啊啊?
非常感谢您提供的SDCC,的确是1个非常好的编译器,听了您的劝告,我没有做移植Keil工作,现在可以搞定在Windows下编译SDCC了。
希望有机会与您一起合作。


下面是前几天的测试的抓图:

(原文件名:test001.JPG)


(原文件名:Test003.JPG)


(原文件名:Test004.JPG)


(原文件名:Test005.JPG)


(原文件名:Test006.JPG)


(原文件名:Test007.JPG)

出0入0汤圆

发表于 2009-10-23 21:48:56 | 显示全部楼层
mArk

出0入0汤圆

发表于 2009-10-24 00:37:18 | 显示全部楼层
cool!

出0入0汤圆

发表于 2009-10-24 00:53:59 | 显示全部楼层
学习!

出0入0汤圆

发表于 2009-10-24 03:26:15 | 显示全部楼层
酷!近几天使用了Lattice ispMACH4064V, 使用最老的并口ispDOWNLOAD Cable下载线。鼓捣到最后算是可以把schematic 逻辑烧进去了。我的新型HP 主机没有并口,愣是买了一块PCI并口卡才可以使用下载线。等待SOPC创业联盟推出Lattice USB 下载线。

出0入0汤圆

发表于 2009-10-24 09:51:44 | 显示全部楼层
强帖留名

出0入0汤圆

 楼主| 发表于 2009-10-24 12:36:22 | 显示全部楼层
Xilinx Platform Cable USB下载线GPIF设计取得最新进展汇报如下:
1、GPIF信号线说明:FD0~FD7(GPIF数据总线)、GPIFADR0~GPIFADR7(GPIF地址总线)、IFCLK(GPIF时钟48MHz)、RDY0(准备完毕信号GDONE)、CLT0(位时钟BitCLK)、CTL1(门控信号GSTART)、CTL2(使能信号GOE)。
2、GPIF时序设计如下:

(原文件名:Test004.JPG)


(原文件名:Test005.JPG)


(原文件名:Test006.JPG)

出0入0汤圆

发表于 2009-10-24 16:16:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-10-24 16:43:05 | 显示全部楼层
支持啊

出0入0汤圆

发表于 2009-10-24 17:56:05 | 显示全部楼层
南航精品课程-TMS320F240X课件(DSP)

出0入0汤圆

发表于 2009-10-24 21:15:05 | 显示全部楼层
问一下LZ:三合一的USB下载器什么时候问世?

出0入0汤圆

发表于 2009-10-24 21:35:34 | 显示全部楼层
to cznlpy SOPC创业联盟
把你的手机号发到我邮箱吧,我26号到,到那边可能不方便上网,手机联系好了

出0入0汤圆

 楼主| 发表于 2009-10-24 22:07:49 | 显示全部楼层
To:【111楼】 dr2001
已经给您发送邮件了,请您注意查收!此外,dr2001兄弟,我和无机酸兄弟下周聚会一次,您是否参加,若参加电话联系。

To:【120楼】 xizi
我还以为本论坛没有使用Lattice呢,终于找到了您一个。近期会推出Lattice USB 下载线,请您关注。

To:【126楼】 qdvenus
短期内还停留在讨论阶段。。。先把三个Altera Xilinx Lattice USB下载线逐个攻下。现在已完成Altera USB和Xilinx USB。Lattice USB准备拿出来3个星期攻下。再花些时间研究JTAG速率和电平匹配事宜。最后再合成三合一。时间表待定。

To:【127楼】 h2feo4 无机酸
无机酸兄弟,已经给您发送邮件了,请您注意查收。

出0入0汤圆

发表于 2009-10-25 16:59:48 | 显示全部楼层
To 【128楼】 cznlpy SOPC创业联盟
我下周出差不在,看来是不能参加了,有机会再聚。:)

出0入0汤圆

发表于 2009-10-26 21:53:56 | 显示全部楼层
To 【122楼】 cznlpy SOPC创业联盟
你这里做GPIF的时序是什么用意?
如果是分析XC2C256的时序,这么入手好像有问题。自己写程序的话,和Xilinx的也不兼容。
Xilinx的USB协议好像挺复杂的,恩。

可以交流交流。

出0入0汤圆

发表于 2009-10-28 19:11:22 | 显示全部楼层
Xilinx的USB协议是先Vendor request,然后有数据的话,bulk传输之。
现在知道了少数几个VR的作用,还有一些没分析出来。

它比Altera的稍微复杂点,它没有Vendor request(除了FT245自带的那些,而且实际上也只用了reset, read eeprom, set latency, read status和set baundrate等少数几个),所以数据都bulk传输。

三合一的话,如果尽可能兼容的话,恐怕得用Xilinx的方案了。
我现在想把Altera的jtagd的协议搞出来,这样我可以做到用Xilinx的下载线给Altera用的目的,至于Actel的,暂时用不到,也没有样品,没办法分析,不过据说硬件跟Xilinx的类似,所以按照Xilinx的方案做是没有问题的。
当然,由于68013我们可以随时更新程序,所以如果cznlpy SOPC创业联盟能把68013和CPLD之间的接口搞明白,那离兼容进Altera的下载线就不远了。现在我们有68013模拟FT245的代码,我基本可以确定CPLD的逻辑模拟USB-Blaster的7064的是非常可行的。

出0入0汤圆

发表于 2009-10-28 19:52:59 | 显示全部楼层
To 【131楼】 minux
方便留个邮件什么的交流一下?

我分析已经基本知道主要几个Request的用途了,但是没有具体的东西可以测试。-_b
Altera的我就从来没用过……呵呵。

Xilinx的Bulk EP2/EP6的数据协议其实非常简单的,主要是0xB0的那堆东西在干什么。
就我目前所知的东西,已经可以查到芯片了,但是下载等操作,目前没有条件测试。

出0入0汤圆

 楼主| 发表于 2009-10-29 02:20:26 | 显示全部楼层
To:【131楼】 minux 啊啊?
的确如您所说,Altera方案中根据协议,使用68013的IO模拟JTAG,我这边已经有很成熟的产品,销量一直不错。优点是性价比很高,缺点是IO模拟的速度慢。详见我店铺的Altera USB Blaster下载线 白金版 铝合金盒=58元。http://item.taobao.com/auction/item_detail-0db2-946173ddc2c98ec592ad52f73ce12361.htm
Xilinx的68013的IO模拟正在分析协议中。。。
此外,您在哪里,有见面交流的机会吗?我的邮件lpyczn@yahoo.com.cn。

To:【132楼】 dr2001
您的邮件已经收到,我这两天再重新投板。估计下星期就会拿到板卡测试。您若着急测试。。。我这边还有几块样板仅支持3.3V的。若需要电子邮件lpyczn@yahoo.com.cn联系我。

出0入0汤圆

发表于 2009-10-29 09:32:35 | 显示全部楼层
To 【133楼】 cznlpy
Xilinx的USB是两条路,一个是换一个CPLD,实现和CoolRunner相同的协议;一个是实现USB协议,剩下自己来,要分析的东西完全不一样啊。

给我抓点USB包就行了,比如FPGA的完整下载流程,从连接仿真器开始的。我用的USBlyzer,不知道你用的是什么分析软件。

出0入0汤圆

发表于 2009-10-29 12:55:51 | 显示全部楼层
很漂亮的

出0入0汤圆

发表于 2009-10-29 17:03:45 | 显示全部楼层
支持     期待中........

出0入0汤圆

发表于 2009-10-29 17:45:55 | 显示全部楼层
谢谢!!!!

出0入0汤圆

 楼主| 发表于 2009-10-31 10:13:44 | 显示全部楼层
最近在查资料“HW-USB-2A - ispDOWNLOAD 下载电缆”。仅占很慢,相对于Lattice的USB资料太少了。。。

还有哪位兄弟在使用LatticeUSB下载线。。。可否来几张照片和支持一下,多谢了!

还有哪位兄弟知道Lattice USB方面的网站和资料给推荐一下,不胜感激!

出0入0汤圆

发表于 2009-10-31 10:27:24 | 显示全部楼层
MARK

出0入0汤圆

发表于 2009-10-31 16:03:10 | 显示全部楼层
to 【138楼】 cznlpy SOPC创业联盟

lattice的东西用的人不多吧 taobao防的最低都到了130 USB的 没啥市场吧

lattice的只见人用过几次 还是并口 没法帮忙

出0入0汤圆

发表于 2009-11-1 15:38:14 | 显示全部楼层
不错的说。

出0入0汤圆

发表于 2009-11-5 08:25:15 | 显示全部楼层
看了一下的图纸,有几个问题想请教一下:
1、verf不知道是不是目标板供电,那样的话是不是就有上电的顺序了
2、TDO、TDI、TMS、TCK这些信号怎么传输过去,244是单向传输的,如果是目标板传给下载板的话那init怎么传输
3、xilinx的下载需要INIT这个信号么,我用的并口下载线好像没有这个信号啊

出0入0汤圆

发表于 2009-11-5 21:41:53 | 显示全部楼层
cznlpy SOPC创业联盟啥时候完成偶想买一个啊 !

出0入0汤圆

发表于 2009-11-7 20:07:17 | 显示全部楼层
占个位置回来再看

出0入0汤圆

发表于 2009-11-8 21:26:45 | 显示全部楼层
支持,强烈关注中!

出0入0汤圆

 楼主| 发表于 2009-11-9 12:00:47 | 显示全部楼层
兄弟姐妹们:俺前段时间出差,今天刚刚回来。。。。
晚些时候我会把最新的进展向大家汇报一下。。。。

出0入0汤圆

发表于 2009-11-9 15:29:16 | 显示全部楼层
OK

出0入0汤圆

 楼主| 发表于 2009-11-9 15:44:51 | 显示全部楼层
To:【147楼】 itelectron
最近出差1个星期今天才回来。。。。

有关淘宝网店上的相关事宜请您联系阿里旺旺“cznlpy”。多谢您的支持。。。

出0入0汤圆

发表于 2009-11-11 17:29:12 | 显示全部楼层
Lattice 下载线图片 

点击此处打开 ourdev_502324.JPG(文件大小:459K,只有400K以内的图片才能直接显示) (原文件名:DSCF8455.JPG)
点击此处打开 ourdev_502325.JPG(文件大小:436K,只有400K以内的图片才能直接显示) (原文件名:DSCF8452.JPG)

出0入0汤圆

发表于 2009-11-11 17:29:55 | 显示全部楼层
Lattice USB下载线上器件

cy7c68013-100axc
24aa32a
lvc244a
74lvc07

出0入0汤圆

发表于 2009-11-11 17:34:42 | 显示全部楼层

(原文件名:未命名.JPG)

出0入0汤圆

发表于 2009-11-11 17:36:31 | 显示全部楼层

(原文件名:未命名1.JPG)

出0入0汤圆

发表于 2009-11-11 17:45:41 | 显示全部楼层
十分的Good啊。
看起来三合一不是很麻烦嘛。

LS如果方便,把Lattice的驱动的INF,SYS贴一下比较好。呵呵。估计分析协议的,有人会用到。

出0入0汤圆

发表于 2009-11-11 20:13:26 | 显示全部楼层
Lattice下载线也蛮漂亮

出0入0汤圆

 楼主| 发表于 2009-11-11 21:41:23 | 显示全部楼层
To:【150楼】 boycn
十分感谢您提供的版图照片。。。第一张照的效果非常好!

我一会把原理图贴出来。。。
此外,我先拿块万能板飞线测试一下ispMACH4032看看能否成功,烧写EEPROM的PID和VID后,Lattice驱动自带了*.hex文件。。。

出0入0汤圆

 楼主| 发表于 2009-11-11 21:43:27 | 显示全部楼层
【151楼】 boycn 兄弟为表示您作出的贡献。。。以后来我淘宝店铺购买下载线,给您5折优惠。。。

出0入0汤圆

发表于 2009-11-11 23:52:13 | 显示全部楼层
能够三合一的话就太方便了,支持一下LZ.

出0入0汤圆

发表于 2009-11-12 08:21:50 | 显示全部楼层
【156楼】 cznlpy SOPC创业联盟

我在等三合一的,呵呵,目前我们的lattice下载线是代理那买的,300人民币,坏了都没修,说是要送美国修:)

出0入0汤圆

发表于 2009-11-12 08:34:29 | 显示全部楼层
愿意搞,用STM32是可以做出来三合一的。目前看没什么大问题。恩。

出0入0汤圆

发表于 2009-11-12 22:24:41 | 显示全部楼层
没有优惠 郁闷飘过

出0入0汤圆

 楼主| 发表于 2009-11-13 01:01:29 | 显示全部楼层
To:【160楼】 boboo
您也是有贡献地。。。至少您在XilinxUSB下载线方面有突出表现。。。帮助大家引领了方向。

您也有优惠。

出0入0汤圆

 楼主| 发表于 2009-11-13 01:07:29 | 显示全部楼层
To:【142楼】 yutianyiren
1、VREF取自目标板电源,不用考虑上电顺序。
2、的确244是单向的,主要满足左边是输入,右边是输出即可。
3、可以不用。

出0入0汤圆

 楼主| 发表于 2009-11-13 01:17:22 | 显示全部楼层
To:【158楼】 boycn
Lattice的下载线原装的需要149$,您300¥这款还不算暴力。我计算了一下硬件成本大约3$可以搞定。

此外,三合一的出货时间现在定不下来。若这个销量好,可以考虑做一批单独的Lattice USB Cable下载线给您,包质量1年和维修。

出0入0汤圆

 楼主| 发表于 2009-11-13 01:32:34 | 显示全部楼层
啥也不说了。。。半夜爬起来。。。创新就是在于瞎折腾。。。

虽然说LatticeUSBCable淘宝等已经有一些销量了,但搜索baidu和google始终未见原理图开源公布。。。

现在已经整理完毕LatticeUSBCable原理图,为了引起不必要的麻烦,现在说明一下改进和瞎折腾的地方:
1、增加1片ispMACH系列的LC4032或者4064做逻辑使用,这样算作对Lattice的芯片推广最点贡献。
2、增加W1跳线配合2种EEPROM引导使用(C0H和C2H)。
3、增加1个下载的状态指示信号灯双色LED。
4、增加上拉电阻和串联电阻。


国内首创发布如下:转载请注明出处来自于“MicroSOPC”。Lattice USB Cable V2.00ourdev_502750.pdf(文件大小:21K) (原文件名:LatticeUSBCableV2.00.pdf)

Lattice USB Cable V2. (原文件名:LatticeUSBCableV2.00.JPG)

出0入0汤圆

 楼主| 发表于 2009-11-13 01:35:00 | 显示全部楼层
下一步的改进计划就是去掉LC4032或者4064,在CY7C68013中编程实现逻辑。这样就简化为只有CY7C68013+244架构上来。


请感兴趣的兄弟姐妹们热烈讨论。。。

出0入0汤圆

 楼主| 发表于 2009-11-13 01:43:36 | 显示全部楼层
To:【159楼】 dr2001
您用STM32搞进展的如何了。。。

To:minux 啊啊?
您这位大侠研究的进展如何了。。。


我这边68013一搞定,马上转到STM32上来。前几天看淘宝上带1个USB的和1个SPI(最高可跑18MHz)STM32F103C6T6A原装的芯片只有13.40元RMB。这是非常好的消息。。。

此外除了意法的STM32外,我也考虑一下爱特梅尔的SAM3、流明诺瑞LM3S3XXX、NXP的LPC1300和1700,研究研究。

看来FTDI的FT2232D应该也是一个不错的选择。

出0入0汤圆

 楼主| 发表于 2009-11-13 01:52:44 | 显示全部楼层
a、最近见不到armok 阿莫 有时间回来报个到。。。聊聊给点建议。。。多谢了!

b、最近见不到 roasn 冰封的心,有时间回来报个到。。。聊聊给点建议。。。多谢了!

c、最近见不到 h2feo4 无机酸,有时间回来报个到。。。聊聊给点建议。。。多谢了!

d、最近见不到cctnt ,有时间回来报个到。。。聊聊给点建议。。。多谢了!

e、最近见不到minux 啊啊? ,有时间回来报个到。。。聊聊给点建议。。。多谢了!

出0入0汤圆

发表于 2009-11-13 08:38:02 | 显示全部楼层
To:【158楼】 boycn  
Lattice的下载线原装的需要149$,您300¥这款还不算暴力。我计算了一下硬件成本大约3$可以搞定。

此外,三合一的出货时间现在定不下来。若这个销量好,可以考虑做一批单独的Lattice USB Cable下载线给您,包质量1年和维修。



Lattice 用的人估计不多,呵呵,我们公司也就只要2-3个就够用了

出0入0汤圆

发表于 2009-11-13 08:41:47 | 显示全部楼层
反正最重要的是弄清楚USB的协议,然后写代码。。。粗看起来Xilinx的协议大致知道了,慢慢继续中。
现在正找合适的板子,而且还要有FPGA来测试等等。麻烦啊。

不知道Altera的USB协议如何,Xilinx用别的芯片,最大的问题是要求USB的EP6,这不是不是每个芯片都有的。STM32可以搞定。
Lattice的看起来协议不是很复杂,可以反向来看看,个人估计逐位操作的概率很高。恩。

有兴趣的谁来贴个Firmware什么的看看。

出0入0汤圆

发表于 2009-11-15 00:03:22 | 显示全部楼层
最近在做另外的项目没搞这个……

FT2232D非常合适,但是兼容起来比较麻烦,你只能从驱动入手了。另外,如果用它的话,还可以考虑FT2232H,高速USB,
最大30MHz时钟,比D的最大6MHz强多了。

SAM3U的SPI最大到50MHz左右,而且还是高速USB但是缺点太明显了,价格高……而且还不知什么时候能上市。ES的错误太多,
我都不忍心用,哈哈…… 但是话说回来,按照我的感觉,单片机外设性能最好的应该是Atmel家的……

LPC1700系列是全速USB口,外设也挺丰富,但是SPI口只有10Mbps的速度。

LM3S的我没仔细看过,不好说,不过主频有点低是真的。

Altera的本来的USBBlaster全速下载时候,6MHz的TCK(24MHz晶振),但是实际上根据我调研,可以提速到10MHz不会出问题,
EPCS器件最大支持33MHz,也有很大提速空间。

我建议不用cy7c68013a的GPIO来bit-bang JTAG信号,最快绝对不会超过3MHz(最快12MIPS的8051,你移位然后设置GPIO,你想想吧,
注意TDO和TMS实际上是要同时变动的,所以加上移位之类的,4个指令推出一位已经够快了),这样不但浪费了HS USB,还和原装的
速度有了很大的差距。
至少是接个CPLD或者FPGA来做下转换,而把68013a仅仅当作USB控制器来用,处理数据传输相关的配置和各种Vendor req.
所以,可能XPCU的方案是比较合适的。当然如果用支持10Mbps以上的SPI口或者SSC之类口的单片机也是可行的。

综上,我觉得要高速USB就cy7c68013a+CPLD,可以全速USB的话,那就STM32或者别的。
同时,由于全速USB理论上限也就1MBps左右,不太容易支持超过10MHz的JTAG时钟。

to【169楼】 dr2001
Altera用FT245BM,所以只用了EP0, EP1, EP2.

出0入0汤圆

发表于 2009-11-15 00:09:42 | 显示全部楼层
当然,如果结合自己的驱动和cy7c68013a的GPIF,只用一片cy7c68013a也是有希望的。
但是,自己的驱动这条路又设计到反向驱动和应用的接口的问题,也不容易。

以后是cable server/jtagd这样的解决方案来克服上述问题。
这也是可行的一条路。

出0入0汤圆

 楼主| 发表于 2009-11-15 00:43:20 | 显示全部楼层
TO:minux 啊啊?
全力顶。。。。。。。。。。

刚刚看完《2012》回来,感觉地球特别的震撼。。。。。。
看到您回帖,提出来者这么多好的建议。。。。。也感到无比的震撼。。。我代表全体的一线电子爱好者表示衷心的感谢!

出0入0汤圆

发表于 2009-11-16 16:51:11 | 显示全部楼层
我的建议是使用at91sam7s256,256KB的flash,64KB SRAM怎么玩都行,BOOT里加入通过USB下载程序到RAM运行,这里有REMAP的过程。加载不同的程序就是不同的下载线,7s256的SPI很快的。难题就在xilinx的协议和CPLD程序,Lattice也是这样的,ALTERA的已经全部公开了,

出0入0汤圆

发表于 2009-11-16 17:16:59 | 显示全部楼层
如果觉得CPU不够快,USB不够快,这个也不错

sam3u (原文件名:ScreenHunter_001.gif)

出0入0汤圆

发表于 2009-11-16 20:08:53 | 显示全部楼层
To 【174楼】 sunnyshs
现在ATmel的SAM3U还是ES阶段,好像市场还买不到量产的产品;ES的Errata上看,还有很多Bug,尽管不致命,不爽而已。

对于自己重新实现USB协议,实现三和一的初步总结:
Xilinx,需要EP0,EP2,EP6。其中EP6不是每个MCU都有。
Lattice不清楚,协议不明。
Altera,我不知道,印象中前边有人说,要求EP0,EP1,EP2就够。

这样看下来,对于USB Slave有要求的是Xilinx的EP6支持。
ST的:STM32F应该是没问题的,具体哪些型号没问题没深入考证;
ATmel的:SAM7S系列不行;SAM7SE系列OK;SAM3U系列OK。

所以,173设想的使用7S的,是不行的,Xilinx少东西。
这个要实现,所有代码放Flash就行了,用按钮开关,或者通过USB协议发重枚举指令就好。每次烧Firmware还不够麻烦呢。

出0入0汤圆

发表于 2009-11-16 20:48:59 | 显示全部楼层
stm32只要有USB device的器件都可以用吧,它的EP是自己指定地址的,所以EP总数够用即可。
Lattice限于cy7c68013a的限制,肯定不会超过ep0/1/2/4/6/8这个范围,实际上,只要请有这个设备人看看就知道了(我个人觉得,从效率考虑,不会是bit-banging,所以只能是GPIF,这样就限制了在范围EP2/4/6/8中,又因为JTAG需要返回的数据,这样至少用两个EP,根据68013a的EP configuration分析,最有可能的是EP2和EP6),不过为了以后兼容考虑,最好还是选择能支持以上这个最全的范围的器件较好。

sam3u我也看着那堆ES的bug不爽,而且它有点太贵了。

高速USB的话,还有一个选择是ISP1582(支持EP0-7双向),但是这个肯定还得加个单片机,成本又高了。

既然做到现在的地步,有没有人想再进一步扩展下应用范围,到ARM, MIPS, MSP430, AVR, PIC的JTAG/ISP口去?
毕竟我觉得最后设计的东西肯定有能力把这些都做到。我对这个很感兴趣。

出0入0汤圆

 楼主| 发表于 2009-11-16 21:55:27 | 显示全部楼层
To:【176楼】 minux 啊啊?
既然做到现在的地步,有没有人想再进一步扩展下应用范围,到ARM, MIPS, MSP430, AVR, PIC的JTAG/ISP口去?
毕竟我觉得最后设计的东西肯定有能力把这些都做到。我对这个很感兴趣。


昨天在ARM论坛翻看了一下J*L*I*N*K的讨论,近乎百人参与好几千个回复。。。看得头晕脑胀的,得到一些启发思路。那就是集体的力量。反观我们这个板块每天也就10几个人的流量。看来还是搞ARM的人多呀。人山人海的。。。。都挤不上去。。。


增加完单片机、DSP、ARM、CPLD/FPGA外,在搞Trace的。。。这个是趋势。

出0入0汤圆

发表于 2009-11-16 22:34:27 | 显示全部楼层
恩,我当时弄xlink的时候就是把本论坛上所有讨论它的帖子都看完了……
确实,很有启发。
如果能搞Trace的话,得上SDRAM或者DDR/DDR 2了……否则即使是cy7c68013a也吃不消那堆数据。


刚才我综合考虑,可能cy7c68013a是做本项目高速接口的最佳选择,它能实现的吞吐量比较大,其他的比如ISP1582/1583,
都因为限制了总线的速度和DMA的速度,而浪费掉了很多带宽。cy7c68013a就是EP少点,灵活性差点,buffer少点,不支持SRP。
不过由于内置了8051,所以不需要配置外面的单片机就能实现USB协议的处理,比ISP1582/3好多了。

出0入0汤圆

发表于 2009-11-16 22:34:27 | 显示全部楼层
To 【176楼】 minux
STM32我还没认真看完全部的手册,呵呵。根据你提示的了,我简单看了一下USB,确实如你说的,STM32是EP总数够了就可以,EP的地址是可以人工给定的。这个上边,STM32设计的比ATmel好的多。ATmel是EP已经定死了,只有那几个,仿制的话,就需要看运气凑数字。我用SAMx的结果推论STM32的经验主义不对啊。不过最终结论倒是没有变化。呵呵。

目前看,利用STM32F,进行单芯片的实现,应该是比较好的选择,至少在EP支持上不会出什么大问题。速度就另外说了,至少Xilinx的数据协议很恶心,针对CPLD定制的。。。基于SPI去跑都很麻烦。不知道Lattice什么的,会不会有太大的好转。没有CPLD,单凭MCU折腾IO,太辛苦。不知道这个有什么解决办法没?

我觉得,这个东西到最后,能提供一个通用USB接口,几个按钮就好。通用USB接口,就类似于STLink,想办法用MassStorage驱动程序走协议,不用额外带东西,然后装一个SD卡什么的,把不同的软件驱动DLL什么的放在上边,一机在手,全部我有。要不然就是依靠按钮/软件选择VendorID什么的,手工切换模式。

个人认为,电气上实现协议不是难事儿,有几组同步接口,基本上各种协议都能搞定。麻烦的是后期海量的软件开发工作,这个不是有兴趣就能简单搞定的。

如果要支持高速,类似Trace的协议,FPGA+SDRAM就少不了。其实就是一个逻辑分析仪,然后上位机处理海量数据。其实比较希望有个USB HS前端 + ARM + FPGA的开发平台,这样实现各种东西都方便,缺点是太过奢华。SoPC不知道实际上好玩不。

出0入0汤圆

 楼主| 发表于 2009-11-16 22:48:14 | 显示全部楼层
今天晚上热闹。。。minux和dr2001两位前辈都在呀。

ISP1581硕士的课题搞过。最后实现2407采集数据通过ISP1581上传给PC机,不过ISP1581的框架不如Cy7C68013。很多的USB协议都得自己写固件,非常痛苦。

若要搞Trace不外乎是配置芯片+FPGA+SDRAM架构。

我这边手上有1块STM32F103C8的开发板,最近又搞到LM3S3748原装开发板。。。看来要学的和实践的机会来了。。。

出0入0汤圆

发表于 2009-11-16 23:38:35 | 显示全部楼层
to 【179楼】 dr2001

恩,所以我建议还是基于这样的结构:STM32F MCU + FPGA + 电平转换

STM32F的一个SPI口配置FPGA,其余的口都接到FPGA上,这样的话,好用SPI实现的东西直接SPI之,FPGA里面直通;
如果不好弄,或者效率不容易高,那就直接把数据推给FPGA,让FPGA去搞。

你说的用SD卡,我也有这个想法,STM32F的高容量恰好有SDIO接口,而且好处是这个还可以存放编程数据做成脱机编程器。

但是还是得注意一点,全速USB的理论上限很可能限制我们的系统的性能,我前面分析过,以Altera为例,至少可以把TCK
时钟提高到10MHz,而不影响现在的任何器件的编程(AS还可以提高到25MHz)。问题是,如果提高到10MHz或者更高,那么
FS USB的限制很容易就体现出来了。(STM32F的SPI口最快18MHz,二分频做JTAG时钟,不分频做EPCS的编程,正合适~)

但是,如果不用STM32F的话,最好的选择是cy7c68013a,不过这样SD卡和SPI口都没希望了。
莫非是在FPGA里面做SD卡接口么?也是个办法哦~

不知道大家有什么想法。

to 【180楼】 cznlpy

我刚才看数据手册,觉得ISP1581/2/3的峰值传输速率都不如cy7c68013a快,后者我实现过接近40MB/s,而且肯定还有提升的空间。
至于cy7c68013a编程简单,那是因为Cypress的框架把细节都处理了,而且68013a的Slave FIFO和GPIF,尤其是GPIF又提供了很大的
方便;ISP158x比不了。

出0入0汤圆

发表于 2009-11-17 08:38:41 | 显示全部楼层
To 【181楼】 minux
支持你的看法。

从开发简单,适度成本,兼容性好的角度看,STM32F + FPGA + 电平转换应该是最佳选择。可以考虑在FPGA上再挂SDRAM,这样想就有点疯狂了,后话。FPGA的各种固件用TF卡固定保存,便宜实惠;如果ARM SRAM大,还能简单的动态加载附加的固件,整体可以做得很灵活。

当然,STM32面临的问题就是USB的速度限制,所以我更看好SAM3U的,HS USB,96MHz/外部总线,辅助上FPGA,足够一个高端平台了。不过SAM3U的性能还需要进一步讨论。至少手册上说,有DMA,直接打到外部总线上应该没太大问题。

其实换个角度看,用68013+FPGA,68013只负责基础协议,GPIF就行了;FPGA里边可以跑软核+附加逻辑,走SoPC的路子。这个我没深入研究过了,预计实现会麻烦很多。毕竟是个方案。

出0入0汤圆

发表于 2009-11-17 08:59:30 | 显示全部楼层
68013没有SPI,给FPGA更新固件会比较慢,也许还是STM32F划算
STM32F+XC3S50A+TF?

出0入0汤圆

发表于 2009-11-17 18:15:01 | 显示全部楼层
如果是廉价FPGA,配置信息启动压缩的话,一般不会超过4Mb,基本可以用手工优化的汇编在两秒内配置… 这个速度一般可以接受…毕竟也就开始的时候配置一次,或者在切换功能的时候重新配置一次…

我也觉得SoPC是一条路,也做过一些调研…这样可以做到整个编程算法都从上位机下载,更加灵活…以后扩展的时候肯定有用。

cortex-m3不建议直接执行RAM里的代码,因为是通过system bus,效率反而低,这点不像ARM7,但是,在FLASH里面做一个语言的解释器是个可行的方案…

出0入0汤圆

发表于 2009-11-17 19:40:00 | 显示全部楼层
提高68013给FPGA加载固件速度倒是可以用8位并行配置模式,这样速度就完全高一个档次了

出0入0汤圆

发表于 2009-11-17 20:37:16 | 显示全部楼层
其实是两条路径,一个是实现协议,直接用别人的驱动,完成功能;一个是实现自己的协议,依赖于上层接口实现通用。

第一类,使用起来当然是方便的,小问题在不同驱动的切换,毕竟只有一个VID。自动的话需要自己写程序去搜索,手工用按钮那就没问题。

此时器件选型上,会受到限制,68013就不好用,因为其命令0xA0是不可屏蔽的,至少我简单看文档,没看到如何屏蔽。如果用原始装置的VID,恰好也用的是68013,那么不管你的程序怎么跑,驱动一个0xA0下来,覆盖固件,就全完蛋了;自动升级功能的话,也一样。这时候就需要类似STM32这样的,USB Slave配置灵活的芯片充当主控。不知道还有什么好选择没有?

第二类就没有什么限制了,什么快速高效,就用什么即可。这两个事情不好混来谈,这里好像混起来了。

Xilinx的FPGA,可以直接SPI用DMA打数据,不需要MCU自己干什么事儿。别家的FPGA应该也能完美实现类似的配置方式吧。不会差太多。


To 【184楼】 minux
要想速度快,肯定用DMA打数据了,不太会MCU GPIO模拟。这样,芯片内RAM还是ROM其实就没有太大的分别,不至于差那么多。RAM的好处是动态升级驱动代码罢了。至于延迟,如果不动Flash,可以看看芯片是不是提供了Bus Matrix的默认连接设置,如果有,修改设置有可能能提升一点,没有测试过只是猜测。
ATmel的ARM9是能调整的,不知道Cortex-M3是不是提供有类似的功能。

出0入0汤圆

发表于 2009-11-17 22:25:25 | 显示全部楼层
这个要顶了。。。

出0入0汤圆

发表于 2009-11-18 03:53:33 | 显示全部楼层
68013A的0XA0的VR确实比较讨厌,大家想想有没有办法workaround呢?要高速USB的话,我确实没找到比它更合适的(从吞吐量和价格以及实现难易程度来说)了…
如果不把它绕过去,几乎没有办法改变XPCU的设计,那做三合一就非常麻烦了…
用SAM3U的话,总觉得成本有点高啊…

出0入0汤圆

发表于 2009-11-18 11:50:58 | 显示全部楼层
我从手册上看,68013的0xA0是不能关闭的,SIE内置的专利功能。印象中有类似的一句话,说社么Always Active。于是,基本上判出局。
SAM3U潜在的危险在>=EP7上,超过的这些端点,就不能支持了。价格是另外的因素。由于68013高速多Buffer主要用EP2/EP6,还能凑合用。有风险。

还有啥支持HS的MCU可以考虑么?汗。

出0入0汤圆

发表于 2009-11-18 14:06:47 | 显示全部楼层
还有一款MC9S12UF32,但是只有32KB Flash, 3.5KB RAM, 还不能执行RAM里的程序,所以没法儿用…
再其他的,还有xmega3系列,现在买不到…
其他暂时没发现适合这个的了,都是ARM9之类的,太高档…

出0入0汤圆

发表于 2009-11-18 14:26:32 | 显示全部楼层
我总结下我们的需求:
HS USB(至少支持EP0/1/2/6, 最好支持EP0/1/2/4/6/8),最最好是支持可以任意配置地址的三个或者以上的EP
RAM越大越好,而且要求能直接从RAM执行程序
Flash基本不要求,能存放个USB Bootloader即可
最好能具有外部总线;或者是具有高速SPI口/SSC口
最好具有SDIO

这个要求真的不好满足。

要不我们换个方案?用HS USB控制器+另外的单片机来完成,去掉第一个要求的话单片机还是有很多选择的。

出0入0汤圆

发表于 2009-11-18 14:50:52 | 显示全部楼层
主要是对速度不满足。FS刷100kB/s JTAG,如果协议不是太垃圾,猜测问题不大,不是Bit Bang的话。实际上一般应用已经够了。不妨就基于STM32+低端FPGA做一个平台就好。

MCU + FPGA的结构,用额外的HS控制器没问题。缺陷是总线协议协商,高效率的做法是FPGA总线主控,直接用HS控制器拿数据。遇到需要MCU处理的,发中断,MCU总线主控,FPGA切成从,MCU控制FPGA和HS。其实选择集成了ARM Core的FPGA最好了。。。或者SoPC解决。。。

出0入0汤圆

发表于 2009-11-18 15:30:34 | 显示全部楼层
FS的话,像JLink都做到了12MHz的TCK频率,但是再高就会遇到瓶颈了。

恩,如果放弃HS的话,我觉得STM32F103RET6+XC3S50A就是最好的选择了。

出0入0汤圆

发表于 2009-11-18 16:04:37 | 显示全部楼层
不要求HS,个人倾向103VE,理由是外部总线,并行打数据出去还是占大便宜的,如果有nWAIT之类的信号就更美了。呵呵。
否则,F103什么都行了,只要有足够的SPI,UART接口就好。别的没要求都。

FPGA XC3S50/A都行,便宜就好。

出0入0汤圆

发表于 2009-11-18 17:00:37 | 显示全部楼层
我原是考虑VE有点大,所以才觉得RE好(GPIO也是可以DMA的,如果只是并行打数据到FPGA的话)……
结果刚才一看,XC3S50A的VQG100都是16*16mm, VE才14*14mm;那就VE吧。
VE有一个SRAM片选,有1个nWAIT信号的。并行口还能直接DMA,速度最快36MHz,所以即使是8位宽度,也足够我们用了。

XC3S50A的价格应该小于30元,VET6的价格50元左右?加上电平转换电路,总器件成本应该可以控制在110元以下。
对于功能这么多的工具来说,这个应该是不错了。

出0入0汤圆

发表于 2009-11-20 16:24:37 | 显示全部楼层
需要综合软件的实现方法统筹一下,我后来觉得,外部总线似乎不是那么必要。 -_-b
这样仿佛FPGA的程序更好写,而且能用更低端的芯片。

出0入0汤圆

发表于 2009-11-22 18:20:36 | 显示全部楼层
非常感谢MicroSOPC创业联盟给我半送了个下载线,到手后拆开给大家一个特写


刚拿到手拆开包装袋 (原文件名:DSCF1101.JPG)


所有配件(不含我的开发板)下载线盒,下载线14,10,6pin,说明书 (原文件名:DSCF1102.JPG)


下载线盒特写 (原文件名:DSCF1103.JPG)


还是下载线盒 (原文件名:DSCF1104.JPG)


拆开盒子看板子,布线很不错 (原文件名:DSCF1105.JPG)


再来个68013的特写 (原文件名:DSCF1106.JPG)

出0入0汤圆

发表于 2009-11-22 18:30:47 | 显示全部楼层
刚拿开发板测试了一下,做工,用料,下载速度没说的

再说说细节上的不足吧:下载线说明14芯图是10芯的,盒子有点咯吱咯吱响

出0入0汤圆

 楼主| 发表于 2009-11-22 20:44:46 | 显示全部楼层
To:【198楼】 boboo
您的意见很中肯。。。在我的批量生产中我再继续改进,谢谢您的支持!

出0入0汤圆

发表于 2009-11-23 11:26:01 | 显示全部楼层
这是老外的开源软件

出0入0汤圆

发表于 2009-11-23 17:03:00 | 显示全部楼层
一直以来都想学下FPGA,尽量兴趣索然,但还真有用得着的地方,谢谢楼主提供的工具。

出0入0汤圆

发表于 2009-11-24 14:43:11 | 显示全部楼层
mark~~~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 23:56

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

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