Habilitar/Deshabilitar una línea Serial con una señal TTL

Hola comunidad,

Navegando por la web he encontrado este foro muy interesante del cual espero puedan ayudarme con algunas ideas sobre cómo solucionar una probñemática que estoy tratando.

Estoy trabajando en un proyecto de descarga inalámbrica de información, el cual se compone de un terminal master y docenas de dispositivos esclavos de almacenamiento de información.

Cada esclavo posee un microcontrolador con una ID, el master envía una señal broadcast de solicitud de descarga de información, todos los esclavos escuchan, pero lógicamente sólo un PIC habilitará su salida si la ID solicitada coincide con la suya.

Sabiendo esto, entonces tenemos una señal de control TTL a la salida del pic.

Con esta señal de control, necesito habilitar o deshabilitar las líneas Tx y Rx de la interfaz serial del esclavo. Debido a que las comunicaciones seriales trabajan a +12V y -12V para enviar la data, no puedo utilizar un multiplexor o un driver triestado para fácilmente realizar una conmutación con la señal de control del pic, debido a que estos dispositivos trabajan con niveles TTL.

Tampoco seria la idea poner dos MAX232 antes y despues de uno de los dispositivos mencionados anteriormente, pues sería un sistema ineficiente.

Mi pregunta es si alguien tiene alguna buena idea de como podría ser una buena y eficiente solución para esto, en el fondo generar un conmutador que no afecte la data.

Algunas notas:

Tx1 y Rx1 trabajan a niveles RS-232
Tx2 y Rx2 trabajan a niveles TTL

La salida del pic corresponde a la salida de control.
El conmutador es la problemática a discutir.
La antena RF que utilizo (UM96) posee dos puertos COM, por eso tengo acceso a dos tx y rx.

El terminal de descarga ni el software que controla el sistema es modificable, por ello se recurre a esta solución de control por hardware.
 

Adjuntos

  • esq_116.jpg
    esq_116.jpg
    7.9 KB · Visitas: 72
enoches dijo:
Sabiendo esto, entonces tenemos una señal de control TTL a la salida del pic.

Con esta señal de control, necesito habilitar o deshabilitar las líneas Tx y Rx de la interfaz serial del esclavo. Debido a que las comunicaciones seriales trabajan a +12V y -12V para enviar la data, no puedo utilizar un multiplexor o un driver triestado para fácilmente realizar una conmutación con la señal de control del pic, debido a que estos dispositivos trabajan con niveles TTL.

Tampoco seria la idea poner dos MAX232 antes y despues de uno de los dispositivos mencionados anteriormente, pues sería un sistema ineficiente.

Mi pregunta es si alguien tiene alguna buena idea de como podría ser una buena y eficiente solución para esto, en el fondo generar un conmutador que no afecte la data.

No hay mucho para elegir. Como no mencionas la cantidad maxima de conmutaciones por segundo que hace el bloque "conmutador" que tienes que diseñar ni la capacidad de la fuente de alimentación...lo unico que se me ocurre ahora es usar un relay (uno o mas) miniatura de 5V. Son bastante rápidos, no requieren mucha corriente, son pequeños y tenes aislación perfecta de las líneas de señal. Solo vas a tener que agregar un transistor para excitar el relay.

Saludos!
 
El conmutador no es recurrente, sólo se comuta para una ves cada un par de horas. Había pensado en los Relay que es la manera más elemental de realizarlo, pero tengo serias dudas con las características de los Relay que no he encontrado por internet, me pregunto si sus contactos generarán algún tipo de capacitancia, ya que estamos hablando de información a alta frecuencia (9600bps) y en este caso es un efecto negativo que pudiese ocasionar errores.

De todas maneras comenzaré a hacer pruebas con Relays, si alguien se le ocurre alguna otra solución bienvenida sea y muchas gracias evazalla por tu aporte.

Saludos.
 
enoches dijo:
El conmutador no es recurrente, sólo se comuta para una ves cada un par de horas. Había pensado en los Relay que es la manera más elemental de realizarlo, pero tengo serias dudas con las características de los Relay que no he encontrado por internet, me pregunto si sus contactos generarán algún tipo de capacitancia, ya que estamos hablando de información a alta frecuencia (9600bps) y en este caso es un efecto negativo que pudiese ocasionar errores.

Si los relays son de mediana calidad no vas a tener inconvenientes. Es probable que existe una cierta capacidad con los contactos del relay abiertos, pero debería ser muy baja, del orden de unos pocos picofaradios, y 9600 bps no es alta frecuencia como para causar problemas, tanto mas si las impedancias involucradas son relativamente bajas, como en este caso.

Sinceramente, no creo que tengas problemas de cross-talk con el relay abierto. Con el relay cerrado es del todo probable que no suceda nada malo con la señal, a menos que los relay sean patológicamente berretas.

Saludos.
 
Atrás
Arriba