芯片简介
- ws2811 是一款rgb led 灯控制芯片,能够通过io 信号,将数据转成控制信号,进而实现各种颜色的设置
- rgb灯珠采用共阳方式控制,芯片通过di 与do 实现级联,因为内部实现了整流电路,所以能够提升级联的长度以及稳定性,通过输出rgb pwm信号进而实现灯颜色的控制
控制方式
- di 引脚为控制信号输入引脚,通过输入一定时序规则下的数据,可以同时控制多栈灯
- 理论上只要能够实现 0码与 1码 即可生成可以控制的数据
控制方式上可以选用
- gpio 控制 (io控制代码尽量用寄存器操作,精准时间)
- spi 控制 速率需要配置到合适的, 然后发送特殊的数据即可,用spi的8位数据模拟ws281x的一位数据。
注意事项
- 不同芯片厂家对于时序要求不太一样,rgb顺序也不一定一样
- reset 电平默认低电平,需要给一个高点平触发reset再变低电平
- spi 配置控制方式时,需要设置成mosi 并且 CPOL=0,CPHA =1
即低clk空闲电平,第二个边沿采样,不然可能会出现第一栈灯控制不正常等原因,因为在发送数据之前spi硬件会提前拉高或者拉低,造成第一个数据码时间不对。