Обсуждаем контроллеры компании Atmel.
Ответить

Организация LIN шины на AVR.

Вс окт 04, 2015 14:04:39

Добрый день. Есть ли желающие разобраться в LIN? Задумка слушать команды master устройства в автомобиле, а потом возможно рулить другими slave устройствами. Код буду писать на C в AVR Studio. Возможно у кого-то есть знания по LIN. Поделитесь пожалуйста. Вопросы:

1) С помощью чего объединить Tx, Rx в LIN?
2) Как ловить 13 bit разрыва синхронизации.

Либо предлагаю совместными усилиями сделать железку.

Re: Организация LIN шины на AVR.

Вс окт 04, 2015 15:19:43

у меня есть лог управы стеклоподъемников с ховера. я в теме мне тоже интересно. а так пока по теме
http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR308.htm
AVR286
AVR322

Re: Организация LIN шины на AVR.

Вс окт 04, 2015 16:42:50

Я делаю это для Калины. Логи тоже есть.

Сначала нужно разобраться как работает железка. Популярный приемопередатчик это TJA1020. И вот непонятно TJA1020 он просыпается после 13 бит в нуле и шлет данные в МК, или эти 13 бит нужно отсекать программно с помощью МК, используя флаг переполнения буфера usart?

Еще есть L9637, пойдет ли она?

Re: Организация LIN шины на AVR.

Пн окт 05, 2015 12:27:39

1020 это просто преобразователь уровней, в нем оу и транзисторы, основное ложиться на мк, вроде как по апнотам используется усарт, но с какам то секретом который есть на меге 88 кпримеру, пока особо не вникал, завтра попробую в лог анализаторе подобрать настройки усарта для лина мож что и получиться....

Re: Организация LIN шины на AVR.

Вт окт 06, 2015 08:16:02

Mishany писал(а):но с какам то секретом который есть на меге 88 кпримеру

если вы планируете использовать что-то типа ATmega88, то советую посмотреть в сторону ATtiny167
http://www.atmel.com/Images/Atmel-8265-8-bit-AVR-Microcontroller-tinyAVR-ATtiny87-ATtiny167_datasheet.pdf
По параметрам практически не уступает контроллерам уровня ATmega88, а плюсом для вас будет встроенный LIN-контроллер :)) Он должен снять большое количество вопросов у вас, если внимательно прочитаете даташит.

Re: Организация LIN шины на AVR.

Вт окт 06, 2015 09:07:49

думаю будет жирновато использовать мк с аппаратным LIN
по апноутам можно на ATTINY45/85 используя USI в режиме прослушки LIN Slave Only эти мк на порядок дешевле и более экономичны в размерах.
только надо общими усилиями заставить принимать LIN
выдержка Кроме того, любое устройство AVR, по крайней мере, с одним свободным USART или USI может поддерживать Slave LIN после незначительной
модификация исходного кода (include files, register definition, timer usage,....).

скачиваем атмеловскую библиотеку для AVR322_LIN_V1.3

Re: Организация LIN шины на AVR.

Ср окт 07, 2015 18:37:03

Я уже веду работу по подстройке к скорости обмена. Пишу для Atmega 16.
Посмотрел файл от Mishany. Нифига непонятно. Как нарисовать сову называется. Вроде как посылка от мастер устройства выглядит как: 13 бит в нуле- это разрыв синхронизации, потом синхронизация 10 бит, потом 10 бит PID данные, потом 10 бит данные, потом 10 бит контрольная сумма.

Планирую:
1) Вычисление скорости обмена, и ее подстройка.
2) Отсекание "разрыва синхронизации"
3) Прием 10 бит синхронизации и удостовериться что там 0х55
4) Прием данных
5) Вычисление контрольной суммы и сравнение значения с последний байтом посылки.
6) Сравнение поленных данных с табличными данными.
7) Выполнить нужное действие.

А где можно взять симулятор LIN, чтобы проводить эксперименты на столе ? МБ есть какая-то программа?
Последний раз редактировалось Gin87 Ср окт 07, 2015 18:45:29, всего редактировалось 1 раз.

Re: Организация LIN шины на AVR.

Ср окт 07, 2015 18:41:00

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

Re: Организация LIN шины на AVR.

Ср окт 07, 2015 18:46:40

