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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: TomPaul

[求助] 请教关于SPI的问题

[复制链接]
发表于 2011-3-4 20:34:01 | 显示全部楼层
回复 1# TomPaul


     我认为本来就是要用第二种方法,spi本来就是同步通信协议,又不是uart,否则何必master要提供时钟呢。
 楼主| 发表于 2011-3-4 21:09:52 | 显示全部楼层
回复 11# microsofthard


    我理解master提供时钟sclk,估计出发点是想slave用sclk,

   不过,在ipcores上下的code都采用了用slave的主时钟采样sclk的方法,应该是有原因的,

   个人看法:这种场合应该是master和slave工作在同一个时钟域,但是master输出的信号,在传播过程中比较容易受到干扰(SI)或者走线较长(delay),造城slave接受到数据后不能保证sclk(时钟)还能正常采样到sdi(数据),所以才会有这种情况
 楼主| 发表于 2011-3-4 21:38:48 | 显示全部楼层
回复 10# yl5495


   

“从端收到数据后转并口,输出到USB芯片,可以在终端稳定播出所收到的视频流。”


这个过程应该会在中间加个FIFO吧,这样是不是就成了异步FIFO?

USB芯片的频率应该很高,快时钟域的时钟信号读慢时钟域的数据?

这样就有两个过程了,一个过程是slave接收master串行数据,通过shift registers,转换成8位并行数据发送到USB,然后把USB的并行数据转换成串行数据发送给master,这个过程用的是master提供的时钟sclk;另外一个过程是slave与USB之间的数据交换,用FIFO来实现。这两个过程就有了两个不同时钟域的时钟信号。

如果master的主时钟clk_master和USB的时钟信号clk_usb在一个时钟域中,那么这两个过程就可以用同一个工作时钟。这样数据交换的过程就简单些

我想这样的两种情况决定了是否对slave的接收数据同步处理。

不知道我的理解是否正确,
发表于 2011-3-6 11:14:26 | 显示全部楼层
回复 13# TomPaul


USB接收数据后,就发送到视频播放终端,跟MASTER 没什么关系了。

该芯片USB接口比较友好,记得好像是数据总线和写使能就可以把并行数据写入USB,

至于USB芯片里面如何处理,不是咱们关心的。
 楼主| 发表于 2011-3-14 13:28:34 | 显示全部楼层
回复 14# yl5495


    非常感谢,你能够提供这么宝贵的经验

   还有一个小问题,如果只有一个从设备,这个时候的TCEB信号,就是低电平有效的那个信号,你怎么用?

   作为复位信号使用?
发表于 2011-3-14 14:46:07 | 显示全部楼层
这个信号我当时好像没用到,一般SPI三个信号:
sclk
sen
sdio

TCEB 我还真没印象了。
 楼主| 发表于 2011-3-15 20:51:39 | 显示全部楼层
回复 16# yl5495



    就是sen这个信号,TCEB是项目里小日本定的
发表于 2011-3-16 13:10:30 | 显示全部楼层
sen一般是低有效,在采样数据时,为低。比如采样8个bit,则采样最后一个bit后,为高。下个周期采样时,在为低。一般手册都有相关时序。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-7-2 01:59 , Processed in 0.028216 second(s), 6 queries , Gzip On, MemCached On.

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