闲置管脚引一定要置输入三态(As input tri-stated)

 

fpga 2010-04-13 16:45:30 阅读9 评论0 字号:

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

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

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

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

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

c

转载于:https://www.cnblogs.com/wfcx/archive/2010/04/28/1722641.html

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值