Перейти к содержанию
    

J1939 декодер

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

посмотрел на несколько demo вариантов CAN Analyzer'ов но нормально декодирующих не нашел.

Может что-то посоветуете? (free)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Были в такой же ситуации - устройства с J1939 небыло. В качестве него использовали второе свое устройство с CAN и RS-232 (для ПЭВМ) интерфейсами, конечно не самый лучший выход, но зато дешево и сердито. У заказчика с J1939 устройством все сразу заработало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

есть и свои устройства с CAN и USB-CAN и стандарты куплены. сейчас надо реализовать мультифреймовую передачу и прием (даже исходники нашел на sf.net ) и хотелось бы это проверять по ходу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашел сохраненные посылки от двигателя, т.ч. материал уже есть.

 

Шеф может мне скинешь парочку. С примера по приятнее будет. Желательно конечно знать что это такое. (Например Т или давление масла или напряжение.

 

Можешь сюда а можешь на [email protected]

 

Заранее благодарю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

SasaVitebsk

там все просто - я уже сделал библиотеку для мультифреймового приема/передачи

значения из стандарта, там все описано. в принципе 71 стандарт тут пробегал, правда в современном виде документ стал более читабельным

сообщения от двигателя и его описание во вложении

оно широковещательное и самое забавное, что по стандарту tp_cm и tp_dt имеют приоритет 7, а дизель выдает 6

опять же стандарт рекомендует 50мс м/у фреймами, а дизель выдает ч/з 40...

 

скоро поедим на машину будет больше информации. если интересует выложу что-то

 

:bb-offtopic:

ваша контора вроде модемами занимается, интересно зачем вам can

ну и привет Витебску - много близких родственников оттуда :)

post-22115-1193238906_thumb.jpg

post-22115-1193238926_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну а мне трактор к подъезду обещали подогнать с детройт-дизель. :)

 

Да я видел инфу а файлы так это я и выкладывал. И новые таблицы у меня есть. Если честно, то эта тема меня не очень прельщает и я нехочу в ней увязать по самое нехочу. Приступил на этой неделе непосредственно к CANу. Хотелось бы расхлебаться в отведенный месяц и забыть как тяжкий сон. :)

 

Спасибо за ответ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

SasaVitebsk

картинка из нового стандарта ревизия 12/2004

Могу дать написанную библиотеку с консультациями как пользоваться по мылу/телефону

С условием:

1) Вы поучаствуется в разработке библиотеки (баги, тестирование, описание как пользоваться)

2) без распространения третьим лицам (т.к. это делаю для своей конторы)

на этих условиях Вы лично можете пользоваться кодом без ограничений

--

библиотека написана для 32битных систем, поэтому для 16 и 8 битных скорее всего потребуется дополнительная адаптация (нужно будет делать typdefы для 16 и 32 битных беззнаковых)

endian значения не имеет

ANSI C (89)

основное назначение - встроенные системы, не многопоточная

допускает конфигурирование : только отправка / только прием

Изменено пользователем WiseAlex

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

SasaVitebsk

картинка из нового стандарта ревизия 12/2004

Могу дать написанную библиотеку с консультациями как пользоваться по мылу/телефону

С условием:

1) Вы поучаствуется в разработке библиотеки (баги, тестирование, описание как пользоваться)

2) без распространения третьим лицам (т.к. это делаю для своей конторы)

на этих условиях Вы лично можете пользоваться кодом без ограничений

--

библиотека написана для 32битных систем, поэтому для 16 и 8 битных скорее всего потребуется дополнительная адаптация (нужно будет делать typdefы для 16 и 32 битных беззнаковых)

endian значения не имеет

ANSI C (89)

основное назначение - встроенные системы, не многопоточная

допускает конфигурирование : только отправка / только прием

 

Спасибо. Но я пожалуй откажусь.

За себя я могу отвечать, а за кого-то - нехочу. Я же не для себя делаю. Исходники они стребуют с меня, а что потом - фиг его знает.

 

Да и думаю напишу я это. Вроде уже основное понял, ну а детали придут постепенно.

 

Но от сотрудничества не отказываюсь. У меня, как вы поняли, приборная панель с CANом. Там 4 прибора простых и два по CAN. 4 уже заработали, понятно, а вот эти два ожидают пока оборудование соответственно. Как только я CAN получу - приступлю.

 

Насколько я понял из ваших слов блок управления посылает значения с требующихся мне датчиков каждые 40-50мс. И ответа не ждёт. Все подробности посылки у меня вроде расписаны. Более того у меня будет контрольный прибор с которым можно свериться. Короче думаю справлюсь. Что-то серьёзное будет - буду спрашивать, ну а что интересное откопаю - тоже поделюсь. Хотя ещё раз говорю - глубоко копать не буду. Это не моя тема, а продолжение старой со стороны. Отказаться неудобно, так как предыдущие делал, а делать тоже не хочется. Интерес - слабый. :)

 

Спасибо за предложенную помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

SasaVitebsk

Если нужны только значения приборов, то это очень просто - там обычно никаких мультифреймов нет: бери значения из CAN и вычленяй из посылки значение (возможно еще надо будет домножить на к-т приведения) - все расписано в 71 стандарте

 

основные значения (типа скорости, оборотов, температуры всякие и давления) автоматически посылаются в CAN, в зависимости от стандарта, раз в 100-1000мс

формат CANID простой: приоритет PGN источник. Ставим фильтр на те PGN/источник, который нужен (для уменьшения загрузки контроллера) и по PGN вытаскиваем значение

--

Другое дело если нужно делать диагностику, там без мультифрейма не обойтись. подробнее в 73 стандарте

--

я привел пример мультифреймового широковещательного сообщения, оно не требует подтверждений

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

SasaVitebsk

Если нужны только значения приборов, то это очень просто - там обычно никаких мультифреймов нет: бери значения из CAN и вычленяй из посылки значение (возможно еще надо будет домножить на к-т приведения) - все расписано в 71 стандарте

 

Эх, если бы все производители придерживались этого стандарта... Некоторые лепят proprietary PGN не стесняясь, хотя на поверку (что удалось размотать) оказывается в общем то же что в стандарте, только распиханное в других сочетаниях. Может оно и необходимо им...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё работает, но есть некоторые непонятки. Которые в какие-то общие детали складываются. Возможно я выводы неверные делаю.

 

Итак есть передатчик CAN - блок управления двигателем. Есть приёмник - мой прибор. Блок управления принимает сигналы с датчиков, обрабатывает и выдаёт на CAN. Я это принимаю. И вот тут возникают непонятки с блоком управления. В случае закоротки или обрыва датчика - блок управления выдаёт фиксированное значение по CAN - близкое к середине шкалы. Всегда одно и то же. Если вернуть датчик в нормальное состояние - то по некоторым каналам возвращается ч/з 20 сек, а по некоторым вообще перестаёт реагировать!!!

 

Что это такое? Где это описано? Как это обрабатывать? И можно ли это обработать?

 

В том смысле, что например при непонятках с датчиком выдаётся значение 0x3c. Могу я быть уверенным, что данное значение зарезервировано под ошибку и в рабочем режиме не встречается?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

обычно недействительные значения - все биты 1 (т.е. максимально возможное в этом битовом разрешении)

ваш случай явно не стандартный - либо ECU чего-то не понимает либо он это в такой форме выдает, хотя очень странно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...