English
Language : 

PXS20RM Datasheet, PDF (153/1368 Pages) Freescale Semiconductor, Inc – PXS20 Microcontroller
Boot Assist Module (BAM)
8.4.5 Boot with Autobaud feature [cut2/3 only]
The purpose of Autobaud is to allow boot operation with a wide range of baud rates independent of the
external oscillator frequency.
NOTE
The baud rates achievable by the autobaud feature are limited by the
software based measurement method and the effects resulting from different
clocking schemes used by the host and the target.
The maximum baud rate for a CAN transmission allowing a stable
transmission is in the range of 125 kBaud, assuming that the bit sampling
point is programmed to be in the middle of a bit time and a maximum
resynchronization jump width is selected. This requires to select the CAN
parameters PROP_SEG, PHASE_SEG1, PHASE_SEG2 accordingly. The
maximum baud rate for an UART transmission allowing a stable
transmission is in the range of 48 kBaud when using an external oscillator
frequency of maximum 40MHz, a slower external clock will scale the
achievable baud rate accordingly. Transmissions at higher baud rates are not
recommended.
8.4.5.1 Configuration and detection/measurement flow
Baud rate measurement is using the System Timer Module (STM) which is driven by the system clock.
Measurement itself is performed by software polling the related inputs as general purpose IO’s, resulting
in a detection granularity that is directly related to the execution speed of the software.
One main difference of the autobaud feature is that the system clock is not driven directly by the external
oscillator, but it is driven by the FMPLL output. The reason is that to have an optimum resolution for baud
rate measurement, the system clock needs to be nearer to the maximum allowed device’s frequency.
This is achieved with the following two steps:
1. using the Clock Monitor Unit (CMU) and the internal RC oscillator (IRC), the external frequency
is measured using the IRC as reference to determine this frequency.
2. based on the result of this measurement, the FMPLL is programmed to generate a system clock that
is configured to be near, but lower, to the maximum allowed frequency.
After setting up the system clock, the BAM code continously searches for a falling edge on either the CAN
RX input or the UART RX input; a falling edge of the CAN RX input takes precedence. For this purpose.
the CAN RX and UART RX inputs are both configured as GPIO inputs. In case a falling edge is detected
on any input, the corresponding autobaud measurement functionality is started:
• a falling edge on CAN RX (corresponds to pin B[1]) starts the CAN autobaud measurement and
then sets up the FlexCAN baud rate accordingly
• a falling edge on UART RX (corresponds to pin B[3]) starts the UART autobaud measurement and
then sets up the LINFlex baud rate accordingly
Freescale Semiconductor
PXS20 Microcontroller Reference Manual, Rev. 1
8-11