搜索
bottom↓
回复: 1166

multijtager(基于FPGA的多功能JTAG调试/下载接口)开源项目倡议与讨论

[复制链接]

出0入0汤圆

发表于 2009-12-17 22:45:15 | 显示全部楼层 |阅读模式
现在很多JTAG口下载线的电路结构类似,但是又有些差异,所以不能通用,但是毕竟我们每块板子一般不会全用,所以每款都买一个并不是一个合算的做法,
采用时分复用是个很好的做法,因此我在此倡议下我们做个基于FPGA的多功能JTAG调试下载线,同时申请网站开源项目。
目前我的设想是不单单支持单片机、ARM,还要支持其他的使用JTAG或者类似的串行调试口的器件;同时,由于用FPGA而不是单片机实现,可以达到以往都不
能实现的下载/调试速度。

这暂时只是个计划,具体怎么实施还得靠大家共同参与.
不知道大家意见如何?

出0入0汤圆

发表于 2009-12-17 22:48:37 | 显示全部楼层
mark 同时支持!

出0入0汤圆

发表于 2009-12-18 02:07:20 | 显示全部楼层
啊 终于有人想做这个了,支持,一起讨论吧。

目前的想法是用一片高速USB接口芯片配合一片FPGA来做。

同时我建议扩展功能,增加逻辑分析仪还有脱机编程器的功能,高压编程器也可以考虑啊。

出0入0汤圆

发表于 2009-12-18 08:23:06 | 显示全部楼层
不急不急,慢慢讨论。。。时间有的是。哈哈。

不过这名字不够好,需要再想想。好像已经有人用MultiJTAG了。

出0入0汤圆

发表于 2009-12-18 10:36:31 | 显示全部楼层
欢迎阿,感兴趣的人越来越多了
今天又有一位朋友(shixm.zh)表示有兴趣
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3775910

出0入0汤圆

发表于 2009-12-18 10:44:53 | 显示全部楼层
对,JTAG仅仅是典型的串行接口之一。SPI/I2C/UART/JTAG,无限可能。。。

出0入0汤圆

发表于 2009-12-18 15:41:44 | 显示全部楼层
很好,人越多越好~~

对于高端的调试器,确实很有用,但是考虑到开源的问题,我觉得低端的也不能放弃;
因为,我总结的对于开源项目至关重要的几点如下:
(1) 用户决定生命力;开发者决定用户;没有用户的项目不会有人做,没有足够的活跃开发者的
项目也不会吸引得到用户;
(2) 简化硬件,增加软件的比重;可以吸引更多的潜在开发者;毕竟搞软件不像搞硬件需要那么
多的知识和经验;而且,一些有经验的用户一般也可以帮忙开发软件;但是不一定谁都有心思来
改进硬件(不说别的,首先做板一次的周期就有很大影响,而且硬件最不容易送出去测试;开源
的根本是release early, release often)
(3) 同样,硬件要低成本(尤其是项目开始阶段;面向高端应用的暂时除外);由于软硬件结合的
项目要求每个开发者必须有硬件,所以成本也是必须考虑的问题;
(4) 已有的硬件平台要足够灵活,不要加上人为的限制;

鉴于以上各点,我们的硬件平台还需要在成本、灵活性上下功夫;
目前第二点已经做得不错了。

高端的调试器,那硬件就更有意思了,首先,要做到能telnet进去控制,得有个多任务的操作系统,
uclinux不错。然后我们为低端版本设计好的电路不会浪费,直接接在处理器上即可,
也就是上位机从原来的PC机变成了跑嵌入式操作系统的处理器。基于这种想法,这两个项目前期是
有交叠的,这样也好投入更多的人力物力来搞这部分。同时,外部IO部分也是重合的,而且值得仔
细研究下低成本的高速方案。

出0入0汤圆

 楼主| 发表于 2009-12-18 15:53:40 | 显示全部楼层
很好很好,有这么多网友参与讨论。

我建议,想参与的网友最好能留下一个email联系,这样以后制版之类也好直接联系。既然h2feo4兄已经公布了邮箱,
大家就都给他发封信说明下(一定要注明id哦,还可以说说自己的擅长等)吧;以后我们可以做个通讯录发给大家。

to【1楼】 yobdc
呵呵,谢谢支持哦,欢迎常来看看并参与讨论哦~

to【2/6楼】 minux 啊啊?
对,硬件低成本而灵活,确实是关键。

to【3楼】 dr2001
名字问题可以再讨论嘛,目前这个可以先作为codename,做好了发布的时候再叫个好听点的。

to【4楼】 h2feo4 无机酸
感兴趣的人越多越好哦,ourdev这个平台很好,集合大家的力量,前途无限可能~

to【5楼】 qjy_chess 孤欲化境
是,这些口当然要支持,采用FPGA的目的也在此,足够的灵活性,用户可以自主进行任何扩展,这也是很多商业产品做不到的,
我们的开源项目显然不会隐藏任何内部文档,所以用户有完全的掌控,可以做完全地再开发。

出0入0汤圆

发表于 2009-12-18 15:55:57 | 显示全部楼层
瞧瞧有什么新咚咚~

出0入0汤圆

发表于 2009-12-18 16:52:45 | 显示全部楼层
很感兴趣
先支持一个

出0入0汤圆

发表于 2009-12-18 17:15:00 | 显示全部楼层
我总结下目前的成果:
(1) cy7c68013a + IS61LV256AL+ 24LC256 处理USB通信相关的东西
(2) FPGA: XC3S250E 处理通信协议和编程算法
(3) IO: 使用74LVC1T45处理每个通道的电平转换(取决于厂商,支持1.2-5.5或者1.8-5.5V)
(4) Flash: 使用一片XC9572XL的CPLD配合cy7c68013a读取串行Flash以及SD/TF卡

目前的iic固件流程如下:
(1) iic加载mass-storage的68013a固件,然后看看是否符合脱机编程器的启动条件,分别转2或3
(2) 脱机编程器:这部分流程就不用说了,根据需要加载Flash里面的固件和FPGA的位流
(3) 联机的情况:USB枚举成为mass-storage器件等待上位机配置,同时Flash的内容可以让上位机更新。

这样的好处是,iic的东西基本不会更新,这样即使某次我们更新进入Flash的固件有问题,也不影响系统
启动。

cy7c68013a的EA可以由CPLD控制。

目前的遗留问题是:
(1) 固件存储,SD/TF卡 or NAND?
我的建议是SPI Flash+TF卡,NAND的坏块管理太复杂了,用SPI的目的是即使没有TF卡,基本的功能也是可用的。
SPI Flash存放前期(包括脱机编程器模式)的固件和位流;TF卡可以存放更多的位流还有用户的编程文件。
(2) IO: 接地和Vref如何选择?

还有没有我没提的?欢迎大家补充。

出0入0汤圆

发表于 2009-12-18 17:19:00 | 显示全部楼层
支持,好东西呀!!

出0入0汤圆

发表于 2009-12-18 17:26:15 | 显示全部楼层
to 【10楼】 minux 啊啊?
(1)我也同意 SPI Flash + TF卡,前者存固件,后者存应用程序、用户文件等
(2)用分立MOS管如何

出0入0汤圆

发表于 2009-12-18 18:44:39 | 显示全部楼层
分立MOS管的控制怎么办?让CPLD控制还是用74hc595之类?

出0入0汤圆

发表于 2009-12-18 20:09:47 | 显示全部楼层
-_b
我依然对CPLD的用途表示疑虑,有这个必要加一个CPLD么……
合理的逻辑和加载顺序应该能避免之。

GND和VRef建议用分立MOS实现,主要考虑导通阻抗低,如果10 Ohm阻抗可以接受,可用TI的传输门。
Vref需要每路配置比较器,用于压差检测。或者做理想二极管。
待讨论。

如用分立器件,驱动信号看FPGA引脚分配结果?或者SPI的IO扩展,如595;IIC的IO扩展,PCA9555,16路的。
具体看资源和IO数量。

另,如果要扩展功能,要不要支持差分输入。。。这个就没边了。

出0入0汤圆

发表于 2009-12-18 20:19:07 | 显示全部楼层
CPLD开始是考虑用于SPI Flash和TF卡的接口辅助;不然cy7c68013a读取他们会太慢了。
全用FPGA的话会有这个问题,脱机模式下,读取、加载FPGA位流的时候就只能用8051 IO
口模拟时序了…… 速度会很慢,同时TF卡的CRC最好是让CPLD来完成,不然8051做更慢。

差分输入,确实比较麻烦,有没有兼容的办法?FPGA分配IO的时候还得仔细考虑下。

出0入0汤圆

发表于 2009-12-18 20:34:29 | 显示全部楼层
dr2001, 你说的Vref的压差检测是要做什么啊?

GND用NMOS是可以的,100ohm的导通阻抗实在是有点大,Vref用74HC4067之类的模拟mux来选择行不?
对了,选出来的Vref最好加个简单的AD电路,能测量Vref还是挺有用的功能的,不过采样率不用很高,
精度也没啥要求,所以用电容充电+比较器也是可行的。

出0入0汤圆

发表于 2009-12-18 21:09:48 | 显示全部楼层
to 【16楼】 minux 啊啊?
我有两种方案
方案1,分立MOS管,例如:

(原文件名:20091218A.PNG)

方案2,低阻模拟开关,例如:
点击此处下载 ourdev_516342.rar(文件大小:237K) (原文件名:PI5C3253L.rar)

出0入20汤圆

发表于 2009-12-18 21:12:13 | 显示全部楼层
我觉得应该留上NET接口,BDI2000,3000,基本上都可以使用TCP调试的

出0入0汤圆

发表于 2009-12-18 21:13:10 | 显示全部楼层
To 【15楼】 minux
我的看法是IIC Flash里边放一个默认的FPGA固件,用来读卡的。三合一的帖子里写过操作流程。
Xilinx的CPLD宏单元很有限,不一定好完成这些工作。CoolRunner就太贵了。

差分要不然就是留IO插座吧。直接支持布线很麻烦,而且不知道有啥合适的器件。需要看看。
暂时先不考虑这个了。

GND和Vref的问题相当类似,都是自动识别/判断不可靠。
如果只支持用户指定引脚功能,那没问题。如果不是,那么只好依赖比较器做理想二极管来实现,我没想到更好的方案。
模拟开关的问题都在等效电阻上,我看了几个大约在5-10欧姆,10mA就0.1V了,不是很理想。

Vref的电压测量是小事情,只不过一个大致数据;PWM,RC滤波+比较器或者测量充电时间都没啥大问题。

出0入0汤圆

发表于 2009-12-18 21:15:21 | 显示全部楼层
要不然这样,用一块IO很多的3AN系列FPGA作为BUS-Matrix,采用单独的处理器,其他芯片都直接与FPGA相连??

出0入0汤圆

发表于 2009-12-18 21:18:54 | 显示全部楼层
to 【19楼】 dr2001
之前担心68013的IO读TF卡/SPI Flash太慢,CPLD只是给他当一个SPI收发器
XC9572XL应该10块钱或者略出一点头就能买到了

出0入0汤圆

发表于 2009-12-18 21:50:10 | 显示全部楼层
【19楼】 dr2001
常见的iic里面放不下FPGA位流的啊…… 而且iic速度也够慢的,400kb/s,这个得多长时间才能加载完
FPGA啊。太大的iic eeprom估计比较贵。我们用CPLD还可以做到CPLD直接做SPI Flash的串并转换,通过
slave parallel直接送入FPGA(TF卡也可以这么做,只要文件连续,或者每次送一个block)。

【20楼】 h2feo4 无机酸
我也曾考虑过让单独的FPGA/CPLD做switch matrix,不过延时会比较大(这样TCK速度限制了……
而我们用FPGA的目的是提高JTAG速度),用专用的芯片,那简直是贵死了……

当然,不用真正的switch matrix,是不可能做到用户指定连接的……
否则用户指定后,我们需要重新编译FPGA的位流(有一个办法可以搞定这个问题,只要自己P&R,
使用xdl和bitgen即可,但是这两个也需要license,总不能让用户都装个ISE webpack吧?)

你说的单独的处理器是啥意思?不在FPGA里放软核了?抑或是不用68013a里的8051而外接一个处理器?

出0入0汤圆

发表于 2009-12-18 21:57:27 | 显示全部楼层
to 【22楼】 minux 啊啊?
仅仅是一种可能性

(原文件名:20091218B.PNG)

出0入0汤圆

发表于 2009-12-18 21:58:34 | 显示全部楼层
【18楼】 wenming 老王

网络接口以后可以考虑,不过我觉得加了网络口之后,就必须上个ARM处理器了,
目前的版本先暂时考虑用高速USB口的吧。

等这个版本弄出来了,确实可以考虑搞个高端的平台,到时候肯定上个网口。

出0入0汤圆

 楼主| 发表于 2009-12-18 22:00:54 | 显示全部楼层
dr2001,我们在建立项目通讯录,能不能麻烦给h2feo4发封信啊~

出0入0汤圆

发表于 2009-12-18 22:11:05 | 显示全部楼层
To【25楼】 multijtager
Mail Sent to h2feo4.


To【23楼】 h2feo4
支持。
考虑68013+SRAM+FPGA(上电SPI Flash配置)+Port,预留两溜排针,可以用于差分,更多IO,高速通信的扩展。
基本结构和以前讨论的一样;同时考虑了近期的适度扩展。
对应的就是FPGA的规模要适当留大,需要PQ208这样的封装才好。

出0入0汤圆

发表于 2009-12-18 22:53:42 | 显示全部楼层
我对这个项目很感兴趣,希望能参加!
我一直想做一个像BDI2000那样的通用仿真器:),因此对有关JTAG的技术都比较关注并掌握了相关的知识。
之前看过“shixm.zh”的帖子(http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3775910),再看这个帖子有了些想法,就在这里说说。

我认为“h2feo4 无机酸”的方案与“shixm.zh”想法不太一样:
    “h2feo4 无机酸”的方案是一个通用替换方案,可以通过不同的固件来模拟各种类型的仿真器(或下载线),包括接口,这样就可以利用原仿真器的软件;
    而“shixm.zh”的想法是构建一个像BDI2000那样的通用系统,而不是去模拟其它仿真器,它有自己一套完整的软硬件体系结构,硬件基本一致,软件结构也基本一致,通过软件中的功能模块的替换来实现对不同目标的仿真功能。

基于前者,“h2feo4 无机酸”的方案比较不错:用68013A模拟接口,用PLD模拟行为(当然两者的界限并不十分清楚)。
若要后者,我认为还是用功能较强的CPU+较简单的PLD实现比较好:PLD就实现JTAG的接口和TAP控制器功能(有点像TI的JTAG接口控制芯片,具体型号忘了:),而CPU在PLD的基础上实现高级的功能和对上位机接口功能(如串口、网口、USB口等,前两者结合CPU的软件可直接与上位机的GDB通信进行调试)。

另外,我比较同意“minux 啊啊?”在6楼的(1)、(2)和(4)观点。要说灵活的话还是把重心放在CPU上的方案比较灵活,因为熟悉软件的人毕竟比熟悉PLD编程的人要多得多,缺点是成本上不会低。但在早期也可这样解决:用CPU的IO口或SPI口通过软件模拟JTAG的接口和TAP控制器功能,这样只需要CPU即可。后期可以升级用PLD替换软件模拟的JTAG接口和TAP控制器,只要在早期仔细规划好相应的软硬件接口即可。

罗哩罗嗦了这么些,希望能抛砖引玉,呵呵......

出0入0汤圆

发表于 2009-12-18 23:28:15 | 显示全部楼层
根据以前的各种讨论,我认为,当时的基本定位/功能需求是这样的:
- 能够独立运行的装置,内置存储器,可以实现“上电/完成指定工序”的功能。
功能上很简单,设定为简单脚本这样的。

- 能够使用USB HS和PC连接,从而和网络/调试环境/etc.结合。
即如果该设备不独立运行,那么必须要有一个PC作为其接入点。

- USB Mass Storage支持,自带所有驱动程序。
用户不需要额外存储器携带目标代码,驱动等等。即插入,复制相应数据到本地,切换模式,完成调试功能。
相比下载线+U盘的模式,直接支持USB Mass Storage,可以用于提供/运行固件更多的功能固件。

- 相对强的USB Slave/Target模拟器,通过更换Firmware,可以模拟常见仿真器/下载线。
主要是因为很多调试环境的驱动接口封闭,很难自行开发接口;相比之下,反向协议/实现比较容易。

- 灵活的IO接口配置,以支持多种IO电压,线缆顺序,单端通信物理层协议。任何单端传输的通信协议,都存在被支持的可能性。

- 对于远程访问,GDB,难于在FW上直接实现的协议等等,以PC端代理的形式实现。
有点类似于JLink的方式,可以提供标准操作库,方便用户进行快捷的二次开发。
同时,调试代理支持不同的软件。


我对是否需要“一个完全独立,不需要PC介入,就能完成复杂工作;乃至于远程用以太网连接并操作的多功能调试器”,持保留态度。
很多事情完全可以放在PC上去处理,利用一些特定的固件,让效率保持的合理的水平就行了。同时保有较低的硬件拥有成本。

出0入0汤圆

发表于 2009-12-18 23:33:17 | 显示全部楼层
to 【28楼】 dr2001
第一版本还是先尽快实现基本功能吧,高级的慢慢来
争取年前做出第一版PCB,至少在上面跑个USB-232试试

另,已回复您的邮件

出0入0汤圆

发表于 2009-12-18 23:39:18 | 显示全部楼层
to 【27楼】 yzhu
欢迎加入,我们第一版可能暂时考虑利用FPGA中的CPU软核完成主要功能,先实现基本功能,在慢慢改进提高

出0入0汤圆

发表于 2009-12-18 23:50:20 | 显示全部楼层
占位

出0入0汤圆

发表于 2009-12-19 16:25:36 | 显示全部楼层
【27楼】 yzhu
欢迎加入。

我说下这么设计的原因。BDI2000那样的(另外类似的一款http://www.ronetix.at/peedi.html,
这个的网上文档稍微丰富些,适合研究它的实现方法)超高端仿真器需要的不只是硬件和固件,
还有配套的上位机软件,而且你需要支持主流的各个开发平台,这样的话,光靠一个小的开发
团队会难以支撑的,而这种级别的仿真器,如果有人需要的话,也不会在乎买个正版的价格的,
他们会需要很好的技术支持(所谓主要买的是那个服务),开源的东西如果没有一个公司支持它,
很难推广开,导致开发出来只能当作几个爱好者的“玩具”,实际上无法实用。

而实际上,大多数开发者并不需要那么强大的工具(试问,真正要调试多核器件的人会买不起相
应的工具么?),开源的工具应该定位于这部分最广大的用户群,让大多数用得起、用的了,这
样才可能有生命力。我前面说了对于开源项目来说,最重要的是用户。尤其是能帮助开发、测试
的用户。

至于做中低端的开发工具为什么要先采取模拟其他已有设备的方式,这是因为我们可以尽可能利
用已经开发好的上位机软件;前期这么做是最保险的方式,不然的话,不易于发展初期用户。
我不是说我们一直都得跟着别人做,我们当然可以创新,目前的架构完全可以做性能非常好的仿
真器,到一定的时候,我们完全可以自行做完整的仿真器系统的,可以先支持GDB的远程访问协议,
我也一直在兼顾这方面的需求。

然后我再说下目前的结构:
我们计划在FPGA里面放两个主要模块,一个是一个开源软核,比如ZPU那样的,当然需要定制,为
相应的需求定制;另一个模块是一个灵活的协议处理模块,举个例子,前面提到的TI的JTAG控制器
芯片hct8990,就和他类似,这个模块决定于物理层协议,JTAG是一个,BDM是一个,SWD是一个,
软核控制具体的流程,比如上位机过来说“向0x1000地址写入以下0x1000个字节”,我们的软核控制
首先移入适当的IR,然后再根据需要移入DR等等。
用这样的架构,好处是,我们只要完成了所有的协议处理模块,其余的部分完全变成了软件的工作,
调试之类也非常方便,以前绝大多数类似产品都不是这么做的,我希望这么做可以达到一个性能和
灵活性的最佳平衡。

至于cy7c68013a,前期模拟其他设备时候他可能工作量较大,但是后期就会变成只处理USB协议,负责
指挥软核并处理用户界面还有加载FPGA位流等。

我觉得这么说,可能就能对本项目目前的总体架构有个了解了,有什么问题欢迎讨论。

出0入0汤圆

发表于 2009-12-19 16:40:32 | 显示全部楼层
【23楼】 h2feo4 无机酸

唉,我其实很希望找个带有HS USB的ARM,那样我们就能彻底摆脱cy7c68013a了……
用个类似SAM3U类似芯片会非常合适,但是成本上不好办啊……

现在简单核算下成本,我按照淘宝上的价位保守估计:
cy7c68013a-128AXC         35
is61lv256al                6
xc3s250e-4tq144c          40
xc3s500e-4pq208c          65  (以上两者选一个)
74lvc1t45        3 * 16 = 48
m25p64                    15
24lv128                    3
xc9572xl                  10

