МЕНЮ
  • Салон
  • Советы
  • Топливо
  • Трансмиссия
  • Тюнинг
  • Управление
  • Контакты

Lin bus в магнитоле что это

Обновлено: 17.06.2026

LIN -шина, это однопроводная цифровая шина для управления по одному проводу группой разнообразных исполнительных устройств, широко применяемая в современных автомобилях. Например двигателями заслонок климата, корректорами фар, замками и стеклоподъемниками дверей и т.п. Конкретно у меня сейчас стоит задача заставить управлять шаговыми двигателями корректора фар. Шаговые двигатели управляются драйвером-контроллером AMIS-30621 Моя задача сделать контроллер, который бы умел контролировать и управлять шаговыми моторчиками корректора фар. А чтоб сделать контроллер, необходимо изучить сам протокол данных LIN и конкретно сам даташит драйвера.
Протокол LIN достаточно не сложный, не быстрый, но при этом надежный и в общем мне очень понравился. В даташитах все подробно описано, я лишь пробегусь вкратце. Если кратко, то цифровая посылка LIN контроллера состоит из этого:

Sync Break — передача данных всегда начинается с притягиванию к нулю шины не менее чем на 13 тактов. Увидев эту притяжку, все устройства на шине оживают, и понимают, что сейчас пойдет что то интересное и начинают ждать. А далее следует:
Sync Field — сигнал синхронизации. Все устройства на шине обязаны подстроится под этот сигнал и подстроить свои тактовые сигналы.
PID Field — служебный байт, который содержит адрес конкретного устройства на шине, последующую длину данных байт и два бита контроля ошибок
Data — передаваемые данные, до восьми байт
Checksum — контрольная сумма

Общее описание стало понятно, пора было собрать макетную плату контроллера шины.
За основу взят микроконтроллер ATTiny13 и транслятор-приемник шины LIN TJA1020 Регулятор положения сделан на обычном энкодере. Вот получилась такая схема:

Далее пошло изучение даташита контроллера шагового мотора. AMIS-30621 это контроллер последнего поколения, который включает в себя все, что можно. Он имеет ЦАП, контроль тока, контроль температуры, напряжения, режим разгона-торможения, настройку силы тока и еще кучу настраиваемых параметров. Достаточно ему подать команду, насколько нужно нашагать, остальное полностью он делает сам. Очень умный драйвер короче. Даташит немного замудреный, много неясностей было при прочтении, но в итоге удалось оживить этого монстра, читать с него данные и управлять им. Вот пример из анализатора:

А вот пример из кода:
Сначала нужно считать данные состояния, это обязательное условие из даташита:
void GetFullStatus (void)
<
// PREPARING FRAME
SyncLIN (); // Sync Break и Sync Field
DataTX(0b00111100); // Identifier
DataTX(0x80); // AppCMD
DataTX(0x81); // CMD
DataTX(0b11110000); // slave address
DataTX(0xff); // DATA
DataTX(0xff); // DATA
DataTX(0xff); // DATA
DataTX(0xff); // DATA
DataTX(0xff); // DATA
DataTX(0b00001101); // CHK байт контроля ошибок

// READING FRAME
SyncLIN (); // Sync Break и Sync Field
DataTX(0B01111101);

В ответ драйвер мотора посылает восемь байт своего состояния, после этого можно слать команду установки на нужную позицию — мотор оживает и делает нужное количество шагов:
SyncLIN ();// Sync Break и Sync Field
DataTX(0x3c); // Identifier
DataTX(0x80); // AppCMD
DataTX(0x8b); // CMD
DataTX(0xf0); // AD1[6:0] slave address 1 шагового мотора
DataTX(0x55); // DATA нужная позиция 1 мотора (16 бит, поэтому в два захода)
DataTX(0xff); // DATA нужная позиция 1 мотора
DataTX(0xNN); // DATA slave address 2-го шагового мотора
DataTX(0xNN); // DATA нужная позиция 2 мотора (16 бит, поэтому в два захода)
DataTX(0xNN); // DATA нужная позиция 2 мотора
DataTX(0xNN); // CHK контрольная сумма

Это минимальный код, заставляющий двигаться шаговый мотор. В железе это вышло так:

