
Boot Assist Module (BAM)
MPC5644A Microcontroller Reference Manual, Rev. 6
Freescale Semiconductor
635
2.5 x 2
27
system clock cycles and disables SWT watchdog. See
for examples of time out
periods.
The BAM code passes control to the loaded code at start address, which was received in step 2 of
the protocol.
NOTE
The loaded code must periodically refresh the core watchdog timer or
change the timeout period to a value that will not cause resets during normal
operation.
21.5.5.5
Baud rate detection procedure
To improve baud rate detection accuracy the baud rate detection routine is copied to the beginning of the
system RAM from the BAM ROM. Then the CPU branches to the RAM.
The device configures the CN_A_RX and SCI_A_RX pins as general purpose inputs and starts to poll
them until one of them goes low.
If the CN_A_RX pin transitions first, the BAM program starts CAN baud rate detection routine, ignoring
SCI_A_RX. After detecting the CAN baud rate, the BAM program transitions to the CAN download
protocol routine described above.
If the SCI_A_RX pin transitions first, the SCI baud rate detection and download protocol routines are
called, ignoring any further CAN pins activity.
21.5.5.5.1
SCI baud rate detection
The host has to send a zero byte to allow the device to detect the serial link baud rate. The host transmits
1 start bit, 8 zero data bits and 1 stop bit. The device does not echo it.
The device polls the SCI_A_RX pin for high to low transition and starts the core Time Base counter (TBU
and TBL). Then the device polls for low to high transition on the pin and when it happens, the device turns
off the TB counter. The TB content is used to calculate incoming signal baud rate. The SCI baud rate is
equal to the TB content divided by 144 (measured over 9 bits with 16 system clocks per bit).
21.5.5.6
CAN baud rate detection
The host transmits a zero length message with zero 11-bit ID and the device measures time over 40 bits,
polling CN_A_RX pin for high and low, according to the sent data. The device does not acknowledge this
message.
The CAN baud rate depends on the number of quanta per bit and serial clock frequency, which is defined
by a prescaler. The CAN baud rate detection routine selects these parameters to maximize number of
quanta per bit and achieve minimum difference between measured value and duration of the 40 CAN bits,
to be programmed with selected pair of the parameters.
The CAN controller can be programmed with 8 to 25 number of quanta per bit. The bit timing parameters,
selected by the baud rate detection routine, are shown in
. (See FlexCAN chapter for the
parameters definition).
Summary of Contents for MPC5644A
Page 2: ...MPC5644A Microcontroller Reference Manual Rev 6 2 Freescale Semiconductor...
Page 24: ...MPC5644A Microcontroller Reference Manual Rev 6 24 Freescale Semiconductor...
Page 26: ...MPC5644A Microcontroller Reference Manual Rev 6 26 Freescale Semiconductor...
Page 52: ...Introduction MPC5644A Microcontroller Reference Manual Rev 6 52 Freescale Semiconductor...
Page 56: ...Memory Map MPC5644A Microcontroller Reference Manual Rev 6 56 Freescale Semiconductor...
Page 1228: ...Decimation Filter MPC5644A Microcontroller Reference Manual Rev 6 1228 Freescale Semiconductor...
Page 1440: ...FlexCAN Module MPC5644A Microcontroller Reference Manual Rev 6 1440 Freescale Semiconductor...