Библиотека
CHAI 2.3.0
Руководство пользователя
Версия документа 0.18
Гарантийные обязательства МАРАФОНА.
ГАРАНТИЙНЫЕ
ОБЯЗАТЕЛЬСТВА
(Ограниченная
гарантия на продукцию МАРАФОНА)
Программное обеспечение:
Гарантийное обслуживание по программному обеспечению можно получить, связавшись с офисом МАРАФОНА в оговоренный гарантийный период. Адрес офиса МАРАФОНА приведен на первой странице Руководства по эксплуатации устройства, а также приложен вместе с Регистрационной карточкой.
МАРАФОН гарантирует, что его программное обеспечение будет работать в строгом соответствии с прилагаемой к нему МАРАФОНОМ документацией в течении девяноста (90) дней с момента его приобретения у МАРАФОНА или Авторизованного Реселлера. МАРАФОН предоставляет гарантию на носитель, на котором поставляется программное обеспечение, в виде отсутствия потери им информации на тот же гарантийный срок. Данная гарантия имеет отношение только к приобретенному программному обеспечению или его замене по гарантии, и не касается любых обновлений или замен, которые получены через Internet или бесплатно.
Ответственность МАРАФОНА по обеспечению гарантии программного обеспечения состоит в замене его на новое, которое выполняет перечисленные в прилагаемой документации функции. Ответственность Заказчика состоит в выборе соответствующего приложения, программной платформы/системы и дополнительных материалов. МАРАФОН не отвечает за работоспособность программного обеспечения вместе с любыми аппаратными средствами и/или программными платформами/системами, которые поставляются третьими сторонами, если совместимость с ними не оговорена в прилагаемой к продукции МАРАФОН документации. Согласно данной гарантии, МАРАФОН старается обеспечить разумную совместимость своей продукции, но МАРАФОН не несет ответственность, если с аппаратными или программными средствами третьих фирм происходят сбои. МАРАФОН не гарантирует, что работа программного обеспечения будет непрерывна и в процессе не будут происходить ошибки, а также то, что все дефекты в программном продукте с или без учета документации на него, будут исправлены.
Ограничения гарантий
Вышеупомянутые гарантии и замечания являются исключительными и соответствуют всем прочим гарантиям, объявленным или подразумеваемым, которые даются в явном виде или в соответствии с законодательством, установленными законами или в другом виде, включая гарантии на сам товар и его пригодность для стандартных целей. МАРАФОН никогда не допускает и не принимает на себя прочую ответственность, связанную с продажами, поддержкой инсталляции или использования продукции МАРАФОНА
МАРАФОН никогда не несет ответственность по гарантии, если проводимое им тестирование и анализ определяет, что заявленный дефект в изделии не был обнаружен, или он был вызван неверным использованием заказчиком, или третьей стороной, невнимательной или неправильной инсталляцией или тестированием, попыткой ремонта неавторизованными лицами, или чем-либо еще, не предусмотренным в назначении изделия, типа несчастного случая, огня, пожара и других бедствий.
Ограничения ответственности
Ни в каком случае МАРАФОН не несет ответственность за любые убытки, включая потерю данных, потерю прибыли, стоимости покрытия или других случайных, последовательных или непрямых убытков, являющихся следствием инсталляции, сопровождения, использования, производительности, неисправности или временной неработоспособности изделий производства МАРАФОНА. Эти ограничения действуют, даже если МАРАФОН был предупрежден о возможности такого убытка.
Регистрационная карточка, прилагаемая на обратной стороне Руководства, должна быть отправлена в офис МАРАФОН по факсу, электронной почте или почтовым отправлением. Список адресов/ телефонов/ факсов офисов МАРАФОНА содержится на первой странице данного Руководства.
Юр. адрес: 117330 Москва, ул. Мосфильмовская, дом 17Б.
Факт. адрес: 119899 Москва, Ленинске горы, МГУ, НИИЯФ, д.1. стр.5.
Тел.
(495)-988-27-26, 939-56-59, 939-13-24
Факс.
(495)-939-56-59
E-mail:
support@marathon.ru
WEB:
www.marathon.ru
По техническим вопросам звоните по тел. +7 (495)-988-27-26, 939-56-59, 939-13-24 или свяжитесь с нами по email support@marathon.ru.
Лицензионное соглашение на Программное обеспечение, поставляемое с CAN интерфейсами производства МАРАФОН
Все права на программное обеспечение, аппаратное обеспечение и данное руководство принадлежат фирме Марафон и защищены законодательством Российской Федерации.
ПЕРЕД ИСПОЛЬЗОВАНИЕМ ПРИЛАГАЕМОГО ИЗДЕЛИЯ ПОКУПАТЕЛЬ ДОЛЖЕН ВНИМАТЕЛЬНО ОЗНАКОМИТЬСЯ С УСЛОВИЯМИ НАСТОЯЩЕГО СОГЛАШЕНИЯ. ИСПОЛЬЗОВАНИЕ ДАННОГО ИЗДЕЛИЯ ПОДРАЗУМЕВАЕТ ПРИНЯТИЕ ЭТИХ ПОСТАНОВЛЕНИЙ И УСЛОВИЙ. ЕСЛИ ОГОВОРЕННЫЕ УСЛОВИЯ ЯВЛЯЮТСЯ ДЛЯ ПОКУПАТЕЛЯ НЕПРИЕМЛЕМЫМИ, ОН ДОЛЖЕН НЕЗАМЕДЛИТЕЛЬНО ВЕРНУТЬ НЕИСПОЛЬЗОВАННЫЙ КОМПЛЕКТ, ПРИ ЭТОМ ЗАТРАТЫ ПОКУПАТЕЛЯ БУДУТ ВОЗМЕЩЕНЫ.
ДАННЫЙ ДОКУМЕНТ ЯВЛЯЕТСЯ ЛИЦЕНЗИОННЫМ СОГЛАШЕНИЕМ, НО НЕ СОГЛАШЕНИЕМ О ПРОДАЖЕ. МАРАФОН ЯВЛЯЕТСЯ ВЛАДЕЛЬЦЕМ ИЛИ ИМЕЕТ ЛИЦЕНЗИОННЫЕ СОГЛАШЕНИЯ С ДРУГИМИ ВЛАДЕЛЬЦАМИ АВТОРСКИХ ПРАВ НА ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ, ВХОДЯЩЕЕ В КОМПЛЕКТ ПОСТАВКИ СВОИХ ИЗДЕЛИЙ И ПО. ПОКУПАТЕЛЬ НЕ ПРИОБРЕТАЕТ НИКАКИХ ПРАВ НА ИНТЕЛЛЕКТУАЛЬНУЮ СОБСТВЕННОСТЬ, СОДЕРЖАЩУЮСЯ В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ, ЗА ИСКЛЮЧЕНИЕМ ТЕХ, КОТОРЫЕ НАСТОЯЩЕЕ СОГЛАШЕНИЕ ПРЕДОСТАВЛЯЕТ ЕМУ В ОТНОШЕНИИ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ. ПРАВО СОБСТВЕННОСТИ НА ПРИЛАГАЕМУЮ КОПИЮ УПОМЯНУТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, А ТАКЖЕ НА ВСЕ КОПИИ, СДЕЛАННЫЕ С НЕЕ, СОХРАНЯЕТСЯ ЗА МАРАФОНОМ ИЛИ ДРУГИМИ ВЛАДЕЛЬЦАМИ АВТОРСКИХ ПРАВ. ПОКУПАТЕЛЬ ПРИНИМАЕТ НА СЕБЯ ВСЮ ОТВЕТСТВЕННОСТЬ В ОТНОШЕНИИ ВЫБОРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ДОСТИЖЕНИЯ СВОИХ ЦЕЛЕЙ, А ТАКЖЕ ЗА УСТАНОВКУ, ИСПОЛЬЗОВАНИЕ И РЕЗУЛЬТАТЫ ИСПОЛЬЗОВАНИЯ ДАННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.
Покупатель имеет право:
1. копировать Программное обеспечение исключительно для создания резервных копий или при установке для подразумеваемого обычного использования Программного обеспечения при условии, что в любой копии упомянутого Программного обеспечения будут воспроизведены все уведомления об авторских правах и торговых марках, содержащиеся в данном Программном обеспечении;
2. передавать право владения копиями Программного обеспечения другому юридическому или физическому лицу путем передачи данной копии настоящего Соглашения и всей прочей документации, а также по меньшей мере одной полной и не претерпевший изменений копии Программного обеспечения, при условии, что (1) все сделанные Покупателем копии Программного обеспечения будут переданы означенному лицу или уничтожены, (2) такая передача права владения прекращает лицензионное соглашение Покупателя с МАРАФОНОМ, и (3) означенное лицо примет на себя и будет соблюдать постановления данного лицензионного соглашения с момента начала пользования Программным обеспечением; и
3. использовать торговые марки, связанные с Программным обеспечением, исключительно в соответствии с существующей практикой использования торговых марок, включая ссылки на имена владельцев торговых марок.
Без письменного согласия МАРАФОНА запрещается:
1. использовать, копировать, изменять, объединять или передавать копии данного Программного обеспечения при условиях, отличных от оговоренных в данном соглашении;
2. деассемблировать или декомпилировать Программное обеспечение;
3. выдавать сублицензию, сдавать в аренду и лизинг, передавать в пользование данное Программное обеспечение или любую его копию.
Копирование этого руководства возможно только при получении письменного разрешения у фирмы Марафон.
Содержание
1.1. Список поддерживаемого оборудования 8
2.1. ОС Windows 2000/XP/Vista 9
3.1. ОС Windows 2000/XP/Vista 19
4.1. ОС WINDOWS 2000/XP/Vista 20
5. Использование библиотеки 22
5.1. ОС Windows 2000/XP/Vista 22
6. Использование программы canmon 25
Этот документ описывает установку и использование библиотеки CHAI-2.3.0 в операционных системах Linux, Windows 2000, Windows XP и Windows Vista.
ПЕРЕД УСТАНОВКОЙ БИБЛИОТЕКИ ВНИМАТЕЛЬНО ОЗНАКОМЬТЕСЬ С ИНСТРУКЦИЕЙ ПО УСТАНОВКЕ И УДАЛЕНИЮ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ CHAI.
CHAI (CAN Hardware Abstraction Interface) представляет собой библиотеку, реализующую программный интерфейс доступа к сети CAN на канальном уровне (Data Link Layer) семиуровневой модели ISO/OSI. Программный интерфейс, предоставляемый библиотекой CHAI, не зависит от используемой аппаратуры CAN и операционной системы. Библиотека разработана как для применения во встраиваемых приложениях, так и для задач, работающих под управлением операционных систем общего назначения: Windows 2000/XP/Vista, Linux.
CHAI-2.3.0 поддерживает следующие аппаратные интерфейсы производства фирмы Марафон:
ОС Windows 2000/XP/Vista — CAN-bus-USBnp (CAN-bus-USBnps), CAN-bus-USB, CAN-bus-PCIe, CAN-bus-PCI, CAN-bus-ISA (CAN-bus-ISAm, CAN-bus-MicroPC, CAN-bus-PC104);
ОС Linux - CAN-bus-PCIe, CAN-bus-PCI, CAN-bus-ISA (CAN-bus-ISAm, CAN-bus-MicroPC, CAN-bus-PC104);
Ниже приведены инструкции для установки библиотеки в ОС Windows XP. В операционных системах Windows 2000/Vista установка производится по аналогии. Для установки библиотеки вы должны обладать правами администратора.
Удалите предыдущую версию драйверов CHAI. Если у вас не установлены эти драйвера, то перейдите к следующему пункту инструкции. Для версий 2.x.x просто запустите мастер удаления (Start->Programs->CHAI-2.x.x->Uninstall CHAI). Для версий CHAI-1.x.x запустите Device Manager (Start->Settings->Control Panel-> System->Hardware->Device Manager); откройте группу устройств CAN; последовательно выбирая каждое устройство в группе, щелкайте на правую кнопку мыши, и во всплывающем меню выбирайте пункт Uninstall. После того, как все устройства CAN деинсталлированы, запустите мастер удаления CHAI-1.x.x (Start->Programs->CHAI-1.x.x->Uninstall).
Запустите исполняемый файл chai-2.3.0-2k-XP-Vista.exe.
По умолчанию инсталлятор устанавливает CHAI с поддержкой устройств
PCI, PCI Express и USB (платы CAN-bus-PCI,
CAN-bus-PCIe, CAN-bus-USBnp,
CAN-bus-USB). Если вы используете
устройства с интерфейсом ISA (платы CAN-bus-ISA, CAN-bus-ISAm,
CAN-bus-MicroPC, CAN-bus-PC104), отметьте пункт в меню «ISA
device support». Далее следуйте инструкциям инсталляционной
программы.
После
завершения работы инсталляционной программы вам будет предложено
перегрузить компьютер. Перегрузите компьютер.
Если вы
установили в компьютер плату CAN-bus-PCI,
то при входе в систему будет показано сообщение «Found New
Hardware/ System DMA Controller», а затем запустится «Found
New Hardware Wizard».
Выберите
пункт «No, not this time» (см. рис.) и нажмите
кнопку
“Next”.
На
следующем
экране
отметьте
пункт
“Install from
a list of specific location” (см.
рис.),
нажмите
«Next».
На
следующем экране оставьте отмеченными пункты: «Search for the
best driver in these locations» и «Include this location
in the search» (см. рис.). Затем нажмите кнопку «Browse»
и выберите папку CHAI_INSTALL_DIR\inf, где CHAI_INSTALL_DIR это
папка куда вы установили библиотеку CHAI (по умолчанию C:\Program
Files\CHAI-2.3.0). Нажмите кнопку «Next».
Device
Manager выполнит установку необходимых файлов и на следующем экране
высветится «Completing Found New Hardware Wizard» (см.
рис.). Нажмите кнопку «Finish». Если вы используете
Windows Vista вам необходимо отключить UAC (см. пункт 7
ниже).
При подключении интерфейса CAN-bus-PCIe (шина PCI Express) будет показано сообщение «Found New Hardware/ Other PCI Bridge Device», а затем запустится «Found New Hardware Wizard». Вам необходимо дейстовать в точности как в случае с интерфейсом CAN-bus-PCI (см. предыдущий пункт 4). Если вы используете Windows Vista, после установки вам необходимо отключить UAC (см. пункт 7 ниже).
При подключении интерфейса CAN-bus-USBnp,
CAN-bus-USBnps, или
CAN-bus-USB будет показано сообщение «Found New
Hardware/ CAN-bus-USBnp», а затем
запустится «Found New Hardware Wizard». Вам необходимо
действовать в точности как в случае с интерфейсом CAN-bus-PCI (см.
пункт 4). Если вы используете Windows Vista, после установки вам
необходимо отключить UAC (см. пункт 7
ниже).
Для интерфейса CAN-bus-USBnp «Found
New Hardware Wizard» запустится два раза (по количеству
независимых USB-каналов)
и процедуру установки необходимо выполнять два раза.
Если вы
используете платы CAN-bus-ISA
(CAN-bus-ISAm,
CAN-bus-MicroPC, CAN-bus-PC104),
то вам необходимо
задать ресурсы аппаратуры (базовый адрес и линию прерывания) вручную
через Device Manager.
Запустите Device Manager
(Start->Settings->Control
Panel-> System->Hardware->Device Manager).
Откройте группу устройств CAN и щелкните два раза на пункте
CAN-bus-ISA (KMDF).
В
открывшихся свойствах устройства выберите Resources->Set
Configuration Manually. Если вы используете плату CAN-bus-ISAm,
CAN-bus-MicroPC или CAN-bus-PC104 которые имеют два CAN-контроллера,
выберите Setting based on: «Basic Configuration 0000» и
заполните вручную ресурсы:
первый пункт сверху Memory Range
соответствует базовому адресу карты (в соответствие с выставленными
перемычками на плате); второй пункт Memory Range должен быть равен
базовому адресу (значение первого пункта) + 0x200; третий пункт IRQ
– линия прерывания первого CAN-контроллера (в соответствие с
выставленными перемычками на плате); четвертый пункт IRQ –
линия прерывания второго CAN-контроллера (в соответствие с
выставленными перемычками на плате);
Если
вы используете плату CAN-bus-ISA которая имеет один CAN-контроллер,
выберите Setting based on: «Basic Configuration 0001» и
заполните вручную ресурсы:
первый пункт сверху Memory Range
соответствует базовому адресу карты (в соответствие с выставленными
перемычками на плате); второй пункт IRQ – линия прерывания
CAN-контроллера (в соответствие с выставленными перемычками на
плате).
После ручного задания ресурсов нажмите кнопку «Ok»,
вам будет предложено перегрузить компьютер – перегрузите
компьютер. Если вы используете Windows Vista вам необходимо
отключить UAC (см. следующий пункт 7)
Отключение User Access Control (UAC) для ОС Windows
Vista.
Если вы
используете CHAI для плат c интерфейсом ISA или PCI в операционной
системе Windows Vista вам обязательно нужно отключить User Access
Control (UAC) иначе перечисление каналов для ваших плат не будет
работать (каналы не будут обнаруживаться библиотекой CHAI). Для
отключения UAC запустите «Пуск->Панель Управления->
Учетные записи пользователей->Включение или отключение контроля
учетных записей (UAC)».
Уберите
«галочку» как на рисунке и нажмите кнопку «OK»,
вам будет предложено перегрузить компьютер, перегрузите компьютер.
Для установки библиотеки вы должны обладать правами root. Начиная с версии 2.0.0 библиотека CHAI поддерживает только ветку версий ядра 2.6.x. Для определения версии ядра которое используется в вашей системе, наберите команду
uname -r
Эта команда выводит номер версии работающего ядра.
Установка библиотеки и драйвера для ядер 2.6.x:
Распакуйте
архив с дистрибутивом chai-2.3.0-linux.tar.gz в инсталляционную
директорию, например в /opt:
tar
-C /opt -xzvf chai-2.3.0-linux.tar.gz
в
результате выполнения этой команды архив будет распакован в
директорию /opt/chai-2.3.0.
Перейдите в
директорию куда был распакован архив chai-2.3.0-linux.tar.gz,
например
cd
/opt/chai-2.3.0
выполните
команду make:
make
в
результате будут скомпилированы драйвер unican (unican.ko),
программы canmon, chaitest и скрипт запуска chai.
выполните
команду make install:
make
install
в
результате будут созданы специальные файлы устройств /dev/canX,
созданы символические ссылки из директории /bin на скомпилированные
программы canmon, chaitest и chai, создана символическая ссылка из
директории /lib на разделяемую библиотеку libchai.so, и в случае
использования вашим дистрибутивом системы запуска SySV, будет
сконфигурирована автоматическая загрузка драйвера unican при
загрузке операционной системы.
Если понадобится, в дальнейшем вы можете пересобрать библиотеку командой make rebuild.
Запустите
мастер
удаления
CHAI
Start->Programs->
CHAI-2.3.0->Uninstall CHAI.
Перейдите в
директорию, куда была установлена библиотека, например
cd
/opt/chai-2.3.0
выполните
команду
make uninstall
make
uninstall
удалите
директорию, куда была установлена библиотека, например
rm
-rf /opt/chai-2.3.0
Ниже мы под символом CHAI_INSTALL_DIR будем подразумевать директорию, в которой установлена chai. Например, если chai установлена в с:\Program Files\CHAI-2.3.0, то вместо CHAI_INSTALL_DIR надо подставлять с:\Program Files\CHAI-2.3.0.
В состав программного пакета библиотеки входят:
библиотека CHAI версии 2.3.0
CHAI_INSTALL_DIR\lib\chai.lib - lib-файл системы разработки MS Visulal C++ 2005 для линковки программ, использующих CHAI.
CHAI_INSTALL_DIR\lib\chai.dll - сама разделяемая библиотека (копия этого файла копируется при установке в системную папку WINDOWS\system32 (или в WINNT\system32 для Windows 2000 ).
Заголовочный файл библиотеки - CHAI_INSTALL_DIR\include\chai.h, Этот файл должны включать все программы использующие библиотеку.
текстовый CAN монитор - CHAI_INSTALL_DIR\bin\canmon.exe
программа тестирования библиотеки CHAI (chaitest) - CHAI_INSTALL_DIR\bin\chaitest.exe
Документация на библиотеку - CHAI_INSTALL_DIR\doc
Примеры программирования – CHAI_INSTALL_DIR\ex
Исходные коды программ chaitest.exe и canmon.exe c файлами проектов MS Visual C++ 2005 Express Edition - CHAI_INSTALL_DIR\src
INF-файлы для CAN-интерфейсов - CHAI_INSTALL_DIR\inf
Библиотека поддерживает до 8 CAN-контроллеров в одном компьютере. Каждый CAN контроллер рассматривается как отдельное устройство и ему в соответствие ставится отдельный независимый канал ввода-вывода CAN. Каналы нумеруются последовательно начиная с 0.
При написании программ использующих CHAI,
вы должны включать в текст программы заголовочный файл
CHAI_INSTALL_DIR\include\chai.h, и при
сборке линковать вашу программу с lib-файлом
CHAI_INSTALL_DIR\lib\chai.lib.
Библиотека
разрабатывалась в среде MS Visual C++ 2005 Express Edition, поэтому
формат lib-файла chai.lib соответствует формату этой версии среды
разработки.
Подробную информацию по использованию API CHAI
вы можете прочитать в "CHAI Руководство программиста".
Смотрите также примеры в директории CHAI_INSTALL_DIR/ex и исходные
коды програм chaitest.exe и canmon.exe в директории
CHAI_INSTALL_DIR\src.
Драйвер поддерживает виртуальную файловую систему /proc, через которую можно узнать состояние каждого контроллера и общую информацию о драйвере. Драйвер создает директорию /proc/can, в которой находятся следующие файлы:
unican - содержит общую информацию о драйвере (версия, базовые адреса и линии прерываний обнаруженных интерфейсов, а также номера каналов (minor numbers) интерфейсов,
0, 1, 2 ... - соответствуют контроллерам привязанным к соответствующим minor номерам (/dev/can0, /dev/can1, /dev/can2 ...). Эти файлы содержат подробную информацию о состоянии контроллера (значения регистров, baud rate, acceptance filter).
Ниже мы для описания команд для работы с библиотекой под символом CHAI_BASE будем подразумевать директорию в которой установлена chai. Например, если chai установлена в /opt/chai-2.3.0, то вместо CHAI_BASE следует подставлять /opt/chai-2.3.0.
Для загрузки драйвера используйте команду chai. Эта программа принимает в качестве параметра следующие команды: start - загрузить драйвер, stop - выгрузить драйвер, restart - перегрузить драйвер, status - вывести текущее состояние драйвера. Пример:
загрузка
драйвера:
chai
start
вывод
статуса:
chai
status
выгрузка
драйвера
chai
stop
При написании программ использующих CHAI, вы должны
включать в текст программы заголовочный файл
CHAI_BASE/include/chai.h, и при сборке линковать вашу программу с
динамической библиотекой CHAI_BASE/lib/libchai.so. Например, для
компиляции вашей программы вы можете использовать команду
(предполагается, что библиотека CHAI установлена в /opt/chai-2.3.0):
gcc
-I/opt/chai-2.3.0/include -L/opt/chai-2.3.0/lib -o your_app
your_app.c -lchai
Более подробную информацию по использованию API CHAI вы можете прочитать в "CHAI Руководство программиста". Смотрите также примеры в директории CHAI_BASE/ex, и исходные коды програм chaitest.c и canmon.c в директории CHAI_BASE/src .
Для работы с CAN сетью вы можете воспользоваться программой CAN-монитор (CHAI_INSTALL_DIR\canmon.exe в Windows или CHAI_INSTALL_DIR/bin/canmon в Linux). Чтобы запустить программу выполните
Start->Programs->CHAI-2.3.0->canmon |
в Windows или наберите в командной строке Linux:
#canmon |
CAN монитор - программа позволяющая отправлять и принимать пакеты CAN сети. Программа работает в текстовом режиме и управляется встроенными командами, вводимыми пользователем в ответ на приглашение монитора. При запуске программа canmon выводит на экран список обнаруженных библиотекой CHAI CAN-интерфейсов и номера назначенных им каналов ввода-вывода CAN. Затем программа запрашивает номер канала с которым будет вестись работа.
После успешной инициализации выбранного канала монитор выводит приглашение, на которое можно вводить следующие команды:
Available commands: help - display help message on command send - send frame of standart (sff) or extended (eff) format sendrtr - send RTR frame of standart (sff) or extended (eff) format start - start CAN-chip (leave reset mode) stop - stop CAN-chip (enter reset mode) setfilter - set hardware acceptance filter of CAN-chip status - print CAN-chip status setlom - enter CAN-chip to listen-only-mode clearlom - leave CAN-chip from listen-only-mode hwreset - hardware reset CAN-chip getrccnt - show number of frames in rcv queue openlog - open logfile and switch logging on closelog - close logfile and switch logging off setwtout - set write timeout for channel (in milliseconds) showcount - show rcv and snd frames counter resetcount - reset rcv and snd frames counter quit - quit canmonitor |
Команда help без аргументов выводит вышеприведенный список, если команде help передать в качестве параметра команду из этого списка, то она выведет краткую справку о команде. Например,
canmon> help help help: display help message on command usage: help [command name] canmon> help send send: send frame of standart (sff) or extended (eff) format usage: send id:[databyte1,databyte2 ... databyte8] sff|eff [repeat num] |
Все принимаемые из CAN сети пакеты выводятся в асинхронном режиме на экран. Кадры выводятся в формате с полями фиксированного размера:
EV NUM/ERR F/F ID LEN R/D D0 D1 D2 D3 D4 D5 D6 D7 TIMESTAMP |
Здесь:
EV [событие] - RX указывает на полученный, TX на отправленный кадр, ER указывает на асинхронную ошибку сети (см. следующий пункт);
NUM/ERR [номер кадра] – счетчик полученных/отправленных кадров; счетчик ведет счет до 9 999 999 кадров, затем обнуляется; выводится в формате десятеричных чисел;
F/F [формат кадра] – SFF указывает на кадр стандартного формата (идентификатор имеет длину 11 бит), EFF указывает на кадр расширенного формата (идентификатор имеет длину 29 бит);
ID [идентификатор] – значение идентификатора кадра, выводится в формате шестнадцатеричных чисел ;
LEN [длина] - длина поля данных в байтах (от 0 до 8 байт);
R/D (RTR/DAT) – RTR указывает на кадр RTR (поле данных отсутствует), DAT указывает на кадр данных;
D0 … D7 [байты данных] – значения байтов поля данных кадра от первого до восьмого в зависимости от длины поля данных, если поле пусто, то соответствующий байт данных отсутствует в кадре; если получен RTR кадр это поле оставляется пустым; данные выводятся в формате шестнадцатеричных чисел;
TIMESTAMP [значение отметки времени в микросекундах] – метки времени проставляются драйвером в момент извлечения кадра из регистров CAN-контроллера (позволяет оценить интервал времени между моментами приема кадров);
Например:
RX 0000002 SFF 0000003E 2 DAT FA 53 0009376797 |
означает, что получен кадр с порядковым номером 2, стандартного формата (SFF – длина идентификатора 11бит) с идентификатором 0x3E, длина данных 2, первый байт данных равен 0xFA, второй – 0x53, отметка времени 9376797 микросекунд.
Каждые 10 выведенных кадров на экране печатается строка с подписями названий полей фиксированного размера в виде:
EV NUM/ERR F/F ID LEN R/D D0 D1 D2 D3 D4 D5 D6 D7 TIMESTAMP |
Обнаруженные в процессе работы ошибки выводятся на экран асинхронно наряду с посланными и принятыми кадрами:
“ER WTOUT WRITE TIMEOUT" – кадр не был отослан в течении стандартного временного интервала, ошибка может возникнуть если нет соединения с сетью (например, обрыв кабеля, нет других контроллеров в сети, несоответствие выставленных скоростей передачи у контроллеров в сети)
"ER EWL ERROR WARNING LIMIT" – один из аппаратных счетчиков ошибок CAN-контроллера превысил уровень предупреждения (по умолчанию 96); кроме указаных в предыдущем пункте (WTOUT), причиной возникновения этой ошибки могут быть помехи в сети (согласно спецификации Bosch CAN 2.0);
"ER BOFF BUS OFF" – контроллер отключен от сети из-за ошибок (один из счетчиков ошибок достиг предельного значения 255); при наступлении этого события CAN-контроллер переходит в режим инициализации (CAN_INIT);
"ER HOVR HARDWARE OVERRUN" – произошло переполнение аппаратной приемной очереди CAN-контроллера (безвозратно потерян один или несколько полученных кадров), причина – большой поток кадров в сети, ЦПУ не успевает вынимать кадры из аппаратной очереди контроллера;
"ER SOVR SOFTWARE OVERRUN" – произошло переполнение программной приемной очереди драйвера (безвозратно потерян один или несколько полученных кадров), причина – большой поток кадров в сети, пользовательское приложение не успевает вынимать кадры из программной очереди драйвера;
Отправить
подряд три пакета расширенного формата с идентификатором ID=0x7 и
четырьмя байтами данных 0x1 0x2 0x3 0x4 можно командой:
send
0x7:0x1,0x2,0x3,0x4 eff repeat 3
Отправить пять
RTR-пакетов стандартного формата длины 4 байт с идентификатором 0xd
можно командой:
sendrx
0xd:4 sff repeat 5
Включить
запись всех отправляемых и принимаемых CAN-пакетов в файл
c:\chai-2.3.0\canmon.log можно командой:
openlog
c:\chai-2.3.0\canmon.log
Закрыть
лог-файл и выключить запись принимаемых отправляемых пакетов можно
командой:
closelog
Перевести
контроллер в режим Listen-Only-Mode, в этом режиме контроллер не
участвует в работе шины (не шлет кадры подтверждения и ошибок) но
только принимает проходящие по сети кадры, этот режим используется
для не возмущающего тестирования CAN-сетей. Команда setlom может
вызываться только, если контроллер находится в режиме
конфигурирования (команды stop/start).
stop
setlom
start
Выключить
режим Listen-Only-Mode, Команда clearlom может вызываться только,
если контроллер находится в режиме конфигурирования (команды
stop/start).
stop
clearlom
start
Установить
аппаратный фильтр контроллера на прием только кадров с
идентификатором 0x1. Команда setfilter может вызываться только, если
контроллер находится в режиме конфигурирования (команды stop/start).
stop
setfilter
0x1 0xffff
start
Аппаратный
фильтр состоит из двух значений: acode - значение фильтра, и amask -
значение маски. Значение фильтра задает идентификатор принимаемых
кадров (в нашем случае 0x1). Маска задает значащие позиции в
значении фильтра, Если бит номер N в маске выставлен в 1, то бит
номер N в значении фильтра должен быть равен биту N в идентификаторе
принимаемого кадра для успешного прохождения этого кадра через
фильтр. Если бит номер N в маске выставлен в 0, то биты номер N в
значении фильтра и идентификаторе принимаемого кадра не
сравниваются. В нашем случае маска равна 0xffff - все биты
идентификатора участвуют в сравнении, что означает, что кадр будет
принят, только если все его биты совпадают с соответствующими битами
значения фильтра, т.е. кадр будет принят, только если его
идентификатор равен 0x1. Текущая версия программы canmon
поддерживает аппаратный фильтр только для 11-битных кадров, действие
фильтра (если он установлен) на 29-битные кадры - непредсказуемо.
Если вам необходимо
работать с аппаратным фильтром 29-битных кадров используйте
программу CANwise.
Установить
аппаратный фильтр контроллера на прием только кадров с
идентификаторами от 0x0 до 0x7 включительно.
stop
setfilter 0x0 0xfff8
start
здесь
маска 0xfff8 указывает, что первые три бита идентификатора не
участвуют в сравнении, а остальные должны совпадать с 0. Таким
образом, через фильтр будут проходить кадры с идентификаторами от
0x0 до 2 в степени 3 минус 1 (т.е. 0x7).
Установить
аппаратный фильтр контроллера на прием всех кадров.
stop
setfilter
0x0 0x0
start