搜索
bottom↓
楼主: multijtager

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

[复制链接]

出0入0汤圆

发表于 2009-12-21 22:43:45 | 显示全部楼层
换SAM3U的话,FPGA就可以考虑Cyclone 3了,这个性能比S3E都还强点。
如果3s50a不够,上ep3c5e144c8就比较合适了(资源,性能,价格,IO方面),不过电源上不占优势(PLL多一组模拟电源2.5V)。

出0入0汤圆

发表于 2009-12-21 22:44:20 | 显示全部楼层
to h2feo4 无机酸
我说的价格是我们公司的价格,公司买ATMEL的MCU的花销,占到它整年销售额的1%.所以自然价格就很好的.但是单卖的话我觉得至少要50RMB.SAM3U4的.

出0入0汤圆

发表于 2009-12-21 22:46:14 | 显示全部楼层
【99楼】 h2feo4 无机酸

ok 既然qiujianben愿意参加,就也加到通讯录里吧?
哈哈 能否给我(不方便的话,邮件)透露下价格?SAM3U我可真是关注了好长时间想用了。

出0入0汤圆

发表于 2009-12-21 22:47:54 | 显示全部楼层
【101楼】 qiujianben

很好,如果SAM3U4(C?E?)零售能到50元,我觉得对这个性能的单片机来说,非常可以接受了。

出0入0汤圆

发表于 2009-12-21 23:08:00 | 显示全部楼层
to 【100楼】 minux 啊啊?
如果能装得下,先考虑3S50A吧,即使用ep3c5也不用太考虑电压的事,因为可以全部用2.5V的IO
我觉得对我们来说 SAM3U1C 就已经比68013强太多了,没必要用太高级的
这样算下来,估计IO倒是占主要成本了

出0入0汤圆

发表于 2009-12-21 23:13:38 | 显示全部楼层
【104楼】 h2feo4 无机酸

en 1t45就算2元,估计加上别的MOS,也得平均到4-5元一个IO。
这真是一大笔了啊…… 还得简化看来,但是就看我们的需求能不能简化了。
毕竟我们目前的设计都讨论了这么长时间,似乎没啥再改进的余地了,
也就是选个廉价的MOS管,1t45找个低价的供货商……

还有没有别的公司产1t45类似的电压转换芯片?要是还不行只能考虑换它了。

出0入0汤圆

发表于 2009-12-21 23:17:44 | 显示全部楼层
to 【105楼】 minux 啊啊?
模拟开关估计成本能低点(估计2元每IO),但电流有限,速度也有待验证

出0入0汤圆

发表于 2009-12-21 23:29:51 | 显示全部楼层
【106楼】 h2feo4 无机酸

对了 你不是有那个ic么,能不能做个实验试下…… 让FPGA输出50MHz的方波推他,看看延时和FPGA的
IO负载重不重…… 目前的定位也就是50MHz了,国外同类产品一般的上限就是50MHz的TCK,我查过。
既然人家没有越过这个界限,要么说明已经足够,要么是技术不够,要么是太复杂,反正不论是哪个
原因,我们做到50MHz也足够和他们相比拼了。

关于SAM3U,我记得3U4C外接SRAM的时候有个片选的限制,所以或许我们得上4E。因为我们可能得外扩点
RAM。FPGA和他肯定是并行接口,最好就是挂在总线上。当然用GPIO直接连也是个方案,这个不急,反正
最后全给他接在一起。dr2001也讨论过这个连接方法的问题,不过在原来的帖子里。

SAM3U可以直接接NAND,而他的性能足够处理NAND相关的麻烦事儿,所以直接上片廉价的NAND存放固件吧,
同时还能外扩高速SD卡。这些都没问题,而且设计简单了很多很多。CPLD是可以彻底省掉了,整个设计
都简化了很多。

软件方面,先期先考虑用SPI+SSC来推JTAG口,这个需要纯软件处理JTAG的状态转换,如果发现性能可能
不够,直接用FPGA辅助之,平时FPGA只是做IO的cross switchbar,倒是不耗费资源。

出0入0汤圆

发表于 2009-12-21 23:43:01 | 显示全部楼层
to 【107楼】 minux 啊啊?
模拟开关我明后天找机会试一下

要外挂SRAM么,打算挂多大多宽的?
其实不挂都已经比68013强很多了

出0入0汤圆

发表于 2009-12-21 23:46:23 | 显示全部楼层
【108楼】 h2feo4 无机酸

有点怕RAM不够,所以第一版可以外挂一个稍大点的SRAM,如果软件开发中发现不需要,
以后去掉或者改小不迟。位宽我觉得就用16位的吧,别浪费了它的外部接口带宽。

出0入0汤圆

发表于 2009-12-21 23:49:27 | 显示全部楼层
to 【109楼】 minux 啊啊?
我手里正好有一些 IS61LV51216-10,正好可以利用上,不过容量是奢侈了一点哈

出0入0汤圆

发表于 2009-12-22 00:26:43 | 显示全部楼层
【110楼】 h2feo4 无机酸

is61lv51216-10真是奢侈的容量啊…… 做逻辑分析仪肯定超爽了。
这一个玩意的成本该比单片机都高了……

出0入0汤圆

发表于 2009-12-22 09:08:03 | 显示全部楼层
5片SAM3U4C,1片SAM3U4E在手上,看怎么弄?

出0入0汤圆

发表于 2009-12-22 09:33:22 | 显示全部楼层
to 【111楼】 minux 啊啊?
我当初就是打算做逻辑分析仪用的……

先讨论一下如果用SAM3U的话,具体连接方式,用C还是E

出0入0汤圆

发表于 2009-12-22 10:35:56 | 显示全部楼层
SAM3U4C和SAM3U4E区别:

(原文件名:SAM3U vs SAM3S.JPG)

出0入0汤圆

发表于 2009-12-22 12:32:28 | 显示全部楼层
MARK

出0入0汤圆

发表于 2009-12-22 13:15:33 | 显示全部楼层
这个帖子不错,关注。。。

出0入0汤圆

发表于 2009-12-22 13:24:21 | 显示全部楼层
C的外部总线是8位数据,8位地址,2个片选,这个问题最大…意味着几乎没办法扩展SRAM…
另外还需要考虑怎么和FPGA接口?

出0入0汤圆

发表于 2009-12-22 13:30:03 | 显示全部楼层
to 【117楼】 minux 啊啊?
先估计一下到底需要多少RAM?
是否考虑SDRAM?

我觉得即使不挂RAM,2C应该差不多了吧
挂RAM成本提高很多呢(要用E,RAM价格,板子面积,布线时间)

至于FPGA接口,只要速度够,8bit或者16bit都不是什么问题

再考虑一种方案,RAM挂在FPGA上,而非直接挂在SAM3U上如何

不知dr2001和其他朋友怎么看

出0入0汤圆

发表于 2009-12-22 14:10:06 | 显示全部楼层
RAM现在还不太好估计啊,挂在FPGA上的话,似乎也挂不上多少,IO数限制较大…
不妨先不考虑RAM,看看都有哪些线要接给FPGA。
首先SPI 3根至少,SSC要6根,8位数据总线,控制线6根(包括中断申请和应答),这样至少得23根了,考虑到简化FPGA的程序,或许需要接几根地址过去。再考虑到配置问题,还得多至少两根。
3S50A最多108根。去掉外部IO的48甚至54根,就很少了,最多也就是能留下30根左右来接SRAM,8位宽度倒还是能接挺多,16位宽就别想了…

