¿Por qué son tan frecuentes los inversores de hardware?

0

Estoy trabajando en un sistema de control de vuelo que utiliza SBUS (un protocolo serie), y el esclavo transmite invertido, así que tuve que invertirlo con un inversor de hardware.

Esto no es un gran problema, pero tengo curiosidad por saber por qué no se puede hacer simplemente en software. Este parece ser el caso la mayor parte del tiempo, que es necesario invertir las líneas serie. ¿No es lógico que el extremo receptor no sea tan simple?

    
pregunta Brydon Gibson

2 respuestas

2

Hay algunos factores aquí.

  1. Los circuitos de una sola etapa casi siempre se invierten. Esto viene del comportamiento fundamental de los transistores.
  2. La polaridad de la entrada no solo afecta a la interpretación de los bits de datos, también afecta a la interpretación de las condiciones de inicio y parada.
  3. Los receptores serie generalmente se implementan en hardware.

El punto 1 explica por qué terminamos con la inversión en primer lugar. Un controlador de línea inversor o un receptor de línea es más simple que uno que no invierte.

Los puntos 2 y 3 explican por qué, si se necesita inversión, se debe implementar en hardware. En hardware más moderno donde la lógica es barata y los pines son caros, puede haber un inversor programable dentro del chip, pero parece que no todos se han dado cuenta de que es una buena idea, por lo que hay muchos productos con una polaridad fija.

    
respondido por el Peter Green
1

Los periféricos UART en MCU más pequeñas a menudo no tienen capacidad para invertir los bits de salida.

No puede simplemente tomar los datos de bytes devueltos por el periférico e invertirlos en software porque el protocolo asíncrono requiere un borde de bit de inicio de polaridad específica.

Lea la descripción periférica del micro relevante y compare con el protocolo serial típico y lo comprenderá.

En el diagrama anterior, la sincronización es todo desde el borde cayendo de la entrada. En el caso de RS-232, el estado inactivo se denomina marca y es de -5 a -15 V y el bit de inicio se llama espacio y de +5 a + 15V. El diagrama anterior muestra la salida típica de una MCU, que normalmente se envía a un controlador inversor para obtener los niveles RS-232 apropiados. Si ambos extremos de la interfaz utilizan niveles invertidos de TTL, entonces no hay necesidad de un inversor (pero, por supuesto, se pierden las ventajas de los robustos controladores RS-232 que se supone que pueden soportar cortocircuitos y conexión a positivos o negativos relativamente altos). voltajes)

Dado que esto es y los transistores son prácticamente libres, algunos micros permiten invertir la polaridad de salida con hardware integrado y un bit de configuración, como sugiere el supercat, pero está lejos de ser ubicuo.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas