新闻  |   论坛  |   博客  |   在线研讨会
第一个完整的小项目 CPLD
0750long | 2009-06-13 12:26:26    阅读:1526   发布文章

第一个完整的小项目 CPLD

 

 

最近在做一个CPLD(MAX II EMP240)的小项目,要写一个I2C Slave模块,来代替原来的IO-expander,代码两天写好了,调试却花了三个礼拜,遇到的问题其实只有一个,分两步解决:

1、老板非要在打板之前把代码验证好,所以手工制作了一个demo板,代码在上面调试了两个礼拜,一直在改代码,后来才发现代码的问题不大,原来是自己制作的demo板有问题,不是我焊的不好,而是手工搭的干扰太大,导致内部的一个计数器错误计数,正好原来的主板上已经有一颗CPLD了,就把代码下到主板上的那个CPLD上,出错的概率降低了一百倍,但还是有错误,不能用在量产上。

2、既然计数器错误计数那就是触发它的clk有问题,但scl只有20K,我们都不认为这会影响到计数器。可事实上确实是这样,在scl上下拉了一个30pF的陶瓷电容,问题没有了。起初为是overshoot或undershoot对计数器产生了影响,但通过示波器观察电容只是影响了scl的上升沿,对其他特性到没多大影响,这就让人很难理解了,但问题确实解决了。

为什么呢?!为什么是一个电容呢???

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客