Что означает флаг обнаружения разрыва LIN для устройств ARM STM32?

В серии STM32F4xx есть флаг ошибки UART, который

Бит 8 LBD: флаг обнаружения обрыва LIN

Больше никакой информации по этому поводу нет. Что это означает с точки зрения UART?


person ryeager    schedule 11.04.2017    source источник
comment
значит обрыв был обнаружен?   -  person old_timer    schedule 11.04.2017


Ответы (1)


Из справочного руководства RM0090:

Прием LIN

Схема обнаружения обрыва реализована на интерфейсе USART. Обнаружение полностью независимо от обычного приемника USART. Разрыв может быть обнаружен всякий раз, когда он происходит, в состоянии ожидания или во время кадра.

Когда приемник включен (RE=1 в USART_CR1), схема ищет на входе RX стартовый сигнал. Метод обнаружения стартовых битов тот же, что и при поиске символов разрыва или данных. После обнаружения начального бита схема производит выборку следующих битов точно так же, как для данных (на 8-й, 9-й и 10-й выборках). Если 10 (когда LBDL = 0 в USART_CR2) или 11 (когда LBDL = 1 в USART_CR2) последовательных битов определяются как «0» и за ними следует символ-разделитель, в USART_SR устанавливается флаг LBD. Если бит LBDIE = 1, генерируется прерывание. Перед подтверждением разрыва проверяется разделитель, поскольку он означает, что линия RX вернулась к высокому уровню.

Если «1» выбирается до того, как произошло 10 или 11, схема обнаружения обрыва отменяет обнаружение тока и снова ищет стартовый бит.

Если режим LIN отключен (LINEN=0), приемник продолжает работать как обычный USART без учета обнаружения обрыва.

Если режим LIN включен (LINEN=1), как только возникает ошибка кадра (т. е. стоповый бит обнаруживается в '0, что будет иметь место для любого прерывающегося кадра), приемник останавливается до тех пор, пока схема обнаружения разрыва не получит либо '1, если слово разрыва не было полным, или символ-разделитель, если разрыв был обнаружен.

person Jacek Ślimok    schedule 11.04.2017