WS2812B RGB彩灯使用说明

您所在的位置:网站首页 rgb灯条接线方法图 WS2812B RGB彩灯使用说明

WS2812B RGB彩灯使用说明

2024-05-22 10:17| 来源: 网络整理| 查看: 265

1、连接方式:

上图表示的是4个灯珠串联,X1的DIN接MCU的一个IO口(注意,这里的IO口最好是能输出PWM的定时器通道口),即D1;然后DO连接下一个灯珠的输入,即X2的DIN,以此类推,就将4个灯珠串联起来。具体电路连接如下图:

这里需要注意,该灯珠工作电压5V.

2、数据传输原理:

每次给一个灯一个24位的数据,顺序是GRB-green red bule

第1个WS2812B灯珠接收到了第1个24bit的数据,做出响应(发光);

第N个WS2812B灯珠接收到了第N个24bit的数据,

再收到第二个24bit的数据后,直接转发给第二个WS2812B灯珠,由第二个WS2812B灯珠做出响应;依次类推。

直接上图,如下

3、数据时序:

上图就是RGB灯识别0 1码的具体表现形式。分析一下什么意思,在一个周期内,当我们接收到的信号高电平占T0H时间,低电平占T0L时间,那么就表示我接收到一个0数据。当一个周期内接收到的高电平占T1H时间,低电平占T1L时间,就表示我接收到一个1数据。所以说,我们在分析RGB驱动的时候,不是说我IO口给我一高电平,我就认为是1,给我一个低电平我就认为是0.这个是在理解初期常常会有误解的地方。我们使用一个周期内的占空比来确定接收到的是1值还是0值。

仅供参考,具体型号得看芯片手册

4、定时器配置:

根据WS2812的最大传输速率800kbps,设置定时器不分频和计数周期为89+1,这样下来波形的频率为  72M /(89+1) = 800K  ,并且一个波形的周期为  1 / 800 = 1.25us

5、驱动方案:

主要有以下几种驱动方式可供参考。

1、直接用 GPIO 反转,利用延时模拟时序

      相对比较简单。

      由于有延时函数存在及其浪费MCU运行资源。

2、利用 DMA + SPI 模拟时序

      配置好之后驱动基本交给硬件处理了,由DMA进行数据搬运。

     MCU 只需要进行颜色相关的逻辑处理,可以最大程度节省 MCU 运行资源。

3、利用 DMA + TIM 方式模拟时序

     配置相对比较复杂,配置好之后驱动基本交给硬件处理,由 DMA 进行数据搬运。

     MCU 只需要进行颜色相关的逻辑处理,可以最大程度节省 MCU 运行资源。

方案对比

    显然第一种方案是不可取的,于是需要在第二和第三种方案进行一个取舍,这个就主要看各位的 MCU 硬件接口资源了,一般而言 SPI 接口更少( SPI 可以接很多的模块以及驱动屏幕等等),定时器 TIM 更多,同时一个定时器 TIM 最多可以控制四条灯带,因此个人感觉使用DMA+TIM 方案会更加节省硬件资源。

资料参考:特别感谢以下文章博主的分享,本文章只是学习记录,请尊重原创!

1、http://t.csdn.cn/yi4FG

2、http://t.csdn.cn/s5Uxy

3、http://t.csdn.cn/aKK0Z



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3