Estoy conectando un XBee PRO 900 HP con un Beaglebone Black usando UART5 en el BB. Estoy usando la tarjeta de interfaz 5v de Adafruit (kit de adaptador XBee - v1.1)
He tenido problemas intermitentes con el Beaglebone al no poder comunicarse con el XBee; no funciona más a menudo que el trabajo, pero a veces funciona de todos modos, y cuando funciona, seguirá funcionando. Pero si apago el XBee y lo vuelvo a encender, dejará de funcionar.
He comprobado baudios, bases de datos, bits de parada y todos los demás ajustes, estoy seguro de que están bien.
Encontré hoy que si enciendo el XBee sin conectarlo al UART en el Beaglebone, luego conecto el Beaglebone después de que el XBee se haya encendido, funciona perfectamente. Pero si enciendo el XBee mientras el UART en el Beaglebone está conectado, generalmente no funcionará.
Hice un seguimiento lógico y de voltaje de este comportamiento y descubrí que cuando el UART no está conectado antes de que se inicie el XBee, el pin XBee TX se encuentra en 3.2v y el RX en 0, que es lo que cabría esperar. Una vez que conecto el UART en el Beaglebone, el voltaje de TX permanece en 3.2v.
Pero cuando enciendo el XBee con el UART conectado al Beaglebone, el voltaje de TX solo aumenta a 1v y permanece allí y no se produce ninguna comunicación. Sin embargo, el Xbee aún funciona, ya que puedo enviar comandos AT a través de otro XBee, simplemente no puedo comunicarme con él a través del UART.
He conectado varios XBees para realizar pruebas: todos muestran el mismo comportamiento. También probé el XBee's con mi computadora usando un cable FTDI, y no tengo este problema. Solo parece aparecer solo cuando conecto el Beaglebone UART al XBee antes de encender el XBee. También probé el XBee en diferentes UARTs en el Beaglebone, todos con el mismo comportamiento.
¡Estoy perplejo en cuanto a lo que podría estar causando este comportamiento! ¿Alguna idea?
Esta es una vista de la lógica de TX / RX (LGC) y el voltaje (ALG) de los pines XBee TX / RX y los pines TX / RX del adaptador Adafruit 5v conectados al Beaglebone.
Esta traza es con el XBee encendido mientras el UART está conectado:
EstatrazaesconelXBeeencendidosinelUARTconectadoyluegoelUART: