前些日子正好看到了riple兄的《一波三折——危险的“未分配”引脚》一文,颇受启发。正好最近也遇上了类似的问题,也可谓一波三折,还好最后摆平了,要不煮熟的鸭子可就要飞了。

最重要的是又让自己长经验了。以前培训的时候就听老师提到FPGA设计中闲置的管脚一定要置输入三态(As input tri-stated)。而且印象深刻,算是牢记在心,只可惜没有活学活用,知道有危害,但是真真到开发设计的时候就是记不得了。真可谓应了那句“不见棺材不掉泪”,有些事总是需要自己亲身经历一回才会好好吸取教训。还好,我的问题是在只差一步就玩完的时候发现了。

事情发生的其实也很蹊跷,很让人摸不着头脑的。问题大体是这样的,本来那块控制板的样品已经交给客户测试了,基本没有什么大问题了,在我们自己搭的测试平台上运行很稳定的,反正是发现不了什么问题,不过我想这和测试环境不够复杂有关系吧(接口端的MCU除了进行数据传输基本不干别的活),后来板子被拿到另一块板子上一测试,那块板的蜂鸣器会莫名其妙的滴答滴答的响,不接控制器就不会响,一接上去工作就叫,让我很是郁闷。明明MCU和CPLD接口除了P0,P2和WR,RD外再没有别的,而蜂鸣器接的都不是这些口,在P1口上,那为什么这样毫不相干的管脚居然会有意想不到的关联呢?

第一回我和以前接口时序上不太稳定但是用了以后蜂鸣器不叫的代码对比了一下,只是在WR信号的判断上动了下手脚,结果问题好像就解决了,其实那时还没有意识到会是闲置管脚带来的问题,然后就以为万事大吉了。

昨日里产品要交付了,结果慌忙中代码烧写的版本老不对劲,最后只得找老版本按上回的更改重新改写然后编译,烧的CPLD中在自己的测试平台上依然没有出问题。换到有蜂鸣器的板子上问题复现了,这回我一上来直接找闲置管脚了,我一口咬定就是它了。呵呵,果然,quartus ii中默认的设置是:As output driving ground,那么这样的设置很有可能就是蜂鸣器不正常的直接导火索。将这个设置更改后重新编译下载,蜂鸣器怪怪静下来了,问题解决了,多次测试均正常。                                                                                                      引自特权同学

As input tri-stated的更多相关文章

  1. Tri Tiling[HDU1143]

    Tri Tiling Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  2. Tri Tiling(hdu1143)

    Tri Tiling Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  3. POJ 2663 Tri Tiling

                                                                                    Tri Tiling   Time Li ...

  4. POJ 2663 Tri Tiling 矩阵快速幂 难度:3

    Tri Tiling Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7841   Accepted: 4113 Descri ...

  5. HDU 1143 Tri Tiling

    链接:http://acm.hdu.edu.cn/showproblem.php? pid=1143 Tri Tiling Time Limit: 2000/1000 MS (Java/Others) ...

  6. HDU 1143 Tri Tiling (递推)

    Tri Tiling Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  7. HTML中上传与读取图片或文件(input file)----在路上(25)

    input file相关知识简例 在此介绍的input file相关知识为: 上传照片及文件,其中包括单次上传.批量上传.删除照片.增加照片.读取图片.对上传的图片或文件的判断,比如限制图片的张数.限 ...

  8. HTML5 input元素新的特性

    在HTML5中,<input>元素增加了许多新的属性.方法及控件.本文章分别对这三方面进行介绍. 目录 1. 属性 2. 方法 3. 新控件 1. 属性 <input>元素在H ...

  9. input[tyle="file"]样式修改及上传文件名显示

    默认的上传样式我们总觉得不太好看,根据需求总想改成和上下结构统一的风格…… 实现方法和思路: 1.在input元素外加a超链接标签 2.给a标签设置按钮样式 3.设置input[type='file' ...

  10. input标签中button在iPhone中圆角的问题

    1.问题 使用H5编写微信页面时,使用<input type="button"/>时,在Android手机中显示正常,但是在iPhone手机中则显示不正常,显示为圆角样 ...

随机推荐

  1. [原创]opencv实现图像拼接,制做全景图

     转载请注明:http://www.cnblogs.com/ausk/p/3332255.html    调用opencv2.4.6中的库函数,实现图像的拼接功能,傻瓜式拼接,不需要太多的专业知识.. ...

  2. Python之FTP多线程下载文件之分块多线程文件合并

    Python之FTP多线程下载文件之分块多线程文件合并 欢迎大家阅读Python之FTP多线程下载系列之二:Python之FTP多线程下载文件之分块多线程文件合并,本系列的第一篇:Python之FTP ...

  3. DDD:四色原型中Role的 “六” 种实现方式和PHP的Swoole扩展

    目录 背景六种实现方式第一种:未显式体现角色的模式.第二种:使用“显式接口”显式体现角色的模式.第三种:使用“扩张方法”显式体现角色的模式.第四种:使用“领域服务”显式体现角色的模式.第五种:使用“包 ...

  4. 超级强悍的PHP代码编辑器PHPstorm及配置

    如何下载安装 官方网站:http://www.jetbrains.com/phpstorm/,本篇文章展示的是5.0版本以,所以,如果你的软件版本过高,可能可有误,所以,如果有问题,请在本站留言,做为 ...

  5. hdu-4471-Homework-矩阵快速幂+优化加速

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4471 题目意思: 求f(n). 当n为特殊点nk时 解题思路: 当x不为特殊点时,直接用基本的矩阵快 ...

  6. 通过qsort(void * lineptr[], int left, int rifht, int (*comp)(void *, void *))解读指针函数和void指针

    原函数是<The C programint  language >5.11文本行排序的程序,如下: void qsort(void *v[], int left, int right, i ...

  7. IPC之消息队列详解与使用

    一.    概念 消息队列就是一个消息的链表.对消息队列有写权限的进程可以向其中按照一定的规则添加新消息:对消息队列有读权限的进程可以从消息队列中读出消息.消息队列是随内核持续的.下面介绍三个概念: ...

  8. tensorflow与kubernetes/docker结合使用实践

    tensorflow tensorflow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流 ...

  9. 总结 React 组件的三种写法 及最佳实践 [涨经验]

    React 专注于 view 层,组件化则是 React 的基础,也是其核心理念之一,一个完整的应用将由一个个独立的组件拼装而成. 截至目前 React 已经更新到 v15.4.2,由于 ES6 的普 ...

  10. ubuntu 14.04中Elasticsearch 2.3 中 Nginx 权限认证

    前言:本文实现了nginx简单保护elasticsearch,类似的保护也可以采用elasticsearch 官方插件shield 一.准备密码 1.确认htpasswd是否已经安装 which ht ...