12518|6

83

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

SPI从机模式发送数据移位的问题~求解 [复制链接]



问题比较奇怪也复杂, 先大致描述一下..

在一个系统内部2个MCU之间用了SPI通讯.

SPI 主机是ARM9, 固定每100ms. 连续发送64个时钟和数据, 即使没有数据也发送dummy数据. 以保证从机准备的上传的数据有SCK时钟.

从机是STM32F101, 用SPI2. 用DMA接受与发送.  

两个边配成同样的模式, 空闲高电平. 第二个时钟边沿(也就是上升沿)交换数据.
CPOL = 1, CPHA = 1

出现了一个奇怪的问题, 如果用JTAG调试全速运行STM32(此时ARM9已经在狂发时钟了). 那么从STM32发出去的数据(它的MOSI脚), ARM9接受到的是正确的. 通过示波器看也是对的.
一旦断电后让程序自己跑. 那么ARM9收到的数据就会偏移一个bit. (发0xFF 0x0A, ARM9收到的是0xFE, 0x14(0x15). 最后一个bit取决于之后跟的字节的Bit7). 从示波器上看确实MOSI脚变成了FE..

我分析了一下. 很像是STM32的模式突然自己变成了第一个边沿交换数据.CPHA=0了. 而导致数据刚好移了一位.. 但是实时的printf出SPI2->CR2却发现没有变. 仍是11...

另外做了一些排除试验, 可以证明与DMA无关, 与上电后ARM9初始化的时间无关, (ARM9上电后要5秒才会开始发送SCK. STM32基本上电就可以立刻交换数据. 也就是说发送SCK前, STM32早就准备好了, 反倒是调试STM32的时候, ARM9一直在发数据, 却是好的..).

有点没头绪了...请高手支招.. 如果有什么不清楚我还可以解释的更详细
此帖出自stm32/stm8论坛

最新回复

我的好像解决了,发送延时一下,还有先初始化时钟,再配置端口,在配置SPI  详情 回复 发表于 2011-10-7 15:20
点赞 关注
 

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这个问题有可能是在发出第一个时钟脉冲之前,时钟线上是低电平,导致开启时钟之后到发出第一个时钟的下降沿之前有一个电平的跳变(你要求的是空闲高电平,但初始化前线路上是低电平),这会不会是错误的原因呢?

你可以用示波器看看,是否有我说的电平跳变? 也可以考虑在时钟线上加一个上拉电阻,在MCU驱动时钟线之前,把时钟线拉到高电平。
此帖出自stm32/stm8论坛
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
明天去试一下..

另外今天做了一个实验.  把STM32那端延时10s再初始化SPI.  这样直接上电后..也能发出正确的数据..
此帖出自stm32/stm8论坛
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

4
 
如果按版主的说法的话...能够说通...

因为SCK   L->H 的跳变时.. 由于延时了10s才初始化. 不会对SPI从机造成影响..

先碎了..明儿继续debug..
此帖出自stm32/stm8论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

5
 

楼主这个问题解决了么,我准备要搞一个spi通讯,也是主机是2440,从机是stm32f103
此帖出自stm32/stm8论坛
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

6
 
我的那个也是这个问题,加了延时还是不正确啊?请问楼主具体怎么解决的?
此帖出自stm32/stm8论坛
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

7
 
我的好像解决了,发送延时一下,还有先初始化时钟,再配置端口,在配置SPI
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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