没考虑的是阻容器件、接插件、PCB、还有MOS管/模拟开关/Vref切换电路。
用xc3s250e的成本是157+其他;用xc3s500e的是182+其他;
已经不便宜了…… 我觉得吧,总硬件成本还是不要太高,300元为硬性上界吧。

我的建议如下:不用追求一次性搞定,毕竟我们还没开始弄软件,开始弄软件之后估计
还会出现意料不到的问题;因此,尽早出一个差不多的板子试试,后期的硬件改进和软
件开发一同进行。IO问题既然我们还不确定,可以先按照h2feo4的设计,每个IO上四根
线控制,IO可能差不多。或者再稍微简化点?

大家觉得如何?我觉得不开始做软件/固件并实地实验,不知道到底有没有问题。

出0入0汤圆

发表于 2009-12-19 16:47:25 | 显示全部楼层
to 【33楼】 minux 啊啊?
3S500E我以前买过,价格61,手里还剩5片,不过是FT256封装的(要4层板才能布下,第一版不考虑)……
68013估计还能便宜
至于IO单元,如果按【17楼】方案1,是每个端口消耗3个IO,1个I,2个O,每个IO方向是固定的不需要转换,所以buffer可以适当简化
4个IO也可以,应该速度更快一点,但有失控烧毁的危险

出0入0汤圆

发表于 2009-12-19 21:41:43 | 显示全部楼层
To h2feo4
17#第一个方案的问题在于Vref比较低,比如1.8V时,PMOS给GND时候,不一定能让PMOS可靠导通并提供较低的Ron。
要么用PWM生成一个负压,推动PMOS;要么倍压正电压,想办法推NMOS。

另外的问题就是这个结构能支持到什么样的IO速度。

在三合一的讨论中,yzhu提出AVR32UC3A3x,不知道价格几何?应该也可以使用。

出0入0汤圆

发表于 2009-12-19 21:49:17 | 显示全部楼层
to 【35楼】 dr2001
分立MOS方案确实在电压较低的情况下不太好使,而且速度偏慢

AVR32系列很担心能否找到货

出0入0汤圆

发表于 2009-12-19 22:06:45 | 显示全部楼层
IO还是贵点保证性能吧?
Vref那端用FPGA IO + Buffer 倍压出来一个驱动电压,驱动NMOS在高端,你看如何?这样能确保电压起来。恩。
因为负电压不容易获得支持。

这样1 IO Data,1 O DIR,2 O Vref/GND?
Vref如果用理想二极管,则不消耗IO。

AVR32估计货源有问题,也不便宜。Digikey看12.9 USB/pcs

出0入0汤圆

发表于 2009-12-19 22:25:26 | 显示全部楼层
to 【37楼】 dr2001  
先确定一下要多少输出电流吧,这样方便元件选型

出0入0汤圆

发表于 2009-12-19 22:29:18 | 显示全部楼层
【34楼】 h2feo4 无机酸

哈,就那个芯片没查,我就估计了一个价格…… 已经根据taobao上平均价格改正估算。
4个IO方案确实容易出问题短路,但是如果如果省一个O,那么还得加译码器啊……
要不换个大点的CPLD也可以…… 那就用MAX II系列吧,它是用FPGA的4LUT结构做的,
比较适合这种特别简单的逻辑。
后期在电路完全确定了之后确实可以布块4层板,不过用BGA还是会使得很多人无法焊接,
还是需要仔细权衡。

【35楼】 dr2001

如果还要用负压或者倍压电路就非常麻烦了。
Atmel的AVR32UC3A3系列就是不知道好不好买…… 反正我在国内没查到货源…… Atmel家的东西就是这个货源比较郁闷……
(avr32我持比较保留的态度,第三方开发工具支持不好……要开发它,要么你放弃仿真器,要么去买JTAGICE mkII吧……)
现在估计能买到的也就是AT91SAM3U系列还算靠谱,但是也不知道价格多贵……
Vref用模拟mux如果不考虑导通电阻大和电压过高的情况,没问题吧?
只用NMOS控制GND的连接,这个问题可能会好点,Vth(on)和rds(on)都比较低的NMOS还是比较容易找的。

我前期仔细调查过包含高速USB的芯片,简略提下以前没提过的芯片(都不太可用……不然我就提了)。
(1) Freescale:MC9S12UF32 16-bit S12 Core, 32KB Flash,  3.5KB RAM, 1.5KB USB Buffer, 7*2 endpoint,
TQFP100封装,60-80元@taobao。应该面向的是USB Mass Storage设备的,用在这里的话首先价格上不合适,其次封装也太大,
更别提那么受限的RAM了。该公司还有其他款的,但是都太高端了。
(2) Cypress:cy7c68001,无CPU,但是不支持EP1,真郁闷,其他跟cy7c68013a非常类似。cy7c68033我前面说了,不太好,
但是也可以重新考虑下。
(3) NXP:没办法,能用的单片机全是BGA封装,实在是郁闷,该公司就不能也出个QFP封装的么?
单独的控制器有ISP158x系列,14个可编程EP,8KB Buffer,SoftConnect技术;总线速度有点低,12.5MB/s,不过相对来说,
这个项目没必要那么高的带宽,用HS USB需要的是稍大于1MB/s的速度(33MHz TCK的时候我听说的最快ARM下载速度才1MB/s,
虽然我觉得还有优化空间;FPGA也要快也就达到理论上限4MB/s吧),和快速响应速度,比如125us的微帧间隔和1ms的
responsiveness差远了。
(4) PLX-Tech:NET2272不错,也是不带控制器的高速USB控制器。支持3个Endpoint以及所有EP类型,据厂商的数据是最大突
发传输速度是40MB/s,8/16位总线。总共有3kB的缓存。一个优势是支持virtual endpoint技术。我去电子市场问过,贵死了。
(5) TI:tusb6020,不说了,这个接口你没办法用的,只能配合TI的某些DSC/DSP用。
(6) 其他公司:ST, microchip都没发现合适的……

单独的高速USB设备控制器(不带单片机的版本),我可能没调研全,但是单片机调查得还是挺全的我觉得(除了国产的完全没调
研外)。

如果我们推翻前面的USB接口设计,可以,不过意味着要么我们用AVR32UC3A3或者AT91SAM3U,或者是上个NET2272/ISP158x但是
配合一个带外部总线的单片机。FPGA是肯定需要的,除非我们不想支持大于30MHz的JTAG速度。

出0入0汤圆

发表于 2009-12-19 22:34:05 | 显示全部楼层
总结下上贴,不用cy7c68013a的高速USB接口方案:
(1) cy7c68033,8位总线,外接NAND,15kB RAM
(2) cy7c68001(牺牲EP1) + 单独MCU
(3) ISP158x/NET2272 + 单独MCU
(4) AT91SAM3U (据说价格70/pcs左右吧……我曾经打听过)
(5) AVR32UC3A3 (这个最不靠谱……)
(6) 咱不怕,上个ARM9……

单独的MCU建议用100脚带FSMC的STM32。

出0入0汤圆

发表于 2009-12-19 22:37:12 | 显示全部楼层
【37楼】 dr2001

