久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 瑞薩RA0單片機連載之SPI驅動WB2812B

瑞薩RA0單片機連載之SPI驅動WB2812B

作者:lulugl 時間:2025-07-15 來源:EEPW 收藏

1   前言

WS2812B是一種數字可編程LED燈條,也被稱為NeoPixel。它由RGB(紅、綠、藍)三種顏色的LED組成,并集成了控制電路和信號處理功能。每個WS2812B LED 都有一個唯一的地址,并可以通過單個數據線進行串聯連接。

WS2812B具有以下特點:

高度可編程性:每個LED可以獨立地設置顏色和亮度,因此可以實現各種動態效果和彩色變化。

簡單的控制接口:WS2812B使用單個數據線進行通信,通過發送特定的序列來控制每個LED的顏色和亮度。

低功耗:WS2812B采用高效的LED驅動技術,具有較低的功耗,適合電池供電的應用。

靈活的應用:WS2812B可廣泛應用于室內裝飾、燈光藝術、電子產品原型設計等領域,具有豐富的創意空間和應用場景。

24bit數據結構


G7 G6 G5 G4 G3 G2 G1 G0 R7 R6 R5 R4 R3 R2 R1 R0 B7 B6 B5 B4 B3 B2 B1 B0


注:高位先發,按照GRB 的順序發送數據。

2   引腳圖

1752577683199524.png

引腳功能

序號
符號
管腳名

功能描述

1
VDD
電源
供電管腳
2
DOUT
數據輸出
控制數據信號輸出
3
VSS

信號接地和電源接地
4
DIN
數據輸入
控制數據信號輸入


當然,在使用的過程中,我們往往會使用不止一個LED燈,會將多個燈級聯成燈帶或者燈板,我們這次使用的就是燈板。

具體級聯方式如下:

典型應用數據:外圍電路不需要加濾波電容

1752577967649450.png

其中DIN作為數據的輸入端,每個LED需要24位數據控制,多出的數據會通過DOUT 引腳傳遞給下一個LED,以此類推,當WS2812 接收到280us 以上的低電平時,數據被寫入LED,燈的顏色改變。

以下是數據的表示方法:

數據傳輸時間

T0H
0碼,高電平時間
220ns~380ns
T1H
1碼,高電平時間
580ns~1μs
T0L
0碼,低電平時間
580ns~1μs
T1L
1碼,低電平時間
580ns~1μs
RES
幀單位,低電平時間
280μs以上

時序波形圖

輸入碼型:

image.png

連接方法:

1752578307315603.png

此次我采用SPI 的方式來驅動。SPI的時鐘調整為8MHz,發送一字節正好是1.25us,給ws2812 發送0即通過SPI 總線發送11000000b,發送1 即通過SPI 總線發送11111100b,非常巧妙的一種方式。

根據以上原理,我先配置SPI的stack如下:

1752578342755780.png

經查看原理圖,配置SPI 的MOSI 為P101。

生成工程后,編寫代碼ws2812b.c 如下:

image.png

image.png

1753082066985773.png

1753081795203005.png

image.png

ws18b20c.h:

1753082140772342.png

在主函數中添加測測試代碼如下:

image.png

image.png

代碼的主要思路是,將寫入buff先清零,然后向數據中寫信指定個數的RGB 數據,最后刷新到SPI 總線之中。

(本文來源于《EEPW》


評論


相關推薦

技術專區

關閉