PIC como receptor de tramas CAN

Para la programación del PIC como emisor de tramas, hemos programado el microcontrolador de forma genérica, empleando la librería existente sobre el bus CAN de alta velocidad (según norma ISO 11898) y el conexionado al módulo MCP2515.

Las salidas se han configurado de forma que trabajan con lógica de control negativa (activación con 0V y desactivación con 5V).

Hemos definido las GPIO impares (d3, d5, d7 y d9) como salidas activables mediante un interruptor, de forma que se reciben tramas distintas para cada posición del interruptor conectado al PIC emisor de tramas.

Hemos definido las GPIO pares (d2, d4, d6 y d8) como salidas activables mediante un pulsador, de forma que se reciben tramas distintas cada vez que se activa el pulsador conectado al PIC emisor de tramas.

Las GPIOs 10, 11, 12 y 13 están reservadas para el conexionado con el integrado MCP2515 de igual forma que en el apartado anterior.

Receptor CAN

 

Las GPIOs 10, 11, 12 y 13 están reservadas para el conexionado con el integrado MCP2515 de la siguiente manera:

Conexionado PIC-MCP2515

Para los datos de las tramas se ha elegido como identificador, en cada caso, el número de la salida digital que se activa o desactiva. El campo de datos de la trama está formado en todos los casos por un único byte, siendo su valor de activación 0x61 en entradas pares y 0x08 en impares. Y su valor para la desactivación es 0x0F en entradas pares e impares.

 
[Sketch del receptor CAN para IDE de Arduino]
[Librería SPI]
[Librería mcp_can]