Me gustaría entender el propósito de un canal lógico invertido en la comunicación de dispositivo a dispositivo que se realiza a través de UART.
Para algunos antecedentes: estoy tratando de aplicar ingeniería inversa a esta comunicación de dispositivo a dispositivo con un analizador lógico que he determinado que usa UART con la siguiente configuración:
Parity: None
Data Bits: 9
Baud Rate: 38400bps
Stop Bits: 1
En el dispositivo, determiné tres pines que parecían estar transmitiendo dentro de un nivel lógico esperado. Después de grabar durante 20 segundos, noté que el primer y el segundo pin parecían estar vinculados, un nivel lógico inverso perfecto entre sí en todo momento, se muestra un ejemplo a continuación:
Mi primer instinto es que un canal es TX y el otro es RX, y cuando los datos se transmiten en TX, la línea RX se usa para confirmar que los datos se reciben como método de validación. ¿Es esto algo que se hace comúnmente para la comunicación UART?
El medio de transmisión es a través de un cable RJ-12 plano no trenzado, con longitudes alrededor de 1M-3M. El contexto es para un dispositivo de audio que se conecta a su control remoto.
Lo más probable es que sea una transmisión de datos diferencial balanceada. Esto ofrece una inmunidad al ruido muy superior en líneas largas en comparación con un sistema de transmisión de datos de un solo extremo. Tampoco genera la interferencia que genera una transmisión de datos de un solo extremo porque los campos E y H se cancelan. Pero requiere (para un rendimiento óptimo), una señal diferencial que se transmite simultáneamente en dos cables balanceados como par trenzado, por ejemplo: -
Imagen de esta página wiki .
Andy alias
TonyM