Explicación detallada del protocolo de comunicación RS485
Veamos un circuito transceptor común.
En el circuito 485 ordinario, además de "RXD está conectado al pin RO del chip 485 y TXD está conectado al pin DI del chip 485", el pin IO ordinario del microcontrolador También está conectado al RE, en el pin DE.
Cuando el microcontrolador quiere enviar datos, controle CTRL para que sea de alto nivel y los datos se envían a través de TXD.
Cuando el microcontrolador quiere recibir datos, controla CTRL para que esté bajo y los datos se reciben nuevamente a través de RXD.
Sin embargo, el circuito transceptor automático no utiliza el pin CTRL del microcontrolador. Cuando entran datos, los datos se enviarán automáticamente al microcontrolador a través de RXD. Cuando sea necesario enviar datos, se enviarán automáticamente. a través de TXD. Es decir, solo necesita conectar los pines RXD y TXD del microcontrolador sin usar los pines del microcontrolador para conectar el pin DE RE del chip 485.
La primera imagen del artículo es un circuito que implementa transmisión y recepción automática. De hecho, existen varios métodos de conexión para circuitos de transmisión y recepción automática. Hoy, solo veremos el que uso con frecuencia.
Mucha gente utilizará este circuito pero no conoce el principio. (¡Sí, eso es lo que dijiste!).
Por eso, hoy te explicaré cómo funciona, hasta cada componente.
La función de la resistencia R1:
RXD conecta la resistencia R1 y RO del chip 485. La función de R1 es limitar la corriente y proteger el pin. El tamaño de R1 se puede seleccionar entre 330 ohmios, 470 ohmios, 560 ohmios y 1K.
Resistor R2, R3 y transistor Q1:
El resistor R2, el resistor R3 y el transistor NPN R3 son resistores limitadores de corriente, preferiblemente de 4,7K o 10K. R2 es una resistencia pull-up, preferiblemente 4,7 K o 10 K.
La razón principal por la que 4.7K es preferible para R3, que mencioné en detalle en un artículo anterior, es que es necesario comprender las características del transistor en las regiones de amplificación, corte y saturación. Busque "transistor" en Risen.com y encontrará un artículo titulado "Cómo elegir una resistencia limitadora de corriente base cuando se utiliza un transistor como interruptor".
Todo el mundo sabe que los transistores NPN realizan una conducción de alto nivel. Cuando TXD tiene un nivel alto, el transistor se enciende, el pin RE DE se conecta a tierra y se ingresa al modo de recepción. Cuando TXD tiene un nivel bajo, el transistor se apaga, el pin RE DE pasa a un nivel alto y se ingresa al modo de transmisión.
Condensador C1:
C1 es el condensador de derivación de la fuente de alimentación. Su función es proporcionar un suministro de energía limpio al chip 485 para que pueda funcionar de manera estable.
A la hora de diseñar una placa de circuito, si los chips no tienen requisitos especiales, necesitarás colocar un condensador de 0,1 microfaradios al lado de cada chip. Al enrutar la placa de circuito, es mejor mantener los condensadores a 2 mm de los pines de alimentación.
Resistencias R4 y R5:
R4 es la resistencia pull-down conectada a B y R5 es la resistencia pull-up conectada a A. He aquí por qué necesitas hacer esto, ahora no es el momento, así que sigue leyendo.
Diodos Zener bidireccionales D1, D2, D3:
El diodo Zener bidireccional aquí utilizado es SMAJ6.5CA, su función es mantener el voltaje del pin A y del pin B dentro de 6.5V y mantenga el voltaje entre el pin A y el pin B dentro de 6,5 V para proteger el chip 485.
Según el manual del chip SP3485, el valor de voltaje soportado de AB está dentro de más o menos 15 V.
Algunas personas sienten curiosidad, ¿por qué necesitamos mirar estos dos parámetros? Consulte la imagen a continuación:
Terminal P1:
Se utiliza para conectar líneas externas A y B que requieren comunicación. (¡Esto parece que se explica por sí mismo!)
Ahora que se han introducido los componentes, hablemos de por qué es posible la funcionalidad de envío/recepción automática.
Su pregunta más importante es: se supone que el pin DI está conectado a TXD, pero el circuito está conectado directamente a tierra, entonces, ¿los datos que se envían no son siempre 0?
La respuesta está a continuación.
El proceso de envío de datos:
Para enviar datos, utilice el pin TXD del microcontrolador, es decir, muestre los datos en el pin TXD.
Por ejemplo, para enviar datos 0x55, escritos en binario como 0x010101, el pin TXD reflejará los niveles alto y bajo de 1 y 0 en secuencia.
Cuando TXD envía 0, el transistor no conduce, DE se conecta a nivel alto y entra en modo de envío. El chip 485 reflejará el nivel en DI a la salida del pin AB, porque DI tiene. Suelo.
Cuando TXD envía 1, el transistor se enciende, RE se conecta a un nivel bajo y entra en modo de recepción. El pin AB del chip 485 entra en un estado de alta impedancia porque R5 eleva A y. R4 baja a B, por lo que AB envía 1.
Verás, cuando TXD envía un 1, el pin AB. Cuando TXD envía un 1, AB envía un 1.
En resumen, cuando TXD envía 1, AB envía 1; cuando TXD envía 0, AB envía 0.
Proceso de recepción de datos:
Al recibir datos, utilice el pin RXD del microcontrolador, es decir, muestre los datos en el pin RXD.
Durante el proceso de recepción de datos, el pin TXD siempre permanece en un nivel alto. Cuando TXD está en un nivel alto, RE está en un nivel bajo, que es exactamente el estado de recepción condicional. En este momento, el pin RO del. El chip 485 (es decir, el pin conectado a RXD) responderá a los datos enviados por AB.
Una vez que conoces el proceso de recepción y envío de datos en este circuito, ya lo entiendes completamente. Si todavía estás confundido, haz un circuito tú mismo, practícalo y tus ideas se aclararán de inmediato.
Me dedico al trabajo de microcontroladores y soy un mal estudiante, pero incluso entre los malos estudiantes, ¡también tengo un corazón que quiere aprender! ! ! ! Compartiré algunos artículos que creo que serán útiles para todos en esta industria de vez en cuando. ¡Esto también puede considerarse como un registro de mi crecimiento!
Enlace original:/lin_duo/article/details/78490718