发 帖  
原厂入驻New
申请华秋企业认证 多层板首单免费打样!
30s提交资料,10分钟通过审核(免费赔付+顺丰包邮)>>立即报名
FPGA与ARM如何用SPI实现双机通信?
528 FPGA ARM
分享
2019-4-4 06:35:34   评论 分享淘帖 邀请回答

相关问题

24个回答
和普通单片机的没什么区别吧,都是3.3V...
2019-4-4 07:50:34 评论

举报

偷懒的方法就是IO口模拟,直接用32的SPI程序...
2019-4-4 08:02:45 评论

举报

我不知道数据接收了存到哪
2019-4-4 08:12:10 评论

举报

如果软件模拟的话读过来就是个变量
2019-4-4 08:22:32 评论

举报

ARM输出sclk时钟给FPGA,对吗?那如果是这样的话,FPGA怎么判断ARM是否在发送数据
2019-4-4 08:39:05 评论

举报

ARM作为主机的话就是它提供时钟信号,CS是从机的选通信号
2019-4-4 08:56:56 评论

举报

为什么我写好程序,FPGA接收的数据不对
2019-4-4 09:02:41 评论

举报

你可以用示波器先看下各个引脚的波形对不对,确保初始化没问题
2019-4-4 09:12:53 评论

举报

波形没问题,就是FPGA收到的数不对
2019-4-4 09:29:19 评论

举报

你把ARM和FPGA两边的延时什么的调调,引脚高低电平保持的时间,弄成一样。我之前用32和S3C2440通信的时候,程序都没怎么改,配置了引脚,改了延时就好了,两边程序一模一样,还加了LINUX
2019-4-4 09:41:06 1 评论

举报

1 条评论
  • 2019-11-4 11:39

    您好!我现在正在学习spi,是用linux操作系统ARM作主机,32做从机,但是一直调试不出,ARM的程序是根据linux内核源码修改的,并且示波器ARM的波形是对的,就是32接收不到。您的代码可以发一份给我学习一下吗,感谢!麻烦了!邮箱:mgk971102@163.com

我的FPGA没用延时,直接检测ARM的NSS端电平,低电平时读数
2019-4-4 09:47:44 评论

举报

嗯,关键是SCK信号捕捉到,然后从高到低,错过一个SCK周期数据就可能出错。你可以这样试试,固定发送比如0XAA,也就是10101010B,然后用示波器看波形,看每条线的信号对不对
2019-4-4 09:53:58 评论

举报

有什么办法可以避免错过一个SCK周期数据
2019-4-4 10:07:43 评论

举报

我把FPGA接收到的数据引出来,用示波器看,发现数据确实在0,1之间跳变,这说明确实错过了奇数个周期的数据。那我该如何解决这个问题呢
2019-4-4 10:20:49 评论

举报

看波形是超前了还是滞后了,对应着改下NSS信号判断那块的,不行就用延时。算下每个SCK周期
2019-4-4 10:32:18 评论

举报

这个怎么看波形超前还是滞后
2019-4-4 10:51:51 评论

举报

我有一个疑问,在ARM的SPI协议中,那个函数执行后,会让NSS置0
我直接用的ARM的IO口模拟,觉得关键还是时钟信号的同步,确保SCK每个周期能读到那个有效数据。ARM作为主机,我这有个ARM作为主机驱动24L01的代码,测试可以用的,你参考下。NRF24L01.c (14.47 KB )
app_NRF24L01.c (708 Bytes )
我要用ARM给FPGA送18位,而我设置的是ARM每次发8位数给FPGA,比如我想把010110101111101010这八位数发送给FPGA,那我如何实现分三次发送,让FPGA收到的数无误。

只有小组成员才能发言,加入小组>>

12下一页

146个成员聚集在这个小组

加入小组

创建小组步骤

关闭

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

快速回复 返回顶部 返回列表