Easyelectronics.ru

Электроника для всех
Текущее время: 29 сен 2020, 03:19

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Выбор из таблицы ошибок (ассемблер)
СообщениеДобавлено: 09 сен 2016, 10:31 
Только пришел

Зарегистрирован: 09 июл 2015, 11:01
Сообщения: 9
Откуда: Муром
Господа, доброго времени суток!

Есть таблица с кодами неисправностей:
Show


Не могу придумать оптимальный алгоритм выбора строки расшифровки ошибки из таблицы. Пока вижу только один вариант:

Show


Может кто подскажет более оптимальное решение?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выбор из таблицы ошибок (ассемблер)
СообщениеДобавлено: 09 сен 2016, 11:00 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6957
"Ошибку" можно поделить на тип и номер.
Например, коды 0201-0271 относятся к "форсунке", а значит тип ошибки "02". Номер будет 01-71.
Это позволяет сделать 2 вещи - двухуровневое сравнение (вначале по типу, затем по номеру), что ускорит поиск, и второе - повысит наглядность представления информации. Теперь возможно выводить 2 строки информации (Р0201):
Ошибка форсунки:
Обрыв цепи управления форсункой 1 цилиндра.
В зависимости от "типа", наверно, существует и сопряженная с ней "важность" ошибки. Тут можно сделать что-то осмысленное - или тихо вывести, или включить сирену. ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выбор из таблицы ошибок (ассемблер)
СообщениеДобавлено: 09 сен 2016, 11:58 
Только пришел

Зарегистрирован: 09 июл 2015, 11:01
Сообщения: 9
Откуда: Муром
Я пытался разобрать таблицу - старшие 12 бит указывают на датчик, младшие 4 на неисправность, но вот с форсунками, адсорбером, датчиком скорости, регулятором хх, озу, пзу - этот фокус не проходит(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выбор из таблицы ошибок (ассемблер)
СообщениеДобавлено: 09 сен 2016, 12:13 
Только пришел

Зарегистрирован: 09 июл 2015, 11:01
Сообщения: 9
Откуда: Муром
а при разборе замыкания цепи управления форсунками на массу - мой мозг был взорван! если при замыкании на +12 еще можно было бы взять 11 старших бит как ошибку, следующие 4 - как номер, а младший не использовать, то с массой полный 3,14....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выбор из таблицы ошибок (ассемблер)
СообщениеДобавлено: 09 сен 2016, 13:36 
Только пришел

Зарегистрирован: 09 июл 2015, 11:01
Сообщения: 9
Откуда: Муром
Немного прояснилась ситуация c форсунками - нашел более полную таблицу ошибок, но разобрать ее красиво все равно не получается.

Show таблица неисправностей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выбор из таблицы ошибок (ассемблер)
СообщениеДобавлено: 09 сен 2016, 14:14 
Только пришел

Зарегистрирован: 09 июл 2015, 11:01
Сообщения: 9
Откуда: Муром
еще более полная таблица:
Show таблица неисправностей ЭБУ


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выбор из таблицы ошибок (ассемблер)
СообщениеДобавлено: 09 сен 2016, 14:23 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 4336
Откуда: г. Липецк
Раз уж разговор про ассемблер, хотелось бы понять о каком ассемблере идет речь? Системы команд MSC-51, AVR, PIC, i8086, AMD64 не очень похожи.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выбор из таблицы ошибок (ассемблер)
СообщениеДобавлено: 09 сен 2016, 14:39 
Только пришел

Зарегистрирован: 09 июл 2015, 11:01
Сообщения: 9
Откуда: Муром
AVR, но это не столь важно, нужен сам алгоритм...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выбор из таблицы ошибок (ассемблер)
СообщениеДобавлено: 09 сен 2016, 14:52 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 4336
Откуда: г. Липецк
mxmedia писал(а):
AVR, но это не столь важно, нужен сам алгоритм...

Для ассемблера это очень важно, и алгоритмы на разных ассемблерах будут разные. Системы команд разные...
У AVR тоже не все однозначно, есть камни имеющие возможность обратиться к подсистеме внешней памяти (меньшинство), остальные этой возможности не имеют.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выбор из таблицы ошибок (ассемблер)
СообщениеДобавлено: 09 сен 2016, 15:05 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6957
"разобрать ее красиво все равно не получается."
???
01 = датчики
02 = форсунка
03 = фазировка зажигания
04 = подача воздуха
05 = датчик скорости/бортсеть
06 = CRC/перегрузка
11 = регулятор смеси
13 ))
14 = клапан продувки
15 = бензонасос
16 = бред софтовый


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выбор из таблицы ошибок (ассемблер)
СообщениеДобавлено: 09 сен 2016, 15:50 
Только пришел

Зарегистрирован: 09 июл 2015, 11:01
Сообщения: 9
Откуда: Муром
u37 писал(а):
???
01 = датчики
02 = форсунка
03 = фазировка зажигания
04 = подача воздуха
05 = датчик скорости/бортсеть
06 = CRC/перегрузка
11 = регулятор смеси
13 ))
14 = клапан продувки
15 = бензонасос
16 = бред софтовый


а номер форсунки?

нашел более красивую картинку обрисовывающую суть таблицы:
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выбор из таблицы ошибок (ассемблер)
СообщениеДобавлено: 09 сен 2016, 16:03 
Только пришел

Зарегистрирован: 09 июл 2015, 11:01
Сообщения: 9
Откуда: Муром
Тему можно закрывать - нашел документ SAE-J2012, в котором все разложено по полочкам))) Спасибо всем отозвавшимся!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB