CN114340097A - 一种控制灯带的方法、装置、芯片和电子设备 - Google Patents
一种控制灯带的方法、装置、芯片和电子设备 Download PDFInfo
- Publication number
- CN114340097A CN114340097A CN202111666788.6A CN202111666788A CN114340097A CN 114340097 A CN114340097 A CN 114340097A CN 202111666788 A CN202111666788 A CN 202111666788A CN 114340097 A CN114340097 A CN 114340097A
- Authority
- CN
- China
- Prior art keywords
- data
- address
- lamp
- light
- lightness
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000000694 effects Effects 0.000 claims abstract description 40
- 230000005540 biological transmission Effects 0.000 claims description 43
- 230000001795 light effect Effects 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 description 18
- 230000029058 respiratory gaseous exchange Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004020 luminiscence type Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000004313 glare Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 235000019646 color tone Nutrition 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Abstract
本申请提供一种控制灯带的方法、装置、芯片和电子设备,该方法的灯带包括至少一个灯,包括响应于启动灯带的指令,确定发光数据;从发光数据中读取第一数据,并发送给灯带;其中,发光数据包括特定份数的单元数据,每份单元数据用于控制单个灯发光;第一数据包含一份或多份单元数据。本申请实施例中提供的一个或多个技术方案,利用了从能够控制多个灯发光的控制数据中获取用于控制灯带的数据,并将获取的数据传送给灯带,以使灯带按照数据发光,丰富了便携式电子设备的灯效。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种控制灯带的方法、装置、芯片和电子设备。
背景技术
目前,大部分便携式电子设备(例如笔记本电脑等)都不具备灯光效果,即使比较高端的笔记本电脑也只具备发出常亮光的灯,灯光效果比较单调。虽然台式机能够显示丰富的灯光效果,但不适合将台式机的灯光显示方案推广套用到笔记本电脑等便携式电子设备上。这是由于台式机可利用空间很大,放置芯片和元件无需考虑空间的问题,而便携式电子设备对便携性和散热有要求,继而对集成的芯片和元件的数量和大小有较严格的要求。
如何丰富便携式电子设备的灯光效果是本领域的技术问题之一。
发明内容
有鉴于此,本申请实施例提供了一种控制灯带的方法、装置、芯片和电子设备,以解决笔记本电脑的灯效单调的问题。
根据本申请的一方面,提供一种控制灯带的方法,灯带包括至少一个灯,包括:
响应于启动灯带的指令,确定发光数据;
从发光数据中读取第一数据,并发送给灯带;
其中,发光数据包括特定份数的单元数据,每份单元数据用于控制单个灯发光;第一数据包含一份或多份单元数据。
进一步地,方法应用于嵌入式控制器EC芯片,EC芯片包括存储器,确定发光数据,包括:
根据指令中包含的灯效模式确定第一地址;
根据第一地址确定发光数据;
其中,第一地址为发光数据存储在存储器的区域的首地址。
进一步地,EC芯片还包括直接存储器访问DMA控制器,从发光数据中读取第一数据,并发送给灯带,包括:
对DMA控制器进行配置,包括:配置读取数据的基地址为第一地址,传送数据的总长度为传输数据长度;
通过DMA控制器从基地址读取传输数据长度的第一数据,并向灯带发送第一数据,以使灯带根据第一数据发光;
其中,传输数据长度大于或等于单元数据的数据长度的灯数倍。
进一步地,从基地址读取传输数据长度的第一数据,并向灯带发送第一数据,还包括:
判断第一数据的传输是否完成,若未完成,则继续向灯带发送第一数据;若已完成,则产生中断请求。
进一步地,根据指令中包含的灯效模式确定第一地址,还包括:
根据灯效模式,确定第二地址;其中,第二地址为发光数据存储在存储器的区域的末地址;
判断当前传送地址是否等于第二地址,若判断为是,则对当前传送地址进行更新,使更新后的当前传送地址为第一地址,从更新后的当前传送地址读取数据,并发送到灯带;若判断为否,则从当前传送地址读取数据,并发送到灯带;
其中,当前传送地址为DMA控制器当前要传送的数据所在的地址。
进一步地,根据指令中包含的灯效模式确定第一地址,还包括:
根据灯效模式,确定时间间隔和地址间隔;
产生中断请求之后,还包括:
响应于中断请求,关闭DMA控制器,等待时间间隔;
根据地址间隔和第一地址确定第四地址;
对基地址进行更新,使更新后的基地址为第四地址;
通过DMA控制器从更新后的基地址读取传输数据长度的第二数据,并向灯带发送第二数据,以使灯带根据第二数据发光。
进一步地,根据地址间隔和第一地址确定第四地址,包括:
根据以下公式确定第四地址:若A1+A0<A2,则A4=A1+A0;若A1+A0≥A2,则A4=A1+(A1+A0)%A2;
其中,A4为第四地址,A0为地址间隔,A1为第一地址,A2为第二地址。
进一步地,从发光数据中读取第一数据,并发送给灯带,包括:
将第一数据转换为单极性归零码;
将单极性归零码发送给灯带。
进一步地,EC芯片还包括通讯模块,将第一数据转换为单极性归零码,包括:
将第一数据存入通讯模块的寄存器;
将寄存器中存储的第一数据写入先入先出FIFO;
通过FIFO将第一数据转换成串行数据;
将串行数据转换成单极性归零码。
进一步地,从发光数据中读取第一数据,并发送给灯带之前,还包括:
接收对应灯效模式的HSV域的发光数据;
将HSV域的发光数据转换成RGB域的发光数据;
将RGB域的发光数据写入存储器;
从发光数据中读取第一数据,包括:从RGB域的发光数据中读取第一数据。
进一步地,灯效模式为第一模式,则第三数据和第四数据满足以下条件;
第三数据对应的饱和度与第四数据对应的饱和度相同,第三数据对应的色调与第四数据对应的色调相同;
第三数据对应的明度与第四数据对应的明度相差第一明度梯度值;
其中,发光数据平均分为若干段,每段数据的数据长度等于传输数据长度,第三数据和第四数据是发光数据中任意两段相邻的数据。
进一步地,灯效模式为第二模式,则第五数据和第六数据满足以下条件;
第五数据对应的饱和度与第六数据对应的饱和度相同,第五数据对应的明度与第六数据对应的明度相同;
第五数据对应的色调与第六数据对应的色调相差第一色调梯度值;
其中,第五数据和第六数据是发光数据中任意两个相邻的单元数据。
进一步地,灯效模式为第三模式,则第七数据和第八数据满足以下条件;
第七数据和第八数据对应的饱和度相同;
若第七数据对应的明度和第八数据对应的明度都不是最低明度或最高明度,则第七数据对应的明度与第八数据对应的明度相差第二明度梯度值,第七数据对应的色调与第八数据对应的色调相同;
若第七数据对应的明度或第八数据对应的明度为最低明度或最高明度,则第七数据对应的明度与第八数据对应的明度相同,第七数据对应的色调与第八数据对应的色调相差第二色调梯度值;
其中,第七数据和第八数据是发光数据中任意两个相邻的单元数据。
进一步地,灯效模式为第四模式,则第九数据和第十数据满足以下条件;
第九数据对应的饱和度与第十数据对应的饱和度相同,第九数据对应的色调与第十数据对应的色调相同;
第九数据对应的明度与第十数据对应的明度相差第三明度梯度值;
其中,第九数据和第十数据是任意存储于相邻地址的两个单元数据。
根据本申请的另一方面,一种控制灯带的装置,包括:
控制器,用于响应于启动灯带的指令,确定发光数据;从发光数据中读取第一数据,并发送给灯带;
其中,发光数据包括特定份数的单元数据,每份单元数据用于控制单个灯发光;第一数据包含单元数据的份数大于或等于灯带包含的灯数。
根据本申请的另一方面,提供了一种芯片,包括上述装置。
根据本申请的另一方面,提供了一种电子设备,包括执行上述任一项的方法的装置和灯带。
本申请实施例中提供的一个或多个技术方案,从能够控制多个灯发光的控制数据中获取用于控制灯带的数据,并将获取的数据传送给灯带,以使灯带按照数据发光,丰富了便携式电子设备的灯效。
附图说明
在下面结合附图对于示例性实施例的描述中,本申请的更多细节、特征和优点被公开,在附图中:
图1示出了根据本申请示例性实施例的控制灯带的方法的流程图;
图2示出了根据本申请示例性实施例的可以在其中实施本文描述的各种方法的示例系统的示意图;
图3为本申请用于控制灯带产生“第二模式”灯效的发光数据的示例;
图4为本申请用于控制灯带产生“第四模式”灯效的发光数据的示例;
图5示出了能够用于实现本申请的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本申请实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
以下参照附图描述本申请的方案:
图1示出了根据本申请示例性实施例的控制灯带的方法的流程图,在一个实施例中,本申请提出了一种控制灯带的方法,该方法的灯带包括至少一个灯,包括:
步骤S1,响应于启动灯带的指令,确定发光数据;
步骤S2,从发光数据中读取第一数据,并发送给灯带;
其中,发光数据包括特定份数的单元数据,每份单元数据用于控制单个灯发光;第一数据包含一份或多份单元数据。
图2示出了根据本申请示例性实施例的可以在其中实施本文描述的各种方法的示例系统的示意图。如图2所示,本实施例的应用场景是包括EC(Embeded-Controller,嵌入式控制器)芯片和CPU的便携式电子设备(可以是笔记本电脑,或体积较小的具备EC芯片+CPU架构其他所有类别的电子设备)。以下说明本实施例的应用皆以笔记本电脑的应用场景为例,EC芯片在笔记本电脑中肩负着内置键盘、触摸板、笔记本电池智能充放电管理以及温度监控等任务,本实施例在EC芯片完成基础功能的前提下,复用EC芯片完成控制灯带的功能。实际应用中,可以使用CS32E100型号的EC芯片。
EC芯片是一种MCU(微控制单元,Microcontroller Unit),内部可以集成了CPU(central processing unit,中央处理器,即控制器),Flash闪存(即存储器)、DMA控制器(Direct Memory Access,直接存储器访问)和OWI(One-Wire-Interface,单总线接口)通讯模块。
用于控制灯带的数据为RGB(Red Green Blue,红、绿、蓝)三色数据,根据RGB数据精准控制灯带中的每个灯发光。每个灯分别需要3字节(红黄蓝各8位,每种颜色的数据范围为0~255)的RGB数据以实现对发光的精准控制。灯带可以包括一个灯或多个灯(例如36个)。控制一个灯的RGB数据为本实施例中的一个单元数据,包括36个灯的灯带总共需要36个单元数据,共36×3个字节,第一数据可以是36个字节,也可以有一定的冗余大于36个字节。
本申请中的灯带可以是氛围灯组成的氛围灯带,通用的氛围灯带不能直接识别RGB数据,可以识别利用RGB数据转换的单极性归零码。
在一些实施例中,从发光数据中读取第一数据,并发送给灯带,包括将第一数据转换为单极性归零码;将单极性归零码发送给灯带。
在一些实施例中,EC芯片还包括通讯模块,将第一数据转换为单极性归零码,包括将第一数据存入通讯模块的寄存器;将寄存器中存储的第一数据写入先进先出FIFO;将FIFO中存储的第一数据转换成串行数据;将串行数据转换成单极性归零码。
具体地,通讯模块可以是OWI通讯模块,要通过OWI通讯模块通讯,需要将要发送的数据写入OWI通讯模块的寄存器。按照上述方法,将存入的数据转换成OWI通讯模块能够传输的串行数据格式。EC芯片可以对串行数据进行处理,将串行数据转换成灯带能够识别的单极性归零码。
控制器收到的启动灯带的指令可以是笔记本电脑的CPU向EC芯片发出的,也可以是用户按压键盘上特定的按钮发出的。特定的按钮可以是单个按钮,也可以是组合键。
发光数据是用于产生一种灯效的全部单元数据的集合。发光数据可以是笔记本电脑的CPU直接发送到EC芯片的控制器,控制器转发给灯带的,也可以是预先存储在EC芯片的存储器中,控制器读取并转发给灯带的。发光数据可以是唯一的,也可以是有多个。有多个发光数据通常对应不同的灯效。确定发光数据,可以是确定发光数据存储在存储器中的地址范围,以方便后续从发光数据中读取数据,也可以是接收来自CPU的发光数据。
在一些实施例中,首先,用户通过按键盘特定的按钮向EC芯片发送让灯发光的指令;然后,EC芯片的控制器收到让灯发光的指令,从自身的缓存中确定发光数据;之后,控制器可以通过OWI通讯模块将发光数据的数据发送给灯带;最后,灯带根据发送的数据发光。
本实施例的有益效果在于,从能够控制多个灯发光的控制数据中获取用于控制灯带的数据,并将获取的数据传送给灯带,以使灯带按照数据发光,丰富了便携式电子设备的灯效。
在一些实施例中,方法应用于嵌入式控制器EC芯片,EC芯片包括存储器,确定发光数据,包括根据指令中包含的灯效模式确定第一地址;根据第一地址确定发光数据;其中,第一地址为发光数据存储在存储器的区域的首地址,即存储器中用于此存储发光数据的存储区域的首地址。
本实施例启动灯带的指令可以包括多种,每种指令对应不同的灯效,控制器通过启动灯带的指令中包含的“灯效模式”来区分要使用对应哪种灯效的数据。不同灯效的数据存储在存储器的不同的地址上。且应用便携式电子设备自带的EC芯片作为控制灯带灯效的控制器,无需添加新的控制器,不影响便携性。
本实施例中的存储器可以是集成在EC芯片上的掉电数据不消失的Flash存储器。发光数据可以是由笔记本电脑的CPU通过I2C总线或USB接口发送给EC芯片的控制器,EC芯片的控制器将发光数据存入Flash存储器。控制器在存储发光数据时,可将存储地址记录下来(发光数据存储在存储器中的首地址,即第一地址),以便读取时使用。使用时,根据不同的“灯效模式”确定不同的发光数据的读取地址。
本实施例的有益效果是,EC芯片用掉电后数据不丢失的Flash芯片存储发光数据,数据存储更可靠。
在一些实施例中,EC芯片还包括直接存储器访问DMA控制器,从发光数据中读取第一数据,并发送给灯带,包括对DMA控制器进行配置,包括配置读取数据的基地址为第一地址,传送数据的总长度为传输数据长度;通过DMA控制器从基地址读取传输数据长度的第一数据,并向灯带发送第一数据,以使灯带根据第一数据发光;
其中,传输数据长度大于或等于单元数据的数据长度的灯数倍。
实际应用中,若直接利用EC芯片的控制器完成灯带所需数据的传送,对控制器的资源占用较大。
本实施例能够利用DMA控制器从Flash存储器读取数据,并发送到灯带。这种方式相对于利用控制器发送数据的好处是,对控制器资源占用较小,不影响控制器完成其他功能。由于DMA控制器通常适用于传送存储器中存于连续空间的数据,因而发光数据可以存储在Flash存储器的连续地址上,方便DMA控制器传送。
要完成利用DMA控制器传送数据的功能,需要对DMA控制器进行配置,配置的参数通常包括:要传送数据的位置(即基地址)和要传送的数据的总长度(即传输数据长度,通常是字节数)。配置完成后,启动DMA控制器之前,还可以包括对用于EC芯片与灯带通信的通道(OWI)进行配置,配置该通道为发送模式。
DMA控制器将传输数据长度的数据(即第一数据)传送到灯带后,若不再向灯带发送新的数据,灯带传送的数据持续发光,这种发光方式为“常亮模式”。“常亮模式”下所有灯可以根据发光数据的配置按照一种颜色发光,也可以按照多种颜色发光。
在一些实施例中,首先,控制器收到的启动灯带的指令后,确定灯效模式为“常亮模式”;然后,控制器确定“常亮模式”的发光数据存储在Flash存储器中的首地址为10H,且需要读取3个字节的RGB数据以控制灯带发光;之后,控制器配置DMA控制器的读取数据的基地址为10H,读取数据的总长度为3个字节;之后,控制器启动DMA控制器;之后,DMA控制器从Flash存储器的10H读取3个字节的数据,按照一次传送一个字节的方式分3次传送给灯带;灯带根据数据发光。
在一些实施例中,从基地址读取传输数据长度的第一数据,并向灯带发送第一数据,还包括判断第一数据的传输是否完成,若未完成,则继续向灯带发送第一数据;若已完成,则产生中断请求。
具体地,本实施例的DMA控制器本身具有传输完成标记寄存器,DMA控制器在完成被配置的传输数据长度(即传输数据长度)后,会将传输完成标记寄存器置为有效,在传送数据过程中,该寄存器为无效状态。
本实施例的益处是,能够判断DMA是否完成传送数据,若完成了传送,则向控制器申请中断,控制器接收到中断可以决定下一步的行动。
在一些实施例中,根据指令中包含的灯效模式确定第一地址,还包括根据灯效模式,确定第二地址;其中,第二地址为发光数据存储在存储器的区域的末地址;判断当前传送地址是否等于第二地址,若判断为是,则对当前传送地址进行更新,使更新后的当前传送地址为第一地址,从更新后的当前传送地址读取数据,并发送到灯带;若判断为否,则从当前传送地址读取数据,并发送到灯带;其中,当前传送地址为DMA控制器当前要传送的数据所在的地址。
DMA控制器中有当前传送地址的寄存器,该寄存器的内容的含义是当前要传送及正在传送的字节的地址。对其内容是否在发光数据存储的区域内进行判断,可以判断读取的数据是否是发光数据中的内容,DMA控制器还可以根据判断结果进行读取数据地址的跳转。
例如,发光数据在Flash存储器中存储的首地址是00H,末地址是09H,DMA读取数据的基地址是08H,读取数据的长度为3个字节;DMA控制器读完08H一个字节之后,当前传送收据寄存器的地址指向09H;DMA控制器从09H跳转到00H,读取剩余两个字节数据。
本实施例的益处是,能够防止DMA控制器传送发光数据以外的数据,且DMA控制器能自动完成读取地址的跳转,无需EC芯片控制器介入,节省了EC芯片控制器的资源。
在一些实施例中,根据指令中包含的灯效模式确定第一地址,还包括根据灯效模式,确定时间间隔和地址间隔;产生中断请求之后,还包括:响应于中断请求,关闭DMA控制器,等待时间间隔;根据地址间隔和第一地址确定第四地址;对基地址进行更新,使更新后的基地址为第四地址;通过DMA控制器从更新后的基地址读取传输数据长度的第二数据,并向灯带发送第二数据,以使灯带根据第二数据发光。
本实施例在DMA控制器完成向灯带传送第一数据之后,能够再向灯带传送与第一数据不同的第二数据,用于控制灯带的数据发生变化,灯带的灯效因而出现了动态的变化。
例如,控制器根据启动灯带的指令确定时间间隔为2s,地址间隔为3个字节,读取发光数据的首地址为00H,读取数据的长度为3个字节;配置DMA读取数据的基地址为00H,读取数据的长度为3个字节;DMA完成一次数据的传送后,向控制器发出中断请求;控制器响应于中断请求,关闭DMA控制器,等待2S,使灯带数据至少2S不更新,上一次的灯效至少维持2S;然后根据基地址(也就是第一地址)00H和地址间隔3字节确定第四地址,第四地址为0+3=03H;控制器用03H更新DMA控制器的基地址,更新后的基地址为03H,DMA控制器读取数据的长度可沿用之前的配置;控制器启动DMA控制器;DMA控制器按照更新后的基地址03H,向灯带传送数据,以使灯带的数据被更新。
在一些实施例中,根据地址间隔和第一地址确定第四地址,包括根据以下公式确定第四地址:若A1+A0<A2,则A4=A1+A0;若A1+A0≥A2,则A4=A1+(A1+A0)%A2;其中,A4为第四地址,A0为地址间隔,A1为第一地址,A2为第二地址。
本实施例的益处是,更新DMA传送数据的基地址时,能够防止基地址超出发光数据的存储区域范围。
在一些实施例中,启动DMA控制器之前,还包括接收对应灯效模式的HSV域的发光数据;将HSV域的发光数据转换成RGB域的发光数据;将RGB域的发光数据写入存储器;从发光数据中读取第一数据,包括:从RGB域的发光数据中读取第一数据。
实际应用中,发光数据可以是笔记本电脑的CPU通过编程得到的。但灯带能直接识别的RGB数据,不能直观的反映实现的灯效,不利于编程。本实施例的方法,能够把便于编程的HSV(Hue,Saturation,Value,色调,饱和度,明度)数据转换成用于灯带的RGB数据。笔记本电脑的CPU可以将HSV域的发光数据发送给控制器,由控制器完成转换,并将转换后的RGB域的发光数据存储在Flash存储器上,以便DMA可以传送给灯带。本实施例的控制器可以按照以下公式完成HSV域的发光数据到RGB域的发光数据的转换。
因而本实施例的方法,有利于用户直接使用HSV数据开发灯效,降低了开发灯效的难度。
HSVtoRGB
C=V×S
m=V-C
(R,G,B)=((R′+m)×255,(G′+m)×255,(B′+m)×255)
除了常亮模式,本申请能够实现多种动态灯效,本申请的能够实现不限于以下几种灯效:
(1)呼吸模式
呼吸模式(即第一模式),即灯带中所有的灯整体为一种颜色,只是灯光慢慢地由暗变亮,再慢慢地由亮变暗的过程,如同人的呼吸一般。
在一些实施例中,灯效模式为第一模式,则第三数据和第四数据满足以下条件;
第三数据对应的饱和度与第四数据对应的饱和度相同,第三数据对应的色调与第四数据对应的色调相同;
第三数据对应的明度与第四数据对应的明度相差第一明度梯度值;
其中,发光数据平均分为若干段,每段数据的数据长度等于传输数据长度,第三数据和第四数据是发光数据中任意两段相邻的数据。
为了实现这种灯效,发光数据可以分段,每段数据(第三数据和第四数据分别为一段数据)可以用来控制所有的灯,即等于传输数据长度,相邻的一段数据的色调和饱和度相同,但是明度相差第一明度梯度值,明度按段逐渐由低变高,或者由高变低。
DMA控制器读取发光数据的数据用于灯带发光的时候,读取的地址间隔等于传输数据长度,即每次读取一段数据。
例如,灯带有2个灯,发光数据传输数据长度为2×3字节,地址间隔为6个字节,发光数据相邻的两段数据的明度相差10。
(2)渐变流动模式
渐变流动模式(即第二模式),即灯随着时间的变化均匀改变色调。
在一些实施例中,灯效模式为第二模式,则第五数据和第六数据满足以下条件;第五数据对应的饱和度与第六数据对应的饱和度相同,第五数据对应的明度与第六数据对应的明度相同;第五数据对应的色调与第六数据对应的色调相差第一色调梯度值;其中,第五数据和第六数据是发光数据中任意两个相邻的单元数据。
图3为本申请用于控制灯带产生“第二模式”灯效的发光数据的示例。图3包含150个单元数据的发光数据(第五数据和第六数据分别为一份单元数据)。颜色流动的效果是每隔一个时间间隔,一个灯的对应的一份数据转移到另一个灯(转移通过按照地址间隔调整DMA控制器读取数据的基地址实现)。
例如,DMA控制器第一次传送数据时是读取1~36格子的单元数据,第二次是读取2~37格子的单元数据。当传送完第150个格子的单元数据,但仍有要传送的数据时,跳转到第一个格子读取。例如,传输数据长度为36个格子的单元数据的数据长度(36×3byte),基地址是第30个格子,传送完6个格子的单元数据,DMA控制器从第1个格子开始再传送30个格子的单元数据。DMA控制器能够自动完成判断和读取数据地址的跳转,方法如上文中所述。
(3)炫彩模式
炫彩模式(即第三模式)本质上是在呼吸模式基础之上加了颜色切换,即在每完成一次呼吸以后进行一次颜色切换。与呼吸模式的区别在于,呼吸模式是所有的灯按照相同的步调同时改变明度且每个灯的色调是相同的,炫彩模式是每个灯的明度都不相同,且色调不是固定的。
炫彩模式为每次改变HSV的明度V值,明度梯度值可设定为1,当明度V值减为0时,改变HSV的色调H值,用于切换颜色。V值增加到最高值的时候,再次改变色调H值所对应的颜色。
在一些实施例中,灯效模式为第三模式,则第七数据和第八数据满足以下条件;第七数据和第八数据对应的饱和度相同;若第七数据对应的明度和第八数据对应的明度都不是最低明度或最高明度,则第七数据对应的明度与第八数据对应的明度相差第二明度梯度值,第七数据对应的色调与第八数据对应的色调相同;若第七数据对应的明度或第八数据对应的明度为最低明度或最高明度,则第七数据对应的明度与第八数据对应的明度相同,第七数据对应的色调与第八数据对应的色调相差第二色调梯度值;其中,第七数据和第八数据是发光数据中任意两个相邻的单元数据。
发光数据可分为多段,每段之内,每个单元数据的色调相同,明度均匀改变(相邻的单元数据相差第二色调梯度值),明度由最低变为最高,或者,由最高变为最低。在格子的边缘的单元数据的明度为最大或最小。以段为最小单元,相邻的段的色调按照色调梯度值逐渐增加或者减小。同样,动态效果的实现可以通过改变DMA控制器的基地址来实现。
(4)波浪流动模式
波浪流动模式(即第四模式)同种颜色,灯带中所有的灯的明度整体移动。
例如,灯带包括4个灯,灯1明度为100,灯2明度为95,灯3明度为90,灯4明度为85,以此类推,当经过一个时间间隔以后变为,灯1明度为95,灯2明度为90,灯3明度为85,灯4明度为80,以此类推,在等待16个时间间隔后,灯1明度变为15,灯2明度变为10,灯3明度变为5,灯4明度变为0。
在一些实施例中,灯效模式为第四模式,则第九数据和第十数据满足以下条件;第九数据对应的饱和度与第十数据对应的饱和度相同,第九数据对应的色调与第十数据对应的色调相同;第九数据对应的明度与第十数据对应的明度相差第三明度梯度值;其中,第九数据和第十数据是任意存储于相邻地址的两个单元数据。
图4为本申请用于控制灯带产生“第四模式”灯效的发光数据的示例。图4中每个格子对应一个单元数据,第九数据和第十数据分别为一个单元数据。该示例中,发光数据长度为36个格子对应的36个单元数据,所有的36个格子的颜色可设置为某一种颜色,也可以为多种颜色。36个单元数据的发光数据中,包括一个或者两个完整的明暗周期。流动的效果是每隔一个时间间隔,一个灯的对应的一份数据转移到另一个灯且相邻的灯的明度的差距是相同的明度梯度值(即第三明度梯度值)。
例如,第一次第一个灯的明度为0,第二个灯的明度为5,第三个灯的明度为10,在等待一个时间间隔以后,第一个灯的明度为5,第二个灯的明度为0,第三个灯的单元数据的明度为5,以此类推,形成整体流动效果。
波浪流动模式与呼吸模式的区别是,呼吸模式的数据的明度逐段逐渐增高或降低,而波浪流动模式的数据是明度逐个单元数据增高或降低。
实际应用中,初始DMA控制器可以传送数据的顺序是依次传送图3中1~36个格子对应的单元数据,相应DMA控制器的基地址为第1个格子的首地址,传输数据长度为36个格子对应的单元数据的数据长度。
第二次传送数据可以按照2~36~1格子对应的单元数据的顺序传送,相应的DMA控制器的基地址为第2个格子对应的首地址,完成传送第36个格子对应的单元数据后,控制器可利用上文中的方法,跳转到第1个格子,完成传送第1个格子的数据后,结束传送。
(5)多彩涟漪模式
多彩涟漪模式与渐变流动模式不同的是,渐变流动模式的色彩流动的方式是从左到右,或者从右到左,而涟漪为从中间向两边。
多彩涟漪模式可采用与渐变流动模式相同的发光数据(如图3所示)。区别在于读取发光数据的方式。多彩涟漪模式将灯带平分为两个区域,一个区域按照从左向右(实际对应从低地址到高地址)的方式读取发光数据中的单元数据,另一个区域按照从右向左的方式读取发光数据中的数据。
本申请的控制灯带的方法能够实现的灯效,不限于以上几种。
本申请实施例提供了一种控制灯带的装置,应用于EC芯片,包括:
控制器,用于响应于启动灯带的指令,确定发光数据;从发光数据中读取第一数据,并发送给灯带;
其中,发光数据包括特定份数的单元数据,每份单元数据用于控制单个灯发光;第一数据包含单元数据的份数等于灯带包含的灯数。
本申请提供了一种芯片,包括上述的装置。
图5示出了能够用于实现本申请的实施例的示例性电子设备的结构框图,本申请提供了一种电子设备,包括执行上述任一项的方法的装置和灯带。
Claims (17)
1.一种控制灯带的方法,所述灯带包括至少一个灯,其特征在于,包括:
响应于启动所述灯带的指令,确定发光数据;
从所述发光数据中读取第一数据,并发送给所述灯带;
其中,所述发光数据包括特定份数的单元数据,每份所述单元数据用于控制单个灯发光;所述第一数据包含一份或多份所述单元数据。
2.根据权利要求1所述的方法,其特征在于,所述方法应用于嵌入式控制器EC芯片,所述EC芯片包括存储器,所述确定发光数据,包括:
根据所述指令中包含的灯效模式确定第一地址;
根据所述第一地址确定所述发光数据;
其中,所述第一地址为所述发光数据存储在所述存储器的区域的首地址。
3.根据权利要求2所述的方法,其特征在于,所述EC芯片还包括直接存储器访问DMA控制器,所述从所述发光数据中读取第一数据,并发送给所述灯带,包括:
对所述DMA控制器进行配置,包括:配置读取数据的基地址为所述第一地址,传送数据的总长度为传输数据长度;
通过所述DMA控制器从所述基地址读取所述传输数据长度的第一数据,并向所述灯带发送所述第一数据,以使所述灯带根据所述第一数据发光;
其中,所述传输数据长度大于或等于所述单元数据的数据长度的所述灯数倍。
4.根据权利要求3所述的方法,其特征在于,所述从所述基地址读取所述传输数据长度的第一数据,并向所述灯带发送所述第一数据,还包括:
判断所述第一数据的传输是否完成,若未完成,则继续向所述灯带发送所述第一数据;若已完成,则产生中断请求。
5.根据权利要求3所述的方法,其特征在于,所述根据所述指令中包含的灯效模式确定第一地址,还包括:
根据所述灯效模式,确定第二地址;其中,所述第二地址为所述发光数据存储在所述存储器的区域的末地址;
判断当前传送地址是否等于所述第二地址,若判断为是,则对所述当前传送地址进行更新,使更新后的当前传送地址为所述第一地址,从所述更新后的当前传送地址读取数据,并发送到所述灯带;若判断为否,则从所述当前传送地址读取数据,并发送到所述灯带;
其中,所述当前传送地址为所述DMA控制器当前要传送的数据所在的地址。
6.根据权利要求4所述的方法,其特征在于,所述根据所述指令中包含的灯效模式确定第一地址,还包括:
根据所述灯效模式,确定时间间隔和地址间隔;
所述产生中断请求之后,还包括:
响应于所述中断请求,关闭所述DMA控制器,等待所述时间间隔;
根据所述地址间隔和所述第一地址确定第四地址;
对所述基地址进行更新,使更新后的基地址为所述第四地址;
通过所述DMA控制器从所述更新后的基地址读取所述传输数据长度的第二数据,并向所述灯带发送所述第二数据,以使所述灯带根据所述第二数据发光。
7.根据权利要求6所述的方法,其特征在于,所述根据所述地址间隔和所述第一地址确定第四地址,包括:
根据以下公式确定所述第四地址:若A1+A0<A2,则A4=A1+A0;若A1+A0≥A2,则A4=A1+(A1+A0)%A2;
其中,A4为第四地址,A0为地址间隔,A1为第一地址,A2为第二地址。
8.根据权利要求1所述的方法,其特征在于,所述从所述发光数据中读取第一数据,并发送给所述灯带,包括:
将所述第一数据转换为单极性归零码;
将所述单极性归零码发送给所述灯带。
9.根据权利要求8所述的方法,其特征在于,所述EC芯片还包括通讯模块,所述将所述第一数据转换为单极性归零码,包括:
将所述第一数据存入所述通讯模块的寄存器;
将所述寄存器中存储的第一数据写入先入先出FIFO;
通过所述FIFO将所述第一数据转换成串行数据;
将所述串行数据转换成单极性归零码。
10.根据权利要求2-9任一项所述的方法,其特征在于,所述从所述发光数据中读取第一数据,并发送给所述灯带之前,还包括:
接收对应所述灯效模式的HSV域的发光数据;
将所述HSV域的发光数据转换成RGB域的发光数据;
将所述RGB域的发光数据写入所述存储器;
所述从所述发光数据中读取第一数据,包括:从所述RGB域的发光数据中读取第一数据。
11.根据权利要求2-9任一项所述的方法,其特征在于,
所述灯效模式为第一模式,则第三数据和第四数据满足以下条件;
所述第三数据对应的饱和度与所述第四数据对应的饱和度相同,所述第三数据对应的色调与所述第四数据对应的色调相同;
所述第三数据对应的明度与所述第四数据对应的明度相差第一明度梯度值;
其中,所述发光数据平均分为若干段,每段数据的数据长度等于所述传输数据长度,所述第三数据和所述第四数据是所述发光数据中任意两段相邻的数据。
12.根据权利要求2-9任一项所述的方法,其特征在于,
所述灯效模式为第二模式,则第五数据和第六数据满足以下条件;
所述第五数据对应的饱和度与所述第六数据对应的饱和度相同,所述第五数据对应的明度与所述第六数据对应的明度相同;
所述第五数据对应的色调与所述第六数据对应的色调相差第一色调梯度值;
其中,所述第五数据和所述第六数据是所述发光数据中任意两个相邻的所述单元数据。
13.根据权利要求2-9任一项所述的方法,其特征在于,
所述灯效模式为第三模式,则第七数据和第八数据满足以下条件;
所述第七数据和所述第八数据对应的饱和度相同;
若所述第七数据对应的明度和所述第八数据对应的明度都不是最低明度或最高明度,则所述第七数据对应的明度与第八数据对应的明度相差第二明度梯度值,所述第七数据对应的色调与所述第八数据对应的色调相同;
若所述第七数据对应的明度或所述第八数据对应的明度为最低明度或最高明度,则所述第七数据对应的明度与第八数据对应的明度相同,所述第七数据对应的色调与所述第八数据对应的色调相差第二色调梯度值;
其中,所述第七数据和所述第八数据是所述发光数据中任意两个相邻的所述单元数据。
14.根据权利要求2-9任一项所述的方法,其特征在于,
所述灯效模式为第四模式,则第九数据和第十数据满足以下条件;
第九数据对应的饱和度与第十数据对应的饱和度相同,第九数据对应的色调与第十数据对应的色调相同;
第九数据对应的明度与第十数据对应的明度相差第三明度梯度值;
其中,第九数据和第十数据是任意存储于相邻地址的两个单元数据。
15.一种控制灯带的装置,其特征在于,包括:
控制器,用于响应于启动所述灯带的指令,确定发光数据;从所述发光数据中读取第一数据,并发送给所述灯带;
其中,所述发光数据包括特定份数的单元数据,每份所述单元数据用于控制单个灯发光;所述第一数据包含所述单元数据的份数大于或等于所述灯带包含的灯数。
16.一种芯片,其特征在于,包括如权利要求15所述的装置。
17.一种电子设备,其特征在于,包括执行权利要求1-14中任一项所述的方法的装置和灯带。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111666788.6A CN114340097A (zh) | 2021-12-30 | 2021-12-30 | 一种控制灯带的方法、装置、芯片和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111666788.6A CN114340097A (zh) | 2021-12-30 | 2021-12-30 | 一种控制灯带的方法、装置、芯片和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114340097A true CN114340097A (zh) | 2022-04-12 |
Family
ID=81020136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111666788.6A Pending CN114340097A (zh) | 2021-12-30 | 2021-12-30 | 一种控制灯带的方法、装置、芯片和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114340097A (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1831799A (zh) * | 2005-03-07 | 2006-09-13 | 华为技术有限公司 | 一种直接存储器访问控制器及利用其实现数据传送的方法 |
US20120173772A1 (en) * | 2009-09-11 | 2012-07-05 | Commissariat A L'energie Atomique Et Aux Ene Alt | Direct memory access controller, corresponding method and computer program |
CN102595704A (zh) * | 2012-01-06 | 2012-07-18 | 重庆三弓科技发展有限公司 | 夜景灯饰声光同步控制系统及其控制方法 |
CN103415127A (zh) * | 2013-08-31 | 2013-11-27 | 西安电子科技大学 | 智能彩色led景观灯控制系统及方法 |
WO2014205691A1 (zh) * | 2013-06-26 | 2014-12-31 | 华为技术有限公司 | 数据报文处理方法、数据报文处理装置及系统 |
WO2017054377A1 (zh) * | 2015-09-28 | 2017-04-06 | 青岛海信电器股份有限公司 | 一种音频数据的处理方法、装置和系统 |
US20180295699A1 (en) * | 2015-12-31 | 2018-10-11 | Marco Franciosa | Method and system for controlling the switching on of lights |
CN109542515A (zh) * | 2017-10-30 | 2019-03-29 | 上海寒武纪信息科技有限公司 | 运算装置及方法 |
CN109729628A (zh) * | 2017-10-30 | 2019-05-07 | 迈来芯科技有限公司 | 用于动态光照应用的总线协议 |
CN109815176A (zh) * | 2019-01-14 | 2019-05-28 | 中国科学院上海高等研究院 | 特定dma数据发送方法、接收方法、系统及介质 |
CN110297660A (zh) * | 2019-06-25 | 2019-10-01 | 江苏沁恒股份有限公司 | 加速soc内核读取指令的方法及系统 |
CN110968270A (zh) * | 2019-11-22 | 2020-04-07 | 中山优感科技有限公司 | 一种Flash空间的高效存储方法及装置 |
CN111341361A (zh) * | 2020-02-20 | 2020-06-26 | 佛山科学技术学院 | 一种快速响应的中控屏显示方法及装置 |
CN111343752A (zh) * | 2020-04-01 | 2020-06-26 | 深圳百城光电有限公司 | 获取led灯串各发光模组空间位置的寻址电路和方法 |
CN111612839A (zh) * | 2020-04-10 | 2020-09-01 | 广州大学 | 一种彩灯位置识别方法、系统、装置及存储介质 |
CN112131156A (zh) * | 2020-09-03 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输方法、系统及电子设备和存储介质 |
CN112835624A (zh) * | 2021-02-18 | 2021-05-25 | 中国科学院自动化研究所 | 指令字处理器及零开销循环处理方法、电子设备及介质 |
CN112925572A (zh) * | 2021-03-01 | 2021-06-08 | 联想(北京)有限公司 | 一种控制方法、装置及电子设备 |
-
2021
- 2021-12-30 CN CN202111666788.6A patent/CN114340097A/zh active Pending
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1831799A (zh) * | 2005-03-07 | 2006-09-13 | 华为技术有限公司 | 一种直接存储器访问控制器及利用其实现数据传送的方法 |
US20120173772A1 (en) * | 2009-09-11 | 2012-07-05 | Commissariat A L'energie Atomique Et Aux Ene Alt | Direct memory access controller, corresponding method and computer program |
CN102595704A (zh) * | 2012-01-06 | 2012-07-18 | 重庆三弓科技发展有限公司 | 夜景灯饰声光同步控制系统及其控制方法 |
WO2014205691A1 (zh) * | 2013-06-26 | 2014-12-31 | 华为技术有限公司 | 数据报文处理方法、数据报文处理装置及系统 |
CN103415127A (zh) * | 2013-08-31 | 2013-11-27 | 西安电子科技大学 | 智能彩色led景观灯控制系统及方法 |
WO2017054377A1 (zh) * | 2015-09-28 | 2017-04-06 | 青岛海信电器股份有限公司 | 一种音频数据的处理方法、装置和系统 |
US20180295699A1 (en) * | 2015-12-31 | 2018-10-11 | Marco Franciosa | Method and system for controlling the switching on of lights |
CN109729628A (zh) * | 2017-10-30 | 2019-05-07 | 迈来芯科技有限公司 | 用于动态光照应用的总线协议 |
CN109542515A (zh) * | 2017-10-30 | 2019-03-29 | 上海寒武纪信息科技有限公司 | 运算装置及方法 |
CN109815176A (zh) * | 2019-01-14 | 2019-05-28 | 中国科学院上海高等研究院 | 特定dma数据发送方法、接收方法、系统及介质 |
CN110297660A (zh) * | 2019-06-25 | 2019-10-01 | 江苏沁恒股份有限公司 | 加速soc内核读取指令的方法及系统 |
CN110968270A (zh) * | 2019-11-22 | 2020-04-07 | 中山优感科技有限公司 | 一种Flash空间的高效存储方法及装置 |
CN111341361A (zh) * | 2020-02-20 | 2020-06-26 | 佛山科学技术学院 | 一种快速响应的中控屏显示方法及装置 |
CN111343752A (zh) * | 2020-04-01 | 2020-06-26 | 深圳百城光电有限公司 | 获取led灯串各发光模组空间位置的寻址电路和方法 |
CN111612839A (zh) * | 2020-04-10 | 2020-09-01 | 广州大学 | 一种彩灯位置识别方法、系统、装置及存储介质 |
CN112131156A (zh) * | 2020-09-03 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输方法、系统及电子设备和存储介质 |
CN112835624A (zh) * | 2021-02-18 | 2021-05-25 | 中国科学院自动化研究所 | 指令字处理器及零开销循环处理方法、电子设备及介质 |
CN112925572A (zh) * | 2021-03-01 | 2021-06-08 | 联想(北京)有限公司 | 一种控制方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102749985B (zh) | 动态调整总线时钟的方法及其装置 | |
BRPI0301020A8 (pt) | programação eficaz de canal de energia de uma rede sem fio | |
CN206061200U (zh) | 一种蓝牙吸顶灯 | |
CN101162403A (zh) | 可改变电池充电模式的计算机系统及其控制方法 | |
CN111479370A (zh) | 电子设备及其氛围灯的控制方法、计算机存储介质 | |
EP1510908A3 (en) | Thread scheduling mechanisms for processor resource power management | |
CN104125422A (zh) | 无线显示系统、无线显示装置以及工作模式切换方法 | |
CN108319504A (zh) | 内存占用优化方法、装置及可读存储介质 | |
TW202030579A (zh) | 交流電源適配器指示器 | |
CN114340097A (zh) | 一种控制灯带的方法、装置、芯片和电子设备 | |
CN103716948A (zh) | 用于控制灯具的供电装置 | |
CN108156733A (zh) | 一种路灯亮度控制系统及方法 | |
CN107135573A (zh) | 一种用于照明灯具的调色方法及装置 | |
CN108430130B (zh) | 一种具有室内定位功能的照明装置 | |
CN110572920A (zh) | 一种多台灯具连接的自动写码系统及方法 | |
JP4416751B2 (ja) | 電池情報処理システムおよび電池ユニット | |
CN208691426U (zh) | 一种用于办案区的管控终端 | |
CN201726563U (zh) | 新型手术无影灯 | |
JP5005014B2 (ja) | 携帯電子機器及びその光を制御する方法 | |
CN218514375U (zh) | 电子设备、终端 | |
CN218550238U (zh) | 复位电路、led驱动控制芯片及照明装置 | |
CN204559934U (zh) | 一种家用点阵led照明显示系统 | |
CN217085569U (zh) | 一种基于stm32单片机的云家居监控系统 | |
CN214627422U (zh) | 一种led电量指示装置和系统 | |
CN115633434A (zh) | 调光电流调节方法、系统、装置、存储介质及调光电源 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |