Вход

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


zhpaul
30.09.2005, 21:28
Протокол обмена для версий mpsz8.1 и dpkv1.5 и выше:
отличия от прошлых версий выделены красным цветом

Конфигурация порта 19200,8,n,1
МПСЗ в рабочем режиме непрерывно передает пакеты, размером 42 байт.
1. 0AAh
2. 00
3. 055h
4. 00
5-20. Название текущего набора уоз
21-22. Задержка (x/2)мкс относительно 60 гр. до ВМТ для ДХ или угол (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. Номер текущего набора уоз (в режиме ручного УОЗ - напряжение на ДАД (х*0.019608)В
29. Флаги
Бит0 - клапан
Бит1 - концевик
Бит2 - 1 - коррекция по ДД вкл., 0 - автопостроение кривой усиления ДД
Бит3 - инверсия концевика карбюратора
Бит4 - иммобилайзер. 1 - активирован, 0 - не активен
Бит5 - лампа неисправности двигателя. 1 - горит, 0 - не горит
Бит7 - флаг ДПКВ
30. величина коррекции по ДД (x/2)гр.
31. Обороты ЭПХХ ((x+50)*20)
32. Временный октан-корректор ((x-16)/2)гр.
33. Порог детонации (x+50)
34. Частота ДД
35. Сигнал с ДД
36. Усиление ДД для текущих оборотов
37. Скорость восстановления УОЗ до режимного при отсутствии детонации. (30/х) гр./сек.
38. Версия ПО (1-й полубайт.2-й полубайт)
39. Октан-корректор ((x-16)/2)гр.
40. Начальное давление (х*0.393) кПа
41. Контрольная сумма пакета (младший байт)
42. Контрольная сумма пакета (старший байт)

Команды изменения параметров трехбайтные. Передаются по одному байту с интервалом 20 мс. Первый байт - команда, второй - значение, третий - контрольная сумма первых двух.

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


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

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

zhpaul
21.11.2008, 13:06
Обновлен для версий mpsz8.1 и dpkv1.5