Autor Tema: Ayuda BUS-CAN  (Leído 11293 veces)

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

Desconectado zer0

  • PIC12
  • **
  • Mensajes: 57
Ayuda BUS-CAN
« en: 11 de Febrero de 2007, 17:52:35 »
Hola estoy haciendo un proyecto en el que uso el BUS-CAN, necesitaría un poco de ayuda, uso un dspic30f6014 y el transceiver mcp2551.
Mi problema es que no se con usar la libreria de Microchip, programo el micro con el ejemplo que hay en el datasheet de las librerias de los periféricos pero no funciona. Alguien ha logrado hacerlo funcionar ?

Gracias y espero una respuesta si yo la encontrase antes la postearía.
« Última modificación: 12 de Febrero de 2007, 14:22:25 por zer0 »

Deimos

  • Visitante
Re: Ayuda BUS-CAN
« Respuesta #1 en: 12 de Febrero de 2007, 11:29:34 »
Hola zer0. Como haces la prueba del CAN? con el MCP o sin el? Te aconsejo que primero pruebes sin el MCP2551 porque es posible que dependiendo de la resistencia de referencia que le hallas puesto te de problemas de velocidades con el CAN. Yo te recomiendo que no uses el MCP2551 y que uses el 82C251 de Philips, que es el integrado de CAN más extendido.

De todos modos para hacer pruebas puedes quitarle el MCP y mirar con un osciloscopio la tension que tienes entre CANH y CANL. Puede que tu problema se encuentre básicamente en el transceiver.

A ver si conseguimos que funcione el bicho, ok?

Venga figura!!!!!!!! Suerte!!!!!!

Desconectado zer0

  • PIC12
  • **
  • Mensajes: 57
Re: Ayuda BUS-CAN
« Respuesta #2 en: 12 de Febrero de 2007, 14:20:58 »
Ok, aqui en casa no tengo osciloscopio, pero he probado en la placa demo de Microchip y no funcionaba, seguire probando y os informare de mis progresos (que deden ser muy rapidos), aunque en el trabajo lo probe (mirar directamente los pins del can y no funcionaba) ¿?
« Última modificación: 13 de Febrero de 2007, 06:10:29 por zer0 »

Deimos

  • Visitante
Re: Ayuda BUS-CAN
« Respuesta #3 en: 13 de Febrero de 2007, 12:49:53 »
Oye zer0 porqué no pegas aquí el programa para que le podamos echar un ojo? Quizás no tengas bien configurada la máquina para el CAN. Por cierto es CAN, CANopen, Enhanced CAN,...? El CAN tiene un sinfín de variantes.

Supongo que le habrás metido la libreria can2510.h que viene dentro del compilador, pero yo te recomiendo que mires los fuentes en C que te vienen igualmente dentro del mplab. La ruta a estos fuentes, dentro de mi ordenador, es:

C:\Archivos de programa\MCC18\src\extended\pmc\CAN2510

verás que te salen un buen taco de archivos .c que necesitas para realizar el protocolo CAN. El hecho que sea para 2510 y tu uses el 2551 no importa, ya que la diferencia básica es que el 2551 es para alta velocidad, y el 2510 es para un protocolo de velocidad media.

Hoy puede ser un gran día........ duro con él!!!!!!!!! (Joan Manel Serrat)

Dews!!!!

Desconectado zer0

  • PIC12
  • **
  • Mensajes: 57
Re: Ayuda BUS-CAN
« Respuesta #4 en: 13 de Febrero de 2007, 13:48:17 »
Te explico es mi proyecto de fin de carrera, el tgrabajo no me ha dejado tiempo y tengo que entregarlo el martes que viene, quiero usar el can pero no sabia si obligatoriamente debía orientarme hacia can o podia hacer un "micro" protocolo propio para aprobechar las ventajas hard del bus y luego una vez expuesto el proyecto mejorarlo, os paso el codigo y los esquemas (están basados en la placa demo de microchip) y uso el msp2551,  muchas gracias estoy muy muy necesitado de un cable (nunca mejor dicho).

