La pregunta ya tiene casi tres semanas de antigüedad, pero creo que puedo proporcionar información útil. El BNO055 XIN32 probablemente puede ser controlado por una señal lógica, con los detalles que se explican a continuación.
Cuando se publicó originalmente, le pregunté a Bosch si el BNO055 XIN32 podría ser accionado por una señal de reloj usando niveles de voltaje VDDIO. Bosch respondió que sí, la entrada XIN32 puede manejarse de esa manera, con XOUT32 dejado flotando. He editado esta respuesta de forma correspondiente.
El resto de esta respuesta analiza la situación y las implicaciones del sistema.
Bosch ofrece el BMF055, un 'Sensor de movimiento de 9 ejes programable personalizado', en el mismo paquete que el BNO055. El BMF055 tiene las mismas características del sensor (compare las páginas 2 y 3 de las dos hojas de datos), pero es programable. Supongo que el BNO055 es un BMF055 con programación de fusión de sensores suministrado de fábrica por Bosch. La hoja de datos de BMF055 proporciona más información.
La sección 9.1 de la hoja de datos BMF055 indica que el procesador integrado es un Atmel (ahora Microchip) SAM D20. La tabla de descripción de pines también muestra específicamente que el pin 26 (BNO055 XOUT32) es SAM D20 'PA01', también 'salida de cristal opcional de 32 kHz', y el pin 25 (BNO055 XIN32) es SAM D20 'PA00', también 'entrada de cristal opcional de 32kHz' . Esto parece bastante claro, el BNO055 presumiblemente tiene un SAM D20 integrado conectado a XIN32 y XOUT32.
La hoja de datos de Atmel SAM D20 ( enlace ) proporciona detalles sobre XIN32. Convenientemente, Bosch ha utilizado la nomenclatura Atmel SAM D20, encontrará detalles de XIN32 y XOUT32 en la hoja de datos de Atmel SAM D20.
Hay algunos problemas del sistema con los que lidiar.
Primero, en cuanto a los niveles de voltaje, la sección 8.1 de la hoja de datos del SAM D20 muestra que los pines del oscilador externo están en el dominio de voltaje VDDANA (analógico), no en el dominio de voltaje VDDIO (digital). La sección 8.2.1 de la hoja de datos del SAM D20 indica que estos voltajes deben ser los mismos, a diferencia de otros microcontroladores.
El Atmel SAM D20 admite un reloj externo conectado a XIN32 (sección de hoja de datos 17.2). Hay más detalles en la sección 17.6.3: el SAM D20 tiene modos separados para XIN32 como entrada de reloj y XIN32 / XOUT32 que admite un cristal externo. Presumiblemente, el firmware de Bosch en el BNO055 establece el modo a cristal externo en lugar de reloj externo. Esto tiene consecuencias:
-
La sección 17.6.3 de la hoja de datos del SAM D20 indica explícitamente que la salida externa del oscilador externo de 32 kHz (XOSC32K) (habilitada por 'EN32K') se puede usar solo cuando se suministra un cristal externo, no cuando se suministra un reloj externo . La hoja de datos del SAM D20 no describe esta salida externa con más detalle, por lo que no estoy seguro de qué es esta salida externa y cómo se vería afectada al conectar un reloj externo mientras el modo del oscilador está configurado en cristal.
-
El SAM D20 impulsará el pin XOUT32, porque espera un cristal externo. Esto puede o no ser un problema para usted. El SAM D20 tiene un control de ganancia automático para XOUT32 / XIN32, con suerte esto no causará ningún problema. Presumiblemente, los niveles de entrada del reloj llevarán el AGC a su ganancia más baja.
-
El SAM D20 tiene un retardo de inicio programable para el cristal de 32.768 kHz. La tabla de hoja de datos SAM D20 40-25 especifica un tiempo máximo de inicio de 30k ciclos (un poco menos de 1 segundo), por lo que probablemente Bosch seleccionó un tiempo de retraso de inicio en el orden de 1 segundo. La fuente de su reloj debe estar activa dentro de la demora de inicio después de encender el BNO055.
-
Observe que una señal de reinicio no es suficiente para reiniciar el sistema de reloj SAM D20, se requiere un reinicio de encendido (sección 14.8 de la hoja de datos SAM D20). Por lo tanto, si su fuente de reloj de 32 kHz puede restablecerse durante la operación, es posible que deba controlar la alimentación del BNO055 para forzarlo a través de un reinicio de encendido cuando la fuente de reloj se reinicia.
Para el PCB que estoy diseñando, decidí dejar el BNO055 con su propio cristal de 32.768kHz en lugar de conducir el XIN32 con la señal de 32.768kHz ya disponible en la placa.
Espero que esto sea útil.