This is a group for folks designing and programming embedded systems using the Rabbit Semiconductor C-programmable microcontroller. Rabbit Semi is a spin-off from Z-World who makes a variety of embedded modules and tools. This group is not affiliated with either Rabbit or Z-World, but is a user forum for sharing ideas, asking questions,
flaunting knowledge, and other typical user group stuff. The Rabbit is a powerful uC, supported by a full-featured C-compiler.
default baud rate on RCM3010 - mduncan3559 - Sep 1 18:25:40 2009
I have an application, running on older RCM3010 (green) boards, which talks to a PIC using
serB at 9600 and then sends data to a PC over TCP/IP. It has been working fine for years.
I just tried the same application on a newer RCM3010 (red), and the baud rate does not set
properly. If I use serBopen(9600L) the actual baud rate is 2400. When I dropped the
Rabbit baud rate to 2400, the PIC sees 600 baud (I'm checking with an oscilloscope).
If I reboot the Rabbit, by cycling power, it works fine the second time around.
You probably think I'm nuts, but I have been troubleshooting for three days, so it is not
my imagination. I could tell the customer to turn the machine on twice, but that wouldn't
be very professional.
When I plugged in an older green board and used the same code, the application worked
perfectly the first time.
Has anyone experienced a situation like this where the newer red boards are not properly
setting baud rates upon the FIRST power-up?
Any advice would be appreciated!
Mike
------------------------------------
______________________________
controlSUITE software. Comprehensive. Intuitive. Optimized.
Real-world software for real-time control. Details Here!

(You need to be a member of rabbit-semi -- send a blank email to rabbit-semi-subscribe@yahoogroups.com )
Re: default baud rate on RCM3010 - Scott Henion - Sep 1 20:01:04 2009
mduncan3559 wrote:
> I have an application, running on older RCM3010 (green) boards, which talks to a PIC
using serB at 9600 and then sends data to a PC over TCP/IP. It has been working fine for
years.
>
> I just tried the same application on a newer RCM3010 (red), and the baud rate does not
set properly. If I use serBopen(9600L) the actual baud rate is 2400. When I dropped the
Rabbit baud rate to 2400, the PIC sees 600 baud (I'm checking with an oscilloscope).
>
> If I reboot the Rabbit, by cycling power, it works fine the second time around.
>
> You probably think I'm nuts, but I have been troubleshooting for three days, so it is
not my imagination. I could tell the customer to turn the machine on twice, but that
wouldn't be very professional.
>
> When I plugged in an older green board and used the same code, the application worked
perfectly the first time.
>
> Has anyone experienced a situation like this where the newer red boards are not properly
setting baud rates upon the FIRST power-up?
>
> Any advice would be appreciated!
>
There have been batches of the RCM30x0 boards with flaky 32khz
oscillators. They are instable on bootup, that disrupts the baud rate
calcuations.
Look at the bios for "freq_divider". It is calcuated at startup. You
might want to look at theis value on a good system then hardcode it in
your code.
--
------------------------------------------
| Scott G. Henion| s...@shdesigns.org |
| Consultant | Stone Mountain, GA |
| SHDesigns http://www.shdesigns.org |
------------------------------------------
today's fortune
Beware of a tall black man with one blond shoe.
------------------------------------

(You need to be a member of rabbit-semi -- send a blank email to rabbit-semi-subscribe@yahoogroups.com )
Re: default baud rate on RCM3010 - mike - Sep 1 21:31:39 2009
Thanks for the hint!
----- Original Message -----
From: "Scott Henion"
To:
Sent: Tuesday, September 01, 2009 5:00 PM
Subject: Re: [rabbit-semi] default baud rate on RCM3010
> mduncan3559 wrote:
>> I have an application, running on older RCM3010 (green) boards, which
>> talks to a PIC using serB at 9600 and then sends data to a PC over
>> TCP/IP. It has been working fine for years.
>>
>> I just tried the same application on a newer RCM3010 (red), and the baud
>> rate does not set properly. If I use serBopen(9600L) the actual baud
>> rate is 2400. When I dropped the Rabbit baud rate to 2400, the PIC sees
>> 600 baud (I'm checking with an oscilloscope).
>>
>> If I reboot the Rabbit, by cycling power, it works fine the second time
>> around.
>>
>> You probably think I'm nuts, but I have been troubleshooting for three
>> days, so it is not my imagination. I could tell the customer to turn the
>> machine on twice, but that wouldn't be very professional.
>>
>> When I plugged in an older green board and used the same code, the
>> application worked perfectly the first time.
>>
>> Has anyone experienced a situation like this where the newer red boards
>> are not properly setting baud rates upon the FIRST power-up?
>>
>> Any advice would be appreciated!
>> There have been batches of the RCM30x0 boards with flaky 32khz
> oscillators. They are instable on bootup, that disrupts the baud rate
> calcuations.
>
> Look at the bios for "freq_divider". It is calcuated at startup. You
> might want to look at theis value on a good system then hardcode it in
> your code.
>
> --
> ------------------------------------------
> | Scott G. Henion| s...@shdesigns.org |
> | Consultant | Stone Mountain, GA |
> | SHDesigns http://www.shdesigns.org |
> ------------------------------------------
>
> today's fortune
> Beware of a tall black man with one blond shoe.
>
> ------------------------------------

(You need to be a member of rabbit-semi -- send a blank email to rabbit-semi-subscribe@yahoogroups.com )Re: default baud rate on RCM3010 - mduncan3559 - Sep 2 12:31:14 2009
That was a great help. The freq_divider is 102 on the first power-up and 48 on the second
and subsequent power-ups.
However, the problem only exists in my application equipment and not on a prototype board,
or when running from my equipment with the Dynamic C 9.21 environment. Would you have any
explanation for why the oscillator would act differently in the prototype board? Is it a
timing thing, or maybe some additional pins that get grounded in the prototype board but
not in my application? This is just a general question about timing and how to be
effective during the debugging process.
Is the flakey oscillator used for anything other than calculating the freq_divider?
Should I be concerned about that?
Mike
--- In r...@yahoogroups.com, Scott Henion
wrote:
>
> mduncan3559 wrote:
> > I have an application, running on older RCM3010 (green) boards, which talks to a PIC
using serB at 9600 and then sends data to a PC over TCP/IP. It has been working fine for
years.
> >
> > I just tried the same application on a newer RCM3010 (red), and the baud rate does not
set properly. If I use serBopen(9600L) the actual baud rate is 2400. When I dropped the
Rabbit baud rate to 2400, the PIC sees 600 baud (I'm checking with an oscilloscope).
> >
> > If I reboot the Rabbit, by cycling power, it works fine the second time around.
> >
> > You probably think I'm nuts, but I have been troubleshooting for three days, so it is
not my imagination. I could tell the customer to turn the machine on twice, but that
wouldn't be very professional.
> >
> > When I plugged in an older green board and used the same code, the application worked
perfectly the first time.
> >
> > Has anyone experienced a situation like this where the newer red boards are not
properly setting baud rates upon the FIRST power-up?
> >
> > Any advice would be appreciated!
> >
>
> There have been batches of the RCM30x0 boards with flaky 32khz
> oscillators. They are instable on bootup, that disrupts the baud rate
> calcuations.
>
> Look at the bios for "freq_divider". It is calcuated at startup. You
> might want to look at theis value on a good system then hardcode it in
> your code.
>
> --
> ------------------------------------------
> | Scott G. Henion| shenion@... |
> | Consultant | Stone Mountain, GA |
> | SHDesigns http://www.shdesigns.org |
> ------------------------------------------
>
> today's fortune
> Beware of a tall black man with one blond shoe.
>
------------------------------------

(You need to be a member of rabbit-semi -- send a blank email to rabbit-semi-subscribe@yahoogroups.com )Re: Re: default baud rate on RCM3010 - Scott Henion - Sep 2 12:57:34 2009
mduncan3559 wrote:
> That was a great help. The freq_divider is 102 on the first power-up and 48 on the
second and subsequent power-ups.
>
> However, the problem only exists in my application equipment and not on a prototype
board, or when running from my equipment with the Dynamic C 9.21 environment. Would you
have any explanation for why the oscillator would act differently in the prototype board?
Is it a timing thing, or maybe some additional pins that get grounded in the prototype
board but not in my application? This is just a general question about timing and how to
be effective during the debugging process.
>
Does your board have a battery for the RAM/osc? The prototype board has
a batt, so the oscillator is running continuously.
It is sensitive to the 3.3V voltage if ther is not backup batt.
> Is the flakey oscillator used for anything other than calculating the freq_divider?
Should I be concerned about that?
>
It is used by the RTC to keep time.
--
------------------------------------------
| Scott G. Henion| s...@shdesigns.org |
| Consultant | Stone Mountain, GA |
| SHDesigns http://www.shdesigns.org |
------------------------------------------
today's fortune
Come here, you little raven!
-- Homer Simpson
Treehouse of Horror
------------------------------------
______________________________
controlSUITE software. Comprehensive. Intuitive. Optimized.
Real-world software for real-time control. Details Here!

(You need to be a member of rabbit-semi -- send a blank email to rabbit-semi-subscribe@yahoogroups.com )RE: Re: default baud rate on RCM3010 - "Fournier, Pete" - Sep 2 13:00:25 2009
I found that a software reset after a power up would usually get the
right value, so this is what I do on ALL my rabbit projects. I want to
make sure my RTC crystal is running right.
Note: "__SCRabbit" is defined if using the Softools compiler
int SoftResetCount;
#ifdef __SCRabbit
char freq_divider; //added PJF 14 Sep 2006
#endif
Note: I set up my printf here-----
#ifdef __SCRabbit
freq_divider=SerialGet19200TC(); //added PJF 31 Aug 2006
printf("freq_divider %d\n\r", freq_divider);
#endif
//printf("resetCode=%d\r\n",resetCode);
if(-1==chkHardReset()) {SoftResetCount=0;} //this will only happen in
Softools Compiler
if(chkHardReset()) {SoftResetCount=0;}
if(chkSoftReset()) {SoftResetCount++;}
//check the baud rate divider
if( (freq_divider!=48) && (SoftResetCount<=4) )
{ forceSoftReset(); }
if(chkSoftReset() && (SoftResetCount<=4) )
{ SoftResetCount=0; printf("\n*\n\r"); } //if QA can see the * than
it is OK.
-Pete
-----Original Message-----
From: r...@yahoogroups.com [mailto:r...@yahoogroups.com]
On Behalf Of mduncan3559
Sent: Wednesday, September 02, 2009 12:22 PM
To: r...@yahoogroups.com
Subject: [rabbit-semi] Re: default baud rate on RCM3010
That was a great help. The freq_divider is 102 on the first power-up
and 48 on the second and subsequent power-ups.
However, the problem only exists in my application equipment and not on
a prototype board, or when running from my equipment with the Dynamic C
9.21 environment. Would you have any explanation for why the oscillator
would act differently in the prototype board? Is it a timing thing, or
maybe some additional pins that get grounded in the prototype board but
not in my application? This is just a general question about timing and
how to be effective during the debugging process.
Is the flakey oscillator used for anything other than calculating the
freq_divider? Should I be concerned about that?
Mike
--- In r...@yahoogroups.com, Scott Henion
wrote:
>
> mduncan3559 wrote:
> > I have an application, running on older RCM3010 (green) boards,
which talks to a PIC using serB at 9600 and then sends data to a PC over
TCP/IP. It has been working fine for years.
> >
> > I just tried the same application on a newer RCM3010 (red), and the
baud rate does not set properly. If I use serBopen(9600L) the actual
baud rate is 2400. When I dropped the Rabbit baud rate to 2400, the PIC
sees 600 baud (I'm checking with an oscilloscope).
> >
> > If I reboot the Rabbit, by cycling power, it works fine the second
time around.
> >
> > You probably think I'm nuts, but I have been troubleshooting for
three days, so it is not my imagination. I could tell the customer to
turn the machine on twice, but that wouldn't be very professional.
> >
> > When I plugged in an older green board and used the same code, the
application worked perfectly the first time.
> >
> > Has anyone experienced a situation like this where the newer red
boards are not properly setting baud rates upon the FIRST power-up?
> >
> > Any advice would be appreciated!
> >
>
> There have been batches of the RCM30x0 boards with flaky 32khz
> oscillators. They are instable on bootup, that disrupts the baud rate
> calcuations.
>
> Look at the bios for "freq_divider". It is calcuated at startup. You
> might want to look at theis value on a good system then hardcode it in
> your code.
>
> --
> ------------------------------------------
> | Scott G. Henion| shenion@... |
> | Consultant | Stone Mountain, GA |
> | SHDesigns http://www.shdesigns.org |
> ------------------------------------------
>
> today's fortune
> Beware of a tall black man with one blond shoe.
>
------------------------------------

(You need to be a member of rabbit-semi -- send a blank email to rabbit-semi-subscribe@yahoogroups.com )RE: Re: default baud rate on RCM3010 - mike duncan - Sep 2 23:34:54 2009
That was a good explanation for the difference in test beds. I don't really have a way to
validate the oscillator/battery issue, but at least it there is a technical
explanation.
Thanks once again,
Michael Duncan
nica
> To: r...@yahoogroups.com
> From: s...@shdesigns.org
> Date: Wed, 2 Sep 2009 12:56:50 -0400
> Subject: Re: [rabbit-semi] Re: default baud rate on RCM3010
>
> mduncan3559 wrote:
> > That was a great help. The freq_divider is 102 on the first power-up and 48 on the
second and subsequent power-ups.
> >
> > However, the problem only exists in my application equipment and not on a prototype
board, or when running from my equipment with the Dynamic C 9.21 environment. Would you
have any explanation for why the oscillator would act differently in the prototype board?
Is it a timing thing, or maybe some additional pins that get grounded in the prototype
board but not in my application? This is just a general question about timing and how to
be effective during the debugging process.
> > Does your board have a battery for the RAM/osc? The prototype board has
> a batt, so the oscillator is running continuously.
>
> It is sensitive to the 3.3V voltage if ther is not backup batt.
>
> > Is the flakey oscillator used for anything other than calculating the freq_divider?
Should I be concerned about that?
> >
> It is used by the RTC to keep time.
>
> --
> ------------------------------------------
> | Scott G. Henion| s...@shdesigns.org |
> | Consultant | Stone Mountain, GA |
> | SHDesigns http://www.shdesigns.org |
> ------------------------------------------
>
> today's fortune
> Come here, you little raven!
>
> -- Homer Simpson
> Treehouse of Horror
>
> ------------------------------------
>
> Yahoo! Groups Links
>
_________________________________________________________________
With Windows Live, you can organize, edit, and share your photos.
http://www.windowslive.com/Desktop/PhotoGallery

(You need to be a member of rabbit-semi -- send a blank email to rabbit-semi-subscribe@yahoogroups.com )
RE: Re: default baud rate on RCM3010 - mike duncan - Sep 2 23:37:53 2009
That's a swell idea. I'll try it over the next few days. It can't hurt if it's part of
the startup code.
Michael Duncan
To: r...@yahoogroups.com
From: p...@astromed.com
Date: Wed, 2 Sep 2009 12:59:01 -0400
Subject: RE: [rabbit-semi] Re: default baud rate on RCM3010
I found that a software reset after a power up would usually get the
right value, so this is what I do on ALL my rabbit projects. I want to
make sure my RTC crystal is running right.
Note: "__SCRabbit" is defined if using the Softools compiler
int SoftResetCount;
#ifdef __SCRabbit
char freq_divider; //added PJF 14 Sep 2006
#endif
Note: I set up my printf here-----
#ifdef __SCRabbit
freq_divider=SerialGet19200TC(); //added PJF 31 Aug 2006
printf("freq_divider %d\n\r", freq_divider);
#endif
//printf("resetCode=%d\r\n",resetCode);
if(-1==chkHardReset()) {SoftResetCount=0;} //this will only happen in
Softools Compiler
if(chkHardReset()) {SoftResetCount=0;}
if(chkSoftReset()) {SoftResetCount++;}
//check the baud rate divider
if( (freq_divider!=48) && (SoftResetCount<=4) )
{ forceSoftReset(); }
if(chkSoftReset() && (SoftResetCount<=4) )
{ SoftResetCount=0; printf("\n*\n\r"); } //if QA can see the * than
it is OK.
-Pete
-----Original Message-----
From: r...@yahoogroups.com [mailto:r...@yahoogroups.com]
On Behalf Of mduncan3559
Sent: Wednesday, September 02, 2009 12:22 PM
To: r...@yahoogroups.com
Subject: [rabbit-semi] Re: default baud rate on RCM3010
That was a great help. The freq_divider is 102 on the first power-up
and 48 on the second and subsequent power-ups.
However, the problem only exists in my application equipment and not on
a prototype board, or when running from my equipment with the Dynamic C
9.21 environment. Would you have any explanation for why the oscillator
would act differently in the prototype board? Is it a timing thing, or
maybe some additional pins that get grounded in the prototype board but
not in my application? This is just a general question about timing and
how to be effective during the debugging process.
Is the flakey oscillator used for anything other than calculating the
freq_divider? Should I be concerned about that?
Mike
--- In r...@yahoogroups.com, Scott Henion
wrote:
>
> mduncan3559 wrote:
> > I have an application, running on older RCM3010 (green) boards,
which talks to a PIC using serB at 9600 and then sends data to a PC over
TCP/IP. It has been working fine for years.
> >
> > I just tried the same application on a newer RCM3010 (red), and the
baud rate does not set properly. If I use serBopen(9600L) the actual
baud rate is 2400. When I dropped the Rabbit baud rate to 2400, the PIC
sees 600 baud (I'm checking with an oscilloscope).
> >
> > If I reboot the Rabbit, by cycling power, it works fine the second
time around.
> >
> > You probably think I'm nuts, but I have been troubleshooting for
three days, so it is not my imagination. I could tell the customer to
turn the machine on twice, but that wouldn't be very professional.
> >
> > When I plugged in an older green board and used the same code, the
application worked perfectly the first time.
> >
> > Has anyone experienced a situation like this where the newer red
boards are not properly setting baud rates upon the FIRST power-up?
> >
> > Any advice would be appreciated!
> > There have been batches of the RCM30x0 boards with flaky 32khz
> oscillators. They are instable on bootup, that disrupts the baud rate
> calcuations.
>
> Look at the bios for "freq_divider". It is calcuated at startup. You
> might want to look at theis value on a good system then hardcode it in
> your code.
>
> --
> ------------------------------------------
> | Scott G. Henion| shenion@... |
> | Consultant | Stone Mountain, GA |
> | SHDesigns http://www.shdesigns.org |
> ------------------------------------------
>
> today's fortune
> Beware of a tall black man with one blond shoe.
>
------------------------------------
Yahoo! Groups Links
_________________________________________________________________
With Windows Live, you can organize, edit, and share your photos.
http://www.windowslive.com/Desktop/PhotoGallery
______________________________
controlSUITE software. Comprehensive. Intuitive. Optimized.
Real-world software for real-time control. Details Here!

(You need to be a member of rabbit-semi -- send a blank email to rabbit-semi-subscribe@yahoogroups.com )Re: Re: default baud rate on RCM3010 - Scott Henion - Sep 2 23:45:10 2009
mike duncan wrote:
> That was a good explanation for the difference in test beds. I don't
> really have a way to validate the oscillator/battery issue, but at
> least it there is a technical explanation.
>
> Thanks once again,
> Michael Duncan
Some proto boards had batts in sockets. You can put a piece of paper
under the clip (or remove the batt.) All mine have the batts disabled;
some i cut a trace and put in a 2-pin jumper.
I have don that as most my designs do not have a backup batt. Neither do
many of the user boards I write code for.
--
------------------------------------------
| Scott G. Henion| s...@shdesigns.org |
| Consultant | Stone Mountain, GA |
| SHDesigns http://www.shdesigns.org |
------------------------------------------
today's fortune
Do I have a lifestyle yet?
______________________________
controlSUITE software. Comprehensive. Intuitive. Optimized.
Real-world software for real-time control. Details Here!

(You need to be a member of rabbit-semi -- send a blank email to rabbit-semi-subscribe@yahoogroups.com )RE: Re: default baud rate on RCM3010 - mike duncan - Sep 2 23:59:02 2009
I
Michael Duncan
To: r...@yahoogroups.com
From: s...@shdesigns.org
Date: Wed, 2 Sep 2009 23:43:57 -0400
Subject: Re: [rabbit-semi] Re: default baud rate on RCM3010
mike duncan wrote:
That was a good explanation for the difference in test beds. I don't really have a way to
validate the oscillator/battery issue, but at least it there is a technical
explanation.
Thanks once again,
Michael Duncan
Some proto boards had batts in sockets. You can put a piece of paper under the clip (or
remove the batt.) All mine have the batts disabled; some i cut a trace and put in a 2-pin
jumper.
I have don that as most my designs do not have a backup batt. Neither do many of the user
boards I write code for.
--
------------------------------------------
| Scott G. Henion| s...@shdesigns.org |
| Consultant | Stone Mountain, GA |
| SHDesigns http://www.shdesigns.org |
------------------------------------------
today's fortune
Do I have a lifestyle yet?
_________________________________________________________________
With Windows Live, you can organize, edit, and share your photos.
http://www.windowslive.com/Desktop/PhotoGallery

(You need to be a member of rabbit-semi -- send a blank email to rabbit-semi-subscribe@yahoogroups.com )
RE: Re: default baud rate on RCM3010 - mike duncan - Sep 3 0:04:42 2009
Damn these netbook computer keyboards. I think I just sent an "I".
I always used the development board as a programming platform, without any understanding
of the device. Your explanation of the battery backup has enlightened me. I will disable
it tomorrow and continue my education.
I have been watching this forum for five years and never seen anything that applies to me.
I'm very thankful that people like you donate their time and expertise to help the
technically challenged.
Thanks again,
Michael Duncan
Michael Duncan
To: r...@yahoogroups.com
From: s...@shdesigns.org
Date: Wed, 2 Sep 2009 23:43:57 -0400
Subject: Re: [rabbit-semi] Re: default baud rate on RCM3010
mike duncan wrote:
That was a good explanation for the difference in test beds. I don't really have a way to
validate the oscillator/battery issue, but at least it there is a technical
explanation.
Thanks once again,
Michael Duncan
Some proto boards had batts in sockets. You can put a piece of paper under the clip (or
remove the batt.) All mine have the batts disabled; some i cut a trace and put in a 2-pin
jumper.
I have don that as most my designs do not have a backup batt. Neither do many of the user
boards I write code for.
--
------------------------------------------
| Scott G. Henion| s...@shdesigns.org |
| Consultant | Stone Mountain, GA |
| SHDesigns http://www.shdesigns.org |
------------------------------------------
today's fortune
Do I have a lifestyle yet?
_________________________________________________________________
Windows Live: Keep your friends up to date with what you do online.
http://windowslive.com/Campaign/SocialNetworking?ocid=PID23285::T:WLMTAGL:ON:WL:en-US:SI_SB_online:082009
______________________________
controlSUITE software. Comprehensive. Intuitive. Optimized.
Real-world software for real-time control. Details Here!

(You need to be a member of rabbit-semi -- send a blank email to rabbit-semi-subscribe@yahoogroups.com )