你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

SPI通信中奇怪的问题,在线等,谢谢!

[复制链接]
watercici 提问时间:2018-6-7 11:28 /
我这版程序之前运行SPI通信时成功的,可是最近突然出现一个问题就是,SPI通信有时成功,有时失败。用逻辑分析仪查看了一个读W25Q16的过程发现两种问题:1)是片选信号正常,时钟也正常,可是发送的数据(即发送给FLASH的指令)出错了,总是发0xFF。不知道为什么?
              2)片选正常,但是没有时钟信号,这个也不知道为什么?
但奇怪的是程序有时候是正常的,有时候会交替出现上面的两种问题?
收藏 评论16 发布时间:2018-6-7 11:28

举报

16个回答
wolfgang2015 回答时间:2018-6-7 11:40:56
A、是片选信号正常,时钟也正常,可是发送的数据(即发送给FLASH的指令)出错了
1、检查通信位数设置,是否与W25Q16不匹配。
2、检查SPI程序,好像在8字节,16字节模式HAL的实现不同;

B、片选正常,但是没有时钟信号;
属于指令没有指令发送,没有指令发送自然不需要时钟信号。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

watercici 回答时间:2018-6-7 11:53:27
wolfgang2015 发表于 2018-6-7 11:40
A、是片选信号正常,时钟也正常,可是发送的数据(即发送给FLASH的指令)出错了
1、检查通信位数设置,是否 ...

首先对于第二问题,我说的没有时钟信号,就是在发送指令的时候没有,导致指令没有发送成功;
其次对于第一个问题,通信位数我选择的是8位的,应该是匹配的;
最后,我还想向您提供一个情况,我这个问题是在单步或若干步调试的时候会出现,如果不调试,正常运行,flash的数据是有读取成功的时候,而这个读取的过程就涉及了发送指令和读取数据两个过程,那么就说明SPI的读取和发送是有成功的时候的。但就是调试的时候会出现以上问题。
wolfgang2015 回答时间:2018-6-7 12:32:24
问题在于调试时候,寄存器中断与数据捕获时间过长导致。串行信号的调试方法最好用示波器+协议分析实现。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

す疯Ⅱ恒す 回答时间:2018-6-7 13:38:22
watercici 发表于 2018-6-7 11:53
首先对于第二问题,我说的没有时钟信号,就是在发送指令的时候没有,导致指令没有发送成功;
其次对于第 ...

你单步调试的时候出现的,因为你虽然暂停调试了,但是硬件SPI不一定停止,所以各种奇怪的事情都有,最好还是全速运行看波形是否正确。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

lvwy0704 回答时间:2018-6-7 15:04:39
楼主解决了没
watercici 回答时间:2018-6-7 15:57:11

没有解决,反正就是调试的时候SPI通信会出问题?
jiangyia 回答时间:2018-6-7 16:18:34
换一个存储芯片试试看?
watercici 回答时间:2018-6-7 16:31:31
jiangyia 发表于 2018-6-7 16:18
换一个存储芯片试试看?

换了,一共有两个板子,用在第二个板子上也是同样的问题?
feixiang20 回答时间:2018-6-8 00:54:12
我在看这么一个文章,不知对你有没有帮助
【SPI写入数据的时候记得读取,不然会一直读出0xFF!】

真的是越来越不清醒了,写一个SPI字节的时候居然忘记要读取数据了,因为SPI为双线结构,只要时钟线有信号,两条线上都会有信号,我就只发送数据,要读取的数据的时候再读取,这样子会造成溢出标志OVR被置1,因为平时的数据没有被读取,又来一个,真正要读取的时候,就会发现,怎么都是FF,因为发送OVR之后,还是DR的内容不会被修改,所以都是FF。

查找原因过程:通过逻辑分析仪看到出来的数据明明是0x69,但是通过DR读取出来的数据确实0xff,进一步硬件仿真查看寄存器,发现OVR居然被置1,查手册分析得出。


评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版