出0入0汤圆

发表于 2009-12-22 14:19:24 | 显示全部楼层
to 【119楼】 minux 啊啊?
如果SPI、SSC不接到FPGA上(仅用FPGA做IO切换的话,估计会引入较大的延时,早期使用的话直接引出就是了,配置FPGA靠Slave Parallel,和8bit数据线复用)
FPGA挂16bit-SDRAM,这样行不

出0入0汤圆

发表于 2009-12-22 14:59:41 | 显示全部楼层
呵呵,从头到尾大概的看了遍,觉得在IO的问题上花的精力太多了,其实用几种外部转接板来处理不同的接口也可以接受啊,这样内部的FPGA等就可以专心用来控制协议的转换,毕竟还有许多软件接口协议需要反向

出0入0汤圆

发表于 2009-12-22 18:08:20 | 显示全部楼层
【121楼】 zjzhou

我们并不是只为了做现成的东西的克隆版,以后是要有自己的特点和应用的,
非常灵活的IO就是一个。现在仅仅用来模拟别的设备,根本不用这么复杂。

眼光不能只停留在模拟好别的设备层面,既然是开源项目而不是做什么N合一,
就应该是有更多的创新。

另外,及时是转接板,我们IO讨论的问题也不是没用的,用转接板你也得电平
转换吧?

再者,我们也可以用来做逻辑分析仪啊,那样还是需要灵活的IO的。
讨论IO的时间肯定没有浪费。

最后,软件协议,我们不一定需要那么复杂,以USB-Blaster为例,经过研究,
我发现我们完全可以写一个动态库,不模拟USB-Blaster,直接做我们的接口,
导出给quartus_pgm使用(Altera自己也做了一个用FT2232的USB-Blaster)。
类似的,Xilinx的话,不模拟XPCU,自己做cable server也是解决方案之一,
通过反向现有的设备来达到目的只是不得已的时候才需要使用的,很多时候
稍微反向一下软件得到软件的接口即可,甚至有时候就是反向下通讯协议,大
多数时候都比较简单。这部分,等硬件平台完成之后,自然会做。没设计好灵
活的平台,也没有办法开始软件的部分。

就像armok的雕刻机一样,我们也希望这个硬件的设计是完美的,因而多花点
时间讨论是必要的。

ps: 其实我们还花了挺多时间讨论软件和其余部分硬件的架构的,只是这个帖子
IO部分的居多而已。

出0入0汤圆

发表于 2009-12-22 18:55:20 | 显示全部楼层
呵呵,可能我没有表达清楚,IO的问题如果不是为了兼容的目的,就完全没有必要考虑Vref的问题,因为使IO设计复杂化就是由于它的缘故,其实我的意思是,如果你们觉得使用外部转接板可以接受的话,会使IO的设计简单化,因为这样接口就可以完全由你们的设计自由决定

出0入0汤圆

发表于 2009-12-22 20:59:05 | 显示全部楼层
顺便学习一下FPGA

出0入0汤圆

发表于 2009-12-22 21:07:38 | 显示全部楼层
To 【123楼】 zjzhou
目前,我们讨论的方案是IO支持多电平,单端模式。因此电平转换集成在本地。再适当考虑灵活性,所以用MOS在IO的基础上支持Vref和GND。这样,就可以用很简单的转接板或不用转接板支持多种接口。
之前很多IO的讨论,是因为我们试图获得更灵活的IO配置方法,但是结果比较可惜,需要的开销太大。

您的建议其实支持差分电平是有益的,不过需要设计和应用带有转换芯片的扩展板。

权衡之下,集成单端多电平收发器,加上Vref/GND,能够满足可见的大多数应用,并具有良好的配置灵活性,适度的成本。
当然,扩展逻辑分析仪,IO速度可能会受到一定限制;差分输入的时候,可以通过带有芯片的转接卡解决。

我认为,这是相对简约,但不简单的选择。

出0入0汤圆

发表于 2009-12-22 21:17:14 | 显示全部楼层
如果SAM3U的价格合适,我支持使用SAM3U代替68013,这样开发能方便很多。

考虑到开发灵活性,希望至少一路SPI,一路SSC挂到FPGA上,然后加上必要的并行总线。
SRAM最好做成模块,FPGA外挂。如果开发用得到就用,否则,逻辑分析仪可以直接拿来当Buffer使用。也能扩展别的功能模块,加大应用范围。

FPGA恐怕PQ208封装的才好用。

出0入0汤圆

发表于 2009-12-22 21:52:20 | 显示全部楼层
【123楼】 zjzhou

兼容IO是必要的,不然目前那么多板子的接口我们都没办法用直连线插了。
IO设计的复杂化不只是因为选择Vref的缘故,是因为我们希望IO的灵活性和兼容尽可能多的IO
标准(复杂的电平转换)。

我前面也说了,希望项目能尽可能通用,用户完全可以自由地使用,这样才能让硬件设计有生
命力;如果每多一个应用,就得先做一个转接板就太麻烦了。
前面讨论这么多就是为了这个目的,我们希望一个灵活的IO配置。

另外一个问题是,很多时候,由于板子面积紧张,你不得不使用非标准的接口(比如ARM的20脚
插座,其实真正有用的没几个,20个太浪费面积了),如果用别的仿真器,那么你有两个选择:
1,自己根据你的选择再做一个转换板,把你的pinout转换成标准的
2,用杜邦线之类自己连
显然,方案2极为不方便,方案1也就是我目前看到大多数人用的方式。
与其这样,不如在仿真器一端就支持你随意指定管脚排列,任何情况都能使用,极大的方便了
用户(更不用说节省了做专用转接板的成本)。
另外,这样还有很多的创新可以做,比如插上未知板之后,自动检测JTAG管脚之类,如果没有
灵活的IO做保障,这些方便用户的功能都无法做了。

既然是从头开发新的东东,我觉得有必要在现有的设备做得不足的地方适当改进下。

出0入0汤圆

发表于 2009-12-22 21:55:06 | 显示全部楼层
看来FPGA和SAM3U的接法基本统一了意见。

SRAM的问题,还得继续讨论下。
S3A没有QFP208的封装啊,那就只能用S3E了。

出0入0汤圆

发表于 2009-12-22 22:00:19 | 显示全部楼层
to 【128楼】 minux 啊啊?
那还是考虑3S250E/500E吧
PQ208的IO比较多,可以考虑32bit的SRAM,类似网友roasn的逻辑分析仪
但是双面板布线可能就有些紧张了
不过成本又上升了

出0入0汤圆

发表于 2009-12-22 23:32:12 | 显示全部楼层
考虑了一下,这样吧
FPGA上挂SDRAM,作为“主存”(作为逻辑分析仪时为主缓冲器)
SAM3U片内RAM作为本地高速储存器,保存数据和代码,需要读写大量数据时通过FPGA读写SDRAM
稍后仔细盘算一下要多少IO,能用TQ144最好,便宜而且布板压力较小
没仔细看,不知SAM3U的8-bit总线能有多高的速度

