一种灯珠通信控制方法技术

技术编号:35426549 阅读:20 留言:0更新日期:2022-11-03 11:29
本发明专利技术公开了一种灯珠通信控制方法,包括:步骤1)将串联在一起的第一个灯珠的控制线连接到处理器的SPI

【技术实现步骤摘要】
一种灯珠通信控制方法


[0001]本专利技术属于灯珠通信控制方法。

技术介绍

[0002]现在带IC的灯珠都采用一种称为“归零码”的单总线通信技术,通过占空比来识别CPU发送的0和1.CPU一般使用GPIO模拟时序来发送.灯珠通信时序如下
[0003]比如常见的灯珠WS2812的时序中一个bit大约需要1.25us的,高电平的时间占用时间位0.8us,低电平占用时间为0.4us时表示传输位为1,反过来则表示传输位为0.
[0004]GPIO模拟需要软件进行延时,严重占用CPU资源。往往造成其他任务不能实时。

技术实现思路

[0005]本专利技术所要解决的技术问题是提供一种新的灯珠通信控制方法。
[0006]本专利技术解决上述技术问题所采取的技术方案如下:
[0007]一种灯珠通信控制方法,包括:
[0008]步骤1)将串联在一起的第一个灯珠的控制线连接到处理器的SPI

MOSI引脚上;
[0009]步骤2)设置时钟信号SPI

CLK频率为灯珠通信频率的8倍;
[0010]步骤3)对灯珠的控制信号进行数据编码,并用处理器的8bit拟合时序成灯珠的1bit时序;
[0011]步骤4)基于直接存储器存取DMA通过SPI接口将上述控制信号传递给各个灯珠,由此实现灯珠的控制。
[0012]优选的是,步骤3)中,包括:用SPI时序的1byte来表示过零单总线的1bit,包括:
[0013]设置SPI

CLK频率为6MHZ,SPI发送1byte时间为1.33us,等于灯珠是时序中的1bit时长,编码用b11111000表示单总线的码1,b11111000在mosi上的时序波形表现为0.83us高电平和0.5us的低电平,符合单总线1码的时序要求;
[0014]用b11000000表示单总线码0,b11000000在mosi上的时序波形表现为0.33us高电平和0.97us的低电平,符合单总线0码的时序要求。
[0015]优选的是,对于RGB灯珠则需将要Red,Green,Blue三个字节重新编码成成24个字节,即每bit变成1byte。
[0016]本专利技术采取了上述方案后,编码后使用SPI发送,软件无需要控制时序,具有较好的效果。
[0017]本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
[0018]下面结合附图对本专利技术进行详细的描述,以使得本专利技术的上述优点更加明确。其
中,
[0019]图1是本专利技术灯珠通信控制方法的实施例的电路示意图;
[0020]图2是本专利技术灯珠通信控制方法的实施例的波形示意图;
[0021]图3是本专利技术灯珠通信控制方法的实施例的流程示意图。
具体实施方式
[0022]SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在时钟上升沿或下降沿同步。主机和从机可以同时传输数据。
[0023]MOSI(SPI Bus Master Output/Slave Input)SPI总线主输出/从输入MISO(SPI Bus Master Input/Slave Output)SPI总线主机输入/从机输出MOSI。
[0024]DMA(Direct Memory Access,直接存储器访问)是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载。
[0025]本专利技术主要基于SPI实现较好的灯珠通信控制,具体来说,步骤1)将串联在一起的第一个灯珠的控制线连接到处理器的SPI

MOSI引脚上;
[0026]步骤2)设置时钟信号SPI

CLK频率为灯珠通信频率的8倍;
[0027]步骤3)对灯珠的控制信号进行数据编码,并用处理器的8bit拟合时序成灯珠的1bit时序;
[0028]步骤4)基于直接存储器存取DMA通过SPI接口将上述控制信号传递给各个灯珠,由此实现灯珠的控制。
[0029]如图1所示,灯珠WS2812,是常用的RGB灯珠,灯L1第2脚DI接CPU的SPI

MOSI引脚,L1第3脚继续接下一个灯珠L2的DI,L2灯DO接下一个灯珠Ln,一直串联接下个灯珠。
[0030]其中,用spi时序的1byte来表示过零单总线的1bit.以常用灯珠WS2812举例,通信时钟800K。
[0031]设置SPI

CLK频率为6MHZ,SPI发送1byte时间为1.33us,大约等于灯珠WS2812的时序中的的1bit时长,这样编码用b11111000表示单总线的码1,b11111000在mosi上的时序波形表现为0.83us高电平和0.5us的低电平,符合单总线1码的时序要求;
[0032]用b11000000表示单总线码0.b11000000在mosi上的时序波形表现为0.33us高电平和0.97us的低电平,符合单总线0码的时序要求;然后使用DMA通过SPI发送出去。对于rgb灯珠,要Red,Green,Blue三个字节,用本方法SPI硬件模块发送,则需要重新编码成24个字节,即每bit变成1byte。编码后使用SPI发送,软件无需要控制时序。
[0033]本专利技术简化了软件模拟归零码时序,使用SPI,重编码后,使SPI时序符合灯珠时序,避免使用软件参与延时,优化整体应用系统。
[0034]以下是RGB转码成SPI数据过程.C语言实现方式。
[0035][0036][0037][0038]在一个实施例中,若使用其他灯,只要是采用单线的归零吗,也是和类似一样,主要就是利用MCU的8bit拟合时序成灯珠的1bit时序。MCU
[0039]的SPI时序大约为灯珠时序的8倍,例如WS2812是800Khz,则用DMA方式的SPI时钟则约为800K*8=6.4Mhz,时序发送允许容错,所以约等于5.8

7Mhz都是可以。如过灯珠的时钟是400K;则使用3Mhz的SPI发送。
[0040]最后应说明的是:以上所述仅为本专利技术的优选实施例而已,并不用于限制本专利技术,尽管参照前述实施例对本专利技术进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种灯珠通信控制方法,其特征在于,包括:步骤1)将串联在一起的第一个灯珠的控制线连接到处理器的SPI

MOSI引脚上;步骤2)设置时钟信号SPI

CLK频率为灯珠通信频率的8倍;步骤3)对灯珠的控制信号进行数据编码,并用处理器的8bit拟合时序成灯珠的1bit时序;步骤4)基于直接存储器存取DMA通过SPI接口将上述控制信号传递给各个灯珠,由此实现灯珠的控制。2.根据权利要求1所述的灯珠通信控制方法,其特征在于,步骤3)中,包括:用SPI时序的1byte来表示过零单总线的1bit,包括:设置SPI

【专利技术属性】
技术研发人员:廖告
申请(专利权)人:深圳市艾美威电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1