Puedo enviar descansos (usando Tx) sobre el conjunto de chips FTDI FT232R de dos maneras:
a. Using the BREAK command in the operating system (Windows 7 and Ubuntu)
b. Gating the Tx line for an arbitrary period
Conecté el pin Tx al pin Rx del FT232R (prueba de bucle invertido) y usé varias consolas seriales para leer la entrada Rx
Siempre tengo un 0 binario en ambos casos. Cada caso se comportó de manera individual:
- i. Al usar el comando BREAK, recibí un 0 binario cuando el comando BREAK se activó (BREAK está bajo)
- ii. Al marcar la línea Tx, recibí un 0 binario cuando forzé la línea Tx baja
Esto no me parece correcto.
El único momento en el que UART Rx se puede "confundir" entre BREAK y una transmisión binaria 0, es cuando BREAK cambia la línea baja por exactamente 9 bits de duración y luego vuelve a la línea alta (lo que hace que el lado Rx interprete mal) como un bit de parada), pero esto rompe una definición de INTERRUPCIÓN que requiere que la línea se mantenga baja durante al menos 10 bits de duración.
Así que mis preguntas son:
- ¿Es este comportamiento esperado?
- Si realiza una prueba de bucle invertido en sus conjuntos de chips FTDI, ¿puede reproducir este comportamiento (lo que implica que tengo controladores incorrectos / conjunto de chips defectuoso)?