Aqui van esquemas y código, como verás he hecho una libreria para el display que esta de coña (lastima mi ignorancia en el bus can).  Por cierto uso el C30 :( Gracias por tu ayuda a ver si puedo conseguirlo....

Primero los esquemas...

Desconectado zer0

  • PIC12
  • **
  • Mensajes: 57
Re: Ayuda BUS-CAN
« Respuesta #5 en: 13 de Febrero de 2007, 13:49:22 »
Ahora el codigo de la consola

Desconectado zer0

  • PIC12
  • **
  • Mensajes: 57
Re: Ayuda BUS-CAN
« Respuesta #6 en: 13 de Febrero de 2007, 13:50:28 »
Y ahora el codigo del nodo

Desconectado zer0

  • PIC12
  • **
  • Mensajes: 57
Re: Ayuda BUS-CAN
« Respuesta #7 en: 13 de Febrero de 2007, 13:56:59 »
Muchas gracias Deimos, por cierto los tengo conectados por el sub d (2 y 7 vivo y 5 malla,¿ no hace falta cruzarlos verdad?), y una foto de la consola y otra del nodo (si tira mañana o pasado haré otro) espero que tire, por cierto el oscilador es de 8 megas y el PLL x8
« Última modificación: 13 de Febrero de 2007, 15:21:12 por zer0 »

Deimos

  • Visitante
Re: Ayuda BUS-CAN
« Respuesta #8 en: 14 de Febrero de 2007, 05:02:35 »
Hola zer0. A ver no he mirado todavía los archivos que adjuntas, pero...... 8MHz x 8 son 64MHz, velocidad que tu dsPIC no alcanza ni de broma. Mira en microchip la hoja técnica del dsPIC30F6014 y verás como no puede ir a la velocidad que le has puesto. Pienso que tu problema básicamente es un problema de velocidades. En cuanto tenga un minuto y mire los archivos que has subido te comento algo, pero por ahora, mira a que MIPS puede trabajar el micro, que no creo que sean 64.

En cableado del CAN hay que trenzarlo, verás que en todas las documentaciones dicen que hay que trenzar el bus de comunicaciones CAN.

Salu2!!!!!

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Ayuda BUS-CAN
« Respuesta #9 en: 14 de Febrero de 2007, 06:52:33 »
Ese micro no puede pasar de 30MIPS teóricos. En la práctica con un disipador se puede poner a 32MIPS.

Deimos

  • Visitante
Re: Ayuda BUS-CAN
« Respuesta #10 en: 14 de Febrero de 2007, 11:58:33 »
Gracias nocturno, me hacia falta la opinión de un experto. Ya ves zer0 como posiblemente tu problema venga de las velocidades a las que intentas hacer trabajar al micro. Trabajando con un PLL x8, tu cuarzo no lo puedes pasar de 4MHz, como bien dice el compañero, con disipador.

Prueba a bajar el valor del PLL, que te saldrá más barato que cambiar el cristal. Quizas a PLL x4 consigas que funcione, aunque 8MHz x 4 son 32MIPS. Mejor usa un cuarzo de 7.3728MHz y el PLL x 4, estarás casi en 30MIPS, casi al límite de la máquina.

Salu2

Desconectado zer0

  • PIC12
  • **
  • Mensajes: 57
Re: Ayuda BUS-CAN
« Respuesta #11 en: 14 de Febrero de 2007, 12:20:24 »
Ok esta mañana el foro no tiraba luego lo pruebo y os comento muchas gracias.

Desconectado zer0

  • PIC12
  • **
  • Mensajes: 57
Re: Ayuda BUS-CAN
« Respuesta #12 en: 14 de Febrero de 2007, 12:33:30 »
Si mirais en la pagina 146 del datasheet de la familia dspic30f6014a podréis ver que si se puede 70143c.pdf. Gracias y seguire posteandoos mis progresos. Que espero que hoy avancen he traido un osciloscopio del trabajo.

Deimos

  • Visitante
Re: Ayuda BUS-CAN
« Respuesta #13 en: 14 de Febrero de 2007, 14:30:14 »
zer0 no estás en lo cierto. Mírate la hoja de características técnicas que este micro, verás que no pasa de 30MIPS. Olvídate de combinaciones con cuarzos y PLL, en la hoja técnica te lo deja bien claro, no puede superar los 30MIPS como bien te dijo el amigo nocturno. Aquí tienes un enlace directo a la hoja técnica de tu dsPIC.

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en024766

Te recomiendo que hagas una combinación de cuarzo y PLL de manera que no pases de los 30MIPS y a ver que resultado obtienes. Trabajando a 8MHz y PLL x8, es que no puede funcionar jamás, ya que lo estás llevando a un rango muy por encima de sus limitaciones.

Suerte!!!!

Desconectado zer0

  • PIC12
  • **
  • Mensajes: 57
Re: Ayuda BUS-CAN
« Respuesta #14 en: 14 de Febrero de 2007, 17:43:50 »
http://ww1.microchip.com/downloads/en/DeviceDoc/70099D.pdf

Pagina 39 (43 del PDF) te explica como se calculan los mips y es el pll por la frecuencia del oscilador divido por 4, se puede extraer de los resultados que pone creo que es por los flancos, a la de 4 es un ciclo o algo así.
Por cierto aunque sea un cable apantallado debe trenzarse ?,  de todas formas si envío "algo" por el bus can sin cable con el osciloscopio veré si hay algo ¿no?, por cierto Deimos eres de Tiana ? yo soy de Badalona :)

Gracias.
« Última modificación: 14 de Febrero de 2007, 18:06:06 por zer0 »


 

anything