3076|1

222

帖子

2

TA的资源

一粒金砂(高级)

楼主
 

聊聊SPI时序问题 [复制链接]

这两天纠察项目瓶颈,发现SPI速度不是预期的12MHz,算是长见识了。

现象
从以往数据手册给与的SPI时序图来看,SPI时钟信号应该是连续的:


而我们实际捕获到得SPI主机接收模式信号却是如下图所示:
  • 处理器MX287
  • 脉冲频率12MHz
  • 连续脉冲个数8个
  • 每发送完1个字节后始终停止,停止时间略微比8个脉冲之和大


也就导致原本12MHz的信号,实际只达到了6MHz的效果。
同样,我拿手头上另一款处理器s3c2440测试SPI信号,同样也是如上的形状。

资料
翻阅MX287和S3C2440的手册,没看到关于这种波形的解释,另外在STM32手册上有张类似的图,不过图中描述的是“主机处于【非连续发送】模式”的状态,与现象中主机接收模式好像不符。


猜测
  • 看手册没仔细,工作模式没配置正确
  • 由于DMA的原因,
几年前在S3C2440上我用DMA控制NAND,DMA的时序逻辑也不是100%沾满空间的,也是接近50%的利用率
https://bbs.eeworld.com.cn/thread-452973-1-1.html
本项目里的SPI也是由DMA控制
  • SPI标准就是这样,中间的空闲是为了防止时钟错位
一次SSP片选后双方通信传输几十个字节还好说,倘若一次SPI传输1万个字节,CLK一直不断的给信号,倘若接收端没有判断出哪个边沿是字起始比特怎么办,于是乎就在每个字节结束后插入一小段空闲,避免接收端找不到起始比特







最新回复

楼主找出原因了吗  详情 回复 发表于 2017-11-13 23:31
点赞 关注

回复
举报

1万

帖子

2854

TA的资源

管理员

沙发
 
楼主找出原因了吗
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

玩板看这里:

https://bbs.eeworld.com.cn/elecplay.html

EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!

 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表