(一)幻彩灯珠-SK6812

文章目录

  • 一、简介

  • 二、SK6812特性

  • 详细设计
    • 3.1. 硬件设计
    • 3.2. 固件设计
      • 3.2.1 时序分析
      • 3.2.2 数据结构分析
      • 3.2.3 源码

 


一、简介

幻彩灯珠其内置IC,可显示256*256*256种颜色,实现多种多样的效果。其控制仅通过一根信号线即可实现。

本篇文章以幻彩灯珠SK6812为基础进行介绍,与常用的WS2812B原理一致。

二、SK6812特性

SK6812的原理图如下所示

 

 

引脚定义

 

电气特性

 

信号特性

 

 

 

典型应用电路

 

 

 

三、详细设计

3.1.硬件设计

主控选用兆易创新的GD32F103RBT6,其硬件设计与STM32F103RBT6兼容。

 

 

3.2.固件设计

 

驱动方法——基于STM32 SPI+DMA

3.2.1 时序分析

首先,由SK6812数据传输时间表可知

\left\{\begin{matrix} 0.15us<T0H<0.45us\\ 0.75us<T0L<1.05us \\ 0.45us<T1L<0.75us \\ 0.625us<T<1.85us \end{matrix}\right.

 

其次, SPI发送数据8bit数据。我们利用SPI发送的1个8bit数据所形成的波形分别来表示0码和1码;

再看0码的高低电平持续时间为1:3,1码的高低电平持续时间为1:1;那么我们可以先做如下假设:

0码表示方法:前2个比特为高,后6个比特为低;(高低电平持续时间比例为1:3)

1码表示方法:前4个比特为高,后4个比特为低;(高低电平持续时间比例为1:1)

在此假设SPI的频率为f kHz,则有

            \left\{\begin{matrix} 0.15us<\frac{2}{f}<0.45us\\ 0.75us<\frac{6}{f}<1.05us \\ 0.45us<\frac{4}{f}<0.75us \\ 0.625us<\frac{8}{f}<1.85us \end{matrix}\right. \Rightarrow\left\{\begin{matrix} 4.44M< f <13M\\ 5.7M< f <8M \\ 5.3M< f <8.8M\\ 4.3M<f<12.8M \end{matrix}\right.\Rightarrow 5.7M<f<8M

因此STM32中的SPI的时钟频率的范围应该在5.7Mhz至8Mhz之间。

SPI发送的8bit数据来表示0码和1码,如下:

Bit

7

6

5

4

3

2

1

0

0码

1

1

0

0

0

0

0

0

1码

1

1

1

1

0

0

0

0

即我们可以通过SPI发送一个数据0xC0来表示0码,发送一个数据0XF0表示1码。

3.2.2 数据结构分析

每个灯珠的颜色是由R、G、B三色合成的,其需要24bit数据来完成具体格式参见24bit数据结构。

这里我们以一颗灯珠为例,假设显示橙色,其RGB值为255, 165, 0, 代码#FFA500。

 

 

在这里用Z表示0码,即0xC0,O表示1码,,即0xF0

       G:A5   二进制为:1010 0101其对应的比特形式为:OZOZ ZOZO

      R:FF    二进制为:1111 1111其对应的比特形式为:OOOO OOOO

      B:00  二进制为:0000 0000其对应的比特形式为:ZZZZ ZZZZ

那么需要发送的24bit数据即为

        代号形式:OZOZ ZOZO OOOO OOOO ZZZZ ZZZZ

        十六进制形式: F0 C0 F0 C0 F0 C0 F0 C0 F0 F0 F0 F0 F0 F0 F0 F0 C0 C0 C0 C0 C0 C0 C0 C0

即我们通过SPI将上述数据发送给幻彩灯珠,即可显示为橙色。

3.2.3 源码

源码下载链接:https://download.csdn.net/download/liji1213/18574884


 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值