出0入0汤圆

发表于 2009-12-23 00:13:36 | 显示全部楼层
我觉得还是先上软件方面的构架吧,毕竟那边可以脱离硬件,将来确定要用什么硬件再移植不就好了?

出0入0汤圆

发表于 2009-12-23 01:47:13 | 显示全部楼层
【131楼】 touch_avr

这种设计的软件要脱离硬件就得付出代价的…… 软件的问题我也在考虑中。
操纵JTAG状态机,也不是那么简单的,其实需要比较复杂的事件调度来优化状态转移,
这个事情我一直在想,但是还不很简单。而且这种优化在较低的层级是很难做的,最好
是从更高的层次进行优化,可是这并不简单。比如从一个编程算法中分析出最佳JTAG时
序是可以写一篇IEEE论文的(真的有人写过类似的哦~)。

【130楼】 h2feo4 无机酸

SDRAM也就是减少一半地址线啊…… 它的问题在于还得单独加个SDRAM控制器。
而且我们用这么大的容量么?先看看IO分配再定RAM的选择吧。

出0入0汤圆

发表于 2009-12-23 13:16:21 | 显示全部楼层
to 【132楼】 minux 啊啊?
SDRAM比SRAM便宜,占用IO少,而且我们并不需要那么快的速度,在FPGA里面装个控制器应该也不是很费力

我的建议,首先确定SAM3U是选C还是E,FPGA用什么封装,讨论下接口就可以开始准备布线
至于RAM和电平转换,先留出足够的IO,再慢慢讨论

出0入0汤圆

发表于 2009-12-23 13:48:31 | 显示全部楼层
如果是SAM3U+FPGA的话,我建议将FPGA按Memory接口挂在SAM3U的总线上,接两片SRAM挂在FPGA上:
  在作仿真器时通过FPGA将两片SRAM并行地挂到SAM3U的总线上;
  在作逻辑分析仪时FPGA将两片SRAM形成乒乓结构挂到SAM3U的总线上,这样逻辑分析仪采集的数据可实时送往上位机,以加深逻辑分析仪的存储深度。

由于系统比较复杂,PCB最好用4层或以上。

另外罗嗦几句:
  既然决定采用SAM3U+FPGA+MEMORY结构的话,真的不妨考虑考虑AVR32UC3A3xx+SDRAM+FPGA,FPGA不用挂任何存储器,直接DMA到AVR32UC3A3xx外挂的SDRAM中,这样硬件结构比较简单。
  AVR32UC3A3xx已经正式量产了,虽说不太好买,但买得到(我买过,要订货,1周到);SAM3U还处于Sampling阶段,前途不明确。

出0入0汤圆

发表于 2009-12-23 13:48:35 | 显示全部楼层

(原文件名:20091223A.PNG)
剩下的问题
SAM3U选C还是E
是否挂RAM,挂在哪里,是SRAM还是SDRAM
FPGA用何种封装144或者208
IO的具体方案

出0入0汤圆

发表于 2009-12-23 13:57:19 | 显示全部楼层
to 【134楼】 yzhu
先感谢你的建议
我之前一直认为32UC3A3买不到的……
讨论一下吧,不过AVR32大部分人都不熟悉,用起来很困难

请问dr2001觉得32UC3A3如何

出0入0汤圆

发表于 2009-12-23 14:23:35 | 显示全部楼层
AVR32UC3A3先看价格吧…
它的劣势是没有廉价仿真器支持…
那开发起来就麻烦多了…
ARM的好处就在于仿真器很多…有的很便宜…
如果订货的话,买得少人家都不卖… (也不能只考虑我们这里的货源,
开源项目就该尽可能使用容易买的器件,否则别人没办法做……)

SAM3U还是E吧,不然它八根地址线访问FPGA的存储器不也是很受限么…

出0入0汤圆

发表于 2009-12-23 15:22:17 | 显示全部楼层
两个参考的方案:1. FPAG + SRAM + FLASH + usb2.0 PHY 方案。使用软核openrisc,完整一台计算机,要做什么都行,软件写起来挺费劲的。2. 只用 cy7c68013 来实现,软件写出来就能用,过段时间,说不定 usb 3.0 的芯片都有了。

出0入0汤圆

发表于 2009-12-23 15:35:58 | 显示全部楼层
【138楼】 zzemu

用OpenRISC得用多大的FPGA?还有USB 2.0的Core,做设计是不能不做权衡的,全可编程用SoPC的方案固然可以,
但是那样做出来硬件成本太高,只能当作自己的玩具。况且全用FPGA,起步阶段太漫长,容易让人失去信心的。
cy7c68013a讨论过了,不过有很麻烦的问题需要workaround。

usb 3.0,呵呵,芯片估计很快就能有(Synopsys早就鼓吹他的USB 3.0 IP了,TI就有license,不过现在不出IC
根本不是技术问题,见下面(1) ),但是:
(1) 虽然参与制定它,但是Intel目前(2011年以前)暂时不支持它,所以有USB 3.0口的台式机近期还不会太普及
    (估计Intel在努力搞他的LightPeak呢)
(2) 我们没必要用USB 3.0,前面也说了,USB 2.0 HS现在已经足够用,并且在不久的将来的可扩展性都是够的
    目前最快的TCK频率是50MHz,那么实际数据下载速率不会超过50Mbps吧?离480Mbps还相距甚远。

出0入0汤圆

发表于 2009-12-23 15:56:03 | 显示全部楼层
SAM3U4E手上只有一片,而且还是焊下来的。SAM3U4C有5片。注意现在手上的sample资源,有没有必要用16位的。价格也是考虑之列。本人不赞成用AVR32, ecosystem不完善。写程序也累。

出0入0汤圆

发表于 2009-12-23 16:01:33 | 显示全部楼层
【140楼】 qiujianben

4E我这里可能会有几片,有个老师申请了,已经打过电话,据说快到了。
但是Atmel给几片还不清楚,我再去核实下。

出0入0汤圆

发表于 2009-12-23 16:04:50 | 显示全部楼层
to【137楼】 minux
SAM3U不知道什么时候能买到:)

AVR32UC3A3xx可以请阿莫组织货源,廉价仿真器有本站的“Snail”。
开源项目刚开始时参与的人员较少,可以申请赞助,用于购买关键芯片和仿真器。
逐步深入后,参与的人也多起来,此时因为系统软件结构已基本确定,可使用直接或ISP方式烧写代码。
我可以提供用Wiggler、ByteBlaster等接口通过JTAG烧写AVR32 FlashROM的软件(目前能烧写AP7000的外部FlashROM)。支持的接口也在不断增长中,目前计划支持USBBlaster,进一步可试一试Xilinx的下载线。

出0入0汤圆

发表于 2009-12-23 17:30:06 | 显示全部楼层
to 【142楼】 yzhu  
会玩AVR32的人太少了
虽说Snail仿真器不是很贵,但如果要用AVR32,就意味着每个参与者都要买一个,有多少人会愿意呢

