Interconectando CANSPI con problemas

0

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.

    
pregunta javijavier97

1 respuesta

0

Al solucionar problemas de los buses serie, un osciloscopio es invaluable. Si no tiene un instrumento de grado de laboratorio, elija un dispositivo USB simple y económico. También hay módulos de diagnóstico CAN / SPI de bajo costo disponibles en formato USB.

Siempre es una buena práctica a la hora de solucionar problemas de bus serie, para reducir significativamente la velocidad del bus. Esto no solo hace que sea más fácil detectar problemas con un alcance, sino que el efecto de los parásitos se reduce dramáticamente. Una vez que lo hace funcionar a baja velocidad, puede aumentar la frecuencia para observar y aislar cualquier cambio.

    
respondido por el Glenn W9IQ

Lea otras preguntas en las etiquetas