Mis disculpas si este es el sitio web de pila incorrecto para esta pregunta.
Planeamos usar un BeagleBone Black como computadora de control para un automóvil eléctrico. El BBB maneja, entre otras cosas, la comunicación con los controladores del motor a través del protocolo CAN (usando can-utils ).
La instalación (según una serie de guías en línea) parecía ir bien (configuración del árbol de dispositivos, modprobe, etc.), sin errores, hasta que realmente enchufamos los controladores del motor ... y no sucedió nada.
Conectamos un osciloscopio (a los cables de TX y RX en el BBB) y observamos la ejecución de los siguientes comandos:
ifconfig can0 down
ifconfig can0 up
cansend can0 180#1234
que debe enviar datos a lo largo del bus. El osciloscopio mostró lo siguiente (RX en la parte superior, TX en la parte inferior), cada vez que ejecutamos los comandos anteriores.
Sospecho que esta señal que estábamos viendo es una especie de apretón de manos al que no se respondió.
(Tenga en cuenta que si intentamos ejecutar cansend
otra vez, no pasaría nada hasta que ejecutáramos ifconifg down/up
).
Después de muchos de estos ciclos de ejecución, curiosamente, ifconfig
informó que los bytes de RX se habían incrementado, aunque no se había recibido nada, solo se había enviado.
Unos días más tarde, con una configuración idéntica, el bus CAN todavía no funciona y no estamos viendo la señal del apretón de manos en el osciloscopio. ifconfig
informa de bytes eliminados, pero poco más para ayudarnos.
¿Alguna idea sobre dónde ir desde aquí, cómo solucionar este problema, etc.?