不如这样,等讨论好接口协议,用什么处理器实现都是无所谓的,画板的时候各路信号都会留出排针,到时候做一块转接板,把AVR32往上一插,万事大吉

出0入0汤圆

发表于 2009-12-23 18:28:46 | 显示全部楼层
【142楼】 yzhu

那不妨先给个AT32UC3A3256的报价吧。

这种东西只用ISP调试是不靠谱的…… 即使软件框架已定;况且软件框架很难这么快就
搞好。AVR32是支持非侵入式的调试和Trace,不用真有点亏。
不用JTAG的话,除非我们先做一个类似8051调试时候用的监控程序,否则只有ISP不能保
证程序流程总在我们的控制下。

出0入0汤圆

发表于 2009-12-23 20:15:06 | 显示全部楼层
大约6、7月份时,我买了3片AT32UC3A3256S,当时要价¥240.00/片。

出0入0汤圆

发表于 2009-12-23 20:26:11 | 显示全部楼层
【145楼】 yzhu

竟然买的是-S的…… 而且还能买到……
那不带S的呢?

出0入0汤圆

发表于 2009-12-23 21:04:59 | 显示全部楼层
我的建议是使用SAM3U4E版本的,AVR32基本很难用.而且写出来的软件也没有Cortex-M3好移植,目前相比于AVR32的弱点是:
1. 不能挂SDRAM, 只能挂PSRAM
2. AVR32是ATMEL自己的架构,软件社区环境不成熟.

看上去这个项目还挺复杂的,需要仔细研究研究.

出0入0汤圆

发表于 2009-12-23 21:53:25 | 显示全部楼层
to 【146楼】 minux
我也不知道,当初订的是不带S的,想着先用所以才咬牙要的,哪不知到手时才知道是带S的:)

另外我觉得像这样的开源项目,硬件平台一定要仔细规划,软件依赖于硬件,一旦将来硬件结构发生了改变,软件跟着变动的工作量会很大。推荐AVR32是因为我觉得它最合适。至于AVR32的开发难度对整个系统来说我认为反而不是特别重要。

又仔细看了看帖子,minux的有些想法我觉得不错:在规划好CPU与FPGA的接口之后,JTAG可以先用CPU的SPI口甚至IO口模拟,只要在软件上分好层即可。这点可以参考UrJTAG,它就提出了分层(Stack)的概念(在http://sourceforge.net/apps/mediawiki/urjtag/index.php?title=FutureStack),软件和硬件的接口可以分布到层和层之间,我看硬件最高可以实现到L3。

如果将来还要规划带网口的,最好现在就加以考虑,在设计时就留下位置。

出0入0汤圆

发表于 2009-12-23 23:21:51 | 显示全部楼层
就初步定下使用SAM3UxE + FPGA吧,各位有没有意见
如果需要SDRAM,就把控制器放在FPGA中好了

讨论一下使用何种RAM
如果使用SRAM,是挂在SAM3U上还是FPGA上
如果用SDRAM,则只能挂在FPGA上

个人建议,挂SDRAM,这样逻辑分析仪的储存深度可以很大

出0入0汤圆

发表于 2009-12-24 03:01:11 | 显示全部楼层
【147楼】 qiujianben

是的,这个项目确实非常复杂。软件、硬件、固件都要我们去实现。但是这样的好处也明显,我们可以控制整个系统,
从而为我们的目标做充分的优化,很多现有的项目都难以做到这点(要么是必须兼容不同的adapter,要么是要兼容不
同的协议)。当然这是后面要做的事情,事情得一步步地来,前期我们可以先模拟模拟现有的设备,这样工作量不大的
情况下能让人看到可用的东西,比较好。
后期就是实现我上面说的所有的时候,也会是最有意思的地方了。
呵呵,我前面提了,这个项目真的应该单独开子论坛了,到后面一个帖子肯定讨论不清楚…… 当然前提是有足够的人
参与,否则这个项目也做不下去…… 可以肯定这会是个非常长期的项目,不过开源项目嘛,我们也没有什么发布时间
的压力,慢慢来就好。


【148楼】 yzhu

恩,我知道UrJTAG项目,从原来的openwince项目fork出来的。它的设计理念不错,不过我想做到是比它更高的性能。
JTAG是个不那么好处理的协议,想提高性能需要动很多脑筋,我一直在考虑这方面的问题。
另外,OpenOCD也是个类似的项目,但是它的关注点主要在ARM(渐渐的也有其他体系结构的支持加入,比如AVR),它
的问题在于很多时候使用bit-bang JTAG,速度相当慢,它的结构设计的有问题(当然,我知道这跟他想支持那么多的
JTAG adapter有关,毕竟支持那么多类型的adapter,你就只能提取一个最小公因子来设计了)。我们的项目我觉得目
标就是高性能和高灵活性;将来上位机软件只对我们自己的硬件接口,这样我们省事儿了很多,而且可以对整个系统
进行非常好的优化(最重要的一点就是任务分配:那些上位机做,哪些MCU做,哪些FPGA做)。


【149楼】 h2feo4 无机酸

那作为逻辑分析仪的采样速度呢?如果太快,SDRAM带宽会不会跟不上了……
其实啊,我本来还想做ARM的Trace呢,后来想了半天,支持200MHz的Trace时候非得用DDR2,但是那样双层版肯定没戏,
于是只得作罢。当然Trace的本质就是个逻辑分析仪(就是触发条件有点复杂,还需要和JTAG交互;另外,需要好的压缩
功能);既然这个项目还有逻辑分析仪的功能,加上简单的Trace就是可以的了。
我觉得至少应该用PQ208封装的FPGA,然后接个足够快且足够大的RAM,Trace有一个问题是数据量非常大,比如J-Trace
用了4片166MHz 2M*16bits*4Banks SDRAM;RealView Trace的深度也是4M,这个项目倒是没必要做那么大,毕竟想把事
情都做全是不可能的,但是最好能在FPGA上SDRAM吧。但是,16位的IO就有点不够了,可以考虑加上16位Input-only的,
以支持逻辑分析仪和ARM Trace。Input-only的可以考虑使用支持DDR接口的,因为Trace里面有个halfrate模式,是用半
倍速时钟+双沿数据。

出0入0汤圆

发表于 2009-12-24 11:16:55 | 显示全部楼层
抽空画了一个系统结构框图,供参考:

(原文件名:Modula.PNG)

接口模块可以从“最简单的引线”到“逻辑电平转换”...再到“复杂的FPGA模块”逐步升级。

重新换了图,原图效果不好:)

出0入0汤圆

发表于 2009-12-24 13:36:20 | 显示全部楼层
to 【150楼】 minux 啊啊?
干脆做两个版本吧 multijtager、multijtager pro
我三月底左右要做一块6层板,到时候拼进来就好了
multijtager 就用 SAM3UxC + XC3S50A,用双面板
multijtager pro 就用 SAM3UxE + XC3S500E + DDR2,用6层板
以上仅仅是举例

出0入0汤圆

发表于 2009-12-24 13:55:15 | 显示全部楼层
先出个基本版供软件调试用,顺便上手。

出0入0汤圆

