Tengo un Microchip PIC con soporte UART. Si lo entiendo correctamente, el UART puede manejar de forma nativa la señal serial TTL.
Espero una señal de entrada que debería ser TTL (0/5V), pero podría ser RS232 (+/-13V).
Estaba pensando en usar algo como un MAX3232, pero no estoy seguro de qué sucedería si ese IC recibe una señal TTL.
¡Gracias!
Pasos simples de la siguiente manera ...
El primer paso es deshabilitar el controlador adjunto al PIC (No tiene sentido dañar el equipo con un voltaje excesivo)
Luego, controle la señal entrante del dispositivo y detecte si son formas de onda de voltaje negativas Wiki RS232
Luego decida qué modo debe usar el PIC. TTL es solo positivo. RS232 tiene una buena oscilación de -V y +V alrededor de 0V. Puede ser una buena idea detectar más de -1V solo en caso de ruido, etc.
Ampliando la respuesta del ingeniero de pruebas:
Primero, un par de datos sobre los niveles: el estado inactivo (marca) de la línea debe ser inferior a -3 V (y no inferior a -15) cuando se conecta un dispositivo compatible con RS232. Por el contrario, el estado inactivo de un dispositivo serie TTL debe estar entre 0 y 0,8 V.
Entonces, creo que la forma más fácil de detectar qué tipo de dispositivo está conectado es algo como lo siguiente:
simular este circuito : esquema creado con CircuitLab
Para las señales de nivel TTL, el dispositivo levantará el pin Rx en la placa a 5 V, por lo que el pin de detección del microcontrolador verá un nivel lógico alto. Cuando se conecta un dispositivo compatible con RS232, el estado inactivo de la línea estará entre -3V y -15V. Las dos resistencias forman un divisor, por lo que el pin de detección verá menos de 0,8 V (cuando la entrada es de -3 V). D1 evita que el pin de detección pase más de unos pocos cientos de milivoltios bajo tierra para obtener señales más fuertes, y el zener D2 protege contra entradas positivas superiores a +5 V (el estado espacial RS232).
Dependiendo de la velocidad en baudios que use su escáner, el circuito anterior puede incluso ser suficiente para condicionar la entrada (es decir, es posible que pueda conectar tanto el pin RX del microcontrolador como el pin de detección a la línea etiquetada como "Al pin de detección de uController". La única dificultad con esto es que RS232 usa voltajes negativos para representar los 1 y voltajes positivos para representar los 0, que es lo opuesto a lo que se usa en TTL-land. Para solucionar esto, querrá agregar una puerta XOR, así:
Ahora, la línea "desde uC invert" está conectada a una salida en su micro. Cuando está alto invierte la señal recibida, y cuando está bajo la pasa normalmente.
Nate
roger
Chris Laplante
roger
Chris Laplante