发新帖我要提问
12
返回列表
打印

CPLD碰到一个奇怪问题

[复制链接]
楼主: shen8103
手机看帖
扫描二维码
随时随地手机跟帖
21
shen8103|  楼主 | 2011-1-27 17:11 | 只看该作者 回帖奖励 |倒序浏览
回19楼,恩,我晚上加个10k的电阻试试。

回20楼,心痛倒是不心疼,也不怕麻烦。主要问题是一来如果问题没想清楚一片片的烧意义不大,想办法分析出根源是关键,二来是项目的时间进度比较紧张,拖不起。当然,出来加班加点这也没什么办法,谁让自己选了这条路呢,是吧?呵呵。。。

使用特权

评论回复
22
古道热肠| | 2011-1-27 23:28 | 只看该作者
注意EPM240的管脚是没有5V耐受性的,输入电压无论如何不能高于4.2V。可以用供给CPLD的电源正极和地线测试一下输入管脚。

使用特权

评论回复
23
chunyang| | 2011-1-27 23:32 | 只看该作者
IO口的电平容限是不能超出,内部有钳位二极管的,如果信号源内阻较低,一旦超出会引发大电流或造成IO的闩扣效应,都可能摧毁芯片。

使用特权

评论回复
24
xinxin_dl| | 2011-1-28 01:20 | 只看该作者
来学习下……

使用特权

评论回复
25
charrijon| | 2011-1-28 18:27 | 只看该作者
你需要的是把多余管脚设成3态的,不设成3态,肯定会烧的

使用特权

评论回复
26
shen8103|  楼主 | 2011-1-31 21:17 | 只看该作者
本帖最后由 shen8103 于 2011-1-31 21:54 编辑

回25楼:你说的这个情况我倒是没有注意到。多余管脚不设置成3态的情况下悬空或者接地的话有问题么?或者说是不是设置成3态以后就可以随便怎么样处理多余脚了呢?另外还有一个问题就是altera似乎并不是所有型号的芯片都可以设置口为3态的吧?如果不能设为3态的时候应该怎么办呢?谢谢!

使用特权

评论回复
27
shen8103|  楼主 | 2011-1-31 21:20 | 只看该作者
回23楼:我直接接VDD,也就是你说的信号源内阻很小的情况。你说的这个情况是不是加限流电阻就可以解决呢,比如加一个4.7k的电阻这样?

使用特权

评论回复
28
shen8103|  楼主 | 2011-1-31 21:23 | 只看该作者
回22楼,电平容限的问题我已经注意了,目前的测试电路确实有和5V单片机系统连接,不过已经加了分压电阻后实测3.4V,应该没有什么问题吧。而且单片机非强输出电流能力只有230uA,我没有加上拉电阻什么的,应该也不会造成什么伤害吧?

使用特权

评论回复
29
chunyang| | 2011-1-31 22:02 | 只看该作者
空余口设定成输入并偏置到器件的电平电压范围内是没问题的,并非一定要设成3态,正常的输入口能这么工作,但要注意的是编程,特别是对空余口的编程。

使用特权

评论回复
30
shen8103|  楼主 | 2011-1-31 22:55 | 只看该作者
回29楼,编程里一般怎么写比较好呢,都设置成输入并对外接地么?刚刚烧了第四块芯片。确认了在输入端悬空情况下,了各部分上电连接都没有问题。输入端接地的还是接地,接入电源的还加了6.8k保护电阻,为了保险把原先用于辅助指示的LED也全部断开,但是连入输出部分以后,芯片还是在上电瞬间烧毁短路。没天理啊!!!我还想好好过个年呢>,<

使用特权

评论回复
31
chunyang| | 2011-1-31 23:02 | 只看该作者
两种办法,一是人为对所有IO进行定义,正常的IO怎么定义,空余的就怎么定义,顶多做个实际上不用的逻辑环节;二是在编译集成环境中对空余口进行定义,用这种方法要仔细阅读器件手册和编译环境的说明文档,需要正确操作。

使用特权

评论回复
32
shen8103|  楼主 | 2011-1-31 23:18 | 只看该作者
不过现在的问题是,悬空的时候没有问题,为什么连接固定电平会有问题呢?而且问题不是说逻辑错误,而是芯片直接烧毁,太夸张了也。

使用特权

评论回复
33
chunyang| | 2011-1-31 23:20 | 只看该作者
因为肯定存在内逻辑设计问题,短路了。

使用特权

评论回复
34
shen8103|  楼主 | 2011-1-31 23:34 | 只看该作者
我是用VHDL功能描述方法写的代码,而且核心逻辑别人已经验证过了,只是前人使用的是xilinx家的芯片,我用的是altera家的,觉得逻辑出错的可能性不是很大,而且我也模拟过。如果说内逻辑有问题的话,是否意味由于编译器造成了相应的问题呢?如果是的话应该怎么解决呢?

使用特权

评论回复
35
ocon| | 2011-2-1 01:14 | 只看该作者
未定义的引脚缺省配置是接地的。

使用特权

评论回复
36
mmax| | 2011-2-1 01:25 | 只看该作者
34# shen8103

晕~ 都换厂家了,还敢保证逻辑一样。

硬件语言,除非你vhdl的时序控制的非常出色,或者功能异常简单,一般是很难实现一样功能的。

复杂一点程序,别说换IC了,你编译器版本不同可能运行效果都不一样。

使用特权

评论回复
37
chunyang| | 2011-2-1 02:24 | 只看该作者
楼上说的不错,逻辑设计和编译环境非常重要,需要对器件和编译器有足够的了解,所以我前面要楼主去仔细看器件手册和编译器的说明文档。

使用特权

评论回复
38
shen8103|  楼主 | 2011-2-1 15:35 | 只看该作者
本帖最后由 shen8103 于 2011-2-1 20:32 编辑

好吧。。。我再去看看手册。我觉得逻辑应该属于异常简单的类型=,=

另外我并不是抄人家的代码,是按别人的逻辑重新写的代码,因为我一直用altera的芯片,正是怕硬件上有什么问题,才没有用人家的芯片。

还有一个问题是如果内逻辑会有问题的话,quartusII的自带模拟难道做不出来么?

使用特权

评论回复
39
sand105| | 2015-6-24 15:38 | 只看该作者
楼主,这个问题最后是怎么解决的?方便回忆分享一下吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则