CAN Bus

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы

CAN Bus

Postby Eugen Graf on 17 Dec 2007, 15:06

Что такое CAN:

Это бус использующий асинхронный последовательный протокол передачи данных. Синхронизация и защита от потери данных происходит на уровне CAN-контроллера, т.е. программист не имеет к этому прямого отношения. Всё что нужно сделать это как всегда инициализировать контроллер (задать Baud Rate) и в принципе можно посылать сообщения. Но в отличии от других последовательных протоколов, отправитель ОБЯЗАН указать идентификатор сообщения.

При использовании такого устройства как USB-CAN-Dongle проблем при отправке сообщений нет, т.е. указываешь идентификатор, длину сообщения (от 0 до 8 байт) и конечно же само сообщение.

А вот при программировании микроконтроллера, надо после инициализации самого контроллера дефинировать обьекты сообщений (Message Objects), количество которых вариирует в зависимости от контроллера. В моём случае контроллер поддерживает 15 обьектов сообщений. При инициализации этих обьектов указывается принадлежащий этому обьекту идентификатор. После инициализации обьектов сообщений можно начинать отсылать сами сообщения указывая вместо идентификатора сообщений, номер уже до этого инициализириванного обьекта сообщений. Т.е если так работать то количество видов сообщений ограничено количеством обьектов сообщений.
Если же хочется посылать больше видов сообщений (больше 15), надо либо использовать дополнительный контроллер, либо прееиницализировать каждый раз обьекты сообщений, что при частоте в 500 гертц п принципе неприемлимо и загружает программу и контроллер.

Подскажите, может я что не так понимаю?

Что же происходит при коммуникации с помощью USB-CAN-Dongle? Неужели он переинициализирует свои регистры обьектов сообщений при отправке каждого сообщения? Ведь на самом деле внутри находится микроконтроллер поддерживающий USB и CAN.
User avatar
Eugen Graf
guru
guru
 
Posts: 6502
Joined: 13 Nov 2007, 02:20
Location: Saarbrücken
Medals: 4
Activity (1) Professionalism (1) Silver (1) Black (1)
LabVIEW Version: 2009
Karma: 303
CLAD I/O VIP bloggers internet

Return to Коммуникация с приборами

Who is online

Users browsing this forum: No registered users and 1 guest

cron