wildgoose0712 发表于 2012-11-6 20:11:06

菜鸟制作EP3C40+DDR2+USB3.0核心板

本帖最后由 wildgoose0712 于 2012-11-6 20:18 编辑

一直想着要自己做块板子玩玩,终于开动了,要弄就弄个复杂点的,一般的双面板弄了没意思,最近由于接触到FPGA较多,就弄个FPGA的板子。终于就画出这块板,选择EP3C40是因为在学校时是用的altera的片子,虽然Xilinx貌似比较强大。DDR2应该比较常见了吧,至于弄个USB3.0是因为可能涉及到大数据通信,而且我比较喜欢新东东,呵呵。板子是六层板,除了DDR2及USB3.0外,分两个接口引出100个GPIO。大家看看给点意见,没问题就出打样去,希望不要有问题啊。

wildgoose0712 发表于 2012-11-20 18:10:56

本帖最后由 wildgoose0712 于 2012-11-20 18:12 编辑

板子到了,还只焊了FPGA

wildgoose0712 发表于 2012-12-6 13:16:58

本帖最后由 wildgoose0712 于 2012-12-6 13:21 编辑

上周开始弄板子了,同事帮忙用风枪吹的FPGA有两个IO没接上,而且USB那边也有一个数据脚没接上。所以就自己来试试,一试下来,连续两块都没吹好,最后一块吹出来,一看很漂亮,心中一喜,想想总算找到决巧了,再一看心凉了一截,吹反了~~~。没办法,买了个钢网植球,折腾了一天,终于会植球了,图上最后一个就是自己植的球。

最后FPGA也焊上去了,所有引脚测试没有问题,DDR2也焊上去了。

通过Nios的MemTest程序对DDR2进行测试几次,测试通过,DDR2的频率设为135MHz。

最后提一下,DDR的参考电压采用电阻分压,开始采用的1K的电阻,测到的电压有1.0左右,后来换成了100欧的,测得0.91V左右,具体原因不详。

lcofjp 发表于 2012-11-6 20:12:49

绝对不是一般的菜鸟!!

aworker 发表于 2012-11-6 20:18:32

高手!!

shanyan 发表于 2012-11-6 20:27:11

牛!!!

bbs2009 发表于 2012-11-6 20:46:33

jlhgold 发表于 2012-11-6 20:48:49

LZ谦虚了 如果你是菜鸟 我们都是门外汉啊

wshuanben 发表于 2012-11-6 21:04:23

板子挺美观的。

wshuanben 发表于 2012-11-6 21:04:51

LZ的USB3.0芯片用的什么?整块板子加上打样需要多少成本啊?

tjiely 发表于 2012-11-6 21:12:40

绝对不是一般的鸟,应该是老鸟

wildgoose0712 发表于 2012-11-6 21:30:24

画板真还是菜鸟呢,也只是因为在学校里上了高速数字电路的课,顺便学了下allegro,真正画PCB也才开始的,不过也参考了很多板子啊,资料啊。 打样的话要一千多吧,还没找制板厂呢。器件也要好几百来块,成本蛮高的。 USB3.0用Cypress的cyusb3014。现在usb3.0的控制器貌似非常少

newbier 发表于 2012-11-6 21:40:15

给外面加工贴片费用就要超过1k了吧,有钱人玩玩的。
另外DDR2不加匹配电阻有点风险啊

wildgoose0712 发表于 2012-11-6 21:47:38

前不久用QPFQ240封装的EP3C25画了块板,算是处女板吧,加了DDR及88E1111, DDR没问题,而88E1111只能发不能收,板子画得太撮了,不太想调,以后闲着无聊再去弄它,呵呵

wildgoose0712 发表于 2012-11-6 22:09:50

newbier 发表于 2012-11-6 21:40 static/image/common/back.gif
给外面加工贴片费用就要超过1k了吧,有钱人玩玩的。
另外DDR2不加匹配电阻有点风险啊 ...

没有吧,除了FPGA大点外,其它找哥们帮吹一下,呵呵,应该问题不大。 DDR2对DQ内部有端接电阻,只两片DDR2应该不需要通过上拉提供驱动电流吧,控制线加了串行端接了的。仿真了一下应该问题不大。

