Autor Tema: pic 18f6585 + mcp 2551 comunicação CAN não funciona  (Leído 10693 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: pic 18f6585 + mcp 2551 comunicação CAN não funciona
« Respuesta #15 en: 21 de Noviembre de 2007, 09:05:54 »
Si tu cálculo esta hecho para 12,5 Kbps, entonces tu resistencia está OK !! :mrgreen:

En cuanto a medir con osciloscopio la señal, recuerda que es una señal diferencial, debes medirla entre los dos terminales del BUS CAN.
Creo que por ahí tengo una nota sobre como medir en DeviceNet, la busco y te la posteo, pero a decir verdad yo nunca medí sobre el BUS, prometo hacerlo apenas pueda, así lo pongo en el hilo... :mrgreen: :mrgreen:

Respecto al cálculo, recuerda que 10 MHz con PLL4 te da una frecuencia de 40 MHz, por eso tu cálculo debería ser:

Setup Criteria

Oscilator Frequency              40,000 MHz
Target CAN Bus Baud Rate    12,500 kbps

Selected Options
BRP-1 (Baud Rate Prescaler)         63
Tq (Time Quanta)                         3,200 µs
Number of Time Quanta                25
% Error of Target Baud Rate          0,0 % (Actual Baud Rate is 12,500 kbps )

Bit Timing Setup in Tq
Propagation Delay                        8
Phase Segment 1                         8
Phase Segment 2                         8
Syncronization Jump Width (SJW)  1

Configuration Register Setup (PIC18) 
Register                       Binary                  Hexadecimal
BRGCON1                 b'00111111'                  0x3F
BRGCON2                 b'10111111'                  0xBF
BRGCON3                 b'00000111'                  0x07


Así los has puesto??
Sino deberías tener cuatro veces mas velocidad en el BUS... :mrgreen: :mrgreen:


« Última modificación: 21 de Noviembre de 2007, 09:08:52 por MGLSOFT »
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado MAUTV

  • PIC10
  • *
  • Mensajes: 15
Re: pic 18f6585 + mcp 2551 comunicação CAN não funciona
« Respuesta #16 en: 23 de Noviembre de 2007, 09:54:21 »
Foi isso mesmo que coloquei, agora estou com dúvidas se realmente o PIC está trabalhando em 4 x PLL:

Código: [Seleccionar]
#FUSES NOWDT                    //No Watch Dog Timer
#FUSES WDT128                   //Watch Dog Timer uses 1:128 Postscale
#FUSES H4_SW                    //High speed osc with SW enabled 4x PLL
#FUSES NOPROTECT                //Code not protected from reading
#FUSES OSCSEN                   //Oscillator switching is enabled
#FUSES NOBROWNOUT               //No brownout reset
#FUSES BORV20                   //Brownout reset at 2.0V
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOCPD                    //No EE protection
#FUSES STVREN                   //Stack full/underflow will cause reset
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOWRT                    //Program memory not write protected
#FUSES NOWRTD                   //Data EEPROM not write protected
#FUSES NOWRTC                   //configuration not registers write protected
#FUSES NOWRTB                   //Boot block not write protected
#FUSES NOEBTR                   //Memory not protected from table reads
#FUSES NOEBTRB                  //Boot block not protected from table reads
#FUSES NOCPB                    //No Boot Block code protection
#FUSES NOMCLR                   //Master Clear pin used for I/O

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: pic 18f6585 + mcp 2551 comunicação CAN não funciona
« Respuesta #17 en: 23 de Noviembre de 2007, 10:23:31 »
2.5 Phase Locked Loop (PLL)
A Phase Locked Loop circuit is provided as a
programmable option for users that want to multiply the
frequency of the incoming oscillator signal by 4. For an
input clock frequency of 10 MHz, the internal clock
frequency will be multiplied to 40 MHz. This is useful for
customers who are concerned with EMI due to
high-frequency crystals.
The PLL can only be enabled when the oscillator configuration
bits are programmed for High-Speed Oscillator
or External Clock mode. If they are programmed for any
other mode, the PLL is not enabled and the system clock
will come directly from OSC1. There are two types of
PLL modes: Software Controlled PLL and Configuration
bits Controlled PLL. In Software Controlled PLL mode,
PIC18F6585/8585/6680/8680 executes at regular clock
frequency after all Reset conditions.
During execution,
application can enable PLL and switch to 4x clock
frequency operation by setting the PLLEN bit
in the
OSCCON register. In Configuration bits Controlled PLL
mode, PIC18F6585/8585/6680/8680 always executes
with 4x clock frequency.
The type of PLL is selected by programming the
FOSC<3:0> configuration bits in the CONFIG1H
Configuration register. The oscillator mode is specified
during device programming.
A PLL lock timer is used to ensure that the PLL has
locked before device execution starts. The PLL lock
timer has a time-out that is called TPLL.



Deberias revisar el estado del bit PELLEN de OSCCON, a ver como esta durante la marcha del pic, no se como lo maneja CCS...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 664
Re: pic 18f6585 + mcp 2551 comunicação CAN não funciona
« Respuesta #18 en: 10 de Marzo de 2011, 09:15:47 »
Contra que equipo esta funcionando tu comunicacion CAN??
Si es uno solo en el otro extremo esta bien que tengas la resistencia de fin de linea siempre colocada, pero si es mas de uno, deberias quitarla en los modulos que no estan en los extremos, se entiende??

Dices que usas la libreria del 4580 en tu ejemplo??
Esta libreria no declara a los pines RB2 y RB3 como los de comunicacion CAN??
Que version de Proteus utilizas??
No tengo el mcp2551 en la mia...

Pongo tu imagen aqui para verla en detalle:


Hola buenos dias estoy haciendo mi esquemadico para un nuevo nodo can bus y lo estoy haciendo en proteus se que proteus no simula  can bus por ende no dispone del mcp2551 pero noto que de igual forma se puede crear de forma representativa me gustaria hacerlo si me puedes ayudar te lo agradesco.

Saludos y estamos en contacto.
Atten.
Alexander Santana.
Venezuela-Barcelona.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE