搜索
bottom↓
楼主: multijtager

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

[复制链接]

出0入0汤圆

发表于 2010-5-2 22:27:52 | 显示全部楼层
【500楼】 h2feo4 无机酸

可以分开,分开了又会发现每页没有多少东西了…… 哈哈


FPGA配置方案有没有定论?是否考虑不同厂家的FPGA混用?

出0入0汤圆

发表于 2010-5-3 10:30:11 | 显示全部楼层
回复【501楼】&【502楼】minux 啊啊?
-----------------------------------------------------------------------

后备电池我觉得不用通过二极管了,直接接上就是了,RTC功耗很小,这点不算什么,官方的电路图上也没有二极管
而且ATMEL难道就不会想到把这个二极管集成到片内么?

电源管理暂时不用做的太复杂,但保留扩展的空间
如果是我的话,我会在板子上放一块mega48,用IIC连接MCU,这样板子上的各路电压电流就都可以测到了(而且mega48有差分AD输入、放大,对于高端电流检测甚是方便啊)

FPGA之前讨论的是XC3S250E
考虑我们目前的堆叠结构,只可能有两块FPGA板,即MCU上面一个,下面一个
配置可以考虑使用SPI的片选线,两个分别配置,不考虑配置链

FPGA型号可以暂时只考虑Xilins和Altera两家,Xilinx肯定是Spartan-3A/E,Altera估计就是Cyclone-3

按目前的进度来看,我们估计还要一个星期才能出板,现在原理图还没定稿,封装库也没有。

另外,一个不幸的消息,我的6层FPGA板可能泡汤了,本来打算和另一个项目拼板去做的,但现在那个项目被砍掉了……

出0入0汤圆

发表于 2010-5-3 12:06:44 | 显示全部楼层
Altera估计就是Cyclone-3 吧

出0入0汤圆

发表于 2010-5-3 13:52:57 | 显示全部楼层
顶一个,价格通用才是王道

出0入0汤圆

发表于 2010-5-3 15:46:38 | 显示全部楼层
我重新做的IO分配
主要是把A2-A7从PC搬到PB来了,考虑IO数量不够,HSMCI还是只用四位好了
剩余14个IO
2 for SD_slot
3 for LEDs
4 for FPGA_config
2 for DMA
1 for USB_Vbus_Detect
2 Reserved

(原文件名:20100503A.PNG)

我们最好讨论一下FPGA的配置方式,这样可以确定SPI的用法
是采用配置链,还是每个FPGA用一个nPCS?

出0入0汤圆

发表于 2010-5-3 16:10:51 | 显示全部楼层
配置链  方便

出0入0汤圆

发表于 2010-5-3 16:17:33 | 显示全部楼层
回复【507楼】kk2614755
配置链  方便

-----------------------------------------------------------------------

我们这个系统可能同时存在多个厂家的FPGA
配置链能跨厂商混排么?

出0入0汤圆

发表于 2010-5-3 18:36:23 | 显示全部楼层
这个要看看手册

但是用每个FPGA用一个nPCS, 这样又出一个IO了

出0入0汤圆

发表于 2010-5-3 18:49:34 | 显示全部楼层
【506楼】 h2feo4 无机酸

那个VBUS检测IO分配的时候选择有WKUP功能的,这样可以在插入USB的时候唤醒单片机。

至于VDDBU的接法,SAM3U-EK板子上是用两个二极管的方式…… 估计还是为了减少电池的消耗吧。

SAM3U-EK的电路图:
点击此处下载 ourdev_551255.pdf(文件大小:566K) (原文件名:SAM3u-ek_REVB.pdf)

配置的问题我再看下。

对了,FPGA板为啥不能层叠了?总线不穿板不是更好层叠了么?

出0入0汤圆

发表于 2010-5-3 18:54:45 | 显示全部楼层
回复【510楼】minux 啊啊?
-----------------------------------------------------------------------

那个VBUS检测IO分配的时候选择有WKUP功能的,这样可以在插入USB的时候唤醒单片机。
>没问题

至于VDDBU的接法,SAM3U-EK板子上是用两个二极管的方式…… 估计还是为了减少电池的消耗吧。
>那就加上二极管吧

对了,FPGA板为啥不能层叠了?总线不穿板不是更好层叠了么?
>是可以堆叠,配置上就更复杂一点

出0入0汤圆

发表于 2010-5-3 20:54:48 | 显示全部楼层
回复【510楼】minux 啊啊?
-----------------------------------------------------------------------

SAM3U-EK 中用的那块FLASH貌似引脚排列很不错啊,而且和8bit是兼容的,我们用那个封装吧?

出0入0汤圆

发表于 2010-5-3 21:05:18 | 显示全部楼层
【512楼】 h2feo4 无机酸

MT29F2G16这个片子的数据手册下载不到(要签NDA)…… 估计这个器件会难买啊……
当然,布线允许的话,能上16位Flash是再好不过了。
8位的最快是26MB/s,16位最快是41MB/s.

出0入0汤圆

发表于 2010-5-3 21:11:13 | 显示全部楼层
回复【513楼】minux 啊啊?
-----------------------------------------------------------------------

一块FLASH搞这么神秘……
买不到就算了,反正那个封装向下兼容8bit的
倒不一定难买,例如DS28E01的数据手册就要签NDA,但片子很容易买

不知有没有其他厂家提供这种封装的IC

出0入0汤圆

发表于 2010-5-3 21:21:45 | 显示全部楼层
回复【513楼】minux 啊啊?
-----------------------------------------------------------------------