同意用贵点的IO保证性能,咱用了FPGA,TCK怎么得以50MHz作为目标吧?不然就浪费了FPGA了。

我发现Vref还真得换个小Rds(on)的MOS管,高速的时候电流可不一定小啊。
用NMOS可能比PMOS好点,但是倍压是比较麻烦啊,单个外部IO的辅助电路太复杂了……

出0入0汤圆

发表于 2009-12-19 22:46:04 | 显示全部楼层
【35楼】 dr2001

1.8V导通的低Rds(on)至mOhm的PMOS还是能找到的…… IR有很多……
当然我都没调查价格。不过更低的Vref看样子不太可能自动切换了。

出0入0汤圆

发表于 2009-12-19 23:40:37 | 显示全部楼层
to 【39楼】 minux 啊啊?
三个IO也不用加译码,就按17楼那张图,不需要再加其他东西,普通输出也靠MOS管,但要选速度快的MOS管

另外再贴一个模拟开关的方案,4线方案,功能应该是最全的,而且性能与Vref无关,如果不需要上下拉功能就可以再省一个IO
速度倒是应该够了,但是电流输出能力较小,只有120mA,可以考虑两路并用
芯片资料可以参考17楼的那个压缩包,这个片子我手里有五十几片

(原文件名:20091219A.PNG)

出0入0汤圆

发表于 2009-12-20 00:02:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-20 00:42:31 | 显示全部楼层
【43楼】 h2feo4 无机酸

哦,那个3线方式就是不用成品的电压转换芯片了,那倒是省了不少成本,不过这个电路的切换速度得
仔细算下。最好能找个封在一个封装里的PMOS+NMOS比较好。我不太确定能不能找到那么快的MOS管。
啊,确实提醒了我,不用单独的Vref选择,直接那个IO输出高即可,只要输出阻抗足够小,同时电流
驱动能力够大即可。这么考虑的话,自己拿MOS管做确实是个好办法。

这个新的方案还得再考虑下。你那个模拟开关ic电阻倒是挺小,那个好买么?单片价格如何?
有没有条件测试下,驱动比如说20pF*16的负载,50MHz行么?感觉这么快比较悬啊,另外,100mA的时候
估计得降压500mV(typical)了,还是有点大啊……

出0入0汤圆

发表于 2009-12-20 00:48:07 | 显示全部楼层
分立PMOS的关断时间都比较长啊…… 尤其是大电流的版本。
比如IRLML6401GTRPBF,关断延时比开启延时大了一个数量级(250 vs 11ns typ.),当然这是电流Ids = 1.0A的情况。

我再看看小电流的有没有合适的。不过比较难,低Rds(on)的基本都是Power MOS……

出0入0汤圆

发表于 2009-12-20 00:50:25 | 显示全部楼层
to 【46楼】 minux 啊啊?
PMOS速度不够的话干脆就用全N结构好了,电路就要复杂点
电流不用那么大,估计500mA已经够满足所以情况了

模拟开关电容是稍大了一点,但是应该有很多公司的可选,本质上就是个74-253的增强版

出0入0汤圆

发表于 2009-12-20 01:09:42 | 显示全部楼层
看看这个http://www.fairchildsemi.com/pf/FD/FDG6332C.html,
互补的PMOS/NMOS,可以接受的延时参数,其他参数也还可以,从淘宝上看价格可能还可以。

延时可能得估计到40ns,支持1.8V很悬;这方便性能更好的很不好找……

出0入0汤圆

发表于 2009-12-20 01:17:53 | 显示全部楼层
to 【48楼】 minux 啊啊?
这个能买到么,封装尺寸倒是小的可爱,电流也足够,速度还有待详细论证
在分立MOS管方案中恐怕还是需要电平转换的,至少PMOS的驱动和输入都需要,不过可以使用简单得多的芯片,因为都是单方向的

出0入0汤圆

发表于 2009-12-20 01:30:15 | 显示全部楼层
负压驱动PMOS方案和倍压驱动NMOS我觉得都不太可行啊…… 因为这个负压和倍压的开关我们
照样会面临开关时间的问题……
现在我不知道lvc1t45是什么输出结构,它最大电流50mA,一般情况下也是够了啊?
但是不知道能不能像17楼图那么接…… 就是VCCB接都接在一起而不接别的东西。

另外,其他高电流输出的bus driver是不是也可以这么用?有244的实验下?

出0入0汤圆

发表于 2009-12-20 01:34:29 | 显示全部楼层
to 【50楼】 minux 啊啊?
MOS管17楼那种接法是没问题的,只要MOS性能足够
MOS导通时可以双向过电流的(类似应用:MOS管整流桥)

集成驱动器不太清楚内部具体结构,不太推荐这么用

出0入0汤圆

发表于 2009-12-20 01:34:50 | 显示全部楼层
【49楼】 h2feo4 无机酸

NMOS我们可以转换到5V驱动他,导通电阻啥的都不用怕了,唯一的问题是PMOS的驱动电压可不好办。难道
真弄个负压发生电路,再串个NMOS么?这么做这个输出级我可以确定是史无前例了……哈哈。

我觉得分立MOS的速度应该没办法越过10ns左右的delay, 4ns左右的rise/fall time这个门槛了,那样50MHz几乎
没希望……至少从Power MOSFET来看应该是这样。 希望我是错的……

如果真是这样,多一级MOS开关,就要多20ns的延时,这个性能损失实在过于巨大。

出0入0汤圆

发表于 2009-12-20 01:36:44 | 显示全部楼层
to 【52楼】 minux 啊啊?
越折腾越复杂了
第一版干脆就1T45解决吧
VREF和GND采用单独的管脚,自适应暂不考虑

或者,1T45 + MOS管的4线法,用CPLD逻辑锁保证不会短路

说起来要是有个高速的MAX232,用它驱动MOS管就很爽了哈

出0入0汤圆

发表于 2009-12-20 01:51:54 | 显示全部楼层
等下,我想试试我刚才找到的那款互补MOS管的性能……
我试试用50MHz的方波推,后级接不同电容看看延时到底如何,反正电流啥的我们
都知道他没问题。

如果他能行,不但电路不复杂,而且比1t45便宜(假设淘宝上的价格靠谱的话)。
赶紧抽时间去电子市场……

【53楼】 h2feo4 无机酸

CPLD用啥呢?44脚的不够用了,上QFP100封装的MAX II吧?

出0入0汤圆

发表于 2009-12-20 02:44:43 | 显示全部楼层
哦 不用试了…… 仔细阅读发现,Qg太大了(~1.2nC),以至于FPGA如果要在5ns内改变其状态的话,
至少要有平均电流1.2nC/5ns = 0.24 A的电流…… 怎么可能…… 整个bank能不能有那么多电流
都不好说…… 更别提USB的电流限制了……

这么来看,自动切换Vref真是个吃力不讨好的行为…… 还是别做了,除非能非正常地使用那些芯片。

我现在也同意第一版简单点的观点了,就用16片1t45吧(这个似乎较贵,大家可以都调查下附近的电
子市场的价格,最好是买NXP的原装,性能好很多)。
要切换让用户自己接杜邦线算了…… 哈哈。 然后我们做个小转接板,把目前常见的接口都做上去,
至于自动检测接线,就用h2feo4以前说的方案吧,我们多留出几根只能O和只能I的IO出来(但是最好
也接电平转换,但是可以和另外16跟IO分开的Vref,扩展的时候我们自己再规定这些的用法,这样也
能尽可能利用好那个FPGA)。

