¿Puede un circuito de cambio de nivel cambiar la tensión al revés?

5

Estoy trabajando en un proyecto donde uso un FPGA y lo conecto a varios servos (llamados AX-12), que están conectados en una cadena de margaritas. Cada servos tiene una ID única, por lo que estar conectados en una cadena de margaritas no es un problema. El FPGA transmite comandos a los servos y después de eso, los servos responden transmitiendo sus propios paquetes (llamado paquete de estado, de acuerdo con la hoja de datos). Quiero centrarme en la parte de respuesta en esta pregunta .

El"CM-5" que ves en la imagen es reemplazado por el FPGA en mi proyecto.

De acuerdo con la hoja de datos ( que puede encontrar aquí ):

  

Para operar los actuadores Dynamixel, el controlador principal debe soportar   Nivel TTL half duplex UART.

Para el controlador principal 'Estoy usando una placa de evaluación DE2 de Altera (que luego será reemplazada por la DE0-Nano). Las salidas de esta placa para '1' son 3.3V. Mientras que 3.3V funciona para TTL, descubrí que los servos responden mejor cuando reciben 5V.

Para hacer esto, uso este circuito de cambio de nivel:

Así que para la parte de transmisión, todo está bien. El FPGA genera el '1' como 3.3V y los servos lo reciben como 5V, lo cual es bueno.

Mi pregunta es sobre el voltaje cuando recibo los paquetes de los servos. Asumo (no he comprobado) que los servos transmiten los bits del paquete de estado en 5V. ¿El circuito de cambio de nivel obtiene el 5V y lo cambia de nuevo a 3.3V? ¿Y el 0V a, obviamente, 0V? Si es así, ¿cómo funciona?

Si observa la hoja de datos, verá que el fabricante dice que debe usar un búfer con una resistencia de pull-up a 5V. He intentado usar ese búfer y no funcionó tan bien. Entonces, lo que también estoy preguntando es si ese circuito de cambio de nivel se utilizará como amortiguador.

¡Gracias!

    
pregunta Eran

1 respuesta

8
  

¿El circuito de cambio de nivel obtiene el 5V y lo cambia de nuevo a 3.3V?

Sí, ese circuito funciona de manera bidireccional, aunque podría ser una buena idea tener un resistor desplegable en la línea lógica de 3.3 V a 0 voltios (ver más adelante en el argumento del contador).

Cuando el lado de 5V está a 5V, R1 levanta el lado de 3V3 a través de la unión base-emisor (un diodo polarizado hacia delante). Cuando el lado de 5 V está a 0 V, la región del colector de base se desvía hacia adelante y esto hace que la base baje aproximadamente a 0,7 voltios y el emisor (con la resistencia de bajada mencionada) caiga a 0 voltios.

Sin embargo, podría hacer que el transistor funcione (aunque con una versión beta reducida) en un modo invertido (es decir, lugares de intercambio de colector y emisor). Esto naturalmente tendería a pensar en un pull-up en la línea 3V3. Prefiero usar una versión MOSFET: -

Es un poco más claro cómo el lado de 5V arrastra el lado de 3V3 hasta 0V; utiliza el diodo del cuerpo en el MOSFET para lograr esto y, por lo tanto, no necesita un tirón hacia abajo en el lado de 3V3.

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas