Комплекс программного обеспечения CAN. Библиотека CAN

advertisement
МАРАФОН
CAN технология
Комплекс программного обеспечения
CAN.
Библиотека
CAN Hardware Abstraction Interface
(CHAI).
Федор Недеогло
<fedor@marathon.ru>
http://www.marathon.ru
МАРАФОН
CAN технология
Стек протоколов CAN
Программное
обеспечение CAN
Программные
приложения
Программное
обеспечение CAN
фирмы Марафон
Программа
тестирования и
конфигурирования
сети CAN - CANwise
CAN Higher Layer
Protocol
(Application Layer)
Библиотеки
CAN-протоколов
верхнего уровня
Библиотеки
CANopen и DeviceNet
CAN
(Physical/DataLink)
Драйверы
CAN-контроллеров и
CAN-адаптеров
CAN Hardware
Abstraction Interface
(CHAI)
http://www.marathon.ru
МАРАФОН
CAN технология
Основные принципы разработки
• Переносимость
• Расширяемость
Основной метод разработки
четко определенные внешние и внутренние
интерфейсы (структурный подход, модульность) на
всех уровнях стека протокола
http://www.marathon.ru
МАРАФОН
CAN технология
CHAI
Функциональность библиотеки CHAI
Унифицированный программный интерфейс доступа
к сети CAN на канальном уровне.
Программный интерфейс CHAI не зависит от
используемой аппаратуры CAN и операционной
системы или среды выполнения микроконтроллера.
http://www.marathon.ru
МАРАФОН
CHAI
CAN технология
Управление
Сбор
данных
Анализ сети
CAN Hardware Abstraction Interface
CAN-bus-PCI
CAN-bus-ISA
CAN-bus-USB
CAN-bus
CAN-bus-PC104
МАРАФОН
CHAI
CAN технология
Библиотека CHAI поддерживает:
• стандартный и расширенный протокол CAN (11 и 29-битные
идентификаторы),
• скорость передачи до 1 Мбит/сек,
• Регистрацию функций обратного вызова на возникновение
асинхронных событий сети (прием кадра, ошибки сети),
• автоматическое
интерфейсов
определение
всех
поддерживаемых
CAN-
• Listen Only Mode (если поддерживается CAN-контроллером),
• Работу в ОС общего назначения (Linux, Windows) и во
встраиваемых применениях (микроконтроллеры).
http://www.marathon.ru
МАРАФОН
CAN технология
CHAI
Реализация CHAI
 внешний интерфейс – переносимый API CHAI
 внутренние интерфейсы – обеспечивают расширяемость
Язык реализации - ANSI C
http://www.marathon.ru
МАРАФОН
CHAI
CAN технология
Пользовательское приложение
Виртуальный CAN-контроллер
Канал ввода-вывода
Виртуальный CAN-контроллер
Канал ввода-вывода
CAN-bus-PCI
МАРАФОН
CHAI
CAN технология
Виртуальный CAN-контроллер
CiSetCB( )
CiWrite( )
CiRead( )
Асинхронные
события сети
CAN
CIEV_RC
CIEV_TR
CIEV_EWL
CIEV_BOFF
очередь
кадров на
отправку
приемная
очередь
кадров
FIFO
FIFO
CAN сеть
МАРАФОН
CAN технология
CHAI
Переносимый программный интерфейс CHAI
• Каждый CAN контроллер идентифицируется целым числом (каналом
ввода-вывода) начиная с 0.
• Каждый CAN контроллер (канал ввода-вывода) рассматривается
библиотекой как отдельное устройство, вне зависимости оттого, что те
или иные CAN контроллеры могут быть сгруппированы в одной плате
расширения.
•API CHAI состоит из трех групп функций: базовые функции - позволяют
конфигурировать CAN-контроллер и отправлять/принимать CAN-кадры
в сеть, функции определения статуса CAN-контроллера и CANинтерфейса, дополнительные функции зависящие от типа применяемого
CAN-контроллера (аппаратный сброс, Listen Only mode).
http://www.marathon.ru
МАРАФОН
CAN технология
API CHAI
(код специфичный для операционной системы)
Модуль
абстракции
от среды
выполнения
IOCTL операции
очереди
буферы
(код
специфичный
для ОС)
(общий код)
Модуль абстракции
от CAN-контроллера
(код специфичный для
CAN-контроллера)
Модуль абстракции
от CAN-интерфейса
(код специфичный для
операционной системы
и CAN-интерфейса)
CHAI
ПО CHAI в архитектуре
Unican состоит из:
• модуля API CHAI
• модуля Unican
• модуля абстракции от CANконтроллера
• модуля абстракции от CANинтерфейса
• модуля абстракции от среды
выполнения
Шина ISA/PCI
Аппаратура CAN
( PCI/ISA CAN-интерфейсы )
http://www.marathon.ru
МАРАФОН
CAN технология
CHAI
Добавление поддержки нового CAN-интерфейса
состоит из двух этапов:
• добавление двух новых функций для каждой
поддерживаемой платформы в модуль абстракции от CANинтерфейса,
• добавление стандартного набора операций с CANконтроллером в модуль абстракции от CAN-контроллера,
если интерфейс содержит неподдерживаемые
контроллеры.
http://www.marathon.ru
МАРАФОН
CAN технология
CANopen
Функциональность библиотеки CANopen
Библиотека реализует спецификацию протокола
CANopen и предоставляет переносимый
программный интерфейс на уровне приложения
стека протоколов.
http://www.marathon.ru
МАРАФОН
CAN технология
CANwise
Функциональность программы CANwise
CANwise – универсальное приложение для
тестирования и конфигурирования CAN сетей.
Позволяет отслеживать пакеты в сети, посылать пакеты
произвольного содержания в сеть, анализировать трафик
протокола CANopen, работать с устройствами через сеть в
терминах протоколов высокого уровня.
http://www.marathon.ru
МАРАФОН
CAN технология
CANwise
Подгружаемые модули CANwise
Основной модуль
графического интерфейса
Подгружаемый модуль
CANmonitor
Подгружаемый модуль
CANopen Анализатор
Подгружаемый модуль
CANopen Конфигуратор
http://www.marathon.ru
МАРАФОН
CAN технология
Комплекс программного обеспечения
CAN.
Библиотека
CAN Hardware Abstraction Interface
(CHAI).
Федор Недеогло
<fedor@marathon.ru>
http://www.marathon.ru
МАРАФОН
CAN технология
CHAI
Архитектура Unican для ОС общего назначения
позволяет:
• иметь максимальное количество общего исходного кода
драйверов CAN для многих операционных систем и как
следствие уменьшить затраты на поддержку исходного
кода для нескольких ОС;
• увеличить скорость добавления в драйвер поддержки
новых CAN-интерфейсов;
• увеличить скорость переноса драйвера на новую
платформу (операционную систему).
Как реализовано?
http://www.marathon.ru
МАРАФОН
CAN технология
CHAI
Перенос на новую платформу
состоит из:
• добавления поддержки новой платформы в модуль
абстракции от среды выполнения,
• добавление двух новых функций для каждого CANинтерфейса в модуль абстракции от CAN-интерфейса,
• написание модуля API CHAI для новой платформы.
Как реализовано?
http://www.marathon.ru
Download