Перейти к содержанию
    

CAN и Freescale DSP56F805

Название камня привёл просто так, поскольку, думаю, что это большой роли играть не будет.

На этом камне есть модуль CAN на борту.

Я его инициализирую, а дальше .... не знаю как алгоритм придумать - это из-за отсутствия знаний по CAN.

Я хочу, чтобы алгоритм обмена данными фунциклировал примерно в таком виде:

1) Выплёвывание данных для отображения на панельке ( Вот такая панелька )

2) Обмен данными с компьютером (чтение/запись переменных, перепрошивка МК и т.п.)

3) Обмен данными с соседним микроконтроллером (на будущее)

 

Вопросы:

1) Очень нужно как можно больше информации на русском (английские доки уже устал лопатить, не могу найти того, что мне нужно) о параметрах пакета, с подробным описанием, хорошо, если примеры будут.

2) Требуется помощь в составлении алгоритма.

3) Не понимаю, как отправлять пакет для одного конкретного узла в сети.

4) как работать с масками и флагами.

 

А в целом, рад буду любой помощи, даже просто поясняющим ответам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень нужно как можно больше информации на русском о параметрах пакета...
В интернете, имхо, информации о CAN достаточно. И на русском языке. Вот, например, начальные сведения о CAN... Или речь не об этом?

Не понимаю, как отправлять пакет для одного конкретного узла в сети.
Когда Вы разберётесь с протоколом, то поймёте, что в CAN идентифицируется не получатель (узел), а данные. Данные принимаются всеми заинтересованными в них узлами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...А в целом, рад буду любой помощи, даже просто поясняющим ответам.

Поверх CAN-bus лежит протокол передачи данных более высокого уровня (HLP), который определяет, что же именно означает передаваемая в пакете (пакетах) информация.

Никто вместо Вас этот протокол не придумает.

Если ориентируетесь на конкретные устройства, узнайте, какой же протокол они поддерживают.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как работать с масками и флагами
О каких масках идёт речь? Тех, что накладываются на идентификатор?

Идентификатор данных разбивают на поля, например: система, устройство, параметр. Если приёмный узел желает получать информацию о всех параметрах конкретного устройства конкретной системы, то маску формируют таким образом, чтобы поля идентификатора "система" и "устройство" проходили бы сквозь неё и сравнивались с установленными для приёма. Таким образом получатель принимает значения параметров нужного ему устройства, при этом не знает о том, сколько узлов сети эту информацию отправляют (оно ему и не нужно!).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

О каких масках идёт речь? Тех, что накладываются на идентификатор?

Идентификатор данных разбивают на поля, например: система, устройство, параметр. Если приёмный узел желает получать информацию о всех параметрах конкретного устройства конкретной системы, то маску формируют таким образом, чтобы поля идентификатора "система" и "устройство" проходили бы сквозь неё и сравнивались с установленными для приёма. Таким образом получатель принимает значения параметров нужного ему устройства, при этом не знает о том, сколько узлов сети эту информацию отправляют (оно ему и не нужно!).

 

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

 

сейчас попытаюсь сформулировать следующий вопрос.

То есть, если я использую 8-и битную шину, мне следует выбрать для использования 8 восьмибитных фильтров? Есть еще на выбор 4 шестнадцатибитных и 2 тридцатидвухбитных.

Или выбор должен быть обоснован количеством параметров и устройств, которые мне необходимо впихнуть в идентификатор и создать соответсвующее кол-во масок ?

Изменено пользователем Phantom_

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Шина CAN - это "общая шина". По ней передаётся много информации. Приёмник конкретного узла принимает всю гуляющую в шине информацию. В конкретном узле вся эта информация в общем случае - не нужна. Маски позволяют отсеч ненужную информацию на уровне "железа". Их (масок) количество зависит от того, как "сконструирован" идентификатор и того, какую информацию нужно получить на конкретном узле.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

То есть, если я использую 8-и битную шину, мне следует выбрать для использования 8 восьмибитных фильтров? Есть еще на выбор 4 шестнадцатибитных и 2 тридцатидвухбитных.

Или выбор должен быть обоснован количеством параметров и устройств, которые мне необходимо впихнуть в идентификатор и создать соответсвующее кол-во масок ?

Какая еще восьмибитная шина в последовательном интерфейсе?

Конечно, выбор масок производится исходя из устройств в системе.

Аппаратная фильрация пакетов не обязательна - у меня вообще устройства всегда принимают все сообщения. Отсев осуществяется при разборе пакета.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...