Estoy ejecutando un PIC18F con un oscilador HS de 40 MHz. El hardware no es el problema y todas las conexiones se realizan correctamente. El microcontrolador está conectado al MCP2510 (con un cristal de corte paralelo de 20 MHz) a través de SPI, así que puedo interactuar con la línea de bus CAN a través del MCP2551. He realizado la configuración para ejecutar a 1 Mbit / s, pero no está funcionando porque se está ejecutando a 500 kbit / s. La configuración del bus CAN se realiza correctamente, pero no se está ejecutando tan rápido a través de SPI como quiero.
Configuración:
- SJW = 1
- BRP = 1
- PSHEG1 = 7
- PSHEG2 = 5
- PROPSEG = 7
La inicialización del bus SPICAN se realiza como la biblioteca CANSPI de MikroElektronika.
He estado trabajando en esto mucho tiempo, y creo que la inicialización del SPI es el problema. Por lo que sé, un cristal de 20 MHz es suficiente para ejecutar el MCP2510 a 1 Mbit / s. ¿Dónde está el problema? ¿El módulo SPI se está ejecutando más lento de lo que quiero?
No sé por qué, pero cuando cambio la velocidad, siempre se divide en dos.