1

Тема: LIN Checksum

Здравствуйте,столкнувшись с проблемами при попытке работы с LIN Slave устройством нашёл у конкурентов занятную статью по организации работы с шиной LIN.
В том числе следующую фразу:

Следует обратить внимание на то, что в передаваемых LIN анализатором ID автоматически рассчитываются биты защиты и значение ID отличается от значения в счетчике, например по счетчику ID=0x02 а передаваемое значение с битами защиты будет равно =0x42

Почитал документацию Canny:

При передаче LIN-сообщения, драйвер отбрасывает все кроме младших 6 бит значения установленного в регистре идентификатора LIN-сообщения, автоматически генерирует два бита четности и дополняет ими идентификатор, в соответствие с требованиями стандарта.

А вот про CCM ничего не нашёл. В связи с этим вопрос: какой идентификатор LIN показывает монитор, фактический с дешифровкой CS как умеет драйвер LIN, или защищенный?

PS Будет ли являться ссылка на полезную статью рекламой?

2

Re: LIN Checksum

какой идентификатор LIN показывает монитор, фактический с дешифровкой CS как умеет драйвер LIN, или защищенный?

CANNY CAN/LIN Monitor, как драйвер CAN, отображает первые шесть бит ID0-ID5 поля Identifier field LIN

3

Re: LIN Checksum

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

Итак задача - разбудить кнопки руля изолированно на столе.

Смотрим монитором исходные данные: подрулевой блок если отключить кнопки шлёт следующеё (lin2.0 19.2)
]      00d | 50  F9  FF  FF  ..  ..  ..  ..  | ........ |  5430 |   0.097
]      00e | ..  ..  ..  ..  ..  ..  ..  ..  | ........ |  16292 |   0.021
]      03a | ..  ..  ..  ..  ..  ..  ..  ..  | ........ |  5430 |   0.080
]      03d | ..  ..  ..  ..  ..  ..  ..  ..  | ........ |  5431 |   0.098

После подключения кнопок
]      00d | 50  F9  FF  FF  ..  ..  ..  ..  | P....... |   954 |   0.078
]      00e | 81  00  00  00  80  00  00  00  | ........ |  2859 |   0.026
]      03a | FD  FE  ..  ..  ..  ..  ..  ..  | ........ |   953 |   0.097
]      03d | ..  ..  ..  ..  ..  ..  ..  ..  | ........ |   953 |   0.081

Составил диаграмму:
http://images.vfl.ru/ii/1543090573/b1bd8959/24340046_m.jpg
Результат нулевой, в любых комбинациях. С монитором в системном ПО, без монитора, с подтяжкой, без подтяжки. Варьируя частоту генератора от 20 до 100мс. Результат один - ответа в лин нету, красный диод не горит, в мониторе тишина.
Дальше на секунду корочу шину с подрулевым - сразу жизнь: зажигается красный светодиод на канни, пошли сообщения в монитор, включается подсветка кнопок на руле. Отключаю шину подрулевого обратно - всё тут же умирает кроме подсветки.
Фрагмент записи после подключения подрулевого блока к шине
     0x03a  0xFD  0xFE
     0x00d  0x50  0xF9  0xFF  0xFF
     0x00e  0x96  0x00  0x00  0x00  0x80  0x00  0x00  0x00
     0x00e  0x97  0x00  0x00  0x00  0x80  0x00  0x00  0x00
     0x00e  0x98  0x00  0x00  0x00  0x80  0x00  0x00  0x00
     0x03a  0xFD  0xFE
     0x00d  0x50  0xF9  0xFF  0xFF
     0x03d
     0x00e  0x9A  0x00  0x00  0x00  0x80  0x00  0x00  0x00
     0x03a  0xFD  0xFE
     0x03d

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

Вложений в сообщении

Иконка вложения Clipboard02.jpg 321.36 кб, скачивался 7 раз, последний раз 2018-11-24 

Иконка вложения VAG_LIN_Buttons2.cfd 3.36 кб, скачивался 14 раз, последний раз 2018-11-24 

4

Re: LIN Checksum

На первый взгляд диаграмма вполне работоспособная. Не думаю, что лишний ID (0х0С) транслируемый диаграммой что-либо радикально меняет, но я бы его все равно убрал.
Взглянуть бы на осциллограммы. Возможно, встроенной в CANNY 7 подтяжки недостаточно. Попробуйте подтянуть 1-2 кОм к +12В снаружи.