Autor Tema: Registro de desplazamiento con 595, problema de multiplexado  (Leído 12336 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado nico

  • PIC16
  • ***
  • Mensajes: 180
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #30 en: 20 de Abril de 2018, 14:02:22 »
Planeta, en un diseño de cartel, en el cual mandaba muchos datos seriales a muchas placas en serie(625 bits para encender 125 módulos de 5 leds por módulo), tuve el mismo inconveniente que comentas, en las primeras placas andaba bien, pero a medida que iba sumando placas con los datos de reloj en serie la señal se iba degradando y  me llegaban datos falsos a las matrices. En dichas placas usaba los 74hc595.
Mirando con el osciloscopio el pulso de clock y dato había una gran degradación, por lo que como dentro de cada placa teníamos una nand, no hicimos mas que interrumpir la señal, pasarla por un par de nand como buffer y problema resuelto, ten en cuenta que a mayor velocidad, por lineas paralelas, mayor es la degradación, diafonía, ruido y demás.
Seguramente haciendo un buffer para el clock y el dato anda bien, otra cosa a probar sería mandar los datos por un cable mallado y conectar la malla a gnd en cada placa, para reducir los ruidos, pero me decanto por la primera opción por los resultados que me dió.

Salutes.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #31 en: 20 de Abril de 2018, 14:23:59 »
 
Gracias nico, ya pensaba que era yo solo el que tenía este problema, porque buscando por Google, prácticamente no he encontrado nada al respecto cuando conectas registros de desplazamiento con cables largos y varias placas en serie.

Ahora me funciona con la resistencia de pulldown en la señal de reloj en la última placa, y uniendo con dos hilos las señales de reloj y latch, desde la última placa a la primera, es una solución un poco chapucera, pero para salir del paso y enviar este prototipo el Lunes con urgencia, me vale.

Como tengo otro juego de placas que montar, para seguir con la programación aquí, ya probaré a montar un buffer a la salida de cada placa, tengo los HEF4050 que son buffers no inversores y he encontrado por internet los 74LS14 que son trigger schmitt inversores, como solo necesito aplicarlos a reloj y latch, puedo conectar en cada señal dos puertas en serie del 74LS14 para no invertir.

O directamente probar con el HEF4050, estos los uso mucho para adaptar niveles de señales TTL a 3.3v para micros, y en este caso para elevar las señales de 3.3v del STM32 a TTL, pensando que serían menos inmunes a las interferencias y la degradación, pero no me ha servido de mucho, si solo lo aplico en la placa principal.

Menudos nervios se pasan, cuando algo no funciona, y no tienes ni idea de porque, además con presiones y retrasos. A mi todo esto de las impedancias y las degradaciones de las señales digitales por cables largos, me suena a chino mandarín, seguro que habrán por ahí fórmulas matemáticas que lo explican todo.
« Última modificación: 20 de Abril de 2018, 14:30:37 por planeta9999 »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #32 en: 20 de Abril de 2018, 14:30:10 »
Tal ves sea por la capacidad de todos los pines , que a medida que sea aleja es aun peor.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #33 en: 20 de Abril de 2018, 14:34:04 »
Tal ves sea por la capacidad de todos los pines , que a medida que sea aleja es aun peor.


Ni idea, también leí que sugerían a la entrada de la placa, en cada señal, una resistencia en serie seguida de un condensador  a masa de unos 10nF, eso no lo he probado.

A mi me parece, que lo mejor será un buffer a la salida de cada placa, que amplifique las dos señales conflictivas, que son la de Reloj y la del Latch, para que lleguen bien a la siguiente placa de la cadena y no se vayan degradando por el camino.
« Última modificación: 20 de Abril de 2018, 15:55:50 por planeta9999 »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #34 en: 20 de Abril de 2018, 15:31:50 »
Lo que esta ocurriendo si es que ocurre lo mismo que en el caso de nico es que se deforma la señal, asi que seguramente las componentes de mayores frecuencias sean las que están teniendo problemas, con un buffer como comento nico reconstruye la señal y carga unicamente al buffer de cada etapa con una capacidad fija + el cableado.

Pienso que agregarle un filtro pasa bajo (RC) es empeorar aun mas la señal.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #35 en: 20 de Abril de 2018, 16:16:18 »
Si, lo haré con buffers. De momento tal como lo tengo funciona, aunque no me gusta, tengo el fin de semana para hacer los arreglos finales, lo probaré metiendo un HEF4050 a la salida de cada placa. Me queda probar todo el hardwar bien, terminar de programar el almacenamiento de datos datos de configuración y contadores en la Eeprom externa, sonidos en Flash externa, y mandarlo el lunes al cliente.


Una pregunga para Chaly.
En los datos que me indicaste para los transistores que controlan los ánodos comunes de displays y leds, he cambiado la resistencia de base de 2K2 a 1K, porque no me daba toda la intensidad de luz que quiero, además por software he hecho un multiplexado a 5, en el quinto he puesto solo el encendido de los led que quiero que saquen más luz, también me ha tocado cambiar el Timer para que no parpadeasen al incrementar el multiplexado, y más o menos ha quedado bien.

¿ Hasta que valor puede bajar, que sea seguro, esa resistencia de 2K2 (ahora de 1K en el esquema adjunto) ?, es la que me ha parecido que tenía que reducir para aumentar la corriente disponible. La resistencia que aparece con un asterisco, no está instalada, como me indicaste, aunque la dejé en el PCB.


« Última modificación: 20 de Abril de 2018, 16:21:33 por planeta9999 »