Внизу: плата контроллера
Слева: программатор
Вверху: шаговый мотор и драйвер

Плата драйвера крупнее:

В итоге можно организовать корректор вертикального положения фар, управляемый при помощи энкодера (управлять шаговым мотором при помощи шагового энкодера — что может быть лучше?) с отдельным управлением левой и правой фарой (для сервисной настройки фар) с возможностью оперативного изменения угла энкодером и все это от одного управляющего проводка.

установка автозвука Киев, установка автомагнитолы Киев, шумоизоляция авто Киев

магнитола с can bus

Практически все современные автомобили имеют электронику, в основе своей архитектуры имеющую CAN-шину. С точки зрения производителя автомобиля шина CAN это очень полезная вещь, позволяющая гибко изменять функционал автомобиля без серьезных переделок электрооборудования. Например, чтобы добавить складывающееся зеркало со встроенным поворотником на машину традиционной архитектуры (без КАН-шины) необходимо протянуть от главного блока предохранителей провода на выключатель складывания зеркал, затем протянуть провода от выключателя в каждую дверь (левую и правую) и плюс провода от поворотников. Имеем в итоге кучу лишней меди и невозможность изменить комплектацию быстро (на конвеере). В случае автомобиля с платформой на CAN-шине просто добавляем новое зеркало, подключаем к дверному блоку, программируем что зеркало есть и должно складываться и мигать поворотником. Выключатель зеркала подключаем к центральному блоку и программируем что он есть. Ну это если очень просто объяснить 🙂

Смысл в том что CAN-шина это хорошо, и абсолютно все автомобили в самом ближайшем будущем будут иметь такую архитектуру. На данный момент все лидирующие европейские производители производят автомобили с CAN, к ним подтягиваются корейцы и японцы ну и американцы конечно.

распиновка магнитолы с кан шиной

нет ни провода от замка зажигания, ни подсветки.

Подключая нештатную магнитолу на такую машину, вы скорее всего возьмете ISO-переходник и подключите оба питания (постоянное и от ключа) магнитолы на постоянное питание. Подсветку вообще подключать не будете, и с первого взгляда вроде бы как все ОК. Но на самом деле нет, есть несколько проблем.

При подключении магнитолы без КАН-адаптера будут следующие проблемы:

Универсальный CAN-BUS адаптер для магнитолы:

универсальный can bus адаптер для магнитолы

Этот простой кан адаптер подключается к большинству автомобилей с CAN-шиной и выдает сигнал ACC для подключения магнитолы. Его удобно использовать тогда когда вам просто нужно решить проблему разрядки аккумулятора из-за неправильно подключенной магнитолы.

Версия для использования на грузовых автомобилях с бортовой сетью с напряжением 24В называется Connects2 IGNI-GEN24V

Штатный CAN-BUS адаптер для магнитолы:

штатный can-bus адаптер для магнитолы

Штатный кан-адаптер предназначен для конкретной модели автомобиля, комплектуется с одной стороны штатным разъемом для подключения к проводке автомобиля, с другой стороны стандартным ISO-разъемом для подключения магнитолы. Бывает два варианта таких can-bus адаптеров для магнитолы, первый (серия Essentials) дешевле, выдает только сигнал ACC и в принципе по функционалу не отличается от IGNI-GEN12V.

Серия CAN-BUS адаптеров Professional может больше:

канбас адаптер для магнитолы

Помимо сигнала ACC для подключения магнитолы такой адаптер выдает сигналы (в зависимости от модели авто): Подсветка (+12В), Задний ход (+12В), Ручник (земля), Импульс скорости (отрицательный импульс, зависящий от скорости автомобиля)

Конечно же, с таким адаптером подключение будет еще более простым и надежным, однако он и стоит дороже.

Список штатных CAN-BUS адаптеров для магнитолы и поддерживаемых автомобилей:

Alfa Romeo:

Модель адаптера Функции Список моделей авто разъем магнитолы
CTHUE-AR1 ACC +12V 159 (2006-2011), Brera (2007-2010),

Giulietta (2010-2014), Mito (2008-2014)

Модель адаптера Функции Список моделей авто разъем магнитолы
CTHUE-AU1 ACC +12V A2 (2004-2005), A3 (2003-2013), A4 (2005-2015)