ab8780000 发表于 2012-11-6 22:31:19

不知你的USB3.0调通过没有,建议弄USB2.0,3.0比较麻烦的

rx_78gp02a 发表于 2012-11-6 23:35:48

最近牛逼的人越来越多了,不再局限于QFP

rx_78gp02a 发表于 2012-11-6 23:37:47

DDR2的DQS应该是真差分信号,楼主只接了一边,这个不解!

dafeng123 发表于 2012-11-7 00:07:55

牛逼的楼主

wildgoose0712 发表于 2012-11-7 09:24:18

ab8780000 发表于 2012-11-6 22:31 static/image/common/back.gif
不知你的USB3.0调通过没有,建议弄USB2.0,3.0比较麻烦的

呵呵,板子还没做出来呢。USB2.0的板子到处都是,没必要我再做一个,没挑战啊

wildgoose0712 发表于 2012-11-7 09:27:08

rx_78gp02a 发表于 2012-11-6 23:37 static/image/common/back.gif
DDR2的DQS应该是真差分信号,楼主只接了一边,这个不解!

datasheet上有说明,DQS#是在差分模式下用的,这个需通过命令设置,一般可以不接。参考altera的评估板啊

lyl520719 发表于 2012-11-7 11:07:22

USB3.0DDR2,来的正是时候,这个贴子要火。打好基础,1000楼档不住。

sn2101 发表于 2012-11-8 12:25:25

wildgoose0712 发表于 2012-11-6 21:47 static/image/common/back.gif
前不久用QPFQ240封装的EP3C25画了块板,算是处女板吧,加了DDR及88E1111, DDR没问题,而88E1111只能发不能 ...

88E1111 你是用的什么接口,

zgxcom123 发表于 2012-11-8 12:37:08

如果LZ是菜鸟~~ 那我就可以回家种田了……………………

板子真心漂亮!!!期待成品PP

tlong_1919 发表于 2012-11-12 18:53:56

楼主是老鸟啊

format 发表于 2012-11-12 20:34:29

我代表所有菜鸟把你打下来

你不属于我们的队伍了~~~~

hunningtu 发表于 2012-11-12 20:43:55

非常期待楼主的板子出来,看看也过瘾啊。{:biggrin:}

wildgoose0712 发表于 2012-11-12 22:27:36

板子发去打样了,估计下周能拿到,到时发上来瞧瞧啦

jetli 发表于 2012-11-12 22:53:40

{:sweat:} 6层太贵了。。。4层还可以 到 syj {:titter:}jlc之类的打个样,,,

wildgoose0712 发表于 2012-11-13 10:59:52

jetli 发表于 2012-11-12 22:53 static/image/common/back.gif
6层太贵了。。。4层还可以 到 syj jlc之类的打个样,,,

我也想啊,jlc之类线宽做不到5mil, 孔径做不到10mil, 没办法

dengxiaofeng 发表于 2012-11-13 11:09:09

打样费 很贵呀 伤不起

lyz1900 发表于 2012-11-13 12:08:04

本帖最后由 lyz1900 于 2012-11-13 12:11 编辑

看了下淘宝。。。貌似类似的价格都好贵啊。。。1600以上。。。单个芯片都400多。。。。这也叫芯片啊。。。。太NB了。。。

zoufudun 发表于 2012-11-13 12:11:47

绝对的高手哇!!!

彼岸花开 发表于 2012-11-13 12:58:14

六层板,高手啊。

jamiliang 发表于 2012-11-15 20:54:08

你都DDR2了干嘛不上DDR2的内存条接口呢,maybe 可以直接DDR3!

rx_78gp02a 发表于 2012-11-15 23:04:08

jamiliang 发表于 2012-11-15 20:54 static/image/common/back.gif
你都DDR2了干嘛不上DDR2的内存条接口呢,maybe 可以直接DDR3!

C3不支持ddr3,最高只能到400Mbps,接DDR3和DDR2速度上没区别,要接DIMM条子,对484封装的器件起码要两个BANK,余下的1.8V IO用处不大,扩展性差,一块只有内存和USB的板子是不是太简陋了?

jamiliang 发表于 2012-11-16 09:10:25

rx_78gp02a 发表于 2012-11-15 23:04 static/image/common/back.gif
C3不支持ddr3,最高只能到400Mbps,接DDR3和DDR2速度上没区别,要接DIMM条子,对484封装的器件起码要两个 ...

那就上DDR2内存条子,因为这明显便宜,买个座子才几块钱!内存条2G才70块不到;
另外我一直找这种BGA的座子,类似主板CPU那种的;
BGA吹起来对手艺要求挺高的....

rx_78gp02a 发表于 2012-11-16 13:09:47

jamiliang 发表于 2012-11-16 09:10 static/image/common/back.gif
那就上DDR2内存条子,因为这明显便宜,买个座子才几块钱!内存条2G才70块不到;
另外我一直找这种BGA的座子, ...

484封装的器件上内存条就没剩几个IO了,676的想用6层板,工艺上去了价格也贵的多,而且,速度都是瓶颈,独立颗粒还能做到乒乓操作,如果要用内存条起码要上两条。

jamiliang 发表于 2012-11-16 17:33:08

IO么,DDR2的条子假如要是只用128Mbyte的话就不需要那么多IO了,这样容量的上限就是128MB;至于IO能省多少就不知道了...
速度么,芯片编号尾巴要看-6,-7,还是-8的,即便是-6的,也应该到不了DDR2的667Mhz速度吧...
6层,一开始你的初始目标不就是六层么...六层的价格还有其他什么大的左右因素么...
两条?为什么是两条呢?

rx_78gp02a 发表于 2012-11-16 22:02:50

jamiliang 发表于 2012-11-16 17:33 static/image/common/back.gif
IO么,DDR2的条子假如要是只用128Mbyte的话就不需要那么多IO了,这样容量的上限就是128MB;至于IO能省多少就不 ...

只用一部分不觉得浪费了么?既然内存条能做那么便宜,我用一半数量的颗粒(前提是IO不够用,用不满整条内存)难道不比一条内存条便宜?-6的最高速度标称能到400Mbps而且还没法达到400,484用六层可以走6MIL的线,676用六层要走4MIL,两个MIL贵很多的。我用颗粒可以实现乒乓操作(需要两个独立的控制器,两组颗粒需要独立的地址控制线),内存条是统一地址控制线,不能将颗粒分开读写,若用内存条又要低延时高性能,是不是要两条内存啊?

wildgoose0712 发表于 2012-11-18 15:35:30

下周考驾照,没时间弄板子了

hunningtu 发表于 2012-11-20 18:52:50

wildgoose0712 发表于 2012-11-20 18:10 static/image/common/back.gif
板子到了,还只焊了FPGA

顶啊,楼主做这个板子花了多少银子?

laozheng001 发表于 2012-11-23 13:36:13

lz神人啊!!赶紧调试完,出套件,我要买!!!顶顶顶

focuslamp 发表于 2012-11-23 15:40:45

像菜鸟学习。。。
话说楼主,DDR2芯片价钱贵不贵?

proteldxp 发表于 2012-11-23 16:55:38

wildgoose0712 发表于 2012-11-20 18:10 static/image/common/back.gif
板子到了,还只焊了FPGA

你错了!我一般先焊电源。然后通电测试,电源电压正常再焊芯片。万一你的电源有问题,FPGA就挂了。

wildgoose0712 发表于 2012-11-23 19:42:43

proteldxp 发表于 2012-11-23 16:55 static/image/common/back.gif
你错了!我一般先焊电源。然后通电测试,电源电压正常再焊芯片。万一你的电源有问题,FPGA就挂了。 ...

呵呵,电源到FPGA有贴片保险呢,电源正常了才会接通

wildgoose0712 发表于 2012-11-23 19:45:53

laozheng001 发表于 2012-11-23 13:36 static/image/common/back.gif
lz神人啊!!赶紧调试完,出套件,我要买!!!顶顶顶

最近事多,另外也还缺些元件,只能先放一放了

苹果520 发表于 2012-11-24 12:40:53

牛人我强力的顶一下

emouse2010 发表于 2012-11-24 17:59:14

这也是菜鸟,楼主BGA的封装自己有设备焊接么?

