Вход

Просмотр полной версии : Протокол обмена.


zhpaul
07.04.2010, 08:17
Протокол обмена МПСЗ-2 версии 0.13 и выше:
Изменения выделены красным цветом.

Конфигурация порта 19200,8,n,1
МПСЗ в рабочем режиме непрерывно передает пакеты, размером 42 байт.
1. 0AAh
2. 00
3. 055h
4. 00
5-20. Название текущего набора уоз
21-22. Задержка (x/2)мкс относительно 185 гр. до ВМТ для ДХ или угол (x*6/256) относительно 114 гр. до ВМТ для ДПКВ
23-24. Период в (x/2)мкс
25. Расход воздуха
младший полубайт - целое значение расхода (0-15)
старший полубайт - дробное значение. (х/27-й байт пакета)
полная формула: расход = (xx-(int(xx/16)*16)) + int(xx/16)/27-й байт пакета (int - целая часть)
26. Обороты ХХ
27. Наклон ДАД (x-3)
28. Номер текущего набора уоз
29. Флаги
Бит0 - клапан
Бит1 - концевик
Бит2 - датчик расхода. 1 - ДПДЗ, 0 - ДАД. При выборе ДПДЗ отключается замер атмосферного давления при включении зажигания.
Бит3 - инверсия концевика карбюратора
Бит4 - иммобилайзер. 1 - активирован, 0 - не активен
Бит5 - лампа неисправности двигателя. 1 - горит, 0 - не горит
Бит7 - флаг ДПКВ
30. Старший байт оборотов шифт лампы
31. Обороты ЭПХХ ((x+50)*20)
32. Временный октан-корректор ((x-16)/2)гр.
33. Младший байт оборотов шифт лампы
34. Входы
Бит0 - X2.25 - вход ДХ
Бит1 - X2.24 - концевик закрытой дроссельной заслонки
Бит2 - X2.23
Бит3 - X2.22
Бит4 - X2.21
Бит5 - X2.20
Бит6 - X2.19
Бит7 - X2.18 - переключение кривых в +8
35. Выходы
Бит0 - X2.6
Бит1 - X2.7
Бит2 - X2.8
Бит3 - X2.9 - шифт лампа
Бит4 - X2.10 - выход на тахометр
Бит5 - X2.11 - лампа Check Engine
Бит6 - X2.12 - блокировка стартера
Бит7 - X2.13 - клапан ЭПХХ
36. Напряжение на ДАД (х*0.019608)В
37. Напряжение на втором аналоговом входе (х*0.019608)В
38. Версия ПО (1-й полубайт.2-й полубайт)
39. Октан-корректор ((x-16)/2)гр.
40. Начальное давление (х*0.393) кПа
41. Контрольная сумма пакета (младший байт)
42. Контрольная сумма пакета (старший байт)

Команды изменения параметров восьмибайтные. Передаются по одному байту с интервалом 10 мс.
AA 00 55 00 XX YY ZZ SS
Первые 4 байта - заголовок
XX - код команды
YY ZZ - соотв. младший и старший байты значения
SS - CRC8 последних трех байт с полиномом 18H

81h - Наклон ДАД (x+3)
82h - Номер набора хар-к
83h - Обороты ХХ (x/20)
84h - Обороты клапана ЭПХХ ((x/20)-50)
85h - Временный октан-корректор =(16-(х*2)), где х - угол от -8 до 8
86h - Инверсия КК (1 - вкл., 0 - выкл.)
87h - Конфигурация входа синхронизации (1 - ДПКВ, 0 - ДХ)
88h - Конфигурация датчика расхода (1 - ДПДЗ, 0 - ДАД)
89h - Обороты порогового датчика (шифт лампа) 0 - 65535 об/мин
8Ah -
8Bh - Задать ручной угол (х/2) при значении = 0 режим отключается.
8Ch - Установить нач. давление х*0.393 кПа (x=0...60)
8Dh - Октан корректор =(16-(х*2)), где х - угол от -8 до 8
8Eh - Иммобилайзер (1 - вкл., 0 - выкл., 2 - активировать однократно и остановить двигатель)


Для работы с флеш памятью используется сервисный режим.
Конфигурация порта для сервисного режима 57600,8,n,1
Для входа в СР необходимо выключить (если оно было включено) и включить питание МПСЗ. Передаем непрерывно команду входа в СР (1h), при этом ожидаем ответа (2h) и включаем питание МПСЗ. Как только получили ответ, слать 1h перестаем. МПСЗ в сервисном режиме. Далее команды сервисного режима.

10h - Чтение прошивки. После этой команды МПСЗ выдает в порт 15872 байт внутренней программы.
11h - Запись прошивки. После этой команды МПСЗ выдает байт подтверждения готовности приема (11h), и после этого ожидает прием 15872 байт внутренней программы. Передавать необходимо пакетами по 4 байта с интервалом 10 мс. Начало передачи через 100мс после приема байта подтверждения. Во время передачи необходимо проверять приемник, если придет байт 55h - значит возникла ошибка переполнения и время между пакетами необходимо увеличить.
12h - Чтение характеристик УОЗ. Аналогично чтению прошивки. Размер 4864 байта.
13h - Запись характеристик УОЗ. Аналогично записи прошивки. Байт подтверждения 13h. Передаем 4864 байта пакетами по 256 байт. Задержка между пакетами 100 мс.

zhpaul
14.05.2012, 15:51
Обновлено 14.05.2012