A6 (2004-2011), TT (2003-2013)

Модель адаптера Функции Список моделей авто разъем магнитолы
CTHUE-BM1 ACC +12V 1-Series E87 (2004-2013), 3-Series E90 (2005-2012),

5-Series E60 (2004-2010), 7-Series E65 (2002-2008),

Chevrolet:

Модель адаптера Функции Список моделей авто разъем магнитолы
CTHUE-CV1 ACC +12V Camaro (2009->), Cruze (2009-2015), Equinox (2009->),

Chrysler:

Модель адаптера Функции Список моделей авто разъем магнитолы
CTHUE-CH1 ACC +12V 300C (2008->), Aspen (2008-2009),

Grand Voyager (2008->), Sebring (2007-2010),

Citroen:

Модель адаптера Функции Список моделей авто разъем магнитолы
CTHUE-CT1 ACC +12V Berlingo (2008>), C2 (2006>),C3 (2006>),

C3 Picasso (2009>), C4 (2006>),

C4 Picasso (2006>),

C5 (2005>), C6 (2004>),

C8 (2006>), DS3 (2009>),

Dodge:

Модель адаптера Функции Список моделей авто разъем магнитолы
CTHUE-DG01 ACC +12V Avenger (2007>), Caliber (2009>),

Charger (2008>),Charger (2008>),

Dakota (2008>), Durango (2008-2015),

Grand Caravan (2007-2015), Journey (2008>),

Magnum (2008>), Nitro (2008>), Ram (2008>)

Модель адаптера Функции Список моделей авто разъем магнитолы
CTHUE-F1 ACC +12V Fiat 500L (2012>), Ducato (2014>) переходник магнитолы Fiat
CTHUP-FT01 ACC +12V, ручник, подсветка,

Ducato (2008-2014), Idea (2006>),

C-Max (2004-2011), Fiesta (2006-2008),

Focus (2005-2011), Fusion (2005>),

Galaxy (2006>),Mondeo (2004-2014),

S-Max (2005-2011), Transit (2005>),

Kuga (2008-2012),

Transit Connect (2004-2013)

Escape (2013>), Fiesta (2012>),

Focus (2011>), Kuga (2012>), Ranger (2012>),

Transit Connect (2013>),Transit Custom (2013>)

Модель адаптера Функции Список моделей авто разъем магнитолы
CTHUE-JP1 ACC +12V Cherokee (2014>),

Lancia:

Модель адаптера Функции Список моделей авто разъем магнитолы
CTHUP-LA01 ACC +12V, ручник, подсветка,

Land Rover:

Модель адаптера Функции Список моделей авто разъем магнитолы
CTHUP-LR01 ACC +12V, ручник, подсветка,

Mercedes:

Модель адаптера Функции Список моделей авто разъем магнитолы
CTHUE-MC1 ACC +12V E-Class (2004-2009), SLK (2002>) переходник для магнитолы на mercedes
CTHUE-MC2 ACC +12V A-Class (2004>), B-Class (2004>)
C-Class (2004>), CL (2008>)
CLK (2004>), GL (2006-2012)
ML (2004-2011), R-Class (2006>)
Sprinter (2006>), Vito (2007>)
CTHUP-MC01 ACC +12V,

B-Class W245 (2004-2012),

C-Class W203 (2000-2007),

CLK W209 (2000>),

ML (2005-2011), R-Class W251 (2005>),

Sprinter (2006>), Viano (2004>),

C-Class W204 (2008>), CLA (2013>),

Модель адаптера Функции Список моделей авто разъем магнитолы
CTHUE-VX1 ACC +12V Agila (2008-2015), Antara (2006>), Astra (2004-2009), Combo (2004>),

Corsa (2004-2014), GTC (2005>),

Meriva (2005-2010), Movano (2006>), Vectra (2004>),

Signum (2004>), Tigra (2005>), Vectra (2004>),

Peugeot:

