Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: CAN и Freescale DSP56F805
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
Phantom_
Название камня привёл просто так, поскольку, думаю, что это большой роли играть не будет.
На этом камне есть модуль CAN на борту.
Я его инициализирую, а дальше .... не знаю как алгоритм придумать - это из-за отсутствия знаний по CAN.
Я хочу, чтобы алгоритм обмена данными фунциклировал примерно в таком виде:
1) Выплёвывание данных для отображения на панельке ( Вот такая панелька )
2) Обмен данными с компьютером (чтение/запись переменных, перепрошивка МК и т.п.)
3) Обмен данными с соседним микроконтроллером (на будущее)

Вопросы:
1) Очень нужно как можно больше информации на русском (английские доки уже устал лопатить, не могу найти того, что мне нужно) о параметрах пакета, с подробным описанием, хорошо, если примеры будут.
2) Требуется помощь в составлении алгоритма.
3) Не понимаю, как отправлять пакет для одного конкретного узла в сети.
4) как работать с масками и флагами.

А в целом, рад буду любой помощи, даже просто поясняющим ответам.
Палыч
Цитата(Phantom_ @ Apr 23 2009, 12:27) *
Очень нужно как можно больше информации на русском о параметрах пакета...
В интернете, имхо, информации о CAN достаточно. И на русском языке. Вот, например, начальные сведения о CAN... Или речь не об этом?
Цитата(Phantom_ @ Apr 23 2009, 12:27) *
Не понимаю, как отправлять пакет для одного конкретного узла в сети.
Когда Вы разберётесь с протоколом, то поймёте, что в CAN идентифицируется не получатель (узел), а данные. Данные принимаются всеми заинтересованными в них узлами.
Dog Pawlowa
Цитата(Phantom_ @ Apr 23 2009, 12:27) *
...А в целом, рад буду любой помощи, даже просто поясняющим ответам.

Поверх CAN-bus лежит протокол передачи данных более высокого уровня (HLP), который определяет, что же именно означает передаваемая в пакете (пакетах) информация.
Никто вместо Вас этот протокол не придумает.
Если ориентируетесь на конкретные устройства, узнайте, какой же протокол они поддерживают.
Палыч
Цитата(Phantom_ @ Apr 23 2009, 12:27) *
как работать с масками и флагами
О каких масках идёт речь? Тех, что накладываются на идентификатор?
Идентификатор данных разбивают на поля, например: система, устройство, параметр. Если приёмный узел желает получать информацию о всех параметрах конкретного устройства конкретной системы, то маску формируют таким образом, чтобы поля идентификатора "система" и "устройство" проходили бы сквозь неё и сравнивались с установленными для приёма. Таким образом получатель принимает значения параметров нужного ему устройства, при этом не знает о том, сколько узлов сети эту информацию отправляют (оно ему и не нужно!).
Phantom_
Цитата(Палыч @ Apr 23 2009, 15:08) *
О каких масках идёт речь? Тех, что накладываются на идентификатор?
Идентификатор данных разбивают на поля, например: система, устройство, параметр. Если приёмный узел желает получать информацию о всех параметрах конкретного устройства конкретной системы, то маску формируют таким образом, чтобы поля идентификатора "система" и "устройство" проходили бы сквозь неё и сравнивались с установленными для приёма. Таким образом получатель принимает значения параметров нужного ему устройства, при этом не знает о том, сколько узлов сети эту информацию отправляют (оно ему и не нужно!).


Благодарю, это очень многое объясняет.

сейчас попытаюсь сформулировать следующий вопрос.
То есть, если я использую 8-и битную шину, мне следует выбрать для использования 8 восьмибитных фильтров? Есть еще на выбор 4 шестнадцатибитных и 2 тридцатидвухбитных.
Или выбор должен быть обоснован количеством параметров и устройств, которые мне необходимо впихнуть в идентификатор и создать соответсвующее кол-во масок ?
Палыч
Шина CAN - это "общая шина". По ней передаётся много информации. Приёмник конкретного узла принимает всю гуляющую в шине информацию. В конкретном узле вся эта информация в общем случае - не нужна. Маски позволяют отсеч ненужную информацию на уровне "железа". Их (масок) количество зависит от того, как "сконструирован" идентификатор и того, какую информацию нужно получить на конкретном узле.
Dog Pawlowa
Цитата(Phantom_ @ Apr 23 2009, 14:24) *
То есть, если я использую 8-и битную шину, мне следует выбрать для использования 8 восьмибитных фильтров? Есть еще на выбор 4 шестнадцатибитных и 2 тридцатидвухбитных.
Или выбор должен быть обоснован количеством параметров и устройств, которые мне необходимо впихнуть в идентификатор и создать соответсвующее кол-во масок ?

Какая еще восьмибитная шина в последовательном интерфейсе?
Конечно, выбор масок производится исходя из устройств в системе.
Аппаратная фильрация пакетов не обязательна - у меня вообще устройства всегда принимают все сообщения. Отсев осуществяется при разборе пакета.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.