В автомобильных шинах распространены пробуждение по проводу, по сети и по конкретному сигналу, а LIN-шина реализует это через кадр сна и уровень пробуждения. В статье — механизмы пробуждения и засыпания LIN и их настройка в TSMaster.
Ключевые слова: LIN, сетевое управление, сон, пробуждение, WakeUp.
1. Сетевое управление
В протоколе LIN 2.1 сетевое управление — это управление сном и пробуждением сети. На рис. 1 показаны состояния связи подчинённого LIN-узла:
- Инициализация — вход после сброса или пробуждения: узел выполняет необходимую инициализацию и переходит в рабочее состояние. Инициализация здесь — именно LIN-инициализация; сброс и пробуждение — разные виды инициализации; инициализация завершается за 100 мс.
- Работа — в LIN-сети идут приём и передача сообщений.
- Режим сна шины — на LIN-шине держится рецессивный уровень; на шине может появляться только уровень пробуждения.

2. Пробуждение
В спящей LIN-сети любой узел (главный или подчинённый) может отправить уровень пробуждения и разбудить сеть. Уровень пробуждения длится 250 мкс — 5 мс. Остальные узлы должны детектировать импульс длительнее 150 мкс и за 100 мс подготовиться слушать LIN-шину — то есть в течение 100 мс от конца импульса быть готовыми к приёму заголовка от главного узла (рис. 2). Если уровень пробуждения послал подчинённый узел, он сразу готовится принимать заголовок кадра или передавать сообщение, а главный узел обязан в течение 100 мс отправить заголовок и начать обмен.

Если после выдачи уровня пробуждения за 150–250 мс шина не приняла ни одного кадра, узел, отправивший уровень, должен послать новый сигнал пробуждения; всего сигнал может быть отправлен до трёх раз (рис. 3).

После трёх неудачных запросов пробуждения узел должен подождать не менее 1,5 с и только затем выдать четвёртый уровень пробуждения (рис. 4).

Для выполнения этих требований в TSMaster есть модуль настройки параметров сигнала пробуждения WakeUp (рис. 5).

Длина уровня пробуждения = 1 000 000 / Baudrate · (BitNum). Например, при скорости 19,2 кбод и BitNum = 5 длительность уровня — 260,4 мкс (рис. 6).

Если задать Trigger Times = 3 и интервал срабатывания 3 мс, TSMaster отправит несколько кадров пробуждения с интервалом 3 мс (рис. 7): сначала уровень пробуждения (260,4 мкс), через 3 мс — снова уровень, и так циклически три раза (рис. 8).


3. Засыпание
LIN-шина переходит в сон в двух случаях:
- кадром сна служит диагностический кадр запроса главного узла
0x3C; - когда на LIN-шине 4–10 с нет переключений рецессивного и доминантного уровней, узлы засыпают автоматически. По LIN 2.1 сообщение сна должен выдавать главный узел; содержимое кадра показано на рис. 9.

В окне передачи LIN в TSMaster выберите узел и канал и нажмите кнопку «Goto Sleep» (рис. 10) — кадр сна можно наблюдать на осциллографе (рис. 11).