qq302011 发表于 2012-11-27 21:07:36

我靠,你要是菜鸟,我们还能活不

liangws201 发表于 2012-11-27 21:14:05

BGA怎么焊啊

薪火 发表于 2012-11-27 22:25:37

{:sweat:},六层板!!!这还叫菜鸟

wildgoose0712 发表于 2012-11-28 11:12:25

liangws201 发表于 2012-11-27 21:14 static/image/common/back.gif
BGA怎么焊啊

一同事帮助吹上去的,下次自己试试

jr9910 发表于 2012-12-6 18:42:53

wildgoose0712 发表于 2012-11-6 21:47 static/image/common/back.gif
前不久用QPFQ240封装的EP3C25画了块板,算是处女板吧,加了DDR及88E1111, DDR没问题,而88E1111只能发不能 ...

跑千兆以太网是裸奔吗?发送什么个速度?

Jianglg3 发表于 2012-12-6 19:13:54

没有蛇形线啊?

wildgoose0712 发表于 2012-12-6 20:21:20

Jianglg3 发表于 2012-12-6 19:13 static/image/common/back.gif
没有蛇形线啊?

DDR也就百来兆, 觉得应该问题不大就没有做等长,后来看了下数据线长度差有300mil了,估计再高的频率是跑不上去了

wildgoose0712 发表于 2012-12-6 20:25:29

jr9910 发表于 2012-12-6 18:42 static/image/common/back.gif
跑千兆以太网是裸奔吗?发送什么个速度?

这个板子一直没弄了

sky5566 发表于 2012-12-6 21:26:45

wildgoose0712 发表于 2012-11-18 15:35 static/image/common/back.gif
下周考驾照,没时间弄板子了

Cyclone 系列無法模擬真正異步獨立雙口RAM...換xilinx 比較好玩

rx_78gp02a 发表于 2012-12-6 21:34:09

sky5566 发表于 2012-12-6 21:26 static/image/common/back.gif
Cyclone 系列無法模擬真正異步獨立雙口RAM...換xilinx 比較好玩

会被ISE玩死的{:mad:}

sky5566 发表于 2012-12-6 23:44:29

rx_78gp02a 发表于 2012-12-6 21:34 static/image/common/back.gif
会被ISE玩死的

quartus II 也好不到那裡,玩 altera 必須裝2套版本.....{:cry:}

nazily215 发表于 2012-12-7 00:22:53

大家都拿着“菜鸟”这名字来说~~~~~~~~~~~

wildgoose0712 发表于 2012-12-7 10:30:54

今天对DDR又测试了下,用C6,I7的器件能跑到167MHz,当用C6跑200MHz时测试就不行了。CycloneIII能跑到167MHz应该已经蛮好了。下一步就要弄USB了,器件还没买,要等等了。

Jianglg3 发表于 2012-12-8 12:14:12

调好后,购板子

wuguoyan 发表于 2012-12-8 12:35:50

这个牛逼啊

chenyun 发表于 2012-12-12 11:50:36

兄弟,能发个DDR的PCB封装吗?QQ:1182966613 ,,小弟在线等啊

wildgoose0712 发表于 2012-12-12 15:07:25

chenyun 发表于 2012-12-12 11:50 static/image/common/back.gif
兄弟,能发个DDR的PCB封装吗?QQ:1182966613 ,,小弟在线等啊

兄弟, 推荐你使用LPWizard。

hunningtu 发表于 2012-12-12 19:28:28

sky5566 发表于 2012-12-6 21:26 static/image/common/back.gif
Cyclone 系列無法模擬真正異步獨立雙口RAM...換xilinx 比較好玩

我想问一下,cyclone III跑160M的ddr,貌似记得DE2115上的sdram也可以跑到160Mhz,哪个有优势呢?

wildgoose0712 发表于 2012-12-12 21:49:42

本帖最后由 wildgoose0712 于 2012-12-12 21:51 编辑

hunningtu 发表于 2012-12-12 19:28 static/image/common/back.gif
我想问一下,cyclone III跑160M的ddr,貌似记得DE2115上的sdram也可以跑到160Mhz,哪个有优势呢? ...

