基于Nuvoton NUC126电竞产品ARGB LED控制解决方案

近年来电竞市场的发展非常的蓬勃,各种炫彩的LED吸引了不少玩家,举凡键盘鼠标、主机板、显示卡、萤幕、机壳等等,你想的到或想不到的都配上LED就对了,满满的RGB信仰再配上高规的配备能在这宅经济市场吸住所有玩家的眼球。

NuMicro® NUC126系列为 32 位 元微控制器,内建ARM® Cortex®-M0 内核,速度高达72 MHz。主要产品特色包含内置48 MHz 高精度高速 RC 振荡器并支持 USB 传输不须外挂晶体 ( Crystal-less ) ;可调式VDDIO管脚,其接受宽电压范围为 2.5V 到 5.5V ,便于连接与VDD电压不同之外部元件,达成更弹性的设计。内建硬体除法器,提升软体执行速度;此外,NUC126内建SPROM ( Security Protection ROM ) ,提供一个独立的安全加密执行区域,以保护开发者的智慧财产权。

此方案运用了SPI搭配PDMA,可轻松的同时推动5组ARGB灯条,比起传统RGB使用PWM的控制方式,不仅节省了MCU的脚位,也大大降低了PCB的复杂程度。

应用线路

  1. LDO_CAP需接1uF对地,给内部电源使用
  2. Reset接10k欧姆及10uF
  3. ICE_DAT及ICE_CLK为除错及韧体更新的SWD接口,建议预留线路
  4. ARGB只需使用SPI的MOSI来控制即可



控制逻辑及程式架构 :

此方案配合的ARGB LED为目前市场运用很广的WS2812B,SPI 频率设定在3.2MHz左右,达到SPI data 1 bit约310us的时间,并且使用4bits来表示一个LED bit的资讯,也就是T0H及T1L约莫于310us,T0L及T1H约莫于930ns,皆可满足WS2812B的规格.



此程式架构可支持5组ARGB LED灯条,下图为每个灯条可设定的基本参数


Timer0设定每1ms中断一次,并将每个灯条的计数累加,做为之后算法使用


主程式内则判断每组LED_Stripe的PDMA是否传送完成,若传送完成则进行下一次的特效演算,然后在触发一次PDMA


透过Set_LED_RGB()或Set_LED_Array()函式将演算好的LED特效转换成SPI输出buffer的资料


下面为恒亮的算法,将灯条设定的RGB值成上亮度(0~10)再除以10以达到亮度的调整,最后只要将设定好的RGB值填入Set_LED_RGB函式,即可帮我们转换成SPI所要输出的讯号



►场景应用图

►展示板照片

►方案方块图

►核心技术优势

 品佳提供多达10种特效算法,让使用者能更快上手  品佳提供ARGB底层控制函式,弹性化的设定让使用者方便移植及客制化  高达72 MHz Cortex-M0内核及硬体除法器,可迅速的处理复杂的算法  内建48MHz HIRC给USB使用,可省去外部Crystal成本  对于二次开发的合作方式,SPROM可保护辛苦研发的算法不被窃取  可调式VDDIO,便于连接与VDD电压不同之外部元件,可节省Level shift成本  支持目前最多人使用的ARGB LED – WS2812B  多界面的interface USCI,可任意配置成SPI、I2C及UART,让MCU使用更加灵活  可透过多种界面来控制灯效,如USB、UART、I2C及SPI等等  使用SPI + PDMA来控制多达五路的ARGB灯条

►方案规格

 NuMicro NUC126 (32-bit Arm® Cortex®-M0)内建硬体除法器  高达72MHz工作主频  内建256 KB Flash/20 KB SRAM  高达96 MHz SPI 通讯界面  5通道周边PDMA控制器  USB 2.0全速装置控制器及内置PHY  内部USB专用HIRC-48MHz  多达4组32-bit Timer  3个USCI界面,可设为UART/SPI/I²C  3个UART界面  2个I²C界面  2个SPI [I²S] 界面  电压范围:2.5V至5.5V  温度范围:-40°C至 +105°C

技术文档

类型标题档案
硬件Datasheet
硬件Schematics
软件SampleCode