Buenas, soy usuario de este foro y del de neoteo, los cuales leo constantemente aunque no participe tanto (por lo menos en este).
El tema es que estoy estudiando y tratando de entender como funcionan los carteles RGB, por ejemplo los de los estadios de futbol que pasan propagandas (en Argentina).
Bueno, hasta ahora tengo lo siguiente:
Hay paneles controlados por driver's de led con PWM incluido (se le carga la informacion con SPI o I2C) y otros en los que los drivers de los led no tienen PWM incluido, en ese caso traen señales como si fuesen un registro de desplazamiento, CLK, LE, OE y Data. Todavía no descubro que es lo desisivo entre un tipo de drive y otro. Como decido si uso uno u otro.
El tiempo necesario para barrer un panel (aunque sea chico) en el eje horizontal + dar la informacion de PWM de cada línea es algo que lleva mucho tiempo. Para que un panel tenga colores vivos debemos tener un PWM con frecuencia mas o menos alta (mejor dicho, mayor que un panel cuyos colores no pretendamos sean muy vivos). Para obtener altas velocidades de operacion se utilizan FPGA's. Si bien lo vi por arriba en la facu, no tengo idea como se usan ni sus virtudes. Creo que lo que tienen es muchos pines de I/O y una alta velocidad de operacion.
Me gustaría poder hacer pequeños cálculos de tiempos necesarios y velocidades de trabajo necesarios pero aún no termino de comprender como hacer dichos cálculos. Es decir si yo quisiera armar un panel de, por ejemplo, 8x32 led RGB como hago para calcular todo. Tampoco tengo muy en claro como se almacena la imagen a mostrar en una memoria....
luego de investigar un poco más y con la ayuda de usuarios de NeoTeo puede hacer el siguiente intento:
Bueno, siguiendo con la intriga del cartel RGB, si usamos el TLC5916, el cuál es un driver de corriente para led de 8 canalesque con entrada serie y salida serie (típico registro de desplazamiento) que puede operar a 25MHz, supongamos que lo usamos con un uC a 40 MHz (el uC, por ejemplo el 18F4550) y suponiendo que al TLC lo trabajamos a 20MHz tengo que entre dato y dato hay 50ns. Si tengo un cartel de 32 led RGB (96 led individuales) me tomaría unos 5 us llenar de datos los 12 TCL. Bien?
Por lo que ví, en el caso de estos driver's que no tienen PWM uno debería hacer el PWM con el uC. Entonces, suponiendo que quiero un PWM de 8 bits (16M de colores) tengo que barrer 256 veces al panel, se entiende? si quiero un pixel con medio tono rojo, 1/4 tono verde y 3/4 tono azul, entonces las primeras 64 pasadas tengo las 3 salidas en 1, luego pongo a 0 el color verde y dejo el rojo y el azul 64 barridos más, a partir de la pasada 128 apago el rojo y desde la 196 en adelante tengo todo apagado. Bueno, hacer eso me llevaría 12,8 mseg con lo que obtendría 78 fps, lo cual es muy alto, no?
voy bien? esas serían las cuentas?
Para los driver's con I2C y pwm incluido se me complican las cuentas porque no conozco de tasas del I2C.... pero ya lo averiguaré...
En fin, me gustaría recivir (y cruzar con el otro foro también) algo de info como para entender un poco más y quizás diseñar un pequeño panel de pruebas...
Saludos y gracias!