Цап с can шиной

Контроллеры CANNY 7.2 Duo имеют два независимых интерфейса CAN. Два специальных контакта разъема X1, использующиеся драйвером интерфейса CAN0 (CAN0-H и CAN0-L), и два контакта разъема X3, использующиеся драйвером интерфейса CAN1 (CAN1-H и CAN1-L), предназначены для подключения к цифровой информационной шине CAN.

Драйвер CAN контроллера CANNY 7.2 Duo имеет по 16 фильтров для каждого из CAN-интерфейсов.

Интерфейсы CAN0 и CAN1 имеют индивидуальные настройки и могут работать на разных скоростях обмена данными, что позволяет подключать контроллер CANNY 7.2 Duo одновременно к двум разным шинам CAN.

Регистры драйвера

Ниже приведено описание допустимых значений регистров управления работой драйверов CAN, где х — номер интерфейса CAN, 0 или 1.

Регистры конфигурации драйвера CAN позволяют установить параметры работы соответствующего интерфейса CAN в качестве узла сети CAN и, при необходимости, ограничить объем принимаемых узлом сообщений при помощи фильтров:

Допустимые значения регистров конфигурации драйвера CAN.

Примечание: В режиме пассивного приема сообщений CAN (listen only) в отличие от нормального режима CAN (normal) драйвер выполняет прием данных из CAN-шины, но при этом не отправляет подтверждение их приема и не переводит сеть в состояние ошибки при обнаружении таковой. Таким образом контроллер остается незаметным для остальных устройств на шине, никак себя не проявляя. Для нормальной работы сети, в ней должны находится минимум два устройства работающие в режиме normal.

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

Значения константы скорости приема/передачи данных.

Именованные константы, определяющие конфигурацию CAN-драйвера, содержатся в разделе «Конфигурация CAN» справочника констант CannyLab, доступ к которому осуществляется через контекстное меню элемента «Константа» функциональной диаграммы.

Регистры диагностики драйвера CAN позволяют пользователю определить состояние драйвера в тот или иной момент выполнения диаграммы.

Регистры диагностики драйвера CAN.

Регистры приема драйвера CAN позволяют получить доступ к значениям, полученным по шине.

Регистры приёма драйвера CAN.

Примечание: Регистр принятого сообщения CAN ERL, помимо числа байт в принятом сообщении 0…8 в младших битах, содержит в своих старших битах информацию о специальных признаках сообщения: бит 15 — признак EXT и бит 14 признак RTR. Где EXT = 1 при приеме сообщения в расширенном формате, EXT = 0 при стандартном формате сообщения; RTR = 1 при приеме удаленного запроса данных, RTR = 0 при приеме обычного сообщения.

Регистры передачи сообщений интерфейсов CAN используются для размещения в буфере передачи драйвера данных, подлежащих отправке.

Регистры передачи сообщений CAN.

Примечание: Регистр сообщения передачи CAN ERL, помимо числа байт в передаваемом сообщении 0…8 в младших битах, содержит в своих старших битах информацию о специальных признаках сообщения: бит 15 — признак EXT и бит 14 признак RTR. Где EXT = 1 при передаче сообщения в расширенном формате, EXT = 0 при стандартном формате сообщения; RTR = 1 при передаче удаленного запроса данных, RTR = 0 при передаче обычного сообщения.

Примеры

Пример №1 функциональной диаграммы приема данных из шины CAN0.

Выполняя диаграмму контроллер, получая по шине сообщения стандартного формата с идентификатором 0x0123, содержащие один байт данных, устанавливает на трех своих выходах состояние в соответствии с полученным значением.

Цап с can шиной

Пример функциональной диаграммы приема данных из шины CAN0.

Пример №2 функциональной диаграммы приема данных из шины CAN0.

Выполняя диаграмму контроллер, получая по шине сообщения стандартного формата с идентификатором 0x01F3, анализирует содержащееся в одном из байтов сообщения значение и устанавливает на своих выходах и встроенном зеленом светодиоде 1 соответствующие состояния.

Цап с can шиной

Пример №2 функциональной диаграммы приема данных из шины CAN0.

Пример №3 функциональной диаграммы приема данных из шины CAN0 с использованием фильтров.

В процессе работы контроллер, получая по шине сообщения в расширенном формате, сравнивает их идентификаторы со значениями, заданными в регистрах установки фильтров сообщения CAN0 и, если они совпадают, передает их содержимое в регистры приема CAN0 для обработки в функциональной диаграмме, сопровождая это включением своего зеленого светодиода 1 на 10мс. Сообщения, идентификаторы которых не совпадают с указанными в фильтрах, автоматически отбрасываются, сокращая расходование ресурсов контроллера и повышая возможности бесперебойного приема требуемых сообщений.

Цап с can шиной

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

Пример №1 функциональной диаграммы отправки данных в шину CAN0.

Выполняя диаграмму контроллер, с периодичностью 1 раз в 100мс, передает в шину на скорости 125 кБод данные о состоянии трех своих входов, используя сообщения стандартного формата с идентификатором 0x123, содержащие один байт данных.

Цап с can шиной

Пример функциональной диаграммы отправки данных в шину CAN0.

Пример №2 функциональной диаграммы отправки CAN-сообщения

Пример функциональной диаграммы отправки CAN-сообщения со стандартным идентификатором 0x001: 0xDE 0xAD 0xBE 0xEF 0x12 0x34 0x56 0x78 по появлению сигнала на восьмом канале контроллера.

Цап с can шиной

Пример №2 функциональной диаграммы отправки CAN-сообщения.

Пример №3 функциональной диаграммы отправки CAN-сообщения

Пример функциональной диаграммы отправки CAN-сообщения с расширенным идентификатором 0x1f110001: 0xDE 0xAD 0xBE 0xEF 0x12 0x34 0x56 0x78 по появлению сигнала на восьмом канале контроллера.

Отличия в отправке расширенного сообщения от отправки стандартного: установить бит 15 регистра [Регистр сообщения передачи CAN ERL], старшую часть идентификатора записать в регистр [Регистр сообщения передачи CAN IDH].

Цап с can шиной

Пример №3 функциональной диаграммы отправки CAN-сообщения.

Пример №4 функциональной диаграммы отправки CAN-сообщения

Пример функциональной диаграммы отправки CAN-сообщения со стандартным идентификатором 0x001: 0xDE 0xAD 0xBE 0xEF 0x12 0x34 0x56 0x78 по появлению сигнала на восьмом канале контроллера, а также отправка сообщения с тем же ID, но с нулевыми данными при пропадании сигнала восьмом канале контроллера.

Цап с can шиной

Пример №4 функциональной диаграммы отправки CAN-сообщения.

Пример №5 функциональной диаграммы периодической отправки нескольких сообщений.

Цап с can шиной

Пример №5 функциональной диаграммы периодической отправки нескольких сообщений.


Поделиться или сохранить к себе:
Технарь знаток