hushaoxin 发表于 2024-3-30 14:32:22

SPI接口的Flash是不是有最低时钟速度限制

有个项目上的MCU的主频比较低,Flash芯片的SPI时钟只有1MHz,无论读写都不行。但是只要将始终频率提高到4MHz,一切就正常了。
用的是MCU的硬件SPI接口,用逻辑分析仪反复比对过接口信号,确认时序都是对的。
所以才怀疑到是不是有最低时钟频率的限制,怀疑的原因有两点:1、一般应用SPI接口的时钟频率都是几十MHz,厂家可能做了SPI接口的超时处理。2、Flash芯片的复位最低脉冲时间是1us,刚好是1MHz,可能和他内部的接口超时处理相关。

wye11083 发表于 2024-3-30 14:35:59

本帖最后由 wye11083 于 2024-3-30 14:37 编辑

什么牌子的?我们有个板子只能500khz写入。。目前据我所知,所有spi nor flash都是dc-133mhz左右。除非你用的是spi nand flash,可能存在超时机制。

手动验证spi时序时,是每个bit需要几秒的(手工单步改pin状态),所有spi nor都可以正确工作。

hushaoxin 发表于 2024-3-30 14:44:23

wye11083 发表于 2024-3-30 14:35
什么牌子的?我们有个板子只能500khz写入。。目前据我所知,所有spi nor flash都是dc-133mhz左右。除非你用 ...
(引用自2楼)

W25Q32JVSSIQ
WINBOND(华邦)

1a2b3c 发表于 2024-3-30 14:47:00

hushaoxin 发表于 2024-3-30 14:44
W25Q32JVSSIQ
WINBOND(华邦)
(引用自3楼)

51单片机io模拟去读写都是正常的啊

wye11083 发表于 2024-3-30 14:47:27

hushaoxin 发表于 2024-3-30 14:44
W25Q32JVSSIQ
WINBOND(华邦)
(引用自3楼)

检查cs吧。cs,sck,mosi。估计软件做了超时或者哪里等待出错了。正常情况不会出错。

hushaoxin 发表于 2024-3-30 16:15:02

1a2b3c 发表于 2024-3-30 14:47
51单片机io模拟去读写都是正常的啊
(引用自4楼)

现在的51单片机,如果IO无等待的去操作,其实很快了,不止1MHz

hushaoxin 发表于 2024-3-30 16:16:14

wye11083 发表于 2024-3-30 14:47
检查cs吧。cs,sck,mosi。估计软件做了超时或者哪里等待出错了。正常情况不会出错。 ...
(引用自5楼)

用逻辑分析仪都对比这看了的,时序是对的。
你说你们板子500kHz写入是最低值吗?再低就会出错?

modbus 发表于 2024-3-30 16:43:34

hushaoxin 发表于 2024-3-30 16:15
现在的51单片机,如果IO无等待的去操作,其实很快了,不止1MHz
(引用自6楼)

模拟的SPI被中断打断个几十微秒是很正常的事

akey3000 发表于 2024-3-30 17:05:25

应该是没有这个限制

wye11083 发表于 2024-3-30 19:17:41

本帖最后由 wye11083 于 2024-3-30 19:21 编辑

hushaoxin 发表于 2024-3-30 16:16
用逻辑分析仪都对比这看了的,时序是对的。
你说你们板子500kHz写入是最低值吗?再低就会出错? ...
(引用自7楼)

我们手工操作0.1hz都用过。。。

你看看手册,频率只写了上限。

如果读写都没反应,需要先写命令0x01,0x00,0x00解锁,注意任何写操作之前都必须先发Write Enable。因此可以推测你要么没有解锁,要么没有发write enable。空片子默认全0xff。你可以读rdid和rsds确认工作状态。

不排除个别指令有频率下限。

hushaoxin 发表于 2024-3-30 22:11:45

wye11083 发表于 2024-3-30 19:17
我们手工操作0.1hz都用过。。。

你看看手册,频率只写了上限。
(引用自10楼)

好的,谢谢!看样子还要抽空仔细分析一下时序问题

wshtyr 发表于 2024-3-30 23:00:54

可能是片选失效的时候SPI还在传输过程中,这样可以解释速度快了可以慢了不行

xiaodao35 发表于 2024-3-31 07:06:25

SPI也看上升沿和下降沿的

yuyu87 发表于 2024-3-31 08:08:26

估计是模式1和模式3搞反了

zx_85 发表于 2024-3-31 08:24:03

spi的flash我不清楚时钟到底什么情况。
我不会软件,曾经弄过几款spi的传感器,通过按键手动模拟时钟,led来显示返回的高低电平,也读到了正确数值。

hushaoxin 发表于 2024-3-31 11:10:09

wshtyr 发表于 2024-3-30 23:00
可能是片选失效的时候SPI还在传输过程中,这样可以解释速度快了可以慢了不行 ...
(引用自12楼)

这个不存在,用逻辑分析仪对比了看了,这种问题很容易看到

hushaoxin 发表于 2024-3-31 11:11:36

zx_85 发表于 2024-3-31 08:24
spi的flash我不清楚时钟到底什么情况。
我不会软件,曾经弄过几款spi的传感器,通过按键手动模拟时钟,led ...
(引用自15楼)

SPI接口的外设倒是经常用,也有比这慢得多的都没有啥问题,不过这个SPI的Flash确实有点不一样,目前我把频率提高了使用,没有啥问题,等哪天空了再接上逻辑分析仪看看
页: [1]
查看完整版本: SPI接口的Flash是不是有最低时钟速度限制