既然两个人都同意了,如果其他人没啥意见,就画板吧。
没别的要讨论的了吧?

出0入0汤圆

发表于 2009-12-20 03:33:00 | 显示全部楼层
哦,只是不能用同一套电路既做Vref选择和强制GND,又做输出了…
分开还是可以的,似乎也不会让成本高很多啊…还是负压驱动PMOS吧,因为用NXP的1T45是可以支持1.2V电平的,
PMOS做这么低的Vth(on)很困难…有带有配套NMOS的PMOS,用它就行了。
这样倒是可以不放弃自适应…

出0入0汤圆

发表于 2009-12-20 09:05:46 | 显示全部楼层
第一版还是简单点比较好。IO有地方就预留,没有就算。先考虑主要功能。

参考的IO级如下。

可能存在的问题:
- Kick Start功能可以省略掉。
- 直接倍压输出电流和驱动能力是不是够,只驱动NMOS的话,mA数量级应该差不多了。
- 理想二极管在输入IO电压和Vref接近的时候,会频繁开断,可能需要增加一个滞环,不过就比较麻烦了。这里直接RC滤波,增加一个小延迟。
- 比较器可能会反灌电流,导致出现问题,可以通过比较器VCC串二极管解决。


(原文件名:01.png)

出0入0汤圆

发表于 2009-12-20 09:58:52 | 显示全部楼层
感觉好像跟这个差不多,给个图片参考一下:

(原文件名:True USB Willem2.JPG)

出0入0汤圆

发表于 2009-12-20 12:08:15 | 显示全部楼层
SAM3U能有供货么
SAM3U + XC3S50A 估计成本和68013方案也差不多,而且说不定还方便一点

出0入0汤圆

发表于 2009-12-20 12:20:01 | 显示全部楼层
我感觉我的能力有限··只有先支持···

出0入0汤圆

发表于 2009-12-20 13:10:49 | 显示全部楼层
先学习了,只是能力还达不到啊

出0入0汤圆

发表于 2009-12-20 13:36:11 | 显示全部楼层
【59楼】 h2feo4 无机酸

今年悬了…… 只能搞到样片,大概70元一片吧。用那个确实爽。
不过样片的errata真让人郁闷……

出0入0汤圆

发表于 2009-12-20 13:38:23 | 显示全部楼层
【58楼】 guest01

赞,我去查下。

出0入0汤圆

发表于 2009-12-20 13:54:01 | 显示全部楼层
to 【62楼】 minux 啊啊?
我觉得如果SAM3U可用的话,肯定比68013方便
留着这个方案吧,等货源就绪可以考虑启动之
或者现在就用样片开玩?

出0入0汤圆

发表于 2009-12-20 14:02:48 | 显示全部楼层
【64楼】 h2feo4 无机酸

恩,SAM3U一直我认为最理想的做这个的单片机……
不过我尝试申请样片未成功……

出0入0汤圆

发表于 2009-12-20 14:15:53 | 显示全部楼层
另外一个跟电路无关的问题,这个项目的硬件/软件分别用什么License啊?

我希望都用GPL,保证别人的修改必须反馈。

尽管国内都不怎么重视这个事情,但是我认为这不意味着我们不用选择License。
否则很可能我们的成果会被默认进入public domain,那就不好了。

出0入0汤圆

发表于 2009-12-20 15:51:50 | 显示全部楼层
【57楼】 dr2001

我的想法是这样:
Vref接一个LOAD Switch,比如:http://www.fairchildsemi.com/pf/FD/FDG6331L.html,由于内置了NMOS
Level Shifter,所以可以用3.3V开关(Vref最高8V,没问题,已经足够),从数据手册看,1.8V开启是没问题的。
这样也不用负压发生器了。这东东淘宝价1元左右,可以接受。

下接GND的就用NMOS,用3.3/5V推它,应该也足够了,比如这个:http://www.fairchildsemi.com/pf/FD/FDG311N.html。
2.5V Vgs的时候Rds(on)是150mOhm,足够小了,Idmax = 1.9A也肯定够了。不过这个也1元左右,如果Rds(on)能
稍微大点的话,可以选个更便宜点的,比如http://www.fairchildsemi.com/pf/FD/FDY300NZ.html,这个Rds(on)是
900mOhm左右,可能又有点大了。

我觉得不要在IO线上加太多MOS管或其他电路,不然负载电容大了,速度上不去了。

这样IO的电路就是lvc1t45, fdg6331L, fdg311n,一共需要1*IO+3*O来控制,为了安全起见,3*O使用CPLD来做译码。
这样不但能节省FPGA的IO,同时也考虑到3*O不需要经常变化,用移位寄存器来控制即可,更能节省FPGA的IO,
多出的FPGA IO可以也引出来,以后可以加上其他功能。
另外,Vref上加一片ADC,和一个三极管控制LED以指示Vref识别正确以及目标板接入,这样可能更人性化,很多仿真
器都有类似功能。ADC不用很高采样率,位数最好是10位吧,这样和整个设计相匹配点。

出0入0汤圆

发表于 2009-12-20 16:11:59 | 显示全部楼层
【59楼】 h2feo4 无机酸
可以考虑一下AVR32UC3A3x (SAM3U有的它都有,且支持SDRAM),不过成本有点高。

出0入0汤圆

发表于 2009-12-20 16:19:29 | 显示全部楼层
【68楼】 yzhu

avr32uc3a3前面已经讨论过了,不管从开发工具还是货源都不合适。

我觉得除非有个人用户能接受的价格和足够可靠性的第三方ICE出现或者ATMEL公布ICD的完整技术细节,
否则我自己也不会在avr32上花时间。

出0入0汤圆

发表于 2009-12-20 16:35:43 | 显示全部楼层
【67楼】 minux

其实问题回到原点:电压范围支持到多少,要不要Vref自适应,etc。

- 1.8V起跳,不要自适应,不要Kick Start,那就没问题,可选范围多很多。
一个IO线挂两个MOS引脚。我没在手册上看到MOS D/S的等效电容,估计不太大。Gate电容和这个没关系。

- 更低的Vref电压,PMOS,Vref在1.2V的情况下,可用性存疑。用NMOS的话,没有倍压电路,在5V的时候不行。
PMOS+NMOS,需要一个额外的反相器。

- 要不要Vref自适应,这个看需求。如果只是用户指定,选择合适的PMOS就行了;否则多一个比较器,问题也说了。

对连接到Target的IO而言,附加电容来源:
GND的NMOS D引脚。
Vref的PMOS S/D引脚【1.2V没有负压支持,可用性存疑】,或者NMOS的D/S引脚【没有5V倍压支持,5V可用性存疑】。或者两个引脚,不增加额外电源。
Kick Start(对外供电,小实验板可以使用),一个PMOS的D/S引脚。
如果Vref自适应,一个比较器的Vin引脚。

以上我没查到等效输入电容的数量级,好像一般都不列出来。

