Вверх ↑
Ответов: 188
Рейтинг: 2
#1: 2023-03-10 00:10:40 ЛС | профиль | цитата
Леонид писал(а):
можно передать символ "я" (FF в шестнадцатеричном коде), порт вместо 8 единиц передаст 8 нулей, хотя и не 11

описание в протоколе гласит что длина поля BREAK должна быть от 13 нулевых бит до 30.
13 нулевых бит это минимум. Да, тут кроме как аппаратно понижать уровень сигнала.

tig-rrr писал(а):
через DTR com Porta.

после совета Леонида разве что аппаратно
я тоже об этом способе подумал, но не успел реализовать, времени не было. А сейчас зашел на форум и увидел ваш способ, значит так и будет! Буду пробовать.
Вот тут меня подтолкнули на мысль использовать DTR
https://www.radioradar.net/repair_electronic_technics/autoelectronic_repair/using_local_lin_car.html



Описание Осцилограммы

Заголовок состоит из четырех частей:

- пауза в синхронизации;

- окончание синхронизации;

- поле синхронизации;

- поле идентификатора.

Опишем каждую из них.

Пауза в синхронизации (synch break)

Представляет собой не менее 13-ти битов, пересылаемых доминантным уровнем, что в вычислительной технике расценивается как передача не менее 13-ти "нулей". Блоки LIN Slave имеют возможность настроиться на прием телеграммы, ибо в тексте самой телеграммы не может быть подобной информации и столь долгая передача только доминантного уровня подсказывает блокам, что после этого поля последуют другие.

Окончание синхронизации (synch delimiter)

Эта часть передается рецессивным уровнем (около 12 В), что соответствует передаче "единицы" и сообщает блокам LIN Slave о том, что пауза закончилась и необходимо приготовиться к синхронизации.

Поле синхронизации (synch field)
Эта часть заголовка служит для непосредственной настройки блоков LIN Slave на работу с блоком управления LIN Master. Поле состоит из последовательности доминантных и рецессивных битов, то есть последовательности "нулей" и "единиц". Таким образом синхронизируется частота, на которой блоки LIN Slave должны работать по шине LIN, принять поле идентификатора и последующие за ним данные.

Поле идентификатора

Это поле состоит из восьми бит. В первых 6-ти битах передаются адрес блока LIN Slave для его опознавания (идентификации) и количество полей для передачи данных, отведенных для ответа (от 0 до 8). Два оставшихся бита предназначены для передачи контрольной суммы. Контрольная сумма вычисляется согласно определенному алгоритму и необходима для того, чтобы избежать ошибок в передаче. При совпадении контрольной суммы оборудование считает что информация передана корректно.
карма: 0

0
Редактировалось 5 раз(а), последний 2023-03-10 00:18:03