Ada serangkaian perangkat yang sangat menarik - LED tiga warna dengan sirkuit kontrol internal (ws2811, ws2812, ws2812b, ws2813 ...). Ciri khas mereka adalah harga, yang hampir tidak bisa disebut apa pun selain konyol, yang menentukan popularitas luar biasa mereka di kalangan amatir. Untuk beberapa alasan, mereka sering disebut LED yang dapat dialamatkan, yang, menurut saya, tidak sepenuhnya benar, karena perangkat ini tidak memiliki alamat uniknya sendiri dan dialamatkan oleh posisi dalam rantai koneksi, tetapi mari kita tinggalkan seluk-beluk terminologi di luar tanda kurung.
Catatan pinggir (PNP): Keluarga ini diproduksi, yang sangat alami, di luar Tanah Air kita yang luas. Sebagai spesialis yang terkait langsung dengan topik ini, saya tidak bisa tidak mengungkapkan kebingungan saya tentang tidak adanya produk semacam itu dalam rangkaian perangkat elektronik yang diproduksi oleh pabrikan dalam negeri. Saya memahami bahwa pembuatan sirkuit mikro sesuai dengan standar 90 atau kurang di Federasi Rusia tidak mungkin, meskipun pernyataan berulang tentang pengembangan proses ini oleh Angstrem, tetapi komponen seperti yang dijelaskan dalam posting ini tidak dapat memerlukan penggunaan teknologi canggih seperti itu. , jadi jawaban atas pertanyaan itu terletak, mungkin lebih ekonomis daripada teknologi. Namun, bagaimanapun, tetangga selatan kami membuat perangkat seperti itu dan, tentu saja, tidak kehilangan diri mereka sendiri.
Semua perangkat dari keluarga ini menyediakan antarmuka perangkat keras paling sederhana kepada pengguna - satu kabel (sebenarnya, tiga kabel, karena diasumsikan kesamaan, dan tidak akan mudah dilakukan tanpa catu daya) dan lebih sedikit konduktor hampir tidak mungkin. Tetapi untuk segala sesuatu di dunia ini Anda harus membayar, dalam hal ini pembayaran adalah protokol pesan, yaitu protokol serial dengan pengkodean informasi dengan durasi pulsa. Solusinya terkenal, jika persyaratan tertentu terpenuhi, itu dapat diandalkan, tetapi iblis, seperti biasa, bersembunyi dalam detailnya.
Dalam hal ini, detailnya terletak pada durasi pulsa pengkodean - untuk mencapai tingkat transmisi yang tinggi, mereka diambil sangat, sangat kecil (tentu saja, tergantung pada apa yang akan dibandingkan) - pada urutan ratusan nanodetik, kami akan lihat nilai spesifik nanti. Dalam kombinasi dengan format transmisi non-standar ("Tuhan, Inggris, lalu apa yang tidak menyenangkannya"), penerapan protokol semacam itu pada MCU standar menghadirkan masalah tertentu, dan kami akan membicarakan kemungkinan solusi untuk masalah ini.
- - () , () . 8 /*3 = 24 ( , 32). n ( N) . , . , ", ".
. , , 150*2=600, , : - 150 , - 150 , - 600 . , , , , " ".
: 400 () 800 () , - 800 . , , ": 2 , (reset time) ", , , . : , / " " - , , .
( /?) , . , , , .
() |
WS2811 |
WS2812 |
WS2813 |
|
T0H |
0.22-0.38 |
0.2-0.5 |
0.3-0.45 |
0.375 |
T1H |
0.58-1.0 |
0.75-1,05 |
0.75-1.0 |
0.875 |
T0L |
0.58-1.0 |
0.75-1,05 |
0.3-100 |
0.875 |
T1L |
0.58-1.0 |
0.2-0,5 |
0.3-100 |
0.375 |
TH+TL |
|
1.1-1.4 |
0.95-1.55 |
1.25 |
Res |
>280 |
>50 |
>300 |
>300 |
: , , 4 1 2 , 1 ). , , , .
, ( , ), , .
, (, ), . 300-380 , 800-900 , 640-760 500-600 . /: (800+380)/380:(900+300)/300 = 3.1:4 10/3:4/1, (640+600)/600:(760+500)/500=2.06:2.5 10/6:10/4. , .
, 1/80 ( ) = 12.5 . , , , . , 8 3 = 375 7 = 875 (" ? - "), - 6 4 . : , , , . , , .
, - .
:
- , ,
, ( , , ).
:
,
,
(, ),
100% , ,
. , , 2813 . : , - . 64 , 64 * 32/ *1.25/ = 2.56.
( , ) - . , . , . ( 8 ), 3 . , , , , , . , - , 2-3 . : 2-3 80, 12.5 *3=37.5 .
, . :
( ),
- . - .
. ( AVR, ARM , , ) 4-6 , 4-5 , 6-7 , 4-5 , 4-5 , 4, - 5-6. 38 , , 375 , 1/=1/(37510**-9/38)=38/37510**9~100. , .
, , , , .
( " ") . , , , 51 48 . (PWM), , , . 3 7 ( 10 , 3 , ) ( ), , , . , , , .
, - , , . ( ) , , , (, , ).
- "" , ( , , ) . , - , .
:
.
:
, ( ),
, . - - 375 , - 1250 , 38/(1250*10**9) = 31 .
- (STM XMEGA), . - . ( 32 , ), . , , , (ping pong round robin) " ". , 32*(5-10)/=160-320 32*1250/, 320/32*125*10*-9 = 10*10/1250=8 , , . , 2*32 , , .
- . , , , , , , 8/*32*50/( 20 )=12.5 ( 40). , , , , . , , , .
. - , , " ". - , ( , , ).
. , , , . , , , ( ). , - , ( ) - ( , ), , ( ) . , , "" . : , , , , .
, , ... . . 32*n( N) , , . , , , =64 32/*64*1/ = 2, , ( - 15 , , ). : , ( 16), , , ( ). , , , 32/*64 *(1/8)/=256 . , ( ).
, . , I2C/TWI ( , ), SPI ( , ) UART ( ).
I2C ( , ) - , , (, , ) ( 8 ) .
SPI, . - ( 1-2 ) , 10- . , 8- (- 10 ), . : ", , " - , 2 , 8 .
UART - , ( ) . ", , ", , , , 1 0 , . , 0b00000011 b00011111, 0 1 8 (, , ). : , UART . - , , . , , .
- . UART, 10 (3/10 6/10), 5 (2/5 3/5), . UART 4 ( ), , .
, 8 32 , (, ) .
, , . , ( ) .
P.S. , - .