Autor Tema: Mis experiencias con el BUS CAN  (Leído 602557 veces)

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

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #690 en: 09 de Enero de 2010, 09:19:19 »
Eso no se contestarlo.
Son varios los protocolos que pueden ser montados sobre CANBUS...
Es dificil saberlo.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 409
Re: Mis experiencias con el BUS CAN
« Respuesta #691 en: 09 de Enero de 2010, 09:45:13 »
Y una ultima pregunta para no molestaros mas,he estado revisando el hilo desde el principio (bueno saltandome alguna pagina) y he visto lo del sniffer usb ¿donde se puede conseguir el codigo y esquema? o sino alguno por rs232 y el software del pc. es por si es libre no empezar a intentar desarrollar uno desde cero cuando ya lo esta  :D muchas gracias

saludos de antonio

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #692 en: 09 de Enero de 2010, 09:53:09 »
Dejame organizarme y subire toda esa informacion aqui.
El codigo es de Microchip, asi que solo voy a subir el hex, para evitar lios con ellos, igual en su pagina esta el codigo fuente, para C18.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 409
Re: Mis experiencias con el BUS CAN
« Respuesta #693 en: 10 de Enero de 2010, 12:21:39 »
Dejame organizarme y subire toda esa informacion aqui.
El codigo es de Microchip, asi que solo voy a subir el hex, para evitar lios con ellos, igual en su pagina esta el codigo fuente, para C18.

Gracias MGLSoft,he encontrado todo en la pagina de microchip,lo unico que no puedo probarlo porque me faltan componentes ¿sabes hasta que nivel se puede configurar la velocidad?he visto que viene 125.000kb pero no me deja configurarlo (no tengo el pic conectado je) gracias

saludos de antonio

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #694 en: 10 de Enero de 2010, 12:56:37 »
Debes conectarlo, luego lo pasas a modo configuracion y pasas a la pestaña de configuracion de velocidad.
Alli puedes seleccionar entre 125, 250, 500 y 1000 Kbps.
Solo lo hace conectado porque en realidad esta pasandole los datos al MCP2515, eso no se puede hacer fuera de linea...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

penguin

  • Visitante
Re: Mis experiencias con el BUS CAN
« Respuesta #695 en: 11 de Enero de 2010, 15:05:17 »
he cambiado a uso modo sw, y sigue haciendo lo que le parece. Es posible que esté todo el rato en modo sleep?
1) Si es asi, no encuentro el motivo, ya que segun librería de CCS no está determinado en modo "estándar".

2) Por si acaso fuese asi, he cambiado por estas lineas :
Código: C
  1. //modo sleep on? para no
  2.   output_low(pin_b1);
  3.   spi_write(0x02);// orden escribir
  4.   spi_write(0x0f); //direccion de memoria donde hacerlo CANCTRL - CAN CONTROL REGISTER (ADDRESS: XFh)
  5.   spi_write(0xe0); // data a escribir
  6.   output_high(pin_b1);
  7.  
alguna idea?

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #696 en: 11 de Enero de 2010, 15:09:59 »
Lo que te indique en modo software es utilizar las librerias ORIGINALES de CCS, esto que pones alli es por hardware, salvo que indiques lo contrario.
La idea es ver si tu sistema funciona o no.
Puedes subir un esquematico de tu circuito??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

penguin

  • Visitante
Re: Mis experiencias con el BUS CAN
« Respuesta #697 en: 13 de Enero de 2010, 10:36:03 »
si, en efecto, eso lo hice por probar simplemente el envio de datos desde el MCP al PIC ( ne respuesat de éste claro) . He podido solucionarlo, aunque el problema de envio de can persiste.

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #698 en: 13 de Enero de 2010, 10:53:16 »
si, en efecto, eso lo hice por probar simplemente el envio de datos desde el MCP al PIC ( ne respuesat de éste claro) . He podido solucionarlo, aunque el problema de envio de can persiste.
O sea que te comunicas con el MCP2515 pero no sale nada desde este hacia el BUS??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

penguin

  • Visitante
Re: Mis experiencias con el BUS CAN
« Respuesta #699 en: 13 de Enero de 2010, 11:48:41 »


en efecto. bueno es el mcp2510, pero si, tengo comunicación -via spi- entre el pic y el mcp. Pero solo eso, spi... Ahora puedo leer lo que "grabo" en algun registro suyo. Tenia mala configuración de SPI. Sin embargo por h o por B ( usando sw o hw) no consigo enviar nada por la patilla TX al transceiver. Para verificar si el estado es el correcto, hago esto :
Código: C
  1. can_init();
  2.      if (can_tbe()){
  3.      can_putd(0x01,&buffer[0],8,1,TRUE,0);//id,data,no bits,prio,extended,creates
  4.      output_high(pin_d2);
  5.      }
  6.  

Ese led conectado a ese pin, no enciende. Esto quiere decir que nunca pasa por el if. Viendo la librería miro que pasa con can_tbe(). en can-mcp2510.c se lee esto :
Código: C
  1. int1 can_tbe(void) {
  2.    struct txbNctrl_struct b_TXB0CTRL, b_TXB1CTRL, b_TXB2CTRL;
  3.    b_TXB0CTRL=mcp2510_read(TXB0CTRL);
  4.    b_TXB1CTRL=mcp2510_read(TXB1CTRL);
  5.    b_TXB2CTRL=mcp2510_read(TXB2CTRL);
  6.    if (!b_TXB0CTRL.txreq || !b_TXB1CTRL.txreq || !b_TXB2CTRL.txreq)
  7.       {return(1);}
  8.    return(0);
  9. }
  10.  
Bien, se lee TXBnCTRL directamente. ¿ Directamente? Si, porque si vamos a can-mcp2510.h, vemos esto otro :
Código: C
  1. #define TXB0CTRL  0x30
  2. #define TXB1CTRL  0x40
  3. #define TXB2CTRL  0x50
  4.  
que es define los 3 registros como variables, en las direcciones reales ( claro..) del mcp. de hecho en datasheet del mcp podemos verlo :
Código: C
  1. TXBNCTRL Transmit Buffer N Control Register
  2. (ADDRESS: 30h, 40h, 50h)
  3.  
Se pone en unas variables "modificables" el resultado de la lectura, y se va concretamente al bit especificado "txreq" de cada uno de los 3 buffers de transmision. Si alguno de ellos esta libre para enviar, pone un 1 . Como yo tengo el mcp, es direccion existe. Tengo pensado enviar datos tal como lo pongo, y para verifiar qu no hay nada ( porque no hay ninguna conexión mas a ese pin, solo desde el pic claro). SPi si comunica con mcp, pero por que con CAN no le hace tanta gracia ? Ahora cabe preguntarme por que dice mi MCP que no está preparado para enviar datos fuera ( al transceiver, y desde este al eterior, se entiende).

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #700 en: 13 de Enero de 2010, 12:04:31 »
Repito:
Sube un esquema de como esta realmente conectado tu circuito, un esquematico aunque sea a mano.
Puede ser de hardware el problema.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

penguin

  • Visitante
Re: Mis experiencias con el BUS CAN
« Respuesta #701 en: 13 de Enero de 2010, 12:15:36 »
es el mismo que ya subí hace unas semanas. Hice esa prueba que me dijiste,  de cambiar el pin c7 y no resolvio nada, asi que lo dejé todo tal estaba. Voy cambiando el uso entre HW o SW para ver si en algun momento modifiqué mal la libreria normal ( por SW)

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #702 en: 13 de Enero de 2010, 15:09:44 »
Segun me dices, este es tu circuito:



No es asi??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #703 en: 13 de Enero de 2010, 15:15:18 »
Entonces ya habras quemado tu MCP2551 , recien me doy cuenta que esta alimentado exactamente al reves.
En el pin VDD debes aplicar +5V y en el pin VSS la masa del circuito o 0VCC, como lo conozcas tu.
La resistencia de 2K2 ohm en el pin RS cambiarla por 10 ohm y la resistencia de fin de linea ponla de 120 ohms.

Luego cuentame como va...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

penguin

  • Visitante
Re: Mis experiencias con el BUS CAN
« Respuesta #704 en: 14 de Enero de 2010, 07:27:43 »
no no, es un error de esquema. Los pines de alimentación están correctos. Lo que si que es cierto es que el valor de la resiistencia de terminacion deberia ser mas grande. Estoy leyendo que ha de ser 120 ohmios. la tengo hacui la mitad de eso, pero que fórmula o qué parámetros indican el tipo de resistencia de fin de linea a poner? se que depende de la longitud del bus ( 500m, 1Km...) de la velocidad ( que a su vez esta intrisecamente relacionada con la distancia), pero en varios sitios he visto valores diferentes, y he cambiado cerca de tres veces. Eso es lo que estoaba precisamente mirando hace un momento antes de ingreasdr en el foro. Bueno provaré este nuevo valor de resistencia, aunque me suena ya haberlo puesto con anterioridad, ya comentaré la jugada