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

普通SPI外设能否点亮WS2812 | 可以

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:539
  • 最近打卡:2025-10-15 21:55:03

33

主题

2600

回帖

5727

积分

论坛元老

积分
5727
发表于 2025-5-30 14:05:00 | 显示全部楼层
晓*** 发表于 2025-5-29 21:42
强烈建议考虑一下APA102C的方案,采用同步双信号驱动,直接兼容SPI总线,虽然成本比WS2812高,但可以把MCU ...

emmm 还是用SPI加DMA,,准备好数据之后,单片机还是该干啥干啥去啊。。为什么说 单片机在为WS2812推出显示数据时啥也干不了

点评

就算都支持SPI+DMA,但WS2812并非真正支持SPI,组织数据的过程和显示RAM的占用也比正常SPI多了N多倍,相应的刷屏速度也会很大程度的受限,所以我的观点是WS2812最多是能用SPI+DMA方式驱动,与APA102C的接口不同,WS2  详情 回复 发表于 2025-5-30 16:24
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:266
  • 最近打卡:2025-10-08 20:10:08

52

主题

172

回帖

2063

积分

金牌会员

积分
2063
发表于 2025-5-30 15:43:37 | 显示全部楼层
_奶*** 发表于 2025-5-30 14:05
emmm 还是用SPI加DMA,,准备好数据之后,单片机还是该干啥干啥去啊。。为什么说 单片机在为WS2812推出显 ...

我想应该是SPI-DMA在发送给数据时,等待SPI-DMA中断这个行为阻塞了程序。
SPI+DMA方式传送数据,相比于非SPI-DMA方式,时间的节省体现在:原本需要发生并处理n次SPI中断,而SPI+DMA方式仅需要处理一次SPI-DMA中断
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:539
  • 最近打卡:2025-10-15 21:55:03

33

主题

2600

回帖

5727

积分

论坛元老

积分
5727
发表于 2025-5-30 15:52:48 | 显示全部楼层
BeHa*** 发表于 2025-5-30 15:43
我想应该是SPI-DMA在发送给数据时,等待SPI-DMA中断这个行为阻塞了程序。
SPI+DMA方式传送数据,相比于非 ...

为什么要等待中断?顶多是发送数据之前查询一下发送完成标志。。

不过我又看了一眼问题,,楼主说的是不用DMA传送。那层主说的确实是有道理的。
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:563
  • 最近打卡:2025-10-15 12:15:11
已绑定手机

41

主题

2444

回帖

2637

积分

荣誉版主

积分
2637
发表于 2025-5-30 16:24:59 | 显示全部楼层
_奶*** 发表于 2025-5-30 14:05
emmm 还是用SPI加DMA,,准备好数据之后,单片机还是该干啥干啥去啊。。为什么说 单片机在为WS2812推出显 ...

就算都支持SPI+DMA,但WS2812并非真正支持SPI,组织数据的过程和显示RAM的占用也比正常SPI多了N多倍,相应的刷屏速度也会很大程度的受限,所以我的观点是WS2812最多是能用SPI+DMA方式驱动,与APA102C的接口不同,WS2812用SPI+DMA驱动的效率会低很多。
睁开眼睛做场梦~~~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:539
  • 最近打卡:2025-10-15 21:55:03

33

主题

2600

回帖

5727

积分

论坛元老

积分
5727
发表于 2025-5-30 17:36:59 | 显示全部楼层
晓*** 发表于 2025-5-30 16:24
就算都支持SPI+DMA,但WS2812并非真正支持SPI,组织数据的过程和显示RAM的占用也比正常SPI多了N多倍,相 ...

内存占用变大,这个没跑,本来就是用SPI来模拟的。
但是通讯的速度即便是用模拟的也是一样的,我认为刷屏的速度应该和小灯的数量相关。和用什么通讯无关。

另外你推荐的这个小灯,确实有点意思。。

还有就是上一个回复,当时少看了楼主的前提-不使用DMA,所以当时没有理解这个  单片机在为WS2812推出显示数据时啥也干不了 的描述。。

点评

用硬件SPI驱动WS2812的方法是通过发出一个byte来表达一个bit,表达24bit的数据就需要发出24个byte,而且是异步操作的,时钟快不得也慢不得,总体上传输效率比APA102C要差太多了,而且MCU的主频和SPI分频也需要做一些  详情 回复 发表于 2025-5-30 21:31
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:266
  • 最近打卡:2025-10-08 20:10:08

52

主题

172

回帖

2063

积分

金牌会员

积分
2063
发表于 2025-5-30 19:19:33 | 显示全部楼层
21cns*** 发表于 2025-5-30 09:29
建议上逻辑分析仪看一下时序,2812只要时序满足很容易驱动。

您好,用示波器观察了SCLK的输出,频率大概是6.4MHZ没问题。
但是,在观测MOSI的输出时,波形看不出来是什么东西

在保存最后一张时,示波器都死机了

SCLK输出的波形

SCLK输出的波形

MOSI针脚的输出波形

MOSI针脚的输出波形
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:619
  • 最近打卡:2025-10-15 00:22:04
已绑定手机

15

主题

1347

回帖

4007

积分

论坛元老

积分
4007
发表于 2025-5-30 20:19:25 | 显示全部楼层
BeHa*** 发表于 2025-5-30 19:19
您好,用示波器观察了SCLK的输出,频率大概是6.4MHZ没问题。
但是,在观测MOSI的输出时,波形看不出来是什 ...

MOSI的材料2MSa/s应该是太小了。
另外,你这示波器带宽是不是太低了?100M带宽的示波器,SCLK 50M采样波形已经到极限了。

建议还是上逻辑分析仪,看起来更轻松。吃饭的家伙还是要到位。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:563
  • 最近打卡:2025-10-15 12:15:11
已绑定手机

41

主题

2444

回帖

2637

积分

荣誉版主

积分
2637
发表于 2025-5-30 21:31:26 | 显示全部楼层
_奶*** 发表于 2025-5-30 17:36
内存占用变大,这个没跑,本来就是用SPI来模拟的。
但是通讯的速度即便是用模拟的也是一样的,我认为刷屏 ...

用硬件SPI驱动WS2812的方法是通过发出一个byte来表达一个bit,表达24bit的数据就需要发出24个byte,而且是异步操作的,时钟快不得也慢不得,总体上传输效率比APA102C要差太多了,而且MCU的主频和SPI分频也需要做一些配合,多多少少对其它应用有一定约束,比如CAN通信、USB通信或者波特率高一点的串口通信。
睁开眼睛做场梦~~~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:266
  • 最近打卡:2025-10-08 20:10:08

52

主题

172

回帖

2063

积分

金牌会员

积分
2063
发表于 2025-5-30 22:44:53 | 显示全部楼层
测量了发送0xf8作为WS2812的bit ‘1’信号,高电平持续时间符合WS2812的bit ‘1’的时间要求。但是作为bit‘1’的低电平持续时间超出0.3us,猜测可能是SPI发送完一个字节后,mcu转而处理SPI中断。如果真是这样,不得不开启DMA功能了

SDS00001.jpg
SDS00002.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:266
  • 最近打卡:2025-10-08 20:10:08

52

主题

172

回帖

2063

积分

金牌会员

积分
2063
发表于 2025-5-31 09:14:29 | 显示全部楼层
不知道怎么肥事,开了DMA可以简单控制。只能控制第一个灯,不会向后移动
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-10-16 06:15 , Processed in 0.131115 second(s), 98 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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