拓冰建站拓冰建站
首页 / 资讯中心 / 正文

[光学原理与应用-974]:WS2812B 通信协议 RGB 灯条原理

WS2812B 是单总线串行智能 RGB LED内置驱动 IC每颗灯珠自带 R/G/B 三色所有灯珠共用一根 DATA 信号线电源独立灯珠级联前一颗的 DOUT 接下一颗 DIN实现一串灯条可控。WS2812B 灯条就是把大量 WS2812B 芯片 LED 贴在 FPC 柔性电路板上常见 5V 供电。1、硬件引脚表格引脚说明VDD电源5V严禁接 3.3V亮度不足电压压降大时需要中间补电GND地必须和主控共地通信失败头号原因DIN数据输入接收MCU主控信号DOUT数据输出级联接到下一颗灯珠 DIN⚠️重要WS2812B 是5V 电平器件3.3V 单片机STM32、ESP32输出电平不够长距离容易乱码建议串联 470Ω 电阻在 DIN 线上电源端加 1000uF 电解电容防上电冲击。2、通信协议单线归零码NRZ无时钟线依靠高低电平时间区分 0 码、1 码属于时序协议不是 I2C/SPI。 每个 LED 占用24bit 数据8bit R 8bit G 8bit B注意WS2812B 顺序是GRB不是 RGB很多人颜色错乱就是这个坑G(8bit), R(8bit), B(8bit)位时序典型表格信号高电平 T0H低电平 T0L含义Bit 00.35μs0.8μs发送 0Bit 10.7μs0.6μs发送 1发送完一整串所有 LED 的 24bit 数据之后发送RESET 复位信号低电平≥50μs复位信号到来后整串灯锁存刚刚收到的数据刷新颜色之后开始接收下一轮数据。通信流程主控 → DIN发送LED1(24bit) → LED2(24bit) → LED3(24bit)... → RESET低电平锁存显示芯片内部逻辑收到 24bit把剩余数据从 DOUT 转发给下一级数据流水线向后传递。第 N 颗灯前面 N×24bit 数据全部要从它穿过。所以控制100 颗灯主控必须输出100*24 2400 bit。3、WS2812B 灯条特点供电 5V每颗灯最大约 60mA满亮度全白一米 60 珠灯条总电流≈3.6A功耗很大。级联DIN→DOUT 无限串但信号会衰减一般建议单段不超过 30‑50 颗超过要分段驱动 补电。压降问题灯条越长末端电压越低后面灯珠偏暗、偏色。长灯条每隔 20‑30 颗两端补 5V 电源GND 连通。速率位周期约 1.25μs刷新一帧 100 灯耗时≈3ms。4、常见踩坑颜色反红绿颠倒→ 协议是 GRB代码写成 RGB 顺序。灯乱闪、杂色主控与灯条没有共地数据线无限流电阻电源纹波大。后面的灯不亮DOUT 接反电源压降过大。3.3V 单片机直接驱动长灯条不稳定最好加电平转换短距离 470Ω 电阻可以凑合。RESET 时间不足复位低电平太短灯无法锁存颜色。5、与普通模拟 RGB 灯条区别表格项目WS2812B 数字 RGB 灯条普通模拟 RGB 灯条共阳 / 共阴控制线1 根 DATA 信号线R/G/B 3 根 PWM 线单点控制每一颗灯可以独立不同颜色整条灯条所有灯颜色必须完全一样无法单点控色芯片每灯内置驱动 IC无芯片外部 MOS 管驱动协议WS2812B 单总线时序普通 PWM无协议灯珠数量可几十上百颗级联PWM 引脚数量限制灯条供电5V12V 居多6、简单示例逻辑伪代码plaintext// 设置第0颗灯红色GRBG0R255B0 led_data[0] {0, 255, 0}; // G R B send_ws2812(led_data, led_count); //逐bit输出时序 send_reset(); //拉低50us锁存输出补充硬件小提示数据线DIN 串300‑470Ω 电阻靠近灯条 DIN 端电源输入端并联1000μF 电解电容吸收上电浪涌防止烧毁灯珠禁止热插拔灯条带电插拔极易烧 WS2812B。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门