24.3.2.7 Start Frame Detection
The start frame detection is supported in UART mode only. The UART start frame detector is limited to Standby sleep mode only and can wake up the system when a start bit is detected.
When a high-to-low transition is detected on RxDn, the oscillator is powered up and the UART clock is enabled. After start-up, the rest of the data frame can be received, provided that the baud rate is slow enough in relation to the oscillator start-up time. Start-up time of the oscillators varies with supply voltage and temperature. For details on oscillator start-up time characteristics, refer to the Electrical Characteristics.
If a false start bit is detected and if the system has not been waken-up by another source, the clock will automatically be turned off and the UART waits for the next transition.
The UART start frame detection works in asynchronous mode only. It is enabled by writing the Start Frame Detection bit (SFDEN) in CTRLB24.5.7 Control B. If the start bit is detected while the device is in Standby sleep mode, the UART Start Interrupt Flag (RXSIF) bit is set.
In Active, Idle and Power Down sleep modes, the asynchronous detection is automatically disabled.
The UART receive complete flag and UART start interrupt flag share the same interrupt line, but each has its dedicated interrupt settings. The Table 21-5 shows the USART start frame detection modes, depending of interrupt setting.
SFDEN | RXSIF interrupt | RXCIF interrupt | Comment |
---|---|---|---|
0 | x | x | Standard mode |
1 | Disabled | Disabled | Only the oscillator is powered during the frame reception. If the interrupts are disabled and buffer overflow is ignored, all incoming frames will be lost |
1 (1) | Disabled | Enabled | System/all clocks waked-up on Receive Complete interrupt |
1 (1) | Enabled | x | System/all clocks waked-up on UART Start Detection |
- The SLEEP instruction will not shut down the oscillator if there is ongoing communication.