关于MT29F2G16,我找到个这个,看看有用没
点击此处下载 ourdev_551297.pdf(文件大小:224K) (原文件名:24-19939.pdf)

稍稍搜了下,这个IC,taobao上有1个卖家,alibaba上有几十个卖家

出0入0汤圆

发表于 2010-5-3 22:04:19 | 显示全部楼层
MT29F2G16 的 datasheet 被我找到了
点击此处下载 ourdev_551307.pdf(文件大小:1.03M) (原文件名:2gb_nand_m29b.pdf)

出0入0汤圆

发表于 2010-5-3 22:09:53 | 显示全部楼层
【514楼】 h2feo4 无机酸

en 有这个TechNote对照Pinout就放心了。反正我们最后要用SAM3U内置的NAND Flash控制器,命令的细节
不必知道。不过写代码的时候得注意根据Micron的TN-29-19先判断下是8位还是16位NAND。

像Maxim的带SHA1引擎的DS2432之类要DS需要签署NDA还可以接受,Micron这种NAND Flash又不是容量业界
领先的,怕公开干嘛……

不过我看过Samsung和Intel都没有16位的NAND,Hynix的16位和自己的8位的都不兼容……
不过ONFI的标准,似乎Micron的Pinout是对的,Hynix的不标准……亏他还是ONFI成员公司之一……

ft的是Numonyx的16位NAND是符合标准的,但是x16只有MCP才支持……。

出0入0汤圆

发表于 2010-5-3 22:13:10 | 显示全部楼层
【516楼】 h2feo4 无机酸

这个Datasheet所说的16位Pinout(MT29F2G16AABWP)似乎不兼容8位器件啊…… 要兼容的话需要低8位重合。
诡异了,为什么和SAM3U的电路图(MT29F2G16AADWP)不符合啊?莫非是型号的倒数第三位的问题?

出0入0汤圆

发表于 2010-5-3 22:15:12 | 显示全部楼层
ft 【515楼】那个Tech Note和【516楼】的数据手册对于x16的Pinout是相同的,但是和SAM3U电路图的不符合。

出0入0汤圆

发表于 2010-5-3 22:20:18 | 显示全部楼层
回复【519楼】minux 啊啊?
-----------------------------------------------------------------------

按 Micron 的命名规则来看,MT29F2G16AADWP 在命名规则之外,怀疑是 OEM 产品

不过搜索了下,应该还是有卖的,敢用不?

出0入0汤圆

发表于 2010-5-3 22:36:08 | 显示全部楼层
【520楼】 h2feo4 无机酸

呃,不太敢用……没有数据手册…… 光看一个电路图真是不敢用啊……
不过我觉得诡异的是,几个主流的NAND Flash厂商都是ONFI的会员,竟然连ONFI的Pinout都不遵守……

我目前还没找到一个有数据手册的x16 NAND的遵守那个标准里的Pinout。
(ONFI最新标准:http://onfi.org/wp-content/uploads/2009/02/ONFI%202_2%20Gold.pdf)

要不这x16的NAND就不管了?

出0入0汤圆

发表于 2010-5-3 23:35:41 | 显示全部楼层
【410楼】 dr2001

XPCU是不是就用到了这几个VR?

VR 0x10: 设置PA5=0, 关闭JTAG输出
VR 0x18: 设置PA5=1,开启JTAG输出
VR 0x20: bit-reverse,干嘛用啊?(ret 1B)
VR 0x28: 保存了SETUPDAT[4],干嘛用的?
VR 0x30: Bitbang Write PE/GPIF (bit3:?, bit2:TCK, bit1: TMS, bit0: TDI/TDO)
VR 0x38: Bitbang Read PE/GPIF (ret 1B)
VR 0x40: 返回常数…… 这是要干嘛?莫非跟那个序列号芯片有关?(ret 2B)
VR 0x50: 返回CPLD/FW版本(ret 2B)
VR 0x52: 选择VR 0x30/0x38是输出到PE还是通过GPIF给CPLD
VR 0xA2: 高速 JTAG Write, TDI/TMS
VR 0xA4: 高速 JTAG Write-Read, TDI/TMS/TDO
VR 0xA6: 高速 JTAG Write/Read, TDI/TMS/TDO

VR 0xA2/0xA4之后,通过EP2 OUT送TDI/TMS数据,先TDI一字节,TMS一字节如此重复,如果是0xA4,那么还需要读取
EP6 IN来获取TDO数据。
VR 0xA6之后是给EP2 OUT若干个16位数据,每个16位数据分成4个4位的域,
分别是TDI数据域,TMS数据域,TCK数据域,TDO状态域;
每个4位域都标明4个数据。
如果标志了TDO状态域,那么以后通过读取EP6 In获得数据。


VR 0x28是干什么的?

出0入0汤圆

发表于 2010-5-3 23:37:34 | 显示全部楼层
赶紧开个单独的版面吧,我发现本贴过长了,要想找一个正确的回帖越来越不容易了……

出0入0汤圆

发表于 2010-5-4 00:20:22 | 显示全部楼层
回复【522楼】minux 啊啊?
-----------------------------------------------------------------------

刚才又去看了Xilinx下载线的原理图,注意到了一个原来一直没有注意到的细节
参考 http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3539602 【楼主位】
就是XC2C256的那些空闲引脚,原来很多都是有定义的,包括
TAP_STATE[3:0]
IDLE_FLAG
SHIFT_CLK
LAST_BIT
BUS_ENABLE
DOWN_CNT[4:0]
DONE_SM[2:0]
DONE_INH
此外还有若干spare引脚
我觉得这可以使我们很大程度上了解CPLD的内部构造
也可试试用LA去观察这些引脚上的变化

VR 0x28 是不是用来设置TCK速率的?
VR 0x30 bit3是不是SPARE_COM?(68013_p93 -- xc2c256_p9)
VR 0x40 的作用,可以在板子上焊几个DS18B20充当序列号芯片来验证,不过我印象中序列号貌似不止2B

出0入0汤圆

发表于 2010-5-4 00:28:31 | 显示全部楼层
强势囗观两位大神... 支持开版!

出0入0汤圆

发表于 2010-5-4 08:42:15 | 显示全部楼层
回复【522楼】minux
-----------------------------------------------------------------------
有增补的列出来,没有增补的说明看法一致。

VR 0x18: 先检查Vref,如果通过,BuffOE=1。
VR 0x20: Device CheckSum。
VR 0x28: 选择GPIF的波形数据,至少有一个功能是TCK速率。由于没有反波形数据,不能知道更多。
VR 0x30: 只有Bit2到Bit0有用。功能无异议。
VR 0x38: CPLD BitBang TDO Read;Power Status Return。复用功能。
VR 0x40: 功能不详,代码写死,可能和序列号有关。
VR 0x50: 版本号返回,有一个未知数据。

0xA?的看法基本一样,但我没细看0xA2/0xA4的数据请求格式。

btw:如果要GPIF的时序信息,就需要仿真运行那个解压缩的代码。否则不好搞。

回复【524楼】h2feo4  无机酸
-----------------------------------------------------------------------
部分HEX来看,未见使用那些管教的操作。。。也就是说,不一定用到了那些管教撒。

另,由于HEX版本比较多,简单版本的HEX可能就少了一些VR。恩。

出0入0汤圆

发表于 2010-5-4 10:17:54 | 显示全部楼层
回复【521楼】minux 啊啊?
-----------------------------------------------------------------------
至于16bit NAND的封装,我建议在布线空间充足的情况下,采用ONFI标准的Pinout,如果布线空间紧张就简化为8bit
我们可以找一个有SAM3U-EK的朋友,让他用万用表确认一下封装是否如原理图所示,型号是否是MT29F2G16AADWP
如果买不到这个片子,就干脆焊个8bit片子上去,反正Pinout是兼容的

回复【526楼】dr2001
-----------------------------------------------------------------------
我怀疑那些引脚是CPLD内部某些状态的输出,可以用来推断CPLD内部构造和运行机理

出0入0汤圆

发表于 2010-5-4 10:30:56 | 显示全部楼层
回复【527楼】h2feo4  无机酸
-----------------------------------------------------------------------

不用纠结在16Bit Flash上吧,用8Bit的就好了。16的貌似还不是太好买到,尽管速度快。

是可以怀疑这些引脚用于推断CPLD构造,但是如果HEX里边没有去读写这些引脚,那么……可能……CPLD也没有用到这些引脚不是?

出0入0汤圆

发表于 2010-5-4 10:40:20 | 显示全部楼层
回复【528楼】dr2001
-----------------------------------------------------------------------

还是首选8bit Flash好了,16bit的封装真够恶心的
咱们的这个应用貌似速度并不是关键问题

至于CPLD的那些引脚,我测量下看看有没有动静

出0入0汤圆

发表于 2010-5-4 15:27:40 | 显示全部楼层
【529楼】 h2feo4 无机酸

我最近没设备,你能不能用个USB Sniffer工具记录一下完整配置一个FPGA的USB数据。
以及对应的SVF文件?

现在一块FPGA开发板都没有……

我现在觉得CPLD里面没啥神奇的……就是0xA2/0xA4/0xA6三个处理最主要的部分。

出0入0汤圆

发表于 2010-5-4 15:43:45 | 显示全部楼层
我觉得我们没必要反向CPLD的逻辑了,反正我们的架构跟XPCU根本不同…… 我们只要知道USB流量和实际的JTAG
时序的对应即可。

不过根据目前的研究成果,我觉得把XPCU变成USB-Blaster是不难的,就是8051负担比较大,得翻译下位流,
但是本身USB-Blaster就很慢(6MHz TCK)。

谁有Lattice的hex文件?我最近也可以反向下。

另外,我拿STM32简单弄了一个USB-Blaster,就发现FT245BM的heartbeat信号总是导致我的设备要很长
时间才能被Quartus识别…… ft....

出0入0汤圆

发表于 2010-5-4 15:46:33 | 显示全部楼层
回复【530楼】minux 啊啊?
-----------------------------------------------------------------------

好,我试试看

出0入0汤圆

发表于 2010-5-4 15:54:10 | 显示全部楼层
我们的FPGA内部现在来看需要至少两套系统了:
(1) 兼容XPCU/USB-Blaster这类上位机同时给TMS/TDI然后获取TDO输出的这类。
(2) 尽可能多的offload JTAG相关操作的一个,参考TI的8990,但是那个还不够好。
我希望这个是几乎可以直接执行SVF的。

MCU部分,我前段时间仔细考虑了ARM核的调试问题,我觉得要想效率高,最好是直接在MCU
上面实现gdb serial debug protocol(gdbserver)。
然后具体的想法是这样的,NAND内存放或者上位机下载过来某个芯片的处理程序,Flash里面
存放最基本的部件(protocol parser, USB, FileSystem, OS, FPGA Interface, ELF Loading)。

或者说,MCU的Flash内的程序基本上根本不变,新增一个Target只是在NAND上多放一个ELF文件。
(同时,ELF文件使用-fPIC编译,加载到SRAM的时候进行符号解析和数据重定位,之所以这么做,
而不让上位机帮我们重定位好是可以方便我们发布,用户如果不进行开发,不需要有开发工具,
从我们的网站上下载ELF文件通过U盘功能放到NAND里面就可以用了)。

最大问题是,一般Cortex-M3都会把SRAM映射到前512MB空间,这样就可以用专用的代码总线读取代码,
而SAM3U却没有这个功能,所以在SRAM上执行程序的时候,代码和数据都得通过System Bus,
效率上肯定低些,但是具体的数据还没办法测试。

出0入0汤圆

发表于 2010-5-4 15:55:27 | 显示全部楼层
【532楼】 h2feo4 无机酸

谢谢~
你用什么USB Sniffer软件?能不能导出文本文件?我怕我这里没办法看导出的结果……

出0入0汤圆

发表于 2010-5-4 17:37:48 | 显示全部楼层
回复【534楼】minux 啊啊?
-----------------------------------------------------------------------

你平时用什么?我就用和你一样的就好了

出0入0汤圆

发表于 2010-5-4 21:55:51 | 显示全部楼层
布局布线中
等确定接插件的电气定义了,就可以把那些线拉过去
目前放的是全尺寸SD slot,空间不够的话就压缩到mini的
还要确定一下电源部分的大致面积
FLASH放了两个封装,兼容所有目前已知的x8或x16的pinout


(原文件名:20100504A.PNG)

出0入0汤圆

发表于 2010-5-4 22:49:01 | 显示全部楼层
伙计们。。。。动作太慢了。。。

Segger产品已经做出来了。。。SAM3 + FPGA = J-Link Ultra

J-Link Ultra Rev.1 compiled Apr 21 2010 20:27:40.Copyright 2003-2010 SEGGER: www.segger.com

Compressed FPGA Data - Generated 2010-04-19 18:37 - Copyright 2010 SEGGER (www.segger.com)

出0入0汤圆

发表于 2010-5-5 09:03:03 | 显示全部楼层
汗啊,那岂不是……有了原理图,又是啥都搞定了。。。-_b

出0入0汤圆

发表于 2010-5-5 09:13:15 | 显示全部楼层
回复【537楼】taoist
-----------------------------------------------------------------------

晕……

出0入0汤圆

发表于 2010-5-5 09:39:14 | 显示全部楼层
..........

出0入0汤圆

发表于 2010-5-5 14:32:55 | 显示全部楼层
配置的问题,我们为什么不把其余所有设备的JTAG串起来呢?器件识别,配置和边界扫描全有了啊…直接SPI和SSC配合下。
同时,直接接IO板也很容易了。

出0入0汤圆

发表于 2010-5-5 15:06:47 | 显示全部楼层
回复【541楼】minux 啊啊?
-----------------------------------------------------------------------

如果想把多块板以JTAG链串起来(其他链也是同理),就会遇到一个问题
即信号该从哪里折返?
如果某一块板作为链的终点,它就需要将TDO向回折返
但如何能让这块板认识到“我是最后一块板?”,以及在电路上如何实现折返(跳线?机械开关?模拟开关?)(自动?手动?)
当我们允许在MCU板上下都可以插扩展板的时候,问题就更大了,连链头在哪里都不知道了

另外,如果MCU控制了其他IC(例如FPGA)的JTAG,而这时我想对FPGA用ChipScope(或其他基于JTAG的工具)怎么办?

出0入0汤圆

发表于 2010-5-5 15:10:42 | 显示全部楼层
另,布线草稿基本布通了
要确定下调试接口和电源部分

有些零件需要做封装库

出0入0汤圆

发表于 2010-5-5 22:40:27 | 显示全部楼层
【542楼】 h2feo4 无机酸

MCU板就别两面插FPGA了吧…… 似乎没比单面插有更多的好处(反正MCU和FPGA之间的互联带宽不会更大,而且这两面的
两块FPGA板互联性反而减低了)。

我考虑是每块板都用模拟开关返回,用电阻上下拉直接返回TDO,然后提供给下一块板提供一个override pin。

之所以用JTAG而不是用串行配置链,是因为Altera和Xilinx的被动串行配置的接口实在是不好调和……
而且我们还得考虑到这样需要用户告诉我们层叠的顺序。JTAG大家都遵守一个协议,而且我们可以很容易识别
FPGA,甚至IO板的AVR都可以接进来,即使用户没有AVR编程器也可以操作。

更重要一点,IO板直接接MCU也不用再在IO板上为了让SSC配合SPI而特别动手脚了。

总之,我觉得这样利绝对大于弊(只要用串行配置的弊端大家是一样的……但是这个有其他的好处)。

另:如果要用JTAG调试FPGA,MCU可以三态JTAG链,然后FPGA JTAG就接在MCU板上。当然还有别的方法,比如FPGA板用跳线
旁路这个FPGA的JTAG(除TDI/TDO之外,还要把TMS断开,其余部分的TMS用电阻全部拉高)。当然,多个FPGA一起调试的时候,
不管怎么做都是很复杂的事情……

出0入0汤圆

发表于 2010-5-5 22:41:33 | 显示全部楼层
【535楼】 h2feo4 无机酸

Windows底下就USBlyzer吧。

出0入0汤圆

发表于 2010-5-5 22:44:41 | 显示全部楼层
【537楼】 taoist

ft... 竟然是用SAM3U…… 不是还没量产么……

还没加密这些app…… 公司这是什么意思。。。。

出0入0汤圆

发表于 2010-5-5 23:00:49 | 显示全部楼层
【543楼】 h2feo4 无机酸

电源要是不行就放几个通用封装外加LM1117-3.3?
调试接口指什么?MCU的JTAG么?侧面引出吧,如果觉得我那个20针JTAG太站地方,可以换成10 pin的AVR JTAG。

MAX3232保留吧?

出0入0汤圆

发表于 2010-5-6 08:32:15 | 显示全部楼层
回复【546楼】minux  啊啊?
-----------------------------------------------------------------------

SAM3U RevA看起来,至少Sample已经出了,ATmel的DataSheet已经更新了RevA的Errata。
所以Segger同学用SAM3U来做东西不令人感觉奇怪。

出0入0汤圆

发表于 2010-5-6 10:59:18 | 显示全部楼层
回复【547楼】minux 啊啊?
-----------------------------------------------------------------------

留给电源的位置还是相当充足的,但之前讨论中并没有确定电源方案,我不知道该留多少地方给它
由于高度限制,你原理图中的那个外接电源插座装不下,要考虑改用小尺寸的插座

MCU的JTAG口,放20pin的排针还是没问题的,但是考虑高度原因,能否采用2.0mm pitch的排针?

MAX3232当然保留,不过咱们的高度是装不下标准的RS232插座的,用2*3的2mm pitch排针如何(包括URXD/UTXD/RXD0/TXD0/VCC33/GND)
看了你的原理图,2*4排针也行

咱们的板子面积还是有不少余量的,但高度相当紧张

出0入0汤圆

发表于 2010-5-6 11:12:37 | 显示全部楼层
回复【544楼】minux 啊啊?
-----------------------------------------------------------------------

同意全部采用JTAG配置的方案

出0入0汤圆

发表于 2010-5-6 15:16:44 | 显示全部楼层
回复【547楼】minux  啊啊?
-----------------------------------------------------------------------

侧面引出可以不??

那个座太麻烦了,  用测试夹具怎么样??

我的下载线都是用夹具的, 引个夹头出来这样用, 我个人觉得方便..

侧面引出来吧

出0入0汤圆

发表于 2010-5-6 15:51:19 | 显示全部楼层
ISE 12.1
/ISE/DATA/
下面的所有HEX文件如下
点击此处下载 ourdev_551890.rar(文件大小:10K) (原文件名:xusb_emb.rar)
点击此处下载 ourdev_551891.rar(文件大小:10K) (原文件名:xusb_xlp.rar)
点击此处下载 ourdev_551892.rar(文件大小:10K) (原文件名:xusb_xp2.rar)
点击此处下载 ourdev_551893.rar(文件大小:9K) (原文件名:xusb_xpr.rar)
点击此处下载 ourdev_551894.rar(文件大小:10K) (原文件名:xusb_xse.rar)
点击此处下载 ourdev_551895.rar(文件大小:8K) (原文件名:xusb_xup.rar)
点击此处下载 ourdev_551896.rar(文件大小:8K) (原文件名:xusbdfwu.rar)

出0入0汤圆

发表于 2010-5-6 15:54:40 | 显示全部楼层
我搞到一个DIGILENT的XILINX下载线(属于XILINX大学计划),只有火柴盒那么大,用的是68013 + XC2C256,还有几个小片子(包括两片小BGA)
过两天仔细分析一下

出0入0汤圆

发表于 2010-5-6 15:55:10 | 显示全部楼层
回复【552楼】h2feo4  无机酸
-----------------------------------------------------------------------

麻烦把inf的驱动贴一下,方便大家分辨对应的FW版本。

出0入0汤圆

发表于 2010-5-6 15:56:15 | 显示全部楼层
回复【553楼】h2feo4  无机酸
-----------------------------------------------------------------------

Nice,希望能对研究XPCU操作提供有益的资料。

出0入0汤圆

发表于 2010-5-6 16:17:22 | 显示全部楼层
回复【554楼】dr2001
-----------------------------------------------------------------------

看看是不是这个?
点击此处下载 ourdev_551899.rar(文件大小:2K) (原文件名:windrvr6.rar)
点击此处下载 ourdev_551900.rar(文件大小:2K) (原文件名:xusbdrvr.rar)

出0入0汤圆

发表于 2010-5-6 16:20:40 | 显示全部楼层
回复【556楼】h2feo4  无机酸
-----------------------------------------------------------------------

Yes,这下都妥了。

现在有这几种不同的Cable了。从INF上看,最后的协议应该没变化。
"Xilinx Platform Cable USB Firmware Loader"=Install.Loader, USB\VID_03FD&PID_0007
"Xilinx Embedded Platform USB Firmware Loader"=Install.EmbeddedLoader, USB\VID_03FD&PID_0009
"Xilinx Embedded Platform USB Firmware Loader"=Install.EmbeddedLpLoader, USB\VID_03FD&PID_000D
"Xilinx Platform Cable USB Firmware Loader"=Install.LpLoader, USB\VID_03FD&PID_000F
"Xilinx Platform Cable USB II Firmware Loader"=Install.Pusb2Loader, USB\VID_03FD&PID_0013
"Xilinx Platform Cable USB II SE Firmware Loader"=Install.Pusb2SeLoader, USB\VID_03FD&PID_0015

出0入0汤圆

发表于 2010-5-6 16:27:27 | 显示全部楼层
ISE 12.1 的安装程序居然不支持中文路径,所有快捷方式全都创建失败,害得我装了好几遍
之前的版本从来都没出过这种问题

出0入0汤圆

发表于 2010-5-6 17:18:03 | 显示全部楼层
【558楼】 h2feo4 无机酸

ISE 12.1出了一个补丁…… 参看AR #35331

出0入0汤圆

发表于 2010-5-6 19:38:47 | 显示全部楼层
回复【557楼】dr2001
回复【556楼】h2feo4  无机酸
-----------------------------------------------------------------------
yes,这下都妥了。
现在有这几种不同的cable了。从inf上看,最后的协议应该没变化。
"xilinx platform cable usb firmware loader"=install.loader, usb\vid_03fd&pid_0007
"xilinx embedded platform usb firmware loader"=install.embeddedloader, usb\vid_03fd&pid_0009
"xilinx embedded platform usb firmware loader"=install.embeddedlploader, ......
-----------------------------------------------------------------------

这应该只是对不同的线加载不同的固件,最后应该是一样的

出0入0汤圆

发表于 2010-5-6 19:48:33 | 显示全部楼层
回复【559楼】minux 啊啊?
-----------------------------------------------------------------------

恩,解决了

出0入0汤圆

发表于 2010-5-7 09:33:23 | 显示全部楼层
..

出0入0汤圆

发表于 2010-5-7 11:40:22 | 显示全部楼层
回复【530楼】minux 啊啊?
-----------------------------------------------------------------------

截了一个,目标板是roasn的逻辑分析仪,XC3S50AN,固件版本1.2
Program FPGA Only
点击此处下载 ourdev_552122.html(文件大小:28K) (原文件名:FPGAV12.html)
点击此处下载 ourdev_552123.rar(文件大小:21K) (原文件名:FPGAV12.rar)

Program Flash and FPGA
点击此处下载 ourdev_552124.html(文件大小:4.86M) (原文件名:2.html)
点击此处下载 ourdev_552125.rar(文件大小:50K) (原文件名:2.rar)

出0入0汤圆

发表于 2010-5-7 17:59:17 | 显示全部楼层
【563楼】 h2feo4 无机酸

html文件信息量不太够,没有VR的详细信息,能不能把.ulz文件也传一下?

据说,某Ultra用的是SAM3U4C+Cyclone 3 FPGA…… 不知真假……

出0入0汤圆

发表于 2010-5-7 18:10:48 | 显示全部楼层
回复【564楼】minux 啊啊?
-----------------------------------------------------------------------

好的,稍晚时候重做一个传上来

那个u1tra我原本就猜是SAMxC,至于FPGA,应该用不着那么多IO,估计是EP3C5-TQ144

出0入0汤圆

发表于 2010-5-8 16:55:25 | 显示全部楼层
重做什么啊?

出0入0汤圆

发表于 2010-5-8 19:43:26 | 显示全部楼层
为啥说ultra是Cyclone 3?

出0入0汤圆

发表于 2010-5-8 21:21:44 | 显示全部楼层
Ultra的FPGA配置在firmware里面,能根据配置知道用了什么芯片和管脚定义吗?

出0入0汤圆

发表于 2010-5-8 22:19:06 | 显示全部楼层
回复【568楼】taoist  
-----------------------------------------------------------------------
BitSream的反向工程是非常困难的。
不过可以根据猜测,获得芯片型号,进一步可能能获得IO引脚的使用信息。再多估计就很困难了。

出0入0汤圆

发表于 2010-5-9 08:55:03 | 显示全部楼层
回复【569楼】dr2001
-----------------------------------------------------------------------

去年我在北航见过一位兄弟,可以把FPGA配置位流反推至RTL级,相当强悍
有程序可以短时间内自动完成的
我好像有他的联系方式,找找看

出0入0汤圆

发表于 2010-5-9 09:46:33 | 显示全部楼层
回复【570楼】h2feo4  无机酸
-----------------------------------------------------------------------
恩,有论文讨论过这个事情的。
主要是反推Bitstram与FPGA配置链的对应关系,这个工作量估计很大。

出0入0汤圆

发表于 2010-5-9 15:14:50 | 显示全部楼层
既然大家对某FPGA都这么感兴趣,那我就发一个解压过的配置文件吧。

点击此处下载 ourdev_552605.rar(文件大小:12K) (原文件名:fpga.raw.rar)

看配置过程,肯定是Altera的FPGA,用的是PS方式。

我觉得肯定是Cyclone 3,其他的还没看出什么。

已知是FPGA肯定有一条8位的双向数据总线,JTAG线也可能有几根双向的。
确定数据总线是至关重要的一环。控制线似乎只有3条(?),有一条地址线。

【571楼】 dr2001

en, 我前面提过ulogic.org就是那个作者做的一个网站。可以把Xilinx的V2/V4/V5以及部分S3的位流反向到网表。
但是,可惜,根据他网站上对于Altera的说法,对Altera做同样的事情难度非常大……

出0入0汤圆

发表于 2010-5-9 17:10:43 | 显示全部楼层
回复【572楼】minux 啊啊?
-----------------------------------------------------------------------

应该可以根据配置文件的大小,估算出型号吧?(但可能猜不出封装)
找一个片子,把配置文件烧进去观察?

出0入0汤圆

发表于 2010-5-9 17:36:37 | 显示全部楼层
【573楼】 h2feo4 无机酸

恩…… 但是肯定开启了位流压缩的选项了,因为才一百多KB,离EP3C5的配置原始大小差了好多了……
所以只能找片子烧进去看看是否配置正确了……

另外,注意EP3C5和EP3C10的配置文件原始长度是一样的……

我试了下,似乎变了封装,只要管脚数不同,配置位流的头部都有变化的…… 可惜我也不知道那部分数据是否有什么含义……

出0入0汤圆

发表于 2010-5-9 18:01:35 | 显示全部楼层
回复【574楼】minux 啊啊?
-----------------------------------------------------------------------

我们做的东西要考虑兼容j1ink ultra么(我指的是MCU板)
SAM3UxC 的程序可以直接在 SAM3UxE 上正确运行么

出0入0汤圆

发表于 2010-5-9 19:27:41 | 显示全部楼层
回复【572楼】minux 啊啊?
-----------------------------------------------------------------------

107KB位流,如果是非压缩的话,与目前已知的各种Xilinx FPGA均不符,规模大概在XC3S100E与XC3S200A之间

出0入0汤圆

发表于 2010-5-9 19:50:50 | 显示全部楼层
【575楼】 h2feo4 无机酸

哈哈 其实我昨天也想提这个,U*tra的MCU的IO分配我基本知道了。但是关键是FPGA的IO分配让我觉得很棘手……
那个位流我现在很有把握是Cyclone 3的压缩位流(主要是位流的前部和Altera所有FPGA比对之后发现只和Cyclone3非常类似)。

EP3C5/EP3C10的位流不压缩大概是3Mbits.

不过啊,它给FPGA配置的时候,竟然是IO口bit-bang出Passive Serial 波形…… 我们可以兼容它,但是和我们的配置方案有
较大的差异……

Atmel的ARM单片机兼容性非常好,一样的ARM核的时候,甚至SAM7SE的代码稍加修改(屏蔽掉7SE多出的功能)可以在SAM7S上面跑起来……
SAM3U4C的代码肯定是可以在SAM3U4E上面跑的……

出0入0汤圆

发表于 2010-5-9 20:00:41 | 显示全部楼层
回复【577楼】minux 啊啊?
-----------------------------------------------------------------------

兼容 U1tra
我们可以考虑出一个转接板(插在MCU板和FPGA板之间,一块只有接插件的双面板就行),用来转换某些IO顺序
或者干脆出一块“定制”的FPGA板,for j1ink u1tra only

出0入0汤圆

发表于 2010-5-9 20:04:39 | 显示全部楼层
【578楼】 h2feo4 无机酸

ok 我发信把目前已知的IO分配给你看看吧。可能跟我们的版本有些不兼容的地方(AD那部分)。

出0入0汤圆

发表于 2010-5-9 20:10:22 | 显示全部楼层
回复【579楼】minux 啊啊?
-----------------------------------------------------------------------

好的,可能我们还要对我们的电路做一点细节上的调整

出0入0汤圆

发表于 2010-5-9 20:25:18 | 显示全部楼层
to 【579楼】 minux 啊啊?

一起发给偶,偶对比一下。。。呵呵!

出0入0汤圆

发表于 2010-5-10 00:29:40 | 显示全部楼层
【580&581楼】 taoist & h2feo4

sent. 呵呵 一总结发现还有很多没确定呢…… ft...

出0入0汤圆

发表于 2010-5-10 08:53:52 | 显示全部楼层
回复【582楼】minux  啊啊?
-----------------------------------------------------------------------

听起来Very Nice啊。

出0入0汤圆

发表于 2010-5-10 09:30:18 | 显示全部楼层
回复【582楼】minux 啊啊?
-----------------------------------------------------------------------

我想知道USB插入检测用的是哪个IO(或者说他没用这个功能?)

出0入0汤圆

发表于 2010-5-10 10:11:15 | 显示全部楼层
我猜测,基于观测到的现象:
由于电是USB来的,故MCU运行,必然USB有线缆连接。问题只在于上位机OS是否正常运行。故如果没有USB Reset以及后续操作,定期把上拉电阻撤掉,然后连上。
倒是没必要用插入检测。

出0入0汤圆

发表于 2010-5-10 10:51:35 | 显示全部楼层
to 【584楼】 h2feo4 无机酸

作为使用USB供电的USB device,没必要检测USB插入吧。。。

出0入0汤圆

发表于 2010-5-10 14:06:57 | 显示全部楼层
回复【582楼】minux 啊啊?
-----------------------------------------------------------------------

检查了一下 u1tra 的IO分配,目前可能需要注意的:

PA4/PA5,是HSMCI的一部分,也许我们需要把它也拉到排针上去,而且规定当模拟 u1tra 的时候禁止插入SD卡(及任何使用HSMCI的外设)

PB20,我们本来设计是给SRAM做片选用的(而且SRAM是在MCU板上的),应该确认一下,SRAM会不会对u1tra的总线造成某种冲突?

还有,能不能估算一下 u1tra 系统中是否挂了RAM,如果有,是SRAM还是SDRAM?挂在总线上还是FPGA上?

出0入0汤圆

发表于 2010-5-10 14:42:34 | 显示全部楼层
问个问题,我们的第一版PCB是否允许使用 Via in Pad ?
第一版肯定会手焊

出0入0汤圆

发表于 2010-5-10 15:16:42 | 显示全部楼层
【587楼】 h2feo4 无机酸

u#tra里面肯定没有SRAM…… 某公司一贯小气…… 但是J#T#race Cortex-M肯定是在FPGA上挂SDRAM了吧。
SRAM肯定得对它的总线有影响的…… 这里得加一个跳线……
SD卡那几条线引出来吧……


【588楼】 h2feo4 无机酸

布线那么紧张么?

出0入0汤圆

发表于 2010-5-10 15:21:00 | 显示全部楼层
回复【589楼】minux 啊啊?
-----------------------------------------------------------------------

SRAM有一种解决方法,就是我们把SRAM改挂到nCS1如何

布线不紧张,只是排针那里正反面电气定义都是一样的,把过孔直接放进去显得清爽一些
如果为了以后考虑,可以否决,在外面放一排就是了

出0入0汤圆

发表于 2010-5-10 15:48:25 | 显示全部楼层
板机很漂亮

出0入0汤圆

发表于 2010-5-10 16:38:51 | 显示全部楼层
问题下,Config信号,除了SPI/SSC,还需要几个GPIO?
DONE/PROG/INIT之类的?

出0入0汤圆

发表于 2010-5-10 16:39:47 | 显示全部楼层
【590楼】 h2feo4 无机酸

en 那我们把nCS1接SRAM, nCS2接NAND,nCS0接FPGA,nCS3还是保留?

出0入0汤圆

发表于 2010-5-10 16:49:09 | 显示全部楼层
回复【593楼】minux 啊啊?
-----------------------------------------------------------------------

同意,我调整下布线
不过这样会不会给软件造成麻烦呢

出0入0汤圆

发表于 2010-5-10 17:02:12 | 显示全部楼层
【594楼】 h2feo4 无机酸

我刚去看了下数据手册,这个分配方案不会有什么影响,反正软件里可以用define嘛。
我们把所有跟硬件相关的地址/常数/代码全部分离出来,放到单独的目录里去,每一个硬件版本都有自己的这部分程序即可。
以后我们就算换MCU都没关系。

某公司的xLink/trace就是这么做,那么多个硬件版本,其实都是一个代码树编译出来,就是改define,我还见过错误的
混入了别的产品的代码呢……

出0入0汤圆

发表于 2010-5-10 18:36:45 | 显示全部楼层
按照目前布局布线的情况,接插件电气定义大致如下:


(原文件名:20100510A.PNG)

“*”代表板子两面不同
看看有什么问题没
剩余空间还比较充足,有较大的调整空间

问一下,Config信号中,除了SPI/SSC,还需要几个GPIO?
DONE/PROG/INIT之类的?

出0入0汤圆

发表于 2010-5-10 20:31:58 | 显示全部楼层
【596楼】 h2feo4 无机酸

某U1tra的IO没办法确定更多的了…… 估计公司也没有开发完软件,所以要想兼容以后的版本,把IO尽可能引出到
接插件上吧。

FPGA配置信号,对于Altera(信号的方向是指对FPGA):
nCONFIG  输入 用来force config
nSTATUS  开漏 状态信息
CONF_DONE 开漏  配置完成
INIT_DONE 开漏 可选的

Xilinx大家都很熟悉,就不用说了吧。

如果我们确定用JTAG配置,似乎就基本都不需要,不过可以留一个INIT_DONE(Altera)/DONE(Xilinx)的上拉的GPIO
检测是否所有设备都配置完成了(注意Altera器件的INIT_DONE是要特别声明使用才有输出的,如果觉得这个可能
会出错,用CONF_DONE也可以,但是这样又不能完全把错误反映出来)。
这样一来,就最少只需要1根带上拉的GPIO来判断初始化完成(其实这个也可以不用,但是Altera我不知道能不能
根据JTAG判断是否配置正确)。

出0入0汤圆

发表于 2010-5-10 21:39:37 | 显示全部楼层
回复【597楼】minux 啊啊?
-----------------------------------------------------------------------

我们是不是该考虑下,定位键如何实现?去掉四个针?
以及插反时如何避免灾难性后果?

话说,u1tra有没有用到SPI?就算用到也不会使用nPCS1-nPCS3吧

出0入0汤圆

发表于 2010-5-10 22:13:50 | 显示全部楼层
我有一个想法,专门给u1tra的FPGA板插在MCU板上面,而我们普通的FPGA板插在MCU板下面
因为有些接口(如HSMCI)是没有必要引出的,而专门为了u1tra而引出他们,占用了我们宝贵的连接器资源
所以我觉得,我们应该把这些专门为u1tra引出的脚只放在正面的连接器中,背面还按我们原计划行事?
例如,下图中HSMCI引脚只放在正面,背面放置DMA引脚、nWAIT等?

另一个,NAND的专用控制脚(NANDOE/NANDWE/NANDRDY)是不是没有必要引出?或者只在正面引出?

新的草稿:
考虑下这样的定位键行不行


(原文件名:20100510B.PNG)

出0入0汤圆

发表于 2010-5-11 11:17:22 | 显示全部楼层
我们要不要干脆做的极端一点
MCU板正面的连接器定义为“全面化接口”,引出所有引脚,但不提供全局信号/同步信号
MCU板背面的连接器定义为“功能化接口”,注重功能化,完善的全局信号/同步信号/总线/DMA握手等

当时用我们的MCU板模拟其他设备(如u1tra)时向上堆叠
当使用我们自己设计的板子时,向下堆叠

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-4-20 21:57

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

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