Драйвера с can шиной

Два специальных внешних вывода контроллера CANNY 7, расположенные на 4х контактном разъеме: CAN-H и CAN-L, предназначены для подключения к цифровой информационной шине CAN.

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

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

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

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

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

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

Примечание: При включенном режиме запрета автоматической повторной отправки сообщения CAN при ошибке передачи, драйвер будет предпринимать только однократные попытки отправки сообщения 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 функциональной диаграммы отправки данных в шину CAN.

Драйвера с can шиной

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

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

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

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

Драйвера с can шиной

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

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

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

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

Драйвера с can шиной

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

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

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

Драйвера с can шиной

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

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

Драйвера с can шиной

Пример периодической отправки нескольких сообщений.

Примеры получения сообщений

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

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

Драйвера с can шиной

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

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

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

Драйвера с can шиной

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

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

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

Драйвера с can шиной

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

Видео:лекция 403 CAN шина- введениеСкачать

лекция 403  CAN шина- введение

CANNY 7, Драйвер CAN

Видео:CAN шина👏 Как это работаетСкачать

CAN шина👏 Как это работает

Общее описание [ править ]

Два специальных внешних вывода контроллера CANNY 7, расположенные на 4х контактном разъеме: CAN-H и CAN-L, предназначены для подключения к цифровой информационной шине CAN.

Видео:Подробно про CAN шинуСкачать

Подробно про CAN шину

Регистры драйвера [ править ]

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

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

Регистр установки конфигурации CAN
1. N=активизация драйвера и установка скорости приема/передачи CAN-сообщений (задается специальной константой из справочника констант);
0=драйвер отключен.
Регистр установки фильтра приема CAN IDL №0
.
Регистр установки фильтра приема CAN IDL №15
0. 0xFFFF=установить значение фильтра для младшей части идентификатора CAN-сообщения (биты 0. 10 идентификатора стандартного формата или биты 0. 15 идентификатора расширенного формата);
Регистр установки фильтра приема CAN IDH №0
.
Регистр установки фильтра приема CAN IDH №15
0. 0x1FFF=установить значение фильтра для старшей части идентификатора CAN-сообщения (биты 16. 28 идентификатора расширенного формата);
Регистр установки режима пассивного приема сообщений CAN
≥ 1=включен режим пассивного приема (listen only) сообщений CAN;
0=включен режим нормального приема-передачи (normal) сообщений CAN;
Регистр режима фильтрации приема данных CAN
≥ 1=режим фильтрации принимаемых сообщений CAN включен;
0=режим фильтрации принимаемых сообщений CAN отключен;
Регистр запрета автоматической повторной отправки сообщения CAN при ошибке передачи
≥ 1=автоматическая повторная отправка сообщений CAN при ошибке передачи выключена (запрещена);
0=автоматическая повторная отправка сообщений CAN при ошибке передачи включена (разрешена).
Примечание:В режиме пассивного приема сообщений CAN (listen only) в отличие от нормального режима CAN (normal) драйвер выполняет прием данных из CAN-шины, но при этом не отправляет подтверждение их приема и не переводит сеть в состояние ошибки при обнаружении таковой. Таким образом контроллер остается незаметным для остальных устройств на шине, никак себя не проявляя. Для нормальной работы сети, в ней должны находится минимум два устройства работающие в режиме normal.
Примечание:При включенном режиме фильтрации CAN драйвер будет принимать только те сообщения, идентификаторы которых совпадают с указанными в регистрах установки фильтра приема сообщений CAN значениями, игнорируя все остальные.
Примечание:При включенном режиме запрета автоматической повторной отправки сообщения CAN при ошибке передачи, драйвер будет предпринимать только однократные попытки отправки сообщения CAN, вне зависимости от успешности его получения приемником, предотвращая, таким образом, возникновение ошибки приема (зависания) шины в случае отсутствия в сети приемника данного сообщения, иначе, в соответствии со стандартом CAN, сообщение будет отправляться до получения подтверждения его успешного приема хотя бы одним приемником.

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

ПараметрПеречень допустимых значений
Скорость приема/передачи данных, Кбит/с10; 20; 33.3; 50; 83; 95.2; 100; 125; 250; 500; 800; 1000

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

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

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

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

Регистр наличия принятых данных CAN
1=в буфере приема драйвера CAN находится полученное сообщение, данное значение появляется в регистре на один цикл выполнения диаграммы сообщая об актуальности данных, находящихся в буфере приема;
0=в буфере приема драйвера CAN нет актуальных данных.
Регистр принятого сообщения CAN IDL
0. 0xFFFF=значение младшей части идентификатора полученного CAN-сообщения.
Регистр принятого сообщения CAN IDH
0. 0x1FFF=значение старшей части идентификатора полученного CAN-сообщения.
Регистр принятого сообщения CAN ERL
0. 0xXX08=значение, равное количеству байт данных в принятом сообщении, где 0xXX равно: 0x00 (при стандартном формате), 0x40 (при стандартном формате с RTR), 0x80 (при расширенном формате) или 0xС0 (при расширенном формате с RTR). Более подробно смотри примечание.
Регистр принятого сообщения CAN D1:D0
.
Регистр принятого сообщения CAN D7:D6
0. 0xFFFF=значения соответствующих байт данных принятого сообщения CAN, по два байта на регистр.
Примечание:Регистр принятого сообщения CAN ERL, помимо числа байт в принятом сообщении 0. 8 в младших битах, содержит в своих старших битах информацию о специальных признаках сообщения: бит 15 — признак EXT и бит 14 признак RTR. Где EXT = 1 при приеме сообщения в расширенном формате, EXT = 0 при стандартном формате сообщения; RTR = 1 при приеме удаленного запроса данных, RTR = 0 при приеме обычного сообщения.

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