IO FPGA直接控制,CPLD控制等等,问题都在于上电/重新配置/修改配置时刻,稳态出问题的概率都不太大。

Ron,按照全压降0.05V@额定电流计算,因为1.2V电平最低1.1V,留0.05余量。这样,100mA的时候,每个管子许可0.025V@100mA,250 mOhm Ron@最劣工况就可以满足了。不是太困难的参数。

AD我没意见,就看大家期待什么精度了。示意性的没必要上AD。。。

出0入0汤圆

发表于 2009-12-20 17:32:34 | 显示全部楼层
【70楼】 dr2001

我觉得对于性能指标的要求,Vref至少要能保住1.8V可以支持,目前只能1.8V IO的器件已经进入实用了。
Vref自适应看样子是个吃力不讨好的活儿,因为即使适应了Vref,离确定其他的IO的用途还有相当的距离,
比如AVR和Altera都用相同的JTAG pinout,检测出Vref之后还是没办法直接区分,也没办法只根据他自动
加载固件,还是得看JTAG ID,但是繁多的芯片,JTAG ID的数据库放在我们的硬件中不太可行。

因此,还是让用户直接指明用什么接口吧,我们还是退一步只做能自动切换就行了。

kick start功能,为它又要加重IO的负载,可以不加吧?唉,主要是最高工作频率和易用性上总是矛盾的。
抑或是这样来个这种,我们只在某一个针脚上支持对外供电,比如用户插_插头的时候如果插在中间就完全
使用高速IO,插在靠某一侧,就能有kick start功能。

Rds(on)要250mOhm的话,似乎不是太容易在满足电容负载的情况下达到…… 分立的MOS管一般会给,至少得
考虑Cds量级,具体的分析不简单,还有寄生晶体管之类的影响,最好是仿真下。这个参数一般都不会低的,
尤其是低Rds(on)的。

出0入0汤圆

发表于 2009-12-20 18:05:00 | 显示全部楼层
既然这么定义需求的话,那就没问题了。

IO部分:
- LVC1T45电平转换;
- NMOS到GND;3.3V/GND驱动;Ron < 200 mOhm @ Vgs 3.0V, Ids 100mA。
- PMOS到Vref;Vref/GND驱动;Ron < 300 mOhm @ Vgs -1.8V, Ids 100 mA。Von(th)典型值最好在-1.0V左右。
上位机指定Pin类型。

出0入0汤圆

发表于 2009-12-20 18:30:55 | 显示全部楼层
IRF5851:
TSOP-6, 2.75x3mm面积;耗散0.5W;Vgs=+-12V。
Rds(on)=0.12/0.22 (N/P MOS) @ +/- 2.5V Vgs, 2.2A/-1,7A Ids.
Vgs(th,max)=1.25/1.2 (N/P MOS)。
手册给出的曲线最低Vgs=1.5V(NMOS), -1.2V(PMOS)。淘宝报价1 RMB,电联具体价格。

查曲线:
NMOS,3V Vgs,900mA @0.1V Vds,Ron足够小了。
PMOS,-1.2V Vgs,10 mA @0.1V Vds;-1.5V Vgs,50mA @ 0.1V Vds。

问题不是太大,低于1.8V的时候,注意降低IO输出能力就好,如果可能,多个引脚并联当Vref。
作为电源供电的没什么大问题了。

出0入0汤圆

发表于 2009-12-20 18:37:28 | 显示全部楼层
【72楼】 dr2001

71楼的需求我又多加了点关于kick start的折中……

PMOS比较难选型……

出0入0汤圆

发表于 2009-12-20 18:51:08 | 显示全部楼层
Kick Start不一定要,属于远后备功能。有则对于很小的受众来说,很好;没有的话,对于他们而言,也有是容易解决的问题。

同意你说的,比如,最后两根线不要定义信号IO功能,就是Vref/Kick Start/GND这样。用户靠边插接,就有这些功能,反之没有。
不过这个需要两个PMOS/NMOD头对头连接。


N/PMOS的用途不涉及信号IO,只要启动,说明该IO用于电源供应。
因此,主要需要考虑管子的导通阻抗,电容负载下,这个我们在可选范围里尽可能良好就行了。
还有就是,管子关闭的时候,Cds,Cdg,PMOS还有衬底产生的电容。不过这些信息好像手册里不全面啊。
有个Output Capacitance,我不知道测量条件和电路,数量级是50pF。

出0入0汤圆

发表于 2009-12-20 19:05:25 | 显示全部楼层
to 【68楼】 yzhu
UC3A3如果有货源,会考虑的

to 【66楼】 minux 啊啊?
License用GPL我没意见。dr2001怎么看?
意见统一的话,就请minux写一小段版权声明,我可以把它加到显眼的地方去

出0入0汤圆

发表于 2009-12-20 19:09:11 | 显示全部楼层
既不影响高速性能,又能提供低阻VCC/GND切换的就是继电器了吧
不过用几十个继电器也太夸张了,而且估计需要额外的电源

出0入0汤圆

发表于 2009-12-20 19:14:48 | 显示全部楼层
GPL我没啥意见,不过好像也分版本?
这个具体的内容我没研究过。呵呵。

继电器功耗什么的太夸张了,算了吧。。。还是MOS。

出0入296汤圆

发表于 2009-12-20 19:15:55 | 显示全部楼层
严重关注,需要帮忙提供资料的时候就说哈。

出0入0汤圆

发表于 2009-12-20 20:50:23 | 显示全部楼层
to 【79楼】 Gorgon Meducer 傻孩子
小声地问一下,SAM3U估计什么时候能买到呢?
用在这个项目中,功能可以说是完美,就是不知道能不能有货

出0入0汤圆

发表于 2009-12-21 11:29:28 | 显示全部楼层
【75楼】 dr2001

那两个能提供电流的针脚还真不能不具有IO功能……
看这几个pinout:
http://www.jtagtest.com/pinouts/maxq_jtag
http://www.jtagtest.com/pinouts/actel_flashpro3  那个VPUMP也可能需要向目标板提供电源

我们虽然规划了16个双向IO,但是最后分布的时候,我估计还是用一个10*2的pin header吧?
(这样即使我们先不做转接板,也能用我们IO功能的灵活性兼容已知的接口们)
左侧10个都是IO,右侧中间6个是,其余是专用VREF/VSUPPLY,主要是ARM20的pinout太麻烦:
http://www.jtagtest.com/pinouts/arm20
另外一个麻烦的是这个:
http://www.jtagtest.com/pinouts/pld-jtag

同时,似乎还应该在pin header旁边布上LED,用来指示用户Pin 1的插入点,当然这在第一版也是
可有可无的。

出0入0汤圆

发表于 2009-12-21 12:05:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-21 20:16:54 | 显示全部楼层
【76楼】 h2feo4 无机酸

如果就是使用GPL,版权声明倒是不麻烦,每个源文件都加上下面这段即可,同时项目的发布文件包(切忌不要用rar压缩)
中包含一个叫COPYING的文件,内容是http://www.gnu.org/licenses/gpl.txt。

    multijtager - universal USB JTAG adapter
    Copyright (C) 2009  The multijtager team.

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