发表于 2009-12-24 16:19:40 | 显示全部楼层
对,先弄个基本版本…高级版先不急吧…最好先确定其余部分都工作正常后再慢慢设计高级版。
等Spartan 6正式上市后,就考虑用它吧,它内置硬DDR1/2/3控制器,这样不但效率高,还能节省出资源供别的逻辑使用,毕竟DDR控制器怎么得两千LE。

出0入0汤圆

发表于 2009-12-24 21:48:59 | 显示全部楼层
【151楼】 yzhu

恩,你这个跟我们的想法大体差不多。
只是我们没准备接串口和网口,同时还需要配置存储器。

出0入0汤圆

发表于 2009-12-24 21:52:44 | 显示全部楼层
to 【155楼】 minux 啊啊?
一般处理器都有串口,直接引出就是了,也方便调试

出0入0汤圆

发表于 2009-12-24 22:11:01 | 显示全部楼层
网络口的话请等待SAM3X

出0入0汤圆

发表于 2009-12-24 22:19:57 | 显示全部楼层
【156楼】 h2feo4 无机酸

恩,调试用是可以,不过有了JTAG和SWV之后,其实不用串口也能很好的调试程序了。
主要是考虑到很多机器都没有串口了…… 所以还是尽可能用调试器的SWV之类的功能
来送出数据。

你觉得基础版本如何配置RAM?
基础版本用哪个FPGA?如果要性能高点,可以上个Cyclone 3,这个我比过,是比S3E还
要好点的。另外,EP3C5/EP3C10/EP3C16/EP3C25都有QFP144脚封装,不会像XC3SA系列那
样受限制(如果想用QFP144封装,只有XC3S50A一个可以用)。劣势是多一个电源(2.5V PLL)
和IO少点(94(0) vs 108(7))。其他的优势是BRAM大很多,423kb对54kb。

我的意见是如果XC3S50A-4TQ144不够用,就上EP3C5E144C8吧(逻辑资源比XC3S200A还多些,
价格60左右)。从基础版本的未来扩展来看,可能上个EP3C5会高点。

如果我们不用更多IO的FPGA,那么几乎没办法把SAM3U4E的总线接在FPGA上(也就是说SRAM挂
FPGA上),注意外部16位IO得耗费48根IO啊,如果我们还想要input-only的,超过一半的FPGA
IO就被占用了。
这么算来,FPGA IO非常紧张的,外部IO的电平转换部分还得仔细考虑下如何节省IO占用。
要不干脆用XC3S250E-4PQ208算了,这个肯定是够了。

这个基础版做了之后,以后给大家DIY的时候,可以专门设计一个更简单的版本,比如不用SRAM,
用SAM3U4C+XC3S50A的方案。甚至只用SAM3U4C的tiny版。

出0入0汤圆

发表于 2009-12-24 22:21:14 | 显示全部楼层
【157楼】 qiujianben

恩,反正用了Cortex-M3就不愁以后没有升级的芯片。网络口估计还得多等等,
加了它就做成BDI那样的了…… 太复杂……

出0入0汤圆

发表于 2009-12-24 22:42:01 | 显示全部楼层
我支持【158楼】minux 啊啊?  的意见
用Altera的cyclone系列

出0入0汤圆

发表于 2009-12-24 23:23:06 | 显示全部楼层
可以借鉴jlink,用一个SAM3U的两个spi总线就可以了,将其配置成主从模式,既可以实现jtag访问
主spi的sck-》tck
主spi的sck-》从spi的sck
主spi的mosi-》tdo
主spi的miso-》tdi
从spi的mosi-》tms
从spi的miso-》tdi

出0入0汤圆

发表于 2009-12-25 10:59:51 | 显示全部楼层
to 【158楼】 minux 啊啊?
挂什么RAM,主要取决于打算让RAM装什么
第一块板子就用PQ208的吧,留下一些IO方便调试/扩展

出0入0汤圆

发表于 2009-12-25 13:21:58 | 显示全部楼层
161楼,不要用两个SPI,因为USART做SPI的速度比真正的SPI低,JLink用的是SSC配合SPI的。

出0入0汤圆

发表于 2009-12-25 13:52:11 | 显示全部楼层
SSC也可以算spi总线
我是说两个spi总线,没有说用UART,上面对两个spi互联实现jtag有简单的描述

at的mcu spi接口,无论主从速度一般都能到几十M,这个jtag时钟我想应该够了吧
SAM3U有高速usb,主频也比jlink的s64要快,spi外设时钟也不会慢到哪里去,而且最终速度都会受到设备jtag时钟的限制,所以spi速度不是问题

用mcu的好处在于灵活,而且成本低,如果不需要特别复杂的功能,一个SAM3U就可以了

出0入0汤圆

发表于 2009-12-25 15:11:06 | 显示全部楼层
【162楼】 h2feo4 无机酸

SAM3U的一个USART也要接在FPGA上,一是可以做个SPI口,
另一个是ARM的SWV(Single-wire viewer)有两种编码,一个就是UART。
另外一种编码得用FPGA处理,UART这个别浪费FPGA资源了。

出0入0汤圆

发表于 2009-12-25 15:13:12 | 显示全部楼层
【164楼】 gaiwang42

FPGA另有它用,他首先可以做灵活的转接,SAM3U单独可没办法做这个功能。
其次,逻辑分析仪和Trace等等,没有FPGA都做不了。

另外,要论灵活,也得说是FPGA灵活,同时,现在我们选的FPGA可比SAM3U
便宜。

出0入0汤圆

发表于 2009-12-25 19:27:27 | 显示全部楼层
我觉得第一个版本可以当作开发板来看待。
我们需要适当丰富的资源和扩展能力,目的是方便扩展别的芯片,方便我们评估不同的实现方案,等等。并最终实现相应的方案。

基于此,我倾向于PQ208的FPGA,FPGA挂存储器(通过预留并行接口的形式,子版),SAM3U的SPI,SSC,UART尽量都连接上,加上一定的GPIO。这样,最差情况是FPGA只是一个Router,如果我们需要实现逻辑,也会比较方便。

等软件支持发展到一定程度,再讨论使用什么样的精简方案。

出0入0汤圆

发表于 2009-12-25 20:29:08 | 显示全部楼层
先看楼再说

出0入0汤圆

发表于 2009-12-25 21:25:19 | 显示全部楼层
成本超过100,基本没有前途

如果fpga便宜,可以用cy7c68013+fpga

功能不要想的太多,贪多嚼不烂
建议先现实基本jtag转换访问,再想扩展其他功能
软件尽量放在上位机来做,板子基本就是实现一个协议转换

想做虚拟示波器、逻辑分析仪,这些都不是一时半会搞得定的,时间长了,就不了了之了

出0入0汤圆

发表于 2009-12-25 21:33:27 | 显示全部楼层
to 【169楼】 gaiwang42
68013之前至少讨论了200多楼,有很难解决的问题(不是不能解决,但是很麻烦),要不早就用它了

出0入0汤圆

发表于 2009-12-25 22:23:57 | 显示全部楼层
现在才170楼!

我看了半天,还没有搞清楚68013到底有哪些很难解决的问题

我觉得你们把东西想的太多,导致需求定义也不断膨胀,硬件电路变得越来越复杂
我觉重点还是应该放在软件上,大部分功能的实现放在pc上做