Регистр начала передачи CAN
≥ 1=загрузить данные из регистров передачи в буфер передачи драйвера CAN;
0=не загружать данные в буфер передачи драйвера CAN.
Регистр сообщения передачи CAN IDL
0. 0xFFFF=значение младшей части идентификатора передаваемого CAN-сообщения.
Регистр сообщения передачи CAN IDH
0. 0x1FFF=значение старшей части идентификатора передаваемого CAN-сообщения.
Регистр сообщения передачи CAN ERL
0. 0xXX08=значение, равное количеству байт данных в передаваемом сообщении, где 0xXX равно: 0x00 (при стандартном формате), 0x40 (при стандартном формате с RTR), 0x80 (при расширенном формате) или 0xС0 (при расширенном формате с RTR). Более подробно смотри примечание.
Регистр сообщения передачи CAN D1:D0
.
Регистр сообщения передачи CAN D7:D6
0. 0xFFFF=значения соответствующих байт данных передаваемого сообщения CAN, по два байта на регистр.
Примечание:Регистр сообщения передачи CAN ERL, помимо числа байт в передаваемом сообщении 0. 8 в младших битах, содержит в своих старших битах информацию о специальных признаках сообщения: бит 15 — признак EXT и бит 14 признак RTR. Где EXT = 1 при передаче сообщения в расширенном формате, EXT = 0 при стандартном формате сообщения; RTR = 1 при передаче удаленного запроса данных, RTR = 0 при передаче обычного сообщения.

Видео:Как работает LIN шина автомобиля. K-Line L-Line шины данных. Лин шина автомобиля. Lin-bus networkСкачать

Как работает LIN шина автомобиля. K-Line L-Line шины данных. Лин шина автомобиля. Lin-bus network

Примеры отправки сообщений [ править ]

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

Драйвера с can шиной

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

Драйвера с can шиной

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

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

Драйвера с can шиной

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

Драйвера с can шиной

Пример периодической отправки нескольких сообщений.

Драйвера с can шиной

Видео:Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.Скачать

Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.

Примеры получения сообщений [ править ]

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

Драйвера с can шиной

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


🌟 Видео

Что такое CAN шинаСкачать

Что такое CAN шина

Компьютерная диагностика авто. K-линия и CAN шинаСкачать

Компьютерная диагностика авто. K-линия и CAN шина

Кан шина, что это? Поймет школьник! принцип работыСкачать

Кан шина, что это? Поймет школьник! принцип работы

Автомобиль не запускается, сканер не подключается: на примере FORD FOCUS 3, CAN шина (Видео 92)Скачать

Автомобиль не запускается, сканер не подключается: на примере FORD FOCUS 3,  CAN шина (Видео 92)

Как проверить CAN шину Используем симулятор ElectudeСкачать

Как проверить CAN шину  Используем симулятор Electude

STM32 CAN шина. Часть 1. Настройка и странности HALСкачать

STM32 CAN шина. Часть 1. Настройка и странности HAL

Лучший сайт для скачивания драйверов!Скачать

Лучший сайт для скачивания драйверов!

MCP2515, контроллер CAN шины с интерфейсом SPIСкачать

MCP2515, контроллер CAN шины с интерфейсом SPI

❓ Неизвестное устройство в Windows. Как решить проблему?Скачать

❓ Неизвестное устройство в Windows. Как решить проблему?

Другие устройства в диспетчере устройств как убрать Windows 11.Неизвестное устройство.PCI-контроллерСкачать

Другие устройства в диспетчере устройств как убрать Windows 11.Неизвестное устройство.PCI-контроллер

Arduino CAN Monitor (простейший монитор шины CAN)Скачать

Arduino CAN Monitor (простейший монитор шины CAN)

Система Windows не смогла найти драйверы. Что делать?Скачать

Система Windows не смогла найти драйверы. Что делать?

Шина CAN. Часть 1. Разбираемся как работает CAN bus, разберем кадр данных до "костей".Скачать

Шина CAN. Часть 1. Разбираемся как работает CAN bus, разберем кадр данных до "костей".

CAN шина поиск неисправностейСкачать

CAN шина поиск неисправностей

Arduino CAN Sender ( Ардуино отправка пакетов в КАН шину)Скачать

Arduino CAN Sender ( Ардуино отправка пакетов в КАН шину)
Поделиться или сохранить к себе:
Технарь знаток