不过啊,开源硬件协议中源代码用GPL没啥问题,电路图就不太好办了,我再看看有没有类似的
可行License吧。

出0入0汤圆

发表于 2009-12-21 20:22:53 | 显示全部楼层
今天去了电子市场,由于时间所限,没问到那几个fairchild的MOS管。
但是发现1t45的价格原来估计3元高了,至少可以降低到2元,这样接口部分就便宜了很多。

【73楼】 dr2001

PMOS的输入不需要用NMOS做一下level shift么?不然Vref = 5V时候,FPGA即使用3.6V的
Vccio也不能完全关闭PMOS啊。
另外,MOS管看来不能随意根据厂商网站上的选择,不然也许会很难买到,今天我问了不下
5家专营fairchild器件的柜台,均告诉我那两款暂时没现货……

出0入0汤圆

发表于 2009-12-21 20:26:20 | 显示全部楼层
to 【83楼】 minux 啊啊?
这个行不:CC-BY-NC-SA
http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh

出0入0汤圆

发表于 2009-12-21 20:31:36 | 显示全部楼层
今天计划了一下,硬件平台做好后,软件上有几个milestone.

(1) 高速读写SPI Flash,至少可以测试2.7-3.6V的Vref电压的性能;同时SPI Flash的
最高时钟速率都很高,很容易通过这个测试整个架构的性能极限。

(2) 实现USB-Blaster,这个有现成的代码,但是我们可以创新的地方非常多,首先,根
据我阅读Altera器件的手册,几乎所有现今的器件支持的最快TCK频率都高于USB Blaster
能达到的6MHz,我们可以试试自动尝试提速。之所以先选择USB-Blaster,因为对于它的
理解最透彻。

(3) 实现功能类似于TI的hct8990的功能的JTAG Test Master,然后我们就不用再考虑JTAG
的物理层了。这样之后,svfplayer的就是水到渠成的事情了,有了svfplayer,这个设备
就真正可以实用了(很多器件的编程器都支持生成jam文件或者svf)。jam呢,稍微比svf复杂
点,但是在上位机做转换还是可能的。

这以后的还没有办法想到,因为这之后就需要反向工程现今的各个设备了。
ARM的调试可以考虑加入了,因为这也是有很多资料的,不过这个工作量就比较大了,因为
还有上位机软件接口的问题。

大家有啥想法?

出0入0汤圆

发表于 2009-12-21 20:36:35 | 显示全部楼层
【85楼】 h2feo4 无机酸

Creative Common的话,就是不能保证改进一定能反馈回来了……
如果用的话,建议是去掉NC,因为以往的经验显示,开源项目商业化如果完全遵守license的话,
对于项目是有利的(这当然要求我们得用像GPL那样稍微强一点的License,要是BSD之类,就可能
被人直接拿去改改卖而不反馈更新了……另外一点,得假设大家都整整遵守License,这点在中
国似乎是最不成立的……)。

用GPL的唯一问题是,不好定义硬件电路的衍生品。
抑或我们电路单独采用一个License,软件照常用GPL。

出0入0汤圆

发表于 2009-12-21 20:36:36 | 显示全部楼层
to 【86楼】 minux 啊啊?
SPI Flash 是个不错的主意,我当初想的其实是 USB-232

出0入0汤圆

发表于 2009-12-21 20:38:58 | 显示全部楼层
硬件用cc-by-sa是可以接受的,软件就GPL吧,这样不错。

出0入0汤圆

发表于 2009-12-21 20:41:39 | 显示全部楼层
【88楼】 h2feo4 无机酸

USB-232当然要实现;不过这个不太能突出这个项目的优越处,所以我在前面的计划
中就没写。另外,我们其实只能USB-TTL,232还是得上个接口芯片。

但是以后我们可以做到利用丰富的IO组合某些功能,那时候具有USB-TTL就很有利了。

出0入0汤圆

发表于 2009-12-21 20:46:30 | 显示全部楼层
这个项目现在看来挺复杂了,因为为了能组合功能模块,我们还需要定义片上总线和协议呢。
后期反向的事情还一大堆;上位机软件接口也要我们仔细权衡……

是不是可以申请开个专门的版面讨论了?

出0入0汤圆

发表于 2009-12-21 21:14:57 | 显示全部楼层
SAM3U样片我应该可以搞到一些.大家如果选定方案的话,我回支持SAM3U和基于SAM3系列的软件开发. 算我一个了.邮件地址:qiujianben@msn.com

出0入0汤圆

发表于 2009-12-21 21:17:30 | 显示全部楼层
【92楼】 qiujianben

SAM3U的价格如何?不仅仅是样片,正式量产时候的芯片价格更重要些。

出0入0汤圆

发表于 2009-12-21 21:54:12 | 显示全部楼层
to 【92楼】 qiujianben
已发送邮件给您~

出0入0汤圆

发表于 2009-12-21 22:02:41 | 显示全部楼层
这么说或许就用SAM3U了?也好。FPGA省事儿了,而且电路上不那么觉得绕了……

h2feo4,对于IO部分,你还有啥想法没?CPLD的事情也没定呢啊……

出0入0汤圆

发表于 2009-12-21 22:12:27 | 显示全部楼层
to 【93楼】 minux 啊啊?
   SAM3U的USB是高速Full speed的480Mhz,而且可以外扩PSRAM,和Flash.这些器件加起来有点贵. ATMEL最近出了SAM3S,价格比较合理,但是USB是12Mhz的.看看有没有必要用480Mhz的USB.
to 【94楼】 h2feo4 无机酸
    邮件已回.

出0入0汤圆

发表于 2009-12-21 22:29:24 | 显示全部楼层
【96楼】 qiujianben
SAM3U的USB是高速Full speed的480Mhz,而且可以外扩PSRAM,和Flash.这些器件加起来有点贵. ATMEL最近出了SAM3S,价格比较合理,
但是USB是12Mhz的.看看有没有必要用480Mhz的USB.
=============================================
High Speed USB对于这个项目至关重要,我前面早已分析过。所以尽管Full Speed USB的芯片非常丰富,我们
却只能用相对廉价的cy7c68013a“凑活”,因为我调研了甚长的时间都没有发现更好的方案。
如果用FS USB,那还不如用STM32呢,至少这个早就量产了,而且性能和性价比都不错……

参看39/40楼我对于高速USB的解决方案的较详细分析。
SAM3U我从它刚发布就开始关注,一直期待能及早量产…… 但是现在了还没动静。
如果价格合适,它是这个项目的最佳选择。就怕价格过高,因为我调研过样片的卖价是大概70元一片。
目前的方案cy7c68013a+is61lv256al+iic eeprom,甚至加上xc3s250e才80元左右,如果SAM3U最终价格
再稍微高点的话,一点价格优势都没有了……

出0入0汤圆

发表于 2009-12-21 22:34:27 | 显示全部楼层
to 【96楼】 qiujianben
非常感谢!已回复邮件到您的新邮箱

出0入0汤圆

发表于 2009-12-21 22:35:29 | 显示全部楼层
to minux、dr2001
问了 SAM3U 的价格,感觉非常不错
我能否将你们的邮箱、联系方式提供给qiujianben?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-19 23:49

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

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