Модель адаптера Функции Список моделей авто разъем магнитолы
CTHUE-PE2 ACC +12V 207 (2004>) , 208 (2012>), 2007 (2008>),
2008 (2013>), 307 (2004-2007),
308 (2007>), 3008 (2004>),
407 (2004>), 508 (2011>),
5008 (2009>), 607 (2005>),
807 (2004>), Expert (2007>),
iON (2010>), Partner (2008>),
RCZ (2010>)
переходник для магнитолы peugeot
CTHUP-PE01 ACC +12V,

3008 (2009>), 308 (2007>), 407 (2005>),

5008 (2009-2013), 607 (2004>),

807 (2005>), Bipper (2007>), Boxer (2008>),

Модель адаптера Функции Список моделей авто разъем магнитолы
CTHUE-ST1 ACC +12V Alhambra (2006>), Altea (2005>),

Cordoba (2005>), Exeo (2008>),

Ibiza (2008>), Leon (2005-2014),

Toledo (2005>)

Skoda:

Модель адаптера Функции Список моделей авто разъем магнитолы
CTHUE-SK1 ACC +12V Fabia (2007-2010), Octavia (2004-2013),

Roomster (2006>), Superb (2006-2013),

В теме выкладываются и обсуждаются вопросы касающиеся модификации,
прошивки и установки/настройки ПО на: Lada GRANTA и Lada KALINA-2/Priora

Прикрепленное изображение

Внимание. НЕЛЬЗЯ прошивать ММС с версией ПО 23.02.27 или 21.1.2.39 .
Перед прошивкой ММС , сверяйте версию ПО, проконсультируйтесь на форуме по этому поводу, не спешите убивать свой аппарат.
Все операции по прошивке ММС производить только на свой страх и риск! Что приводит к потери гарантийных обязательств производителя на ММС.

  1. Перед тем как задавать вопрос воспользуйтесь Поиском по теме!
  2. Для прошивки или мода, указывайте марку ММС(Калина2 или Гранта) и версию ММС, на которую можно устанавливать.
  3. С уважением относитесь к авторам прошивок, модов и пр., помните они вам не чем не обязаны и делают все по собственному желанию.
  4. Если вам понравился мод или украшение, не забудьте поблагодарить автора поднятием его репутации.
    • Если участник форума дал вам хороший совет, который помог вам в решении вашей проблемы не следует помещать сообщение с текстом «Спасибо! Ты супер. ».
      На нашем форуме благодарность принято выражать путем поднятия репутации конкретного участника.
    • На репутацию других участников может влиять любой пользователь, набравший 15 полезных постов.
      Если у вас нет 15 полезных постов, попросите модератора поднять репутацию оказавшему вам помощь человеку через кнопку "Жалоба".
  5. Если выкладываете прошивку, ПО или мод - обязательно прикрепляйте: скрины/фото(только под спойлером!); описание; для какой модели ММС, версию и метод установки.
  6. Если вы выкладываете патч или модификацию, которая устанавливается методом замены файлов - необходимо указать путь для копирования файлов.
  7. Если вы выкладываете патч, прошивку или мод. с иной схемой установки - указывайте процесс установки как можно подробнее.
  8. Комментарии типа: Я так же делаю или Так же поступаю - будут удаляться БЕЗ ПРЕДУПРЕЖДЕНИЯ.
  9. Посты с открытыми СКРИНАМИ - будут удаляться БЕЗ ПРЕДУПРЕЖДЕНИЯ.
  10. Дублирование вопроса(обсуждался он или нет) - будет удаляться БЕЗ ПРЕДУПРЕЖДЕНИЯ.
  11. Вопросы и комментарии не по теме - будут удаляться БЕЗ ПРЕДУПРЕЖДЕНИЯ.(так же есть шанс получить бан)
  • Вынуть все устройства из USB.
  • Создать в корне USB пустой файл explorer.txt. После перезагрузки должен загрузиться рабочий стол WinCE.
  • Отключить питание ММС (снять клемму аккумулятора) на 5 минут.
  • Прошить еще раз, по новой скопировав файлы на SD карту.
  1. Выйти на рабочий стол
  2. Вытащить все из USB
  3. Тапнуть по ярлыку NewMenu Uninstall
  4. Перезагрузить магнитолу (15> секундным нажатием)
  5. Удалить все из StaticStore
  6. Установить новую версию(меню)
  7. Подключить все в USB (желательно первым подключить GPS антенну)
  1. Форматируем SD карту до 4 Гб в FAT
  2. В корень SD карты скопировать файлы для прошивки: Chain.bin, chain.lst, NK.bin, TINYNK.bin .
  3. Вынуть все из USB магнитолы.
  4. Перезагрузить аппарат долгим (около 15с.) нажатием на кнопку питания(Калина 2/Priora) или кнопку громкости(Гранта)
  5. После прошивки (пробежали 4-е статус бара), аппарат сам перезагрузится в рабочий стол.
  6. Берем стилус (зубочистку, ключ и т.п.)
  7. Ни в коем случае не перезагружаем аппарат! Заходим в: Start/Settings/Control Panel/Stilus/ на вкладку Calibration/Recalibrate. Калибруем экран и тапаем по экрану во время обратного отсчета.
    ( или для новичков: Тапаем на рабочем столе по иконке Home, ждем загрузки штатного меню. заходим в настройки -> экран -> калибровка экрана, калибруем не забывая тапнуть по экрану во время обратного отсчета. Далее нажимаем пальцем иконку настройки, не убирая палец ждем пока запустится рабочий стол.)
  8. Перезагружаем аппарат, SD карта должна быть вставлена.
  9. Аппарат прошит , SD карту можно извлекать.

