首先,ws2812的规格

ws2812是一个集控制电路与发光电路于一体的智能外控 LED 光源。 其外型与一个 SMD5050 侧发光 LED 灯珠相同, 每个元件即为一个像素点。 像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路, 电源稳压电路, 内置恒流电路, 高精度 RC 振荡器, 输出驱动采用 PWM 技术, 有效保证了像素点内光的颜色高一致性。

● IC控制电路与LED点光源共用一个电源。

● 控制电路与RGB芯片集成在一个5mm直径的圆头四脚直插封装的灯珠中, 构成一个完整的外控像素点。

● 内置信号整形电路, 任何一个像素点收到信号后经过波形整形再输出, 保证线路波形畸变不会累加。

● 内置上电复位和掉电复位电路。

● 每个像素点的三基色颜色可实现256级亮度显示, 完成16777216种颜色的全真色彩显示。

● 扫描频率 2kHz/s。

● 串行级联接口, 能通过一根信号线完成数据的接收与解码。

● 任意两点传传输距离在不超过 2 米时无需增加任何电路。

● 当刷新速率 30 帧/秒时, 级联数不小于 2048 点。

● 数据发送速度可达 800Kbps

其次,WS2812的通信协议

数据协议采用单线归零码的通讯方式, 像素点在上电复位以后, DIN端接受从控制器传输过来的数据, 首先送过来的24bit数据被第一个像素点提取后, 送到像素点内部的数据锁存器, 剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的像素点, 每经过一个像素点的传输, 信号减少24bit。 像素点采用自动整形转发技术, 使得该像素点的级联个数不受信号传送的限制, 仅仅受限信号传输速度要求。

采用rtos时如何驱动ws2812

第三、ws2812的数据传输

采用rtos时如何驱动ws2812

第四、rtos的影响因素

rtos的影响主要是任务调度,其实本质上是中断的影响。也就是说你在驱动ws2812的时候,不能被rtos任务调度或者其他中断打断,这样ws28121驱动时序就被打乱了。

第五、rtos的原子操作(划重点)

原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为不可被中断的一个或一系列操作 。

因此,驱动ws2812只要驱动序列周期采用rtos的原子操作,保证一个完整的驱动周期完整执行,就可以了,驱动代码和不使用rtos是一样的。

采用rtos时尤其要主要原子操作、任务调度、任务优先级等问题,否则可能导致莫名其妙的问题出现,从代码上怎么看都是正确的,但是到执行的时候总是混乱的,问题的根因就是任务调度的问题。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查