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.
Las GPIOs 10, 11, 12 y 13 están reservadas para el conexionado con el
integrado MCP2515 de la siguiente manera:
- pin SCK de MCP2515 con d13 de PIC
- pin SI de MCP2515 con d11 de PIC
- pin SO de MCP2515 con d12 de PIC
- pin CS de MCP215 con d10 de PIC
- GND y Vcc de MCP2515 con GND y 5V de PIC
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]