MPC5604B/C Microcontroller Reference Manual, Rev. 8
Freescale Semiconductor 257
When the software attempts to access the sample registers’ contents it must first reset the
CAN_SMPLR_EN bit by writing a ‘0’. Before accessing the register contents it must monitor Active_CK
bit for ‘0’. When this bit is reset it can safely access the (12 x 32) sample registers. While shifting from
normal to sample mode and from sample to normal mode, the sample register signals must be static and
inactive to ensure the data is not corrupt.
14.4.2 Baud rate generation
Sampling is performed at a baud rate that is set by the software as a multiple of RC oscillator frequency of
62.5 ns (assuming RC is configured for high frequency mode, that is, 16 MHz). The user must set the baud
rate prescaler (BRP) such that eight samples per bit are achieved.
The baud rate setting must be made by software before going into STANDBY or STOP mode. This is done
by setting bits BRP[4:0] in the Control register. The reset value of BRP is 00000 and can be set to max.
11111 which gives a prescale value of BRP + 1, thus providing a BRP range of 1 to 32.
• Maximum bitrate supported for sampling is 2 Mbps using BRP as 1
• Minimum bitrate supported for sampling is 62.5 kbps using BRP as 32
For example, suppose the system is transmitting at 125 kbps. In this case, nominal bit period:
T=1/(125*10
3
)s =8*10
-3
*10
-3
s = 8µs Eqn. 14-1
To achieve 8 samples per bit
Sample period= 8/8 µs = 1 µs
BRP = 1 µs/62.5 ns = 16. Thus in this case BRP = 01111