目标硬件上根本不需要放sdram、sram和nand之类,因为固件可以通过usb从pc下载,如果受限于内部ram空间,也可以分成多个固件来装载

还有关于电平转换的问题,现阶段根本没有必要讨论,这是个硬件的问题,应该在功能都实现的差不多,逻辑验证也已经完成了,这时候再讨论

出0入0汤圆

发表于 2009-12-25 22:33:04 | 显示全部楼层
【169楼】 gaiwang42

我们又不是要卖这个产品。成本比一般的仿真器、下载器高些,那是因为
它有其他产品所不能比拟的功能。同时,做了它的用户,不只可以用它做
我们设计好的功能,还可以随意DIY,修改功能,增加功能以适应自己的需
要。试问别的什么产品能做到这点?大多数现在的同类产品便宜是牺牲了
这种灵活性而达到的。

因为是开源项目,所以反而不怕有人失去兴趣,因为它是开源的,只要有
(别)人感兴趣即可。反而商业闭源产品才有类似的担忧,一旦原公司失去
兴趣,那可就真的宣告该产品的终结了(所以很多有魄力的公司会在停止
开发后开源那些产品,让他们获得长久的生命力)。

出0入0汤圆

发表于 2009-12-25 22:46:08 | 显示全部楼层
【171楼】 gaiwang42

这个贴才170多楼是因为68013a的问题是在另外一贴讨论的。
我在此简要说一下:
68013a不能屏蔽0xa0这个VR,如果我们要模拟的器件也是用68013a做的话,我们
的设备不用很麻烦的方法很难用我们自己的硬件结构和固件(上位机会reset 68013
然后下载他们的代码,如果这样的话,我们就必须兼容那些设备的硬件,这在很多
时候非常不现实[完全兼容需要反向原产品;但是正向重新设计往往更容易])

请注意我们选择SAM3U的原因是其他的要么贵,要么不能用,如果你能提供一个更
廉价的符合我们要求的具有高速USB接口的芯片,我们会非常愿意再讨论的。但是,
我建议请先看看我在39、40楼的分析,看看我们已经调研过哪些器件。

还是那句话,我对于所有建议我们先开发软件的网友都是这么回复,不做出一个
硬件平台,我们如何编写测试软件?
另外,我想听听您如何做到在PC机上验证这个东西的逻辑时序,就以模拟Xilinx
FPGA的XPCU为例吧,你说说怎样不用硬件就验证你的软件、固件没问题?

我发现论坛中很多人都觉得软件比硬件重要,这个观点是有前提的。只有你的软件
是在较高级的OS里面跑的时候才是软件重要,这时候你的硬件平台设计非常简单,
参考设计也很多,只要能跑那个操作系统即可。但是我们的设计显然不属于这个类
别,需要仔细分析软件、需求之后挑选最合适的硬件平台。有人说什么硬件不重要,
软件实现之后移植一下就行了,那我问问,你如何简单地把给AVR32写的程序移植到
ARM平台上?难道你的代码完全不处理硬件接口么?注意,没有操作系统为你提供
抽象。

出0入0汤圆

发表于 2009-12-25 22:51:01 | 显示全部楼层
【171楼】 gaiwang42

继续补充一点,我们确实是需求不断变多,这是项目的性质所致。
前面说了,性能和灵活性是项目的目标。
另外,我们也考虑了硬件分多个版本,用户可以根据自己的需求选择合适成本的
硬件。所以我们没要求每个硬件都实现所有的目标,现在设计的是供我们实验
开发用的初始版本,显然不是最后发布的版本。
就像其他项目类似,供软件开发的硬件一定很复杂的,开发软件之后才会发现那些
东西是可以去掉但是不影响项目目标的,后期就会经过不断的简化设计最后才是发
布的版本。

出0入0汤圆

发表于 2009-12-25 23:32:14 | 显示全部楼层
请各位大大考虑下i.MX23x,Hi-Speed USB,AES-128加解密等,不过只能上DDR双面板可能有问题,PQFP208的FPGA挂2片DDR算了。这样功能绝对跟的上,软件方面工作量大了,可以做开发板,逻辑分析仪... ARM926EJ-S还可以搞定LINUX,是不是很诱人

出0入0汤圆

发表于 2009-12-25 23:45:48 | 显示全部楼层
【175楼】 scar

这么高端的ARM926EJ-S的SOC,做BDI2000类似物还差不多……
为了伺候这个片子还得上DDR, Flash,还要跑个操作系统……
它的AES加解密我们完全用不上的……
有点浪费啊。

最基本的系统必须双面板搞定,这个没有商量的余地,否则让DIYer
画几百元甚至上千元去做PCB有点不厚道。

PQ208的也不能挂两片DDR,我们的IO还是挺紧张的。

(ARM7/9/11, Cortex-A8上面的Linux我都玩过,这还真没啥好诱人的,
况且本项目真的不需要那么高端的芯片……)

出0入20汤圆

发表于 2009-12-25 23:56:05 | 显示全部楼层
同意楼上的.硬件越简单越好.在下认为首选SAMU3.其次是STM32,再次是网口.

出0入0汤圆

发表于 2009-12-26 00:07:47 | 显示全部楼层
漫长的谈论,既然咱们决定了硬件,搞个框图开始画图纸吧

出0入0汤圆

发表于 2009-12-26 02:21:36 | 显示全部楼层
框图是早就有了,但是现在还没完全讨论完硬件的设计呢…
SRAM还是SDRAM?
外部IO接口如何处理?要不要自动切换Vref?如果要的话,用什么器件切换?接GND的NMOS选啥?

出0入0汤圆

发表于 2009-12-26 08:47:12 | 显示全部楼层
目前看,SAM3U是大家比较一致的看法,我倾向选用SAM3UxE,带16Bit外部总线的版本。
FPGA,使用PQ208的封装,Xilinx还是Altera尚待决定。

其中,SAM3U与FPGA的接口:SPI(4pins x 1),USART(3pins x 2),SSC(6pins),外部总线(~35Pins??)=~50 Pins
SAM3U预留一个SD卡;
FPGA预留一定量的GPIO,可以根据需要用子卡挂SDRAM或者SRAM;或者,未来扩展新的FPGA加存储阵列,等等。SRAM按51216计算,约40Pins向上。
IO的Vref/GND目前暂定是用户给定,能够灵活配置,不进行自适应。因此,这些IO是低速模式,可以使用IIC IO扩展器实现。使用SAM3U的资源即可。
这样的前提,使用16路IO,需要FPGA资源32 Pins。

这样,大约需要FPGA引脚130Pins左右,PQ208肯定能满足要求,多出来的空闲引脚可以放在GPIO接口上,用于扩展存储器和辅助处理装置。

IO的NMOS/PMOS可以用我前边提到的,那个IRF的对管,7504??一下找不到。性能还可以。PMOS需要电压抬升或者用5V驱动。

出0入0汤圆

