搜索
bottom↓
回复: 19

fpga做spi的从机,spi_clk需要接到fpga的专用时钟脚吗

[复制链接]

出0入0汤圆

发表于 2012-12-28 20:07:30 | 显示全部楼层 |阅读模式
如果用fpga 做spi的从机的话,spi_clk应该接接入到fpga的专用时钟引脚吗?还是普通IO口就可以?

spi_clk有12MHz

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-12-28 20:54:42 | 显示全部楼层
本帖最后由 wuyuehang 于 2012-12-28 20:56 编辑

普通io就行,看看bank的电平需要匹配。
因为单片机在没有spi接口的时候就是io模拟,时序也不很精确。但是我想fpga跑的时序应该比单片机精确很多。
我 刚刚搞完sccb的总线,波形很好看,如果是单片机模拟的话估计可能sclk不会那么准。

出0入0汤圆

发表于 2012-12-28 21:24:03 | 显示全部楼层
普通管教就可以了,但是还是要有一个本地时钟信号,至少要是24m以上,那两根线作为普通数据线就可以了

出0入0汤圆

发表于 2012-12-28 21:26:27 | 显示全部楼层
时钟脚最好,不用本地时钟同步,直接用SCK操作

出0入0汤圆

发表于 2012-12-28 21:44:01 | 显示全部楼层
当然是接专用时钟引脚,接总比不接好,你接了也可以当普通IO用,为什么不接呢?

出0入0汤圆

 楼主| 发表于 2012-12-28 21:46:37 | 显示全部楼层
看来大家的意见不统一,有没实际做过的经验可以借鉴的???

出0入0汤圆

发表于 2012-12-28 21:49:03 | 显示全部楼层
yxm433 发表于 2012-12-28 21:46
看来大家的意见不统一,有没实际做过的经验可以借鉴的???

我接到GCLK上,因为我有8个GLCK,不用白不用

出0入0汤圆

发表于 2012-12-28 22:55:54 | 显示全部楼层
当然你上全局也可以,这个不能做真正的时钟信号,一般都要一个本地时钟,lz可以找一个spi接口芯片看看,都有晶振接口管脚

出350入477汤圆

发表于 2012-12-29 08:47:59 来自手机 | 显示全部楼层
Fourier00 发表于 2012-12-28 22:55 当然你上全局也可以,这个不能做真正的时钟信号,一般都要一个本地时钟,lz可以找一个spi接口芯片看看,都 ...

如果你只干这一件事,当然可以直接用SPI时钟,就像很多串行AD一样。
如果你还要干其它事,就用本地时钟吧,因为SPI不收发数据的时候是没有时钟的

出0入0汤圆

发表于 2012-12-29 09:07:11 | 显示全部楼层
才12MHz 随意接吧,除非用这个时钟扇出很多

出0入0汤圆

发表于 2012-12-29 09:24:34 | 显示全部楼层
用普通IO就可以,当然也可以把GCLK当普通IO用

如果你的SPI模块非常简单,比如就是个类似SPI Memory的东西,可以用异步设计。
如果你的SPI模块只是你FGPA设计的一部分,并且要与其他模块接口,最好用同步设计。
而用了同步设计,使用什么IO口都无所谓了,GCLK和普通IO比并没多少优势。

出0入0汤圆

发表于 2012-12-29 11:45:14 | 显示全部楼层
本帖最后由 Fourier00 于 2012-12-29 11:54 编辑
redroof 发表于 2012-12-29 08:47
如果你只干这一件事,当然可以直接用SPI时钟,就像很多串行AD一样。
如果你还要干其它事,就用本地时钟吧 ...


如果有从器件使能可以不要本地时钟

出350入477汤圆

发表于 2012-12-29 12:15:45 | 显示全部楼层
Fourier00 发表于 2012-12-29 11:45
如果有从器件使能可以不要本地时钟

除非你这个FPGA只干这一件事啊!也就是说你的FPGA只是作为一个简单的SPI从设备。
不然,主机不给你发数据的时候,你没有时钟,啥也不能做了。
参见上面McuPlayer的说法。。。

实际使用中大部分情况是用本地时钟的,这个时候SPI_CLK用什么引脚都一样,对FPGA内部而言它根本就不是时钟,只是普通数据。
整个FPGA完全用SPI时钟工作的情况,除了学生做实验,基本碰不上。

出0入0汤圆

发表于 2012-12-29 13:07:32 | 显示全部楼层
redroof 发表于 2012-12-29 12:15
除非你这个FPGA只干这一件事啊!也就是说你的FPGA只是作为一个简单的SPI从设备。
不然,主机不给你发数据 ...

刚刚我说错了,其实是这样的,一般的异步设计fpga没这个能力,只能做同步设计,所以需要一个本地时钟,如果不用本地时钟fpga设计出来的接口可靠性堪忧,因为无法从异常的状态跳出来,至于有些芯片没有本地时钟,asic中有异步设计,可以做到用随路时钟,所以我觉得自己做接口的时候最好有本地时钟,同时还要考虑一些可靠性问题

出350入477汤圆

发表于 2012-12-29 13:16:19 | 显示全部楼层
Fourier00 发表于 2012-12-29 13:07
刚刚我说错了,其实是这样的,一般的异步设计fpga没这个能力,只能做同步设计,所以需要一个本地时钟,如 ...

如果你用FPGA当作一堆164和595给单片机扩展IO,当然可以没有本地时钟,直接用SPI的时钟来工作就行了,没问题的。
如果单片机不发SPI数据,整个FPGA就完全不动
这也不叫异步设计。因为你还是只有一个时钟。


出0入0汤圆

发表于 2012-12-29 13:31:07 | 显示全部楼层
如果用SPI的CLK驱动FPGA内部的相关逻辑,那么放在GCLK上有好处。但是这样有可能需要做数据CDC,不一定更简单。
如果用FPGA自己的时钟去过采样SPI CLK,那么就完全无所谓;只不过要求FPGA时钟要足够快。

根据情况自己选择就行了。

出0入0汤圆

发表于 2012-12-29 13:46:28 | 显示全部楼层
redroof 发表于 2012-12-29 13:16
如果你用FPGA当作一堆164和595给单片机扩展IO,当然可以没有本地时钟,直接用SPI的时钟来工作就行了,没 ...

有问题,挂死了,就回不来

出0入0汤圆

发表于 2013-1-5 21:26:06 | 显示全部楼层
学习一下啊!!!

出0入0汤圆

发表于 2013-1-6 08:39:47 | 显示全部楼层
普通IO口,然后本地同步

出0入0汤圆

发表于 2013-1-9 15:46:34 | 显示全部楼层
不需要
设置建立保持时间约束,看时序报告是否满足即可!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 07:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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