微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 自己制作的数码管电路用FPGA驱动有问题

自己制作的数码管电路用FPGA驱动有问题

时间:10-02 整理:3721RD 点击:
自己做了一个四段共阳数码管的电路。
程序就是用的是自己以前验证过的没问题,仿真也没问题。
但在测试0-9显示的时候就有问题了,除了234这三个数字其他数字显示正常,2和3少了d码段,4少了f码段(译码程序是正确的)。
测了一下对应引脚的电压,正常低电平时引脚电压1V,高电平3.3V,但是在显示2的时候d码段对应的引脚电压竟然是1.9V?这是什么原因呢?实在想不出解决办法。
不接上这个模块时对应低电平电压就是0,高电平就是3.3
对应的数码管电路原理图如图。




建议可以使用JTAG,抓取FPGA管脚的输出信号,查看是否正确。你说代码是正确的,为什么是正确的呢,你是意思是不用怀疑是代码的问题吗,我认为遇到问题的时候,应该怀疑任何一个地方,否则你要给我实验证明。我直觉是代码的问题。8能显示的话,说明不是硬件问题,那就基本确定是软件问题,也就是代码的问题。建议多看看代码。多在纸上用铅笔画画,应该不难找出问题。我之前多次调试FPGA驱动LED,感觉不是很难。注意共阴极和共阳极的区别。


太感谢你了。问题解决了,确实不是软件问题,仿真也做过,代码用的以前成功测试的,都是对的。不过要不是你这么一说我还没会用signal tap附上一张第一次用signal tap分析的图,测试显示4这个数字,监控data[3],data[5]如下图所示。
[attach]628610[/attach]
   分析这两个引脚的信号都是对的。
这让我坚信确实是硬件问题,之前也怀疑了硬件问题,加了各种上拉电阻,换了驱动电阻都没解决。今天看了你的回复后测试了信号正确,坚定不移确实是硬件问题,测了一下硬件电路的引脚通断,结果发现两根线短路!短路点特别不起眼,根本肯不到,我是用的热转印做的板子,腐蚀完钻孔后焊盘的金属会翻起来(这块覆铜板质量不是很好。)于是就跟旁边的导线接触了,非常小的一个点,不测根本看不到。
再附上这个罪恶的PCB电路以及修改后成功实现的效果图。
[attach]628624[/attach][attach]628621[/attach]
  这么一个小小的错误浪费了这么多时间。说来真是惭愧。交个朋友吧!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top