Такие фреймы в файлах потому что сначала я делал одно действие, затем останавливал запись, а потом включал запись и делал следующее действие. Вообще в файлах следующее правило, запускается запись и только затем что-то делается и затем останавливается запись, таким образом и можно вычислить изменение. Уфф
Я вот только одного не пойму, команда 85 66 шлётся постоянно или же это настроечная команда от АПС, после приема которой МДВ запоминает переданные настройки и потом их использует?
Просто никак в толк не возьму, в какой момент времени посылается эта команда? Например при постановке на охрану и длительном удержании кнопки эта команда будет посылаться? Сколько раз?
Этот фрейм (85 66) полностью принадлежит АПС (он же мастер).
По шине гуляют три вида фреймов друг за другом и интервалом между ними в 8 мс, затем пауза в 32 мс и снова эти три фрейма друг за другом.
Пока ключ в положении "Зажигание" активность на шине всегда, если в положение "Выкл" сделать то при отсутствии каких-либо воздействий активность продолжается около минуты затем шина переходит в режим сна (просто +12 В на линии), при этом из сна шину могут вывести МДВ и ЭП сбросив линию в ноль на несколько мс, тем самым пробудив АПС.
Это я всё понимаю. Вопрос вот в чём. Если при перехвате любого пакета с командой 85 66 я буду заменять нужные мне биты, то никаких проблем не будет?
Я к тому, что в примерах, которые я приводил, АПС в одном случае посылает второй байт со значением 1, т.е. по сути включает сирену, если я правильно понимаю, а во втором случае задает сразу несколько битов.
Вся суть в том, что я же не смогу разделить эти две команды. Точнее, можно было бы, но для этого следует тогда анализировать и команду, которая была перед ней. Можно ли в любом случае задавать нужное значение bit4 байта 2, естественно пересчитывая при этом контрольную сумму?
Кстати, подменить один этот бит не так-то просто. Допустим, я принял байты 85 и 66, потом я должен принять байт 1 и три бита (7, 6 и 5) байта 2. После этого я должен заменить bit4 на лог. 1, а для этого следует кратковременно разорвать линию связи, т.к. доминирующим сигналом является лог. 0. Учитывая, что в скорость обмена данными в протоколе LIN может быть неточной (для этого в микроконтроллерах используются специальные модули EUSART с автоопределением скорости обмена, а в самом протоколе команды начинаются с байта 85, в 16-ричной системе 0x55, т.е. чередующиеся нули и единицы; это и позволяет определить истинную скорость), то найти данный битовый интервал будет не так-то просто. Вариантов тут несколько. Либо на свободной линии формировать дополнительную команду 85 66 с нужными нам значениями, либо просто забивать байты передаваемой команды нулями, а потом формировать ее вновь.
Вобщем не все так просто...
Я просто подумал, может быть есть способ как-то прописать настройки в МДВ или АПС, как это сделано для режима одновременного или ступенчатого открытия дверей? Может быть АПС можно каким-то образом так настроить?
Вышеупомянутый тестер ШТАТ-ДСТ оказывается легко настраивает контроллер электропакета, в том числе и функцию автозакрытия ЭСП.
Жалко только денег на покупку этого тестера. Вот найти бы прогу, которая могла бы тоже самое делать через K-line. Сам адаптер у меня есть, кстати, если кому инетресно, то его можно приобрести тут: http://www.kline2009.narod.ru/
Осталось схему придумать. Я так понимаю, надо микроконтроллер ставить такой же как в модуле управления в водительской двери. Интересно, приоровский адаптер можно под калину перепрограммировать?