Autor Tema: Uso de SPI con modulo CAN  (Leído 2436 veces)

0 Usuarios y 1 Visitante están viendo este tema.

penguin

  • Visitante
Uso de SPI con modulo CAN
« en: 08 de Octubre de 2009, 10:36:10 »
Que tal? Bueno, estoy emezando a programar una comunicacion en BUS CAN ( el receptor de mensajes), usando una PIC 18F4550 mas un modulo CAN  Controller externo, el MCP2510, trabajando en CCS

Al comenzar el programa main(), quiero hacer valer la funcion can_getd(int32 & id, int * data, int & len, struct rx_stat & stat); para leer los datos del modulo CAN externo. Se supone que la "clase" ( por asi decirlo) can-mcp2510.c se encarga ( con la funcion descrita) de la tarea especificada, pero... se necesita el SPI para comunicar ambos chips. Entonces pues... ¿ he de configurar primero el SPI? ( creía que usando can-mcp2510.c, no sería necesario, pero viendo el archivo... ya no lo tengo tan claro). NO tengo claro que funcion usar para leer ( por ejemplo), si la descrita por el SPI (value = spi_read (data)) o la descrita por el archivo de CAN...

Desconectado Slalen

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1079
    • Página web personal de Guillermo Herrero González
Re: Uso de SPI con modulo CAN
« Respuesta #1 en: 08 de Octubre de 2009, 11:06:03 »
Mira este enlace: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en537141&part=MCP2515DM-BM

Ya lo tienes todo hecho XD

Funciona bien, pero no admite mensajes a unos 10ms, creo recordar que perdía muchos. A 15ms funciona genial.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Uso de SPI con modulo CAN
« Respuesta #2 en: 08 de Octubre de 2009, 12:37:50 »
Yo arme ese hardware, y los mensajes dependen de la velocidad elegida del Bus CAN...

Respecto al uso de las funciones de las librerias, ya tienen seleccionado el modo de arranque del SPI, te conviene usarlo asi.
La velocidad normal de las librerias esta puesta en 125K, se puede cambiar pero exige bastantes cambios, bien hechos.

Puedes encontrar mas info en el subforo proyectos, en el hilo Mis experiencias con el BUS CAN, donde pusimos mucha info...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Slalen

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1079
    • Página web personal de Guillermo Herrero González
Re: Uso de SPI con modulo CAN
« Respuesta #3 en: 08 de Octubre de 2009, 13:14:52 »
MGLSOFT,

¿Creaste alguna aplicación para windows?

En mi empresa es lo que necesitamos y no cede nada microchip

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Uso de SPI con modulo CAN
« Respuesta #4 en: 09 de Octubre de 2009, 09:47:37 »
No hice nada aun, pero quiero hacerla, porque la de Microchip no tiene configuracion para 1000K ni tampoco por debajo de los 125K. :mrgreen: :mrgreen: :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

penguin

  • Visitante
Re: Uso de SPI con modulo CAN
« Respuesta #5 en: 14 de Octubre de 2009, 17:00:51 »
Mira este enlace: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en537141&part=MCP2515DM-BM

Ya lo tienes todo hecho XD

Funciona bien, pero no admite mensajes a unos 10ms, creo recordar que perdía muchos. A 15ms funciona genial.


Uhmm...bueno estaria bien si fuese solo pa mi, sin pedir explicaciones... pero las he de dar..y no se como se hace todo eso. de todos modos, lo interesante es hacerlo uno mismo, sino todos aqui lo unico que hariamoas seria comprar modulos hechos y pre programados :D

Desconectado Slalen

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1079
    • Página web personal de Guillermo Herrero González
Re: Uso de SPI con modulo CAN
« Respuesta #6 en: 15 de Octubre de 2009, 03:58:47 »
Pero el esquema lo tienes, ya tienes una idea que sabes que funciona.

Después, te empollas el programa. Aprendes como funciona y que hace.

Por último modificas todo a tus necesidades.


La mejor manera de diseñar es ver que hay en el mercado, copiarlo y mejorarlo (o adaptarlo).


 

anything