在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2737|回复: 7

[求助] FPGA 有时正常 有时不正常

[复制链接]
发表于 2013-10-29 09:31:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
用FPGA与单片机通讯,通过SPI接口方式,FPGA作为从机,单片机的SPI方式是用IO口模拟的。刚开始用了SPI的IP核,试着测试一下,用Modelsim仿真正常,但是下载到板子上,功能则有时候行有时候不行,我发现,当系统上电后,然后断电,又迅速上电,那每次都可以,如果经过一段时间才上电上电,则又不行了。就是要迅速重新上电才行。
我的测试是这样的,用简单的LED发光来指示。比如,单片机每个几百毫秒发送0xAA,然后几百毫秒发0xBB,FPGA如果收到AA,则点亮LED,收到BB,则LED灯灭,这样,LED就一直闪烁。。。
发表于 2013-10-29 11:58:14 | 显示全部楼层
回复 1# kandy286


    时序正常不?
 楼主| 发表于 2013-10-29 14:38:33 | 显示全部楼层
回复 2# shiyinjita


    综合后,用modelsim仿真好像是可以的。不知道是不是时序约束问题?用的是50M晶振,时钟约束设置多少较好呢?
发表于 2013-10-29 16:12:16 | 显示全部楼层
当系统上电后,然后断电,又迅速上电,那每次都可以,如果经过一段时间才上电上电,则又不行了。就是要迅速重新上电才行。

你说的什么意思?是单片机上电后,FPGA板要马上上电吗?如果是这样,二者间的同步不够健壮。刚开始的时候,FPGA那边是复位后的原始状态,比如容易接收数据,状态都对;时间积累后,因为某些原因(可能是SPI发数状态机有问题、或者接收到的数据有问题,比如数据出现移位了,10101010多移了位等),并且这种错误无法被清除,只能手工复位。

你可以用chipscope抓一下出错后的数据和SPI波形分析下看看,知道出错的表现后再定位原因。
发表于 2013-10-29 23:01:46 | 显示全部楼层
你用单片机写程序测你的FPGA是否正确
 楼主| 发表于 2013-10-30 09:16:47 | 显示全部楼层
回复 4# eaglelsb


        谢谢。现在应该可以了。问题应该是FPGA复位时间不够长。导致FPGA有了电,复位引脚早变为1了。现在改小FPGA系统电压的去耦旁路电容,然后再拉长复位时间。暂时没发现问题。
发表于 2013-10-31 22:45:01 | 显示全部楼层
回复 6# kandy286


    ,佩服
发表于 2013-11-4 00:59:06 | 显示全部楼层
复位信号要用数字逻辑展宽的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 05:59 , Processed in 0.027019 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表