Mejor velocidad / potencia: cadena de margaritas

0

Tengo un proyecto con muchos botones y leds. Actualmente tengo 2 cadenas en margarita para botones y cada cadena tiene tres registros de desplazamiento (74HC165). Hago lo mismo para mis leds (STP16CP05) Pero incluso con tres cadenas.

¿Haría una diferencia en la velocidad o el brillo del led, si conecto todos los registros de desplazamiento a una cadena (una para leds y otra para botones)?

En algún lugar leí que cuanto más registros de desplazamiento encadeno en una cadena, más lento es para leer / escribir los valores. ¿Es esto cierto?

    
pregunta Flocked

1 respuesta

0

No habrá diferencia de brillo si encadena todos sus controladores LED.

Puede haber una diferencia de velocidad, dependiendo de cómo esté manejando las interfaces seriales.

  • Los dispositivos paralelos múltiples, leídos o escritos en paralelo, son potencialmente más rápidos que una larga cadena de margaritas.
  • Múltiples dispositivos paralelos, leídos o escritos secuencialmente, tendrán aproximadamente la misma velocidad que una cadena larga de margaritas.

Por ejemplo, para escribir en los controladores LED en paralelo:

  1. Conecte todos sus pines de reloj juntos, a un solo pin en su MCU, por ejemplo. RB7.
  2. Conecte todos sus pines LE / # OE juntos, a un solo pin en su MCU, por ejemplo. RB6.
  3. Conecte cada uno de sus pines DI a un pin separado en su MCU, preferiblemente pines de puerto contiguos, por ejemplo. RB5..0

Para escribir, golpea los bits como lo harías normalmente, pero establece los 6 pines DI antes de alternar el reloj.

Leer es lo mismo, pero leer desde los pines de OD en lugar de escribir en los pines DI.

No hay garantía de que esto sea realmente más rápido que su enfoque original; cualquier ganancia dependerá principalmente de lo bueno que seas para codificar el bit banging. Sin embargo, si su MCU tiene un puerto paralelo que puede ser controlado por DMA (como algunos de los PIC24 de gama alta, por ejemplo), puede usar esa combinación para leer / escribir a velocidad, al menos uno y posiblemente dos órdenes de magnitud más rápido que los golpes de bits.

    
respondido por el markt

Lea otras preguntas en las etiquetas