Mishany, а ты аськой пользуешься? или чем-то более быстрым чем форум кота?

Re: Организация LIN шины на AVR.

Пт апр 28, 2023 00:53:07

фигасебе!
я тут уже несколько подходов делал в поисках лога от стеклоподъемника greatwall (правда, кнопка от safe - но вдруг совпадает?)
в итоге плюнул, решил свою смастерить, приспособить под это валяющуюся без дела атмегу. чтобы вспомнить, и чтоб было от чего отталкиваться - попробовал загуглить, и сразу пишут про логи с ховера!!!
Mishany, не поделитесь?

Добавлено after 11 minutes 54 seconds:
Gin87, и как успехи?
а драйвер все же специализированный используете? смотрю в даташит на tja1021 (есть у меня такие), и не очень понимаю, зачем там предлагают для мастер LIN через диод и резистор соединять с INH

Re: Организация LIN шины на AVR.

Пт апр 28, 2023 02:20:03

puff писал(а):cмотрю в даташит на tja1021 (есть у меня такие), и не очень понимаю, зачем там предлагают для мастер LIN через диод и резистор соединять с INH
AH1103_v3 0_TJA1021_22_24_27_29 LIN transceiver.pdf
(577.01 KiB) Скачиваний: 104
страница 30. 4.1.7.5 LIN master switch Master termination towards INH
и на будущее: помимо даташитов существуют application note (hints) и reference manual

Re: Организация LIN шины на AVR.

Пт апр 28, 2023 07:09:00

гляну, нужна прога логического анализатора Saleae Logic
Вложения
HOVER.rar
(38.44 KiB) Скачиваний: 60

Re: Организация LIN шины на AVR.

Пт апр 28, 2023 12:28:32

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

кстати, в грейтволовской кнопке есть МК, но нету трансивера.

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

Re: Организация LIN шины на AVR.

Пт апр 28, 2023 12:33:20

для приемника достаточно одного полевика 2n7002 и уарта

Re: Организация LIN шины на AVR.

Сб апр 29, 2023 02:54:23

раскопал вот этот AN (ссылки вверху немного устали)
https://ww1.microchip.com/downloads/en/ ... oc7548.pdf
ну и на GAW сверяюсь - и похоже, что в грейтволе какой-то свой протокол, не совсем отвечающий стандартам (ну или слейвы не всегда отвечают)
+ не очень понятно, байт checksum - он входит в число data bytes, или является отдельным.
+ еще из любопытного, лоджик показывает в синкбайте биты 0 и 1 разной длины почему-то)

раскопал какой-то проект для AVR (похоже, приложение к AN), но там чересчур много всего наворочено. Мне б для начала просто слушать научиться.

похоже, алгоритм для этого должен быть таким: ждем прерывание по спаду, если оно длится дольше 10 предполагаемых бит, по появлению единички включаем USART на прием, ждем 0x55, принимаем следующий байт, парсим параметры, проверяем на ошибки, выполняем свою логику, и наверное должны считать/отправлять CRC мастеру? отключаем USART, возвращаемся опять в начало, где ждем прерывание по спаду.

Re: Организация LIN шины на AVR.

Сб апр 29, 2023 03:40:07

Что значит, "ссылки устали"? предложенный мной апноут относится к LIN 2.2a, в то время как Вы раскопали на десять лет старше документ версии 1.3

Re: Организация LIN шины на AVR.

Сб апр 29, 2023 13:06:21

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

Re: Организация LIN шины на AVR.

Сб апр 29, 2023 13:45:16

Понятно. ну дык, Вы подняли некротему ;)
если просто слушать, то достаточно чего угодно. полевой транзистор не критично, но это будут просто попытки изготовление собственного ресивера интерфейса вместо того, чтобы просто взять готовый

Re: Организация LIN шины на AVR.

Сб апр 29, 2023 16:37:11

ну почему попытки? для небольших дешевых применений вроде бы вполне имеет место?)
но я пока с софтверной частью закопался)

на GAW перевод http://ww1.microchip.com/downloads/en/A ... oc1637.pdf
и там даже код есть, но он ассемблерный.
в доке вроде бы хорошая диаграмма обработчика прерывания. попробую изобразить это на си.

Re: Организация LIN шины на AVR.

Пт дек 29, 2023 20:43:53

Ну и чем кончилось, уважаемые?
Ответить