发表于 2009-12-26 11:41:44 | 显示全部楼层
回复【172楼】minux  啊啊?
【169楼】 gaiwang42
我们又不是要卖这个产品。成本比一般的仿真器、下载器高些,那是因为
它有其他产品所不能比拟的功能。同时,做了它的用户,不只可以用它做
我们设计好的功能,还可以随意DIY,修改功能,增加功能以适应自己的需
要。试问别的什么产品能做到这点?大多数现在的同类产品便宜是牺牲了
这种灵活性而达到的。
因为是开源项目,所以反而不怕有人失去兴趣,因为它是开源的,只要有
(别)人感兴趣即可。反而商业闭源产品才有类似的担忧,一旦原公司失去
兴趣,那可就真的宣告该产品的终结了(所以很多有魄力的公司会在停止
开发后开源那些产品,让他们获得长久的生命力)。
-----------------------------------------------------------------------

开源项目要想吸引更多的人来开发,前提是这个东西的雏形已经出来了,也就是部分功能能正常工作,这一点我深有体会
我以前也发过帖子号召大家一起做一个开源的usb-jtag,并也为之做了许多验证,不过我的初衷是做arm调试用,但是应者寥寥
你们讨论的这些方案,我当时也都研究过,当时没有高速usb的mcu,所以最后选择了用68013,但是我更倾向于jlink的硬件构架,单芯片mcu,如果有必要也可以加入CPLD/FPGA,但这只应该是下一步要考虑的事情
我用68013做过jtag的时序验证,并能在pc正确获取arm芯片id,并试图开发openocd的驱动,后来因为有另外的项目,这个就一直搁浅了,论坛上还有当时的帖子和我用sdcc编译的68013的sdk

功能越复杂,实现起来也就越困难,如果一开始就将需求定义了很多东西,这样只会让以后的实现越困难
如果一定需要这么多功能,我建议分步实现和验证,把最重要和核心的东西先做
1、实现和验证硬件对目标板jtag的访问(可以用串口调试)
2、实现和验证pc访问目标板jtag(固件和驱动开发,协议)
3、应用程序开发(实现几个有限的基本功能,下载、烧录或者调试)
然后发布出来成立开源项目,以后再慢慢修改,增加更多功能和对目标芯片的支持
其实硬件方案并不是一锤定音,积累一定经验之后,可以改进新硬件
刚开始,不论哪个候选方案,都能够满足验证目标jtag访问的需求

出0入0汤圆

发表于 2009-12-26 12:11:53 | 显示全部楼层
回复【173楼】minux  啊啊?
【171楼】 gaiwang42
这个贴才170多楼是因为68013a的问题是在另外一贴讨论的。
我在此简要说一下:
68013a不能屏蔽0xa0这个VR,如果我们要模拟的器件也是用68013a做的话,我们
的设备不用很麻烦的方法很难用我们自己的硬件结构和固件(上位机会reset 68013
然后下载他们的代码,如果这样的话,我们就必须兼容那些设备的硬件,这在很多
时候非常不现实[完全兼容需要反向原产品;但是正向重新设计往往更容易])
请注意我们选择SAM3U的原因是其他的要么贵,要么不能用,如果你能提供一个更
廉价的符合我们要求的具有高速USB接口的芯片,我们会非常愿意再讨论的。但是,
我建议请先看看我在39、40楼的分析,看看我们已经调研过哪些器件。
还是那句话,我对于所有建议我们先开发软件的网友都是这么回复,不做出一个
硬件平台,我们如何编写测试软件?
另外,我想听听您如何做到在P......
-----------------------------------------------------------------------

我并不是说不用硬件而在pc上用软件模拟,你误解我的意思,我的意思是先找个硬件来验证模型的可实现性,而不用从头开始做硬件,先验证通过,在根据实践来规划硬件平台
关于硬件平台,可以先找一个现成的替代来做验证,如jlink的硬件,模型完全是一样的,完全可以拿来做验证,或者是68013的板子,可以先用gpio实现jtag的访问,实现了再考虑速度的问题

出0入0汤圆

发表于 2009-12-26 12:16:14 | 显示全部楼层
【181楼】 gaiwang42

还是啊,你也是得有硬件平台后才能开始做软件啊。我们先做硬件就不行么?
照你这么说开源项目就不能从零起步了?

我们定义了很多目标,但是也没说都要很快实现,显然是一步步来,
前面我发文说过软件开发的步骤了。
但是考虑很多的需求,可以让硬件平台更灵活。

前期随意选一个方案都可以,但是后期如果发现不合适呢?再改的话,前期的代码怎么办?
我们现在先做硬件,只要平台出来后,就算你说的“有部分功能能工作”啊,我们的板子
是可以满足很多需求的,做MCU+FPGA的实验板都是可行的,为啥非认为只有软件出来了才算
有部分功能能用呢?硬件就不算么?

这个项目硬件和软件是同等重要的,不解决IO的问题,即使软件实现得很好,以后也无法
支持很多的target。别以为硬件那么简单……

出0入0汤圆

发表于 2009-12-26 12:20:52 | 显示全部楼层
【182楼】 gaiwang42

还是那句话,没硬件如何验证软件?
我现在没看到我们目前的硬件有任何问题导致不能实现JTAG。
我们也没说硬件是一锤定音啊,前面也说了要在做软件开始后再逐步调整硬件,先出一个
大而全的版本供开发。

用GPIO验证时序,用68013可以,用SAM3U当然更可以。
毕竟改软件比硬件容易,要尽可能减少硬件的改版次数。

出0入0汤圆

发表于 2009-12-26 12:25:57 | 显示全部楼层
回复【180楼】dr2001  
目前看,SAM3U是大家比较一致的看法,我倾向选用SAM3UxE,带16Bit外部总线的版本。
FPGA,使用PQ208的封装,Xilinx还是Altera尚待决定。
其中,SAM3U与FPGA的接口:SPI(4pins x 1),USART(3pins x 2),SSC(6pins),外部总线(~35Pins??)=~50 Pins
SAM3U预留一个SD卡;
FPGA预留一定量的GPIO,可以根据需要用子卡挂SDRAM或者SRAM;或者,未来扩展新的FPGA加存储阵列,等等。SRAM按51216计算,约40Pins向上。
IO的Vref/GND目前暂定是用户给定,能够灵活配置,不进行自适应。因此,这些IO是低速模式,可以使用IIC IO扩展器实现。使用SAM3U的资源即可。
这样的前提,使用16路IO,需要FPGA资源32 Pins。
这样,大约需要FPGA引脚130Pins左右,PQ......
-----------------------------------------------------------------------

是的,我同意SAM3U4E的选择。
第一版FPGA用最大可能的QFP封装,这点我也同意。
用IIC Expander我同意,原来我是想用74hc595的,不过那时是FPGA为主,现在有SAM3U了,IIC就没问题了。
那还得考虑下Vref和GND的控制问题,Vref不能只用PMOS还得加个NMOS做level shifting,否则5V Vref的
时候3.3V也不能关断它。
这几个器件的选择还没定。

我建议如下,每个外部IO管脚都能做GND,但是只有一端3*2个可以做Vref,我看目前的JTAG Pinout都满足
这个。这样的trade-off还是不错的,我觉得。

出0入0汤圆

发表于 2009-12-26 12:31:39 | 显示全部楼层
我从来都没有说过软件比硬件重要,我本身就做过多年硬件

我觉得你说得更多的似乎是意识形态的问题,而不是项目本身的需求

