Эмулятор кан шины

Для работы с кан шиной (поймать сообщение из шины, отправить сообщение по каому-то событию и т.д.) мы разработали вот такой многофункциональный эмулятор.

Настройка эмулятора кан шины

Эмулятор имеет три режима работы:

  • кан-хакер (кан монитор)
  • кан-бомбер
  • эмулятор

Эмулятор имеет четыре кнопки для настройки:

  1. короткое нажатие перемещение курсора влево или вниз (в зависимости от окна в котором вы сейчас), длинное нажатие назад в предыдущее окно
  2. редактирование выбранного байта, короткое нажатие изменяет значение на один вниз, длинное нажатие на 0x10
  3. редактирование выбранного байта, короткое нажатие изменяет значение на один вверх, длинное нажатие на 0x10
  4. короткое нажатие перемещение курсора вправо или вверх (в зависимости от окна в котором вы сейчас), длинное нажатие ENTER

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

Одновременное длинное нажатие кнопок 2 и 3 из режима редактирования сообщения включает кан-бомбер (при этом вы можете менять значения любых байтов на лету). Ещё одно нажатие 2 и 3 выключает этот режим.

Если в памяти эмулятора записаны сообщения тогда после включения питания он сразу переходит в режим эмулятора, на дисплее при этом будет надпись — RUNNING.

Если в памяти ничего нет, или мы включили эмулятор с нажатой кнопкой 1, мы попадаем в главное меню:

can bus эмулятор

В режиме SETTING мы можем выбрать скорость кан шины (по умолчанию 500)

эмулятор кан шины выбор скорости CAN

Если нужно выбираем нужную скорость и возвращаемся в главное меню (длинное нажатие кнопки 1).

И переходим в режим HACKER

Если вы не подключены к шине кан то на экране будет 000, если подключены и скорость шины правильная на экране будет пакет с одним из ID, к примеру как здесь:

эмулятор кан шины в режиме кан хакер

Точки внизу экрана показывают что в шине есть ещё сообщения с другими ID и с помощью 1 и 4 кнопок вы можете по ним перемещаться.

Режим редактирования сообщения

Из режима HACKER длинным нажатием кнопки 4 мы попадаем в режим редактирования сообщения.

Здесь у нас появиляся курсор для редактирования и таймаут этого сообщения (time : 100).

Кнопками 1 и 4 мы можем передвигать курсор на любой байт.

И кнопками 2 и 4 менять значение этого байта (короткое нажатие меняет значение на 0x01, длинное на 0x10)

Из этого режима можно также перейти в режим кан-бомбер (длинное нажатие кнопок 2 и 3 одновременно)

После редактирования сообщения (если ему нужно редактирование) длинным нажатием кнопки 4 переходим в окно выбора количества байт, здесь можно изменить длину сообщения (кнопки 2 и 3) если нужно, к примеру так

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

Длинное нажатие кнопки 4 и мы попадаем в окно выбора ячейки для хранения сообщения

Здесь курсором выбираем любую ячейку для хранения, к примеру 1, длинное нажатие сохранит сообщение в этой ячейке

Также мы видим здесь *F, это для выбора режима сравнения, по точному совпадению (*F) или по маске ( *M), подробно об этом здесь.

Далее длинным нажатием кнопки 1 возвращаемся в главное меню.

Здесь можно снова перейти в режим кан хакер, или перейти в режим настройки режима работы ( SETTING -> WORKING MODE).

Здесь есть три пункта в которых нужно выбрать что будет условием для включения (input), что будет выходом (output) и что будет дополниельным условием для остановки (stop).

Для примера нам нужно отправлять в шину сообщение которое мы сохранили в ячеёке 1. Для этого ставим курсор на строку output, длинное нажатие кнопки 4 и справа появляется окошко выбора

Кнопками 2 или 3 выбираем ячейку 1, длинное нажатие кнопки 4 сохраняет выбор и длинным нажатием кнопки 1 выходим из выбора.

Далее выходим в главное меню, выбираем пункт RUN и длинным нажатием включаем режим эмулятора, на экране при этом появляется надпись RUNNING.

Отправка сообщений в кан шину (кан-бомбер)

В режиме редактирования сообщений для примера собрал вот такое сообщение. 0x100 0101010101010101.

Нажимаем долго две кнопки одновременно (2 и 3), началась передача этого пакета

Любые байты мы можем менять на лету (кнопками 2 и 3), к примеру изменим последний байт.

can bus эмулятор отправка сообщения в шину

Стрелка внизу показывает что идёт передача

кан хакер мониторинг id 100

Отправка сообщения в шину Кан при включении зажигания

Частая задача — отправлять одно (два, три) сообщения в кан шину при включении зажигания (например для запуска сидений, или подмотки спидометра). Вот пример настройки:

can bus эмулятор меню

В главном меню заходим в режим кан-хакер (длинное нажатие кнопки 4), если эмулятор подключен к кан шине, на экране будет одно из сообщений шины, если нет, тогда 000:

Нажимаем длинно кнопку 4 и попадаем в окно редактирования нашего пустого сообщения

кан хакер редактирование сообщения

Кнопками 2 и 3 настраиваем нужное сообщение (короткое нажатие изменяет байт на 0х01, длинное на 0х10)

Длинное нажатие кнопки 4 и попадаем в окно выбора длины сообщения (кнопками 2 и 3), оставим 8 байт

Следующим длинным нажатием кнопки 4 попадаем в окно выбора таймаута (кнопками 2 и 3), поставимдля примера 10.

кан эмулятор выбор времени

Сообщение готово, теперь нужно поместить его в одну из трёх ячеек памяти. Следующее длинное нажатие 4 отправляет нас в это окно.

И ещё одно долгое нажатие 4 сохраняет наше сообщение в первую ячейку.

Далее возвращаемся (длинное нажатие кнопки 1) в главное меню и переходим в SETTING

Выбираем WORKING MODE

И устанавливаем ячейку 1 как выход (output), если ничего не указано в качестве входа (input) сообщение будет непрерывно передаваться с заданным интервалом после включения питания.

Возвращаемся в главное меню (кнопка 1 долго) и выбираем пункт RUN

Длинное нажатие кнопки 4 включит рабочий режим, на экране появится надпись RUNNING

И наш пакет данных полетел в шину с заданным интервалом, что мы и видим на экране кан хакера.

Эмулятор кан шины в интернет магазине