Phantom_ 0 23 апреля, 2009 Опубликовано 23 апреля, 2009 · Жалоба Название камня привёл просто так, поскольку, думаю, что это большой роли играть не будет. На этом камне есть модуль CAN на борту. Я его инициализирую, а дальше .... не знаю как алгоритм придумать - это из-за отсутствия знаний по CAN. Я хочу, чтобы алгоритм обмена данными фунциклировал примерно в таком виде: 1) Выплёвывание данных для отображения на панельке ( Вот такая панелька ) 2) Обмен данными с компьютером (чтение/запись переменных, перепрошивка МК и т.п.) 3) Обмен данными с соседним микроконтроллером (на будущее) Вопросы: 1) Очень нужно как можно больше информации на русском (английские доки уже устал лопатить, не могу найти того, что мне нужно) о параметрах пакета, с подробным описанием, хорошо, если примеры будут. 2) Требуется помощь в составлении алгоритма. 3) Не понимаю, как отправлять пакет для одного конкретного узла в сети. 4) как работать с масками и флагами. А в целом, рад буду любой помощи, даже просто поясняющим ответам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 6 23 апреля, 2009 Опубликовано 23 апреля, 2009 · Жалоба Очень нужно как можно больше информации на русском о параметрах пакета...В интернете, имхо, информации о CAN достаточно. И на русском языке. Вот, например, начальные сведения о CAN... Или речь не об этом? Не понимаю, как отправлять пакет для одного конкретного узла в сети.Когда Вы разберётесь с протоколом, то поймёте, что в CAN идентифицируется не получатель (узел), а данные. Данные принимаются всеми заинтересованными в них узлами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 23 апреля, 2009 Опубликовано 23 апреля, 2009 · Жалоба ...А в целом, рад буду любой помощи, даже просто поясняющим ответам. Поверх CAN-bus лежит протокол передачи данных более высокого уровня (HLP), который определяет, что же именно означает передаваемая в пакете (пакетах) информация. Никто вместо Вас этот протокол не придумает. Если ориентируетесь на конкретные устройства, узнайте, какой же протокол они поддерживают. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 6 23 апреля, 2009 Опубликовано 23 апреля, 2009 · Жалоба как работать с масками и флагамиО каких масках идёт речь? Тех, что накладываются на идентификатор? Идентификатор данных разбивают на поля, например: система, устройство, параметр. Если приёмный узел желает получать информацию о всех параметрах конкретного устройства конкретной системы, то маску формируют таким образом, чтобы поля идентификатора "система" и "устройство" проходили бы сквозь неё и сравнивались с установленными для приёма. Таким образом получатель принимает значения параметров нужного ему устройства, при этом не знает о том, сколько узлов сети эту информацию отправляют (оно ему и не нужно!). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Phantom_ 0 23 апреля, 2009 Опубликовано 23 апреля, 2009 (изменено) · Жалоба О каких масках идёт речь? Тех, что накладываются на идентификатор? Идентификатор данных разбивают на поля, например: система, устройство, параметр. Если приёмный узел желает получать информацию о всех параметрах конкретного устройства конкретной системы, то маску формируют таким образом, чтобы поля идентификатора "система" и "устройство" проходили бы сквозь неё и сравнивались с установленными для приёма. Таким образом получатель принимает значения параметров нужного ему устройства, при этом не знает о том, сколько узлов сети эту информацию отправляют (оно ему и не нужно!). Благодарю, это очень многое объясняет. сейчас попытаюсь сформулировать следующий вопрос. То есть, если я использую 8-и битную шину, мне следует выбрать для использования 8 восьмибитных фильтров? Есть еще на выбор 4 шестнадцатибитных и 2 тридцатидвухбитных. Или выбор должен быть обоснован количеством параметров и устройств, которые мне необходимо впихнуть в идентификатор и создать соответсвующее кол-во масок ? Изменено 23 апреля, 2009 пользователем Phantom_ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 6 23 апреля, 2009 Опубликовано 23 апреля, 2009 · Жалоба Шина CAN - это "общая шина". По ней передаётся много информации. Приёмник конкретного узла принимает всю гуляющую в шине информацию. В конкретном узле вся эта информация в общем случае - не нужна. Маски позволяют отсеч ненужную информацию на уровне "железа". Их (масок) количество зависит от того, как "сконструирован" идентификатор и того, какую информацию нужно получить на конкретном узле. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 23 апреля, 2009 Опубликовано 23 апреля, 2009 · Жалоба То есть, если я использую 8-и битную шину, мне следует выбрать для использования 8 восьмибитных фильтров? Есть еще на выбор 4 шестнадцатибитных и 2 тридцатидвухбитных. Или выбор должен быть обоснован количеством параметров и устройств, которые мне необходимо впихнуть в идентификатор и создать соответсвующее кол-во масок ? Какая еще восьмибитная шина в последовательном интерфейсе? Конечно, выбор масок производится исходя из устройств в системе. Аппаратная фильрация пакетов не обязательна - у меня вообще устройства всегда принимают все сообщения. Отсев осуществяется при разборе пакета. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться