BREAK Character

The BREAK character is used to reset the internal state of the UPDI to the default setting. This is useful if the UPDI enters an error state due to communication error, or when synchronization between the debugger and the UPDI is lost.

A single BREAK character is enough to reset the UPDI, but in some special cases where the BREAK character is sent when the UPDI has not yet entered the error state, a double BREAK character might be needed. A double BREAK is guaranteed to reset the UPDI from any state. When sending a double BREAK it is required to have at least one stop bit between the BREAK characters.

No SYNCH character is required before the BREAK, because the BREAK is used to reset the UPDI from any state. This means that the UPDI will sample the BREAK based on the last stored baud rate setting, derived from the last received valid SYNCH character. If the communication error was due to incorrect sampling of the SYNCH character, the baud rate is unknown to the connected debugger. For this reason the BREAK character should be transmitted at the slowest recommended baud rate setting for the selected UPDI clock according to Table 1:
Table 1. Recommended BREAK Character Duration
UPDICLKSEL[1:0] Recommended BREAK Character Duration
0x1 (16MHz) 6.15ms
0x2 (8MHz) 12.30ms
0x3 (4MHz) - Default 24.60ms