Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2293986
  • 博文数量: 187
  • 博客积分: 1457
  • 博客等级: 上尉
  • 技术积分: 2423
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-13 09:41
个人简介

如需要绘制PCB,设计电路可以和我联系。sunhenu@163.com.

文章分类

全部博文(187)

文章存档

2017年(2)

2016年(2)

2015年(7)

2014年(13)

2013年(80)

2012年(83)

分类: 嵌入式

2015-03-27 13:00:45

    最近做了一个关于CPLD的项目,其实也可以使用FPGA,但是为了成本就利用了CPLD,结果编译程序,时钟约束都是正常的,但是程序运行一段时间后出现异常,但是异常出现时间都不确定,最初还以为是自己程序的问题,改呀改呀,但是还是出现那个异常。郁闷了几天。
    当然了也逼着自己将其算法精简再精简,逻辑单元使用率从95%降到80%,时序约束的余量也更大些了。但是异常还是出现,时间还是不确定。
    很郁闷很火,后来也没有办法,只好想办法。像ARM芯片一些样,通过串口将数据读取出来,具体观察一下到底是那个寄存器的值发生了改变。
   因为这个项目没有使用串口,就利用手里的ARM核心板和CPLD通信,将CPLD中的寄存器值读出来了。

正常数值是2和12250000。异常数据是0和0.CPLD板子使用的就是小的电源适配器,5-10元钱的那种,无意中我踢动那个电源适配器发现,CPLD寄存器值居然清零了,还好我一直监视CPLD的寄存器值,然后复位正常了,我再踢动那个220V交流插座,在这个过程没有断掉220V,我的计算机也是从这个插座供电的,前面提到的异常出现了,真的很高兴的。然后我利用ARM核心板给CPLD供电,ARM核心板使用计算机的USB端口供电,这样电源总该干净些了吧。我继续踢动220V插座,异常再也没有出现了,看上面图片,绿色的是USB供电,怎么踢动电源都没有出现异常。红色的是电源适配器供电,踢动2次就会出现寄存器为零的现象。还好没有把插座踢坏的。   自己给自己的一个教训吧。
   
阅读(2259) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~