CrazyBingo

抹去阴影,搞定了Cyclone III

0
阅读(7573)

自动去年又一次设计了一个EP3C10E144C8N的板子,后来失败,归咎于当年自己可能还是太嫩了,搞得最后很崩溃,以至于对Cyclone III 有一个莫名的害怕,心理多了一重阴影。至此再没碰过Cyclone III ,可能是“畏惧失败”吧。

都多大的人了,突然想想,不能让Cyclone III,来到这个世间就是去价值,于是,为了抹去当年的当年的阴影,消除自己对此的畏惧,决定重新开始一次旅行。

参考了好多的资料,包括NeverExist,曹会长、潇潇,灵,发哥的经验,最后借个所有人的精华,自己从零开始设计了一块 EP3C10E144C8N+HY57V641620+HY57V641620+KEY+LED+UART的板子,从中发现了很多的问题,都是以前不知道 的,也分析了很久,在那些人的帮助下,最后终于定型,信誓旦旦的投了板,等待归宿。


昨天板子回来了,晚上9点开始焊接,其实硬件工程师,不是设计的难点让其崩溃,每一次的投板,心理压力都是灰常大的,因为畏惧失败。谁会喜欢失败???

三下五除二,搞定了电源模块和EP3C,一下载,万念俱灰,检测不到JTAG,但是AS可以下载,却不能配置,想哭的冲动都有了。根据我的经验,这应该不是由于JTAG某引脚没有连上FPGA,因为我多年的焊工不至于那么戳吧。

冷静,easy,come down,我还是测试了所有VCC_3.3,VCC_2.5,VCC_1.2,GND,都木有问题啊,于是我崩溃,我感慨,时间到了寝室要关门了,没心思回去,反正这种状态回去了也睡不着。。。。

于是,搜索呗,再次看了特权哥哥的调试笔记,可是他那些我都办到, 最后在21ic看到了同样SB 的问题,同时在灵的提醒下,猛然发现我的图,MSEL没有处理好。。


问题应该在这里,看了一下手册,如此则是PS16的配置,查看pdf,让我心碎:


对于EPCS4而言,是慢速EEPROM,(EPCS16开始是FAST的)当然是第一种和第二种模式,看了好多人家的图,都是MSEL1用2.5V拉高,可是为什么捏?我始终无解。

我不得不跳线去完成使命但是好难。让我痛苦的是IO94,IO95,IO96,IO97都是GND,都被我覆上了铜,要割开线,不是一般的痛苦,我了个去 的还伤害了一片EP3C,拆EP3C是世界上最痛苦的事情(底部焊盘接地固定了)心疼。出去吃了个夜宵回来,跟达克大侠分析了好久,后来发现我可以不割 线,我直接挖一个孔,让IO96悬空,然后连出去,最后侥幸成功了,连接了一个3.3V,无奈的失败了。因为自己无法解释,为什么3.3就不行呢,明明第 一种配置方式说着用3.3的嘛。再换了一下2.5V,果断可以了。

豁然开朗,但是浮云未散,2.5V JTAG可以了,AS也可以了,但是为什么捏、?这到底是为什么捏??

整个板子已经调通,除了max3232芯片坏的让我串口调了n久,别的一路顺风,还行。时间已经是凌晨7点,回去洗了个澡上课睡了4节课,猪一样的。下午又睡了5个小时,又飘到实验室解决困惑,这到底是为什么捏?

跟潇潇分析了好久,最后发现,如果是应用在产品中,当让只有一个AS口,第一种模式很OK,3.3V就好了;但是如果JTAG 和AS共存,pdf中说道JTAG优先,电压要求接VCCA和GND,而JTAG 的VCCA= 2.5V, 所以尽管第一种模式也要接2.5V,至今我只能这样理解,不知道各位成功的大虾是怎么理解的。。




总结一下,操蛋的Cyclone 苛刻要求:

(1)AS电压为3.3V,各路信号线需要肖特基和10pf上下拉来满足苛刻的时序(虽然有些人不处理也行)

(2)JTAG推介用2.5V,虽然3.3V也行

(3)MSEL[2..0] = 3’010; 由于JTAG 的存在,要求MSEL[1] = 2.5V,才能正常使用JTAG,AS

(4)要求配置EPCS,如果是SOCP,需要手动分配引脚

(5)。。。

肯定有很多不恰当的地方,您若看到了,谢谢指出

Baidu
map