DDR全称是Double Data Rate,时钟的上升沿和下降沿同时利用, 同样频率下数据率是SDR sdram的两倍。

hunningtu 发表于 2012-12-13 00:07:21

wildgoose0712 发表于 2012-12-12 21:49 static/image/common/back.gif
DDR全称是Double Data Rate,时钟的上升沿和下降沿同时利用, 同样频率下数据率是SDR sdram的两倍。 ...

哦,呵呵,那个ip核似乎挺难整的,等过段时间,自己也上ddr玩玩。

hjf2002_hk 发表于 2012-12-13 07:18:20

支持!对板子有兴趣!

sky5566 发表于 2012-12-14 21:03:50

hunningtu 发表于 2012-12-12 19:28 static/image/common/back.gif
我想问一下,cyclone III跑160M的ddr,貌似记得DE2115上的sdram也可以跑到160Mhz,哪个有优势呢? ...

如果是玩FPGA cyclone系列可以說不要參考,因為沒有(玩)的價值可言,但是如果量產到是可以,因為價格便宜.
cyclone系列 100MHZ 還可以簡單交給軟體控制,上100MHZ以上就必須做細部調整,,,..如果速度再快,有些時序約束也調不出來,最後只有靠手動放置 LE 模塊遠近來解決問題...... {:titter:}

真的要玩FPGA可參考 Altera Stratix III 與 xilinx spartan 6或5

hys0401 发表于 2012-12-14 22:27:07

本帖最后由 hys0401 于 2012-12-14 22:33 编辑

wildgoose0712 发表于 2012-12-7 10:30 static/image/common/back.gif
今天对DDR又测试了下,用C6,I7的器件能跑到167MHz,当用C6跑200MHz时测试就不行了。CycloneIII能跑到167MHz ...

167MHz时NIOS II内核频率和DDR2是同频的吗请问?

hunningtu 发表于 2012-12-14 23:58:04

sky5566 发表于 2012-12-14 21:03 static/image/common/back.gif
如果是玩FPGA cyclone系列可以說不要參考,因為沒有(玩)的價值可言,但是如果量產到是可以,因為價格便宜.
c ...

哦,这样子啊,呵呵。看来还是的学习一下赛灵思的片子啊。网上道是有ddr的板子,但是好像例程太少了,但是听说有开源的ddr程序。有没有性价比比较高的赛灵思的ddr的板子推荐呢?不要太贵的啊,穷学生一个,太贵的玩不起啊,呵呵。

avic 发表于 2012-12-17 15:08:46

本帖最后由 avic 于 2012-12-17 15:13 编辑

xilinx spartan 6 + DDR2的板子,可以到黑金官方淘宝店(看我签名)看一下,性价比很高的

Codoox 发表于 2012-12-23 16:08:35

流口水啊!LZ整几套上来解解馋呗?

swhyuyu 发表于 2012-12-23 18:09:23

楼主用的DDR看着好眼熟啊!好像和我工作的公司用的是一个牌子的,最近正在用热风枪吹这个DDR呢,成功率不高啊。。。{:sweat:}

wzh6328 发表于 2012-12-24 17:53:27

楼主调试怎样了啊?

XP85118978 发表于 2012-12-24 19:08:07

个人玩,玩不起啊,羡慕楼主这么有米

wildgoose0712 发表于 2012-12-25 14:36:14

最近调了USB, 杯具的说只能跑2.0, USB3.0有5Gbps的速度,有信号完整性要求太高了,加上对官方资料没有吃透,发现有很多问题。不过准备再layout一次,这次将USB3分离成一块小板,估计元旦后能出来。再费钱我也不能半途而废。

041012js 发表于 2012-12-25 15:06:21

“再费钱我也不能半途而废”,祝你好运。

mymainmail 发表于 2012-12-25 15:16:19

wildgoose0712 发表于 2012-12-25 14:36 static/image/common/back.gif
最近调了USB, 杯具的说只能跑2.0, USB3.0有5Gbps的速度,有信号完整性要求太高了,加上对官方资料没有吃透 ...

是SSTX和SSRX线没做阻抗控制吗?

moxiaoxiong 发表于 2012-12-26 13:00:34

