À la question des LED et de leur contrôle via MK

Il existe toute une gamme d'appareils très intéressants - des LED tricolores avec circuit de contrôle intégré (ws2811, ws2812, ws2812b, ws2813 ...). Leur caractéristique est le prix, qu'on ne peut guère appeler autre chose que ridicule, qui détermine leur extraordinaire popularité auprès des amateurs. Pour une raison quelconque, ils sont souvent appelés LED adressables, ce qui, à mon avis, n'est pas tout à fait vrai, car ces appareils n'ont pas leur propre adresse unique et sont adressés par une position dans la chaîne de connexion, mais laissons les subtilités de la terminologie en dehors des crochets.





Note marginale (PNP): Cette famille est produite, ce qui est tout à fait naturel, en dehors de notre vaste patrie. En tant que spécialiste directement lié à ce sujet, je ne peux qu'exprimer ma perplexité face à l'absence de tels produits dans la gamme d'appareils électroniques fabriqués par les fabricants nationaux. Je comprends que la fabrication de microcircuits selon des normes de 90 ou moins dans la Fédération de Russie est impossible, malgré les déclarations répétées sur le développement de ces processus par Angstrem, mais des composants tels que ceux décrits dans cet article ne peuvent tout simplement pas nécessiter l'utilisation de ces technologies avancées. , donc la réponse à la question réside, probablement plus économiquement que technologiquement. Mais, néanmoins, nos voisins du sud fabriquent de tels appareils et, bien sûr, pas à perte pour eux-mêmes.





Tous les appareils de cette famille fournissent à l'utilisateur l'interface matérielle la plus simple - un fil (en fait, bien sûr, trois fils, car une masse commune est supposée, et il ne sera pas facile de se passer d'alimentation) et moins les conducteurs sont à peine possibles. Mais pour tout dans ce monde, vous devez payer, dans ce cas, le paiement est le protocole de message, qui est un protocole série avec le codage des informations avec la durée de l'impulsion. La solution est bien connue, si certaines conditions sont remplies, elle est fiable, mais le diable, comme toujours, se cache dans les détails.





Dans ce cas, les détails résident dans les durées des impulsions de codage - pour atteindre des taux de transmission élevés, elles sont prises très, très petites (bien sûr, en fonction de quoi comparer) - de l'ordre de centaines de nanosecondes, nous allons voir les valeurs spécifiques plus tard. En combinaison avec un format de transmission non standard ("Lord, Angleterre, alors qu'est-ce qui ne lui a pas plu"), la mise en œuvre d'un tel protocole sur des microcontrôleurs standards présente un certain problème, et nous parlerons des solutions possibles à ce problème.





- - () , () . 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 . : , , , . , , .





, - .

:





  1. - , ,





  2. , ( , , ).





    :





  3. ,





  4. ,





  5. (, ),





  6. 100% , ,





  7. . , , 2813 . : , - . 64 , 64 * 32/ *1.25/ = 2.56.





( , ) - . , . , . ( 8 ), 3 . , , , , , . , - , 2-3 . : 2-3 80, 12.5 *3=37.5 .





, . :





  1. ( ),





  2. - . - .





. ( 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 , ) ( ), , , . , , , .





, - , , . ( ) , , , (, , ).





- "" , ( , , ) . , - , .





:









  1. .





    :





  2. , ( ),





  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. , - .








All Articles