找回密码
 立即注册
楼主: BeHappy

调试WS2812,灯珠闪亮,太难过了!

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:215
  • 最近打卡:2025-06-13 09:43:22

50

主题

167

回帖

1753

积分

金牌会员

积分
1753
发表于 3 天前 | 显示全部楼层
cn*** 发表于 2025-6-10 15:36
这个SPI驱动2812感觉有点鸡肋,CPU解放了似乎又没完全解放,还多占内存。
还是手动码代码模拟IO驱动等AI805 ...

如果使用的是8051U的话,试试HSSPI+DMA的组合。
指定PLL输出时钟为96MHz,然后通过HSCLKDIV、SPI_CLKDIV和SPCTL的组合乘积为30分频,使得最终SPI获取的时钟频率始终为3.2MHz。
不管mcu的频率如何变化,SPI外设获取的频率不受影响
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:215
  • 最近打卡:2025-06-13 09:43:22

50

主题

167

回帖

1753

积分

金牌会员

积分
1753
发表于 3 天前 | 显示全部楼层
21cns*** 发表于 2025-6-9 21:57
用逻辑分析仪抓一下第一颗2812输入、输出的时序就很容易发现问题所在了。初步猜测是你输出的时序问题。 ...

你好,用示波器观察到mcu重启后,MOSI针脚有持续760us时长的高电平时间。不知道是否跟这个有关系。

更新:
应用了第13楼的解决方法后,再次观测上电后MOSI针脚的输出,仍会有一段时间持续输出某种电平,不好描述是高还是低电平:电压幅值只有1.44V。但这已经不会影响第一颗灯珠了。

更新:
又查了这个灯珠的手册,所谓低电平最大值为0.3Vcc。恰好,1.44V < 0.3Vcc。可是这个情况也太危险了,差一点,配置为双向I/O的解决方法也不灵了。



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:215
  • 最近打卡:2025-06-13 09:43:22

50

主题

167

回帖

1753

积分

金牌会员

积分
1753
发表于 3 天前 | 显示全部楼层
完美,最终从GPIO配置上解决了这个上电后第一颗灯珠刺眼的问题!

具体来讲:将原本配置为推挽输出的MOSI,修改为准双向I/O,即可解决这个问题 :-)
再次感谢大家 !
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:495
  • 最近打卡:2025-06-13 06:58:57
已绑定手机

14

主题

1312

回帖

3286

积分

论坛元老

积分
3286
发表于 3 天前 | 显示全部楼层
BeHa*** 发表于 2025-6-10 16:12
你好,用示波器观察到mcu重启后,MOSI针脚有持续760us时长的高电平时间。不知道是否跟这个有关系。

更新 ...

是MOSI直连2812的IN吗?这之间有上拉、下拉电阻之类的连接吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:215
  • 最近打卡:2025-06-13 09:43:22

50

主题

167

回帖

1753

积分

金牌会员

积分
1753
发表于 3 天前 | 显示全部楼层
21cns*** 发表于 2025-6-10 19:24
是MOSI直连2812的IN吗?这之间有上拉、下拉电阻之类的连接吗?

对,直连的。
没有配置任何上/下拉电阻
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:495
  • 最近打卡:2025-06-13 06:58:57
已绑定手机

14

主题

1312

回帖

3286

积分

论坛元老

积分
3286
发表于 3 天前 | 显示全部楼层
还可以端口MOSI和第一颗2812的IN,单独测量一下到底是MCU的MOSI输出的某种电平,还是2812的IN影响的?

玩单片机最好能知其所以然。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:215
  • 最近打卡:2025-06-13 09:43:22

50

主题

167

回帖

1753

积分

金牌会员

积分
1753
发表于 3 天前 | 显示全部楼层
21cns*** 发表于 2025-6-10 19:33
还可以端口MOSI和第一颗2812的IN,单独测量一下到底是MCU的MOSI输出的某种电平,还是2812的IN影响的?

玩 ...

老师儿,您好
将MOSI配置为推挽输出,并断开WS2812与MOSI的连接,再次测量,仍然能够观测到MOSI针脚,在mcu上电后有一段高电平持续时间。
所以,出现这种刺眼的情况,确系mcu的GPIO配置所致。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:495
  • 最近打卡:2025-06-13 06:58:57
已绑定手机

14

主题

1312

回帖

3286

积分

论坛元老

积分
3286
发表于 3 天前 | 显示全部楼层
BeHa*** 发表于 2025-6-10 19:57
老师儿,您好
将MOSI配置为推挽输出,并断开WS2812与MOSI的连接,再次测量,仍然能够观测到MOSI针脚,在m ...

断开后,准双向模式还输出异常电平吗?

MCU用的哪一款?用的哪个PIN?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:215
  • 最近打卡:2025-06-13 09:43:22

50

主题

167

回帖

1753

积分

金牌会员

积分
1753
发表于 3 天前 | 显示全部楼层
21cns*** 发表于 2025-6-10 19:59
断开后,准双向模式还输出异常电平吗?

MCU用的哪一款?用的哪个PIN?

mcu: 8051U-32bit
MOSI:P1.5
以下均为将MOSI配置为准双向I/O时的截图。
第一张,断开WS2812的IN与MOSI的连接测得的图像;
第二张,连接WS2812的IN与MOSI针脚测得的图像。

断开时测得的图像

断开时测得的图像

连接时测得的图像

连接时测得的图像
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:495
  • 最近打卡:2025-06-13 06:58:57
已绑定手机

14

主题

1312

回帖

3286

积分

论坛元老

积分
3286
发表于 3 天前 | 显示全部楼层
BeHa*** 发表于 2025-6-10 20:13
mcu: 8051U-32bit
MOSI:P1.5
以下均为将MOSI配置为准双向I/O时的截图。

这么长时间的高电平肯定不正常,代码贴上来看看。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-13 17:17 , Processed in 0.152123 second(s), 102 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表