View previous topic :: View next topic |
Author |
Message |
Tufican
Joined: 23 Feb 2011 Posts: 10 Location: Turkey- izmir
|
canbus kit baud rate settings help me please |
Posted: Thu Mar 10, 2011 10:49 am |
|
|
Hi everybody I have a canbus development kit and I can't find what is my baud rate?
How can I change this baud rate?
Code: |
can_putd(0x400, buffer, 8 1, TRUE, FALSE);
|
Where is baud rate settings?
Thank you |
|
|
collink
Joined: 08 Jan 2010 Posts: 137 Location: Michigan
|
|
Posted: Thu Mar 10, 2011 12:16 pm |
|
|
Your baud rate is set when you call can_init(); Within that function there is a call to: can_set_baud();
If you look at the can_set_baud() function you'll see it setting the baud rate. The manual for your PIC chip has the info on what those registers mean.
But, as an overview: The canbus baud is the main CPU clock scaled by some power of two and then sampled over X time quanta. It explains all this in the manual. |
|
|
Tufican
Joined: 23 Feb 2011 Posts: 10 Location: Turkey- izmir
|
|
Posted: Thu Mar 10, 2011 1:25 pm |
|
|
collink wrote: | Your baud rate is set when you call can_init(); Within that function there is a call to: can_set_baud();
If you look at the can_set_baud() function you'll see it setting the baud rate. The manual for your PIC chip has the info on what those registers mean.
But, as an overview: The canbus baud is the main CPU clock scaled by some power of two and then sampled over X time quanta. It explains all this in the manual. |
thank you i see this now. but i dont see how can i change? wich command
and can you tell me what is my baud rate now:(
how can i see my baud rate from this code and how can i calculate this thanks for helps and sorry about my bad english
Code: |
c:\program files\picc\drivers\can-18xxx8.c
|
+++++++++++++++++++++++++
Pathname substituted for code.
Reason: Forum rule #10
10. Don't post the CCS example code or drivers, or ask for such code and drivers
Forum rules:
http://www.ccsinfo.com/forum/viewtopic.php?t=26245
-- Forum Moderator
+++++++++++++++++++++++++ |
|
|
collink
Joined: 08 Jan 2010 Posts: 137 Location: Michigan
|
|
Posted: Thu Mar 10, 2011 1:45 pm |
|
|
The settings it uses for the baud rate are in the .H file it's including but here is a quick overview of what they mean:
First, start with the clock rate of your pic chip. For giggles we'll say you are running at 40MHz.
Then, remember that all values you set are actually one higher than you set them to. For instance, if you set your Seg1 time to 1 then it's really 2.
Then, take your PIC clock rate and divide it by two. Then divide it again by whatever your baud prescaler is set at (remember to add one).
So, let's say you put a value of 1 in for your prescale. That's really two so your time quanta value is 40000000 / 2 / 2 = 10000000.
That's 10 million time quanta per second. So, if you want 500K baud then you need to soak up 20 of those time quanta per baud. There is always 1 start TQ so you need 19 more. There are three places you can put them. The propagation time, seg1, and seg2. You could set your propagation to 2 (remember that will make it 3!), your Seg 1 to 7, your seg2 to 7. That's 1 + 3 + 8 + 8 = 20TQ.
For, for this example, if you have a clock of 40Mhz, a prescale value of 1, a propegation of 2, a seg1 of 7, and a seg2 of 7 then your baud will be 500k.
That is how you calculate baud rates for canbus on a PIC chip. All of this is found in the pic chip manual too. |
|
|
Tufican
Joined: 23 Feb 2011 Posts: 10 Location: Turkey- izmir
|
|
Posted: Thu Mar 10, 2011 2:15 pm |
|
|
thank you so so so much man here is great forum THANKS |
|
|
|