发新帖本帖赏金 1.00元(功能说明)我要提问
返回列表
打印
[FPGA]

求助各位大神,FPGA与MCU并行通信的问题

[复制链接]
1928|6
手机看帖
扫描二维码
随时随地手机跟帖
楼主
玄德| | 2016-7-27 21:28 | 显示全部楼层 回帖奖励 |倒序浏览
本帖最后由 玄德 于 2016-7-27 21:30 编辑

从程序看,
是用CPU产生时钟送给FPGA,然后从FPGA里分四次共读出32位数据。
两个程序都有问题,但主要问题是cpu方面,没有和PFGA时序配合好。

FPGA方面:
1、你先给了csn为0,这样cnt=0根本没有执行,后面自然就不对。
2、cnt超过3以后,没有复位的语句。
3、FPGA必须收到两次inclk的上升沿,才能执行到输出语句;而cpu给出的顺序不对。
这几项是大错误。
另外有毛病:
1、{data_in[31],data_in[30:24]},直接用 data_in[31:24]。不要多此一举。
2、case里面缺少default项。

cpu方面:
逐位读,然后再拼起来,也是多此一举。直接读整个寄存器就可以,不用拼。


使用特权

评论回复

打赏榜单

ynhp0428 打赏了 1.00 元 2016-07-27
理由:兵贵神速

沙发
玄德| | 2016-7-27 22:06 | 显示全部楼层

我说两次,是因为:
csn先保持为高,然后给出第一个clk上升沿,使cnt复位为0;
csn降为低,保持,然后给出第2个clk上升沿,这时会送出数据。
这才是符合你verilog的操作过程。


使用特权

评论回复
发新帖 本帖赏金 1.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则