UART: dos transmisores, esclavo único

1

simular este circuito : esquema creado usando CircuitLab

Mi circuito se muestra arriba, donde tengo el pin TXD de un ATMEGA conectado al pin RXD de un esclavo BT. Ambos dispositivos funcionan con 3.3V - hasta ahora todo bien. Sin embargo, como necesitaba poder acceder al esclavo BT desde un dispositivo externo, como una PC a través de un conector FTDI, conecté el pin TXD del conector FTDI a la misma línea.

Preguntas:

  1. Usaré el conector FTDI solo para la configuración / prueba inicial del BT slave y el UART ATMEGA no transmitirá en ese momento. Como el pin ATMEGA TXD debe mantenerse alto cuando está inactivo, ¿puedo salirme con el circuito anterior, es decir, podría comunicarme con el esclavo BT utilizando el conector FTDI sin dañar el pin ATMEGA TXD? ¿Sería mejor (y funcionaría) si agrego una resistencia de 1K en serie con el pin FTDI TXD?

  2. Puedo programar / probar el esclavo BT utilizando el conector FTDI ANTES de programar el ATMEGA (aunque ambas partes se encenderían). En este caso, ¿estaría en lo correcto al esperar que el pin ATMEGA TXD ofrezca una alta impedancia (UART no configurado todavía) y, por lo tanto, no debería haber ninguna posibilidad de daño al pin TXD?

Gracias.

    
pregunta NK2020

1 respuesta

1

Para responder a sus preguntas:

  1. Sí, agregar una resistencia de 1k en serie funcionaría. Los pines de salida ATMEGA pueden apagar hasta 40 mA sin dañarse, por lo que si hay un transmisor de 3.3v conflictivo en la línea, fluiría un máximo de 3.3mA. Sin embargo, ver más abajo:
  2. Sí, estaría en modo de alta impedancia, por lo que puede probar el esclavo BT utilizando el conector FTDI antes de programar el ATMEGA.

Dado el punto 2, no habría transmisores en conflicto, suponiendo que solo se conecte FTDI antes de que se programe el ATMEGA. Por lo tanto, la resistencia de 1k no es realmente necesaria. Además, no creo que el FTDI sea capaz de transmitir con éxito a través del ATMEGA, incluso con una resistencia de 1 k entre el ATMEGA y el esclavo BT. Depende de tu programador.

Como alternativa, usaría un multiplexor para cambiar entre transmisores de forma controlada. Esto se podría hacer con solo unas pocas puertas lógicas básicas, y haría que su diseño sea más resistente y flexible.

    
respondido por el CL22

Lea otras preguntas en las etiquetas