开源项目的基础是开放和交流

出0入0汤圆

发表于 2009-12-26 14:23:45 | 显示全部楼层
【186楼】 gaiwang42

既然如此,那我不明白你到底想表达什么了……

如果说我们的架构有问题,请直接说明。
你说的验证,到底是想验证什么呢?我实在是不明白。现在所选的硬件平台的能力,
各项指标和JLink所用的AT91SAM7S64来比,都是有过之而无不及的,我不知道这个
平台为什么不能用。

如果只是用GPIO来验证JTAG时序,我认为大可不必,68013能做,SAM3U当然也能做,
我们的目标是让FPGA来处理整个JTAG状态机的转换,就像TI的'hct8990芯片那样,这
样上位机/MCU可以从更高层次上进行调度。
要论验证,这才是真正要验证的,这当然要做出来硬件平台之后才能做。

出0入0汤圆

发表于 2009-12-26 18:41:48 | 显示全部楼层
首先我想说的是我对你并没有成见
其次,持有不同的看法并不代表不尊重对方
另外,我也从来没有表达过任何贬低你们的意思

因为我也试图搞过类似的usb-jtag的工具,做的过程中也有一些经验和体会,我仅仅对事不对人的表达了我的看法,而你却认为我这是在挑战你

我想问一下,你所说的真正的验证,已经在开发板上验证了还是等板子做出来再验证呢?

那JTAG时序和对芯片jtag状态机的访问你验证过吗?

出0入0汤圆

发表于 2009-12-26 19:12:53 | 显示全部楼层
【188楼】 gaiwang42

我说的验证当然是要在板子出来之后再验证。
我还是不明白我们在硬件做完之前如何去验证“JTAG时序和JTAG状态机”?

而且,你的意思是具体要验证什么?

我再强调一下,现在开发的硬件平台是我们开发软件用的,功能多点没啥吧?
最后发布的时候自然会想办法简化。
NAND是因为我们有脱机编程器的考虑,最后肯定有简化版本不要NAND这个。
外部RAM是因为有逻辑分析仪的考虑,同样这个在简化版中也不必要。
我们前面还说过最后最基本的版本就根本不用FPGA,直接用SAM3U4实现。
如果上来就只设计个最简单的平台来验证软件,那那些高级功能如何开发?

我们也希望能在PC机上进行尽可能多的事情,不过这个设计是必须用HS USB的,
我不想在这里再重复一遍理由,考虑了诸多选择后,目前SAM3U是性能足够的
成本最低的方案。加上FPGA是为了能切换不同的JTAG Pinout以及逻辑分析仪
功能所用;以后还可能直接在FPGA中实现操纵JTAG状态机的工作,这样如果忽略
68013a的那个0xa0的问题,直接把FPGA接在cy7c68013a上也可以做出一个更简单
的版本。但,这一切的前提是:我们有一个足够强大的开发板。

本项目现在处于起始阶段,正在敲定硬件结构,同时准备开始软件的工作。

出0入0汤圆

发表于 2009-12-26 19:20:08 | 显示全部楼层
SAM3U的C/E的Altium Designer的原理图模型:
点击此处下载 ourdev_519179.rar(文件大小:4K) (原文件名:AT91SAM3U.rar)

每个管脚的所有复用功能都加上了,以后分配IO的时候可以方便点。

不过我们需要特别注意下管脚复用似乎有点不够灵活,我觉得有些功能似乎复用的分配不是很好,似乎没STM32
分配得好……

出0入0汤圆

发表于 2009-12-26 20:24:32 | 显示全部楼层
dr2001, 你前面推荐的IRF5851 我看了,应该可以的,那就用5V通过NMOS控制推PMOS控制Vref,
这个没问题了。(如果板子上有MAX232之类,可以用它的高压来控制PMOS,那就非常完美了)

似乎还得找个单独封装的NMOS的来控制GND。不过考虑到我们可以用个5V驱动的IIC并行IO扩展芯片。

用两片PCA9535或者一片PCA9535一片PCF8574,16*2/16+8个IO,足够控制16个GND以及8个Vref了,
大家觉得如何?8个Vref就是上面2*4个(其实3*2个就够了)根针脚有Vref功能。

不过,是不是该在针脚旁加LED向用户指示pin 1的位置呢?毕竟有时候我们的插座得反着插,不过这个
没啥大不了的问题,这个初始版本可以不考虑。

这部分没啥问题了就IO的电路差不多,RAM吧,要是考虑开发方便呢,在FPGA上SDRAM吧,不过那样的话
双面板布线可能有点麻烦?

给SAM3U的NAND,这个随意选择一个就行了,反正管脚是兼容的,根据手头有的型号上一片即可。

别的没啥问题要讨论了吧?最好是假期的时候能做好板子,那时间正好写软件合适。

出0入0汤圆

发表于 2009-12-26 21:09:08 | 显示全部楼层
回复【190楼】minux 啊啊?
-----------------------------------------------------------------------

稍稍看了下SAM3UxE的引脚分配,觉得想在双面板上布下还是相当有挑战性的

出0入0汤圆

发表于 2009-12-26 21:14:22 | 显示全部楼层
【192楼】 h2feo4 无机酸

要不双面板的版本换成SAM3U4C?
抑或是分成子板?在子板上解决晶振,电源等必须的东西,其余管脚全部拉出,
这样我们不会浪费我们仅有的样片。

出0入0汤圆

发表于 2009-12-26 21:20:40 | 显示全部楼层
to 【193楼】 minux 啊啊?
做成子板倒是可以,用两条排针连接
两三块双面板还是比一块四层板便宜很多了

出0入0汤圆

发表于 2009-12-26 21:33:16 | 显示全部楼层
回复【193楼】minux 啊啊?
-----------------------------------------------------------------------

做成这样如何
堆叠式
1号板 SAM3UxE、晶振
2号板 XC3S250E、SDRAM
3号板 IO电平转换

之间通过贴片双排排针/排座连接

出0入0汤圆

发表于 2009-12-26 21:42:52 | 显示全部楼层
哦,也可以哦,而且可以看看能不能巧妙地设计,让SAM3U子板直接插在IO电平转换板上可以达到
部分功能。我觉得应该能做到,这样我们可以简化板就直接去掉FPGA部分就行了。

这样三个部分我们都可以单独替换,改硬件设计的时候就方便得多了。

唯一的问题:50M的速度下这种结构能不能满足信号完整性的要求?

出0入0汤圆

发表于 2009-12-26 21:47:30 | 显示全部楼层
to 【196楼】 minux 啊啊?
50M应该问题不大吧
用1.27mm排针应该性能好些,但是不方便用杜邦线

出0入0汤圆

发表于 2009-12-27 00:00:33 | 显示全部楼层
慢慢的看SAM3U的手册
怎么觉得16-bit总线和SDIO没法同时用呢……
==========================================================================
看到854页,应该是可以同时用的……

出0入0汤圆

发表于 2009-12-27 21:00:47 | 显示全部楼层
【197楼】 h2feo4 无机酸

恩,如果dr2001没啥异议就这么做吧。
是不是得考虑下MCU板直接跟IO板可以相连?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2022-8-9 14:54

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

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