mark               

wzh6328 发表于 2012-12-26 13:52:11

wildgoose0712 发表于 2012-12-25 14:36 static/image/common/back.gif
最近调了USB, 杯具的说只能跑2.0, USB3.0有5Gbps的速度,有信号完整性要求太高了,加上对官方资料没有吃透 ...

支持楼主,希望快点出来,另外扩展板可以接口多一些。。。准备出手

wildgoose0712 发表于 2012-12-26 15:32:52

mymainmail 发表于 2012-12-25 15:16 static/image/common/back.gif
是SSTX和SSRX线没做阻抗控制吗?

对,走线的时候想当然了

rx_78gp02a 发表于 2012-12-26 15:38:17

wildgoose0712 发表于 2012-12-26 15:32 static/image/common/back.gif
对,走线的时候想当然了

距离那么短,应该影响不大,我见过双层板走USB3.0的,那个岂不是更悲催,但是照样能跑!

mymainmail 发表于 2012-12-26 17:58:48

wildgoose0712 发表于 2012-12-26 15:32 static/image/common/back.gif
对,走线的时候想当然了

其实先还是长了,可以紧凑点

dr2001 发表于 2012-12-26 18:18:35

本帖最后由 dr2001 于 2012-12-26 18:21 编辑

阻抗控制尽量往好了做,那两个耦合电容别太烂,协议需要那个电容的容值。
USB 3有链路训练,不是太差的阻抗控制也能凑合了。

另外,特别注意不要用ES的芯片,那个的PHY有点问题,SS不是太稳定。

具体布线参考10G以太网的资料,这个比USB3的多多了。

wildgoose0712 发表于 2012-12-27 12:00:33

本帖最后由 wildgoose0712 于 2012-12-27 12:08 编辑

dr2001 发表于 2012-12-26 18:18 static/image/common/back.gif
阻抗控制尽量往好了做,那两个耦合电容别太烂,协议需要那个电容的容值。
USB 3有链路训练,不是太差的阻抗 ...

SS差分线在与器件连接的地方间距到了14-16mil,后来研究了参考板的走线,应该是尽可能的保持在8mil的。唉,没经验啊

dr2001 发表于 2012-12-27 13:40:03

本帖最后由 dr2001 于 2012-12-27 13:47 编辑

wildgoose0712 发表于 2012-12-27 12:00 static/image/common/back.gif
SS差分线在与器件连接的地方间距到了14-16mil,后来研究了参考板的走线,应该是尽可能的保持在8mil的。唉 ...

具体可以查看Cypress的Hardware Design Guide,似乎是叫这个名字。

差分线的线宽,间距是和版层排列,版层厚度以及基材介质,铜厚都有关系的。不是它用多少你就要用多少,要用软件算一下。
如果你要照抄,那么从顶层开始到第一个实心的GND为止,你的板子的参数都要和REF设计保持一致,具体看Gerber。否则等于白抄。
另外注意,Cypress对SS链路处理的很细节,包括电容下边,链接器下边,都是有挖空GND,调节焊盘/链接器触点阻抗的。

从布线看应该影响不是很大,先算算看你现在的布线出来,阻抗是多少吧,不差太多的话先不要怀疑是布线的问题。

另外:1、TVS阵列如果质量拿不准就不要装,电容大点就完蛋;2、如果自己焊接注意助焊剂残留什么的;3、尝试用Linux一类的系统,看看XHCI驱动给出的调试Log。

wildgoose0712 发表于 2012-12-27 14:37:46

dr2001 发表于 2012-12-27 13:40 static/image/common/back.gif
具体可以查看Cypress的Hardware Design Guide,似乎是叫这个名字。

差分线的线宽,间距是和版层排列,版 ...

焊盘底下我都没有挖空,还有线阻抗在间距8mil,线宽12mil及介质厚8mils时是95欧,但在焊盘处间距到了14mil以上了,阻抗就到了101欧了,且阻抗多处不均匀怕是不行吧

dr2001 发表于 2012-12-27 14:47:28

本帖最后由 dr2001 于 2012-12-27 14:48 编辑

如果阻抗确如你说的话(尤其是PCB工艺和你仿真的时候一样),不要优先怀疑PCB,先看看别处是不是有问题,USB 3也不是那么弱不禁风。

芯片啊,时钟啊(摆幅要够,否则2.0能用,3.0PLL不稳定。),固件啊(早先的固件不是太稳定,1.1.1之后好像就比较好了),线材啊(无论长短,主要是线自身的质量要可靠,1.5m的不一定比0.5m的差),OS啊(驱动,etc要支持),都有可能出问题;一个出问题了就都完蛋。

先拿个其它的USB3设备(包含调试用的那根线,嘿嘿)证明除了板卡以外其它部分都正常;然后上Linux开内核驱动的Debug,能有一点点反馈。

wildgoose0712 发表于 2012-12-27 15:03:55

dr2001 发表于 2012-12-27 14:47 static/image/common/back.gif
如果阻抗确如你说的话(尤其是PCB工艺和你仿真的时候一样),不要优先怀疑PCB,先看看别处是不是有问题,US ...

呵呵,反正这个板子USB部分是问题多多的,SPI的片子我都裁掉了,谁知编译的固件都很大,24LC256装不下,杯具啊。第二板已经发去做了,又去了2K,烧钱啊。该注意的地方都注意了,再搞不定那跳楼的心都有了

dr2001 发表于 2012-12-27 15:18:44

本帖最后由 dr2001 于 2012-12-27 15:27 编辑

wildgoose0712 发表于 2012-12-27 15:03 static/image/common/back.gif
呵呵,反正这个板子USB部分是问题多多的,SPI的片子我都裁掉了,谁知编译的固件都很大,24LC256装不下, ...

汗,没调清楚就再版啊。。。

如果你没有特殊的自举需求,用USB直接下载固件就很好,挂上LibUSB,自己写一段代码,跨平台支持,方便又快。在自己的固件里加一个Control的命令:Reset to Firmware,这样连Reset按钮都不用人工按。如果你板卡的复位逻辑设计的好,可以远程调试的。。。

另外,FPGA完全可以考虑用SPI配置,这样用来学习调试最省事儿;不过FX3的外设引脚分配又是个恶心事儿。
CY的固件库编译的有问题,把N多函数放在一个C文件里还不开function per section选项,起步就接近80k了,加载了很多没用的东西还裁不掉;缓存分不了太多,这点很讨厌。

wildgoose0712 发表于 2012-12-27 15:44:29

dr2001 发表于 2012-12-27 15:18 static/image/common/back.gif
汗,没调清楚就再版啊。。。

如果你没有特殊的自举需求,用USB直接下载固件就很好,挂上LibUSB,自己写 ...

接USB3.0口的时候,下载固件到RAM中都经常出错,在winddows下还只能识别到usb2.0,所以我觉得很大的原因是3.0的线路有问题,再做的板我已经将USB3单独做成一个小板了,这样万一USB3不行核心板还可以用。差分线路也完全按照参考板做的,我觉得板子本身应该没问题了。元旦节后见分晓吧

wildgoose0712 发表于 2012-12-27 15:48:13

dr2001 发表于 2012-12-27 15:18 static/image/common/back.gif
汗,没调清楚就再版啊。。。

如果你没有特殊的自举需求,用USB直接下载固件就很好,挂上LibUSB,自己写 ...

兄弟也在搞或是搞过USB3.0?

dr2001 发表于 2012-12-27 17:01:04

wildgoose0712 发表于 2012-12-27 15:44 static/image/common/back.gif
接USB3.0口的时候,下载固件到RAM中都经常出错,在winddows下还只能识别到usb2.0,所以我觉得很大的原因 ...

呃,你干的事情有点满拧啊。。。OrZ。

FX3是这样的:
1、上电启动后自动运行BootLoader,根据外部引脚判定启动方式,这里假设你用的USB自举,并且没有在IIC里边写自己的ID。