Прикрепленное изображение

Прикрепленное изображение


Совсем недавно мы разбирали протокол CAN, и вот сегодня продолжаем двигаться по автомобильным стандартам! На очереди интерфейс LIN, который также свое основное применение нашел в автомобильной промышленности, да и, в общем-то, для этого и был изначально создан 🙂

А пока к теории!

Итак, стандарт LIN был создан в конце 90-х годов (первая версия спецификации относится к 1999 году) группой известных компаний, в основном, автопроизводителей. Среди них:

  • Audi
  • Volkswagen
  • BMW
  • Volvo
  • Motorola

В целом архитектура шины выглядит следующим образом:

Архитектура сети LIN.

В чем же смысл, спросите вы, ведь есть же CAN? Так вот, использование интерфейса LIN не исключает использование CAN, а скорее дополняет. LIN является однопроводной шиной, более дешевой, чем CAN, и используется для связи менее критичных для безопасности и для работы автомобиля узлов между собой. То есть основная связь по-прежнему обеспечивается протоколом CAN, а менее важные блоки и датчики уже подключаются по LIN:

Использование интерфейса LIN.

LIN трансивер TJA1021.

Структура пакета интерфейса LIN.

Каждый пакет состоит из заголовка (header) и непосредственно данных (data):

Интерфейс LIN, структура пакета.

Таким образом, именно Master отправляет в шину заголовки пакетов. В зависимости от определенного бита заголовка (это мы разберем чуть позже) подчиненные устройства понимают, что им требуется сделать:

  • выслать данные, которые запрашивает ведущий
  • или продолжать прием данных, в случае если, например, Master выполняет конфигурацию подчиненного

Передача данных.

Как видите, иерархия очень строгая!

С организацией обмена данными разобрались, теперь можно углубиться непосредственно в структуру уже упомянутых частей LIN-фреймов. Заголовок пакета состоит из нескольких байт:

Заголовок пакета.

Идентификатор LIN.

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

Идентификатор Кол-во байт
0x00-0x1F 2
0x20-0x2F 4
0x30-0x3F 8

Итак, тут у нас остаются еще два бита четности, для них формула выглядит следующим образом:

И на этом все! Заголовок пакета сформирован.

Поле данных в свою очередь состоит из непосредственно байт данных (от 1-го до 8-ми байт) и контрольной суммы (1 байт):

Поле данных интерфейса LIN.

Для расчета контрольной суммы есть два варианта:

Давайте рассмотрим пример расчета классической контрольной суммы. Пусть байты данных равны: 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37. Суммируем:

Вычитаем из полученного значения 0xFF:

И инвертируем, в итоге получаем:

Для выбранных нами байт данных контрольная сумма равна 0x62.

В практической статье по интерфейсу LIN мы обязательно посмотрим, как все это будет выглядеть на деле, а пока на этом заканчиваем, до скорой встречи!