2、如果是USB Boot,那么BootLoader用0x04B4:0x00F3作为USB设备ID,用USB 2.0 FS/HS和PC建立链接。
如果你建立连接这步都不稳定,说明480M那个2.0的线对都有问题,而这个一般很难出现。
所以,你需要专门检查电源,时钟等信号是否满足要求,同时特别注意时钟选择那几个电阻的焊接。FX3用的硬线PLL,电阻不对导致频率会有问题。
另外一个可能,就是你用的ES的芯片,ES的芯片PHY有点问题,特别是早期的ES,2.0的PHY不太正常。鉴别方法是型号下边那行有没有IES字样。具体可以看手册怎么鉴定。

3、用户用Control Transfer下载固件。其中,BootLoader下载的固件可以用BootLoader读回,可以校验一下。如果用LibUSB的话,这个程序很简单。
这点有问题和2中的处理类似。

4、下载完成,引导到用户的固件。之后由用户的固件决定是否开SS端口。
也就是说,用户可以选支持FS/HS还是FS/HS/SS。如果用户开了SS,那才会进行SS的协商,失败了回退到HS/FS。

所以说,你在BootLoader步骤不正常说明USB 2.0不对或者芯片/外围有问题,和USB 3.0没关系呢还。着急调3.0是没用的。

我去年这时候就开始用FX3了,呵呵。
这东西和FPGA通信没有想象的那么好,需要FPGA有比较大的FIFO,总体来说还不错。

wildgoose0712 发表于 2012-12-27 20:40:12

本帖最后由 wildgoose0712 于 2012-12-27 20:43 编辑

dr2001 发表于 2012-12-27 17:01 static/image/common/back.gif
呃,你干的事情有点满拧啊。。。OrZ。

FX3是这样的:


我接在PC的USB2.0的接口上就很正常,可以进行正常的数据传输测试,这总能证明USB2.0的线路没问题吧。所以问题还应该是在USB3.0的线路上。接PC的USB3.0接口时用Cypress给的Bulkloop Auto进行调试,最后get*speed函数总返回的是HIGHTSPEED

dr2001 发表于 2012-12-27 20:56:52

本帖最后由 dr2001 于 2012-12-27 21:01 编辑

wildgoose0712 发表于 2012-12-27 20:40 static/image/common/back.gif
我接在PC的USB2.0的接口上就很正常,可以进行正常的数据传输测试,这总能证明USB2.0的线路没问题吧。所以 ...

也许我没看明白你的测试流程,请遵循以下判断流程来初步判定故障所在:

1、无论是插在USB2还是USB3上,FX3的BootLoader都应该正常运行,下载代码的操作都必须是正常的。
因为BootLoader强制使用USB FS/HS,无论在什么接口上。如果有任何异常,请检查芯片相关的东西,这个和SS链路半毛关系都无。
ES芯片有的版本在USB2/USB3上表现不一致,希望你不是遇到这些工程样片了。

2、在你的程序中,CyU3PConnectState的参数,选择:连接USB,禁止使用SS。(参数顺序似乎是True,False,我懒得查API手册了。)
在PC的USB2和USB3接口上都进行测试,如果能正常运行,说明USB2相关的链路,以及你编译生成的Firmware都是正确的。
FX3的PLL什么的没有大问题。(当然,时钟要是摆幅不足的话,会出现HS正常,SS异常的情况。SS对时钟要求更高。)

3、在你的程序中,CyU3PConnectState,两个都是True,看能否使用。
在Windows下,重点看是否有弹出装驱动的对话框,或者用devmgmt.msc看设备加载情况。
如果能看到出现一下有无法识别的设备之类的东西出现,说明SS至少能开始枚举,但是枚举失败,这个很大概率是物理链路问题。至于是PCB布线还是你使用的USB3线材还是USB连接端子不好就难以判断了。
如果看不到,需要用别的USB3设备验证一下USB3的PC测链路和驱动什么的对不对。

另外一个方法就是Linux看XHCI Kernel驱动的Log,这个的反馈信息似乎更多一些。

wildgoose0712 发表于 2012-12-27 21:06:43

呵呵,多谢指导啊,反正板子已经发出去做了,就等过了节再做进一步的验证到底是哪里出的问题。我这人性子急,对文档及参考设计没有看透就开始蛮干了,花钱买教训。

wzh6328 发表于 2013-1-5 13:33:03

楼主改版后如何?
页: [1] 2
查看完整版本: 菜鸟制作EP3C40+DDR2+USB3.0核心板