Для изучения шины LIN Вы можете использовать наш адаптер CAN-Hacker 3.0 с дополнительной опцией LIN анализатора.
А так же интерфейс CAN-Hacker CH-P

Пример системы управления дверью с шиной LIN и без нее:

With LIN bus

Еще пример, в автомобиле Porsche Macan 2015 г. все привода и датчики климатической системы подключены к шине LIN а сам блок климат контроля связан с автомобилем при помощи CAN шины.

Скорость передачи данных

Скорость передачи данных на шине LIN стандартная для устройств построенных на базе UART: 2400; 9600; 10400; 19200; 20000 Бод. Это немного но достаточно для передачи данных от датчиков и для управления медленными механизмами.

Электрическая реализация LIN

Электрически интерфейс LIN реализован так же просто. В каждом узле линия шины подтянута к шине питания +12V. Передача осуществляется опусканием уровня шины до уровня массы GND. Микроконтроллер подключается к шине LIN при помощи специальной микросхемы Трансивера, например TJA1021

LIN electrical

Подключение LIN трансивера к микроконтроллеру

LIN transsiver

Архитектура сети LIN

LIN Network

Master может опрашивать Slave о его состоянии, будить его, отправлять ему команды. Обмен информации на шине LIN происходит в формате обмена пакетами, и на первый взгляд может показаться что механизм идентичен шине CAN, это не так. Объясняем почему:

Структура LIN пакета выглядит так:

LIN frame

LIN Frame structure vertical

Поле Frame-Header состоит из полей:

Идентификатор может принимать значения от 0 до 59 (0x3B в HEX) для пользовательских пакетов. Так же возможно использование специальных служебных пакетов с ID 0x3C, 0x3D, 0x3E и 0x3F. Защищенность идентификатора заключена в следующем:

LIN PID jpg

В структуре байта ID мы видим биты собственно самого идентификатора с ID0 по ID5, а затем идут два контрольных бита P0 и P1, которые рассчитываются так:

P0 = ID0 ⊕ ID1 ⊕ ID2 ⊕ ID4
P1 = ¬ (ID1 ⊕ ID3 ⊕ ID4 ⊕ ID5)

ID = 0x00 PID =0x80

ID = 0x0C PID = 0x4C

Если в PID контрольные биты рассчитаны неверно то пакет не будет обработан принимающей стороной.

В случае если мы будем эмулировать работу какого либо узла Master, предварительно изучив отправляемые им данные при помощи LIN сниффера, то нам не придется задумываться о расчете контрольных битов ID, поскольку в пакетах которые мы видим сниффером все уже посчитано до нас.

После того как Slave принял Header мастера он отвечает полем Frame Response который состоит из байтов данных в количестве от 1 до 8 и байта контрольной суммы.

Data Linbus

На осциллограмме обмен одного Master и одного Slave выглядит так:

LIN BUS MASTER SLAVE

Если мы отключим узел Slave от шины LIN, то увидим уже такую осциллограмму:

LIN BUS MASTER

Так же в протоколе шины LIN предусмотрены и специальные служебные пакеты служащие для диагностики шины, пробуждения устройств и других функций. В этом случае Master может передавать как Frame Header так и Frame Response последовательно, тогда пакет Master -а может иметь такой вид:

ID=0x3C DATA : FF FF FF FF FF FF FF FF

Обмен диагностическими сообщениями на шине LIN выглядит так :

LIN diagnostic frame JPG

При помощи длинных пакетов Master может конфигурировать и программировать узлы Slave. Если для программирования или конфигурирования узла LIN необходимо более 8 байт, то поток данных сегментируется и пересылается частями. Механика передачи данных определяется специальным транспортным протоколом работающим поверх физики шины LIN, о нем мы напишем в следующих статьях.

Видео пример работы с шиной LIN и адаптером CAN-Hacker 3.2

Читайте также:

      
  • Как настроить магнитолу в рено лагуна 2
  •   
  • Магнитола jvc kd g427 схема
  •   
  • Принципиальная схема магнитолы cd30 mp3
  •   
  • Как смотреть видео на магнитоле лада веста
  •   
  • Установка магнитолы исудар на фольксваген поло седан
  • Контакты
  • Политика конфиденциальности