реклама на сайте
подробности

 
 
> Адресация и фильтрация CAN сообщений на STM32F4
DmitryG
сообщение Oct 2 2016, 08:45
Сообщение #1





Группа: Участник
Сообщений: 7
Регистрация: 27-09-16
Пользователь №: 93 508



Добрый день!

У меня CAN-шиной соединены 4 устройства STM32F4. Каждое из них подсоединено к компьютеру по USART для возможности вывода на экран входящих и исходящих сообщений. При отправке данных от одного устройства к конкретному другому, сообщение всё равно отображают все 4 устройства. Объясните, пожалуйста, каким образом правильно настроить адресацию и фильтрацию сообщений на STM32F4.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AlanDrakes
сообщение Jul 31 2018, 11:28
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 101
Регистрация: 2-05-15
Из: Россия, Омск
Пользователь №: 86 474



У Вас есть кристалл с уникальным ID, прошитым на производстве. Напишите что-то совместимое с CAN шиной, что будет использовать какой-нибудь специфический канал для настройки именно ведомых.
Допустим, при запуске все кристаллы одновременно ломятся в шину с сообщением и посылают свой номер в какое-то поле. Происходит коллизия. Коллизия решается, выигравший забирает первый диапазон адресов.
Повторить до окончания коллизий.
Допустим, адреса 0x00 ~ 0xFF, каналы по 16 адресов (0x10)
Посылка -> Коллизия -> Разрешение -> Выигравший забирает адреса 0x00 ~ 0x0F и замолкает.
Посылка -> Коллизия -> Разрешение -> Второй выигравший забирает 0x10 ~ 0x1F и тоже замолкает.
И так далее.

UPD: Я тут подумал. Эту же процедуру можно проводить только в случае возникновения коллизии при ответе контроллера. То есть, сеть может организовываться полностью сама. Разве что мастер не будет знать кто где.
Настройка можно хранить в выделеной странице (двух) Flash-памяти, либо на врешней EEPROM микросхеме, а перенастраиваться только при обнаружении ошибки.

Я сейчас мыслю, абстрагировавшись от работы шины данных.
Есть знатоки работы CAN протокола? Как можно реализовать подобное, используя стандартные методы?

Хотя, в моём случае, при построении сети, работа ведётся исключительно между мастером и ведомыми. И он же выдаёт им сетевые адреса. Да, слизано с больших сетей с DHCP сервером. При этом работает по двухпроводной схеме (нет, не RS-485).

Сообщение отредактировал AlanDrakes - Jul 31 2018, 13:58
Go to the top of the page
 
+Quote Post
nanorobot
сообщение Jul 31 2018, 17:00
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Цитата(AlanDrakes @ Jul 31 2018, 16:28) *
Разве что мастер не будет знать кто где.


В самую точку....

Сообщение отредактировал nanorobot - Jul 31 2018, 17:01
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- DmitryG   Адресация и фильтрация CAN сообщений на STM32F4   Oct 2 2016, 08:45
- - amiller   Если не ошибаюсь, то в стандарте Can нет такого по...   Oct 2 2016, 09:38
|- - DmitryG   Цитата(amiller @ Oct 2 2016, 12:38) . ...   Oct 2 2016, 10:05
|- - amiller   Цитата(DmitryG @ Oct 2 2016, 13:05) Главн...   Oct 2 2016, 11:50
|- - Непомнящий Евгений   Цитата(DmitryG @ Oct 2 2016, 13:05) Хорош...   Oct 3 2016, 08:52
- - редактор   Не скажу конкретно про ваш STM, но в CAN-модуле с ...   Oct 3 2016, 06:16
|- - SasaVitebsk   Цитата(редактор @ Oct 3 2016, 09:16) Поэт...   Oct 3 2016, 09:12
|- - nanorobot   Цитата(SasaVitebsk @ Oct 3 2016, 14:12) Т...   Jul 30 2018, 12:55
|- - jcxz   Цитата(nanorobot @ Jul 30 2018, 15:55) Ра...   Jul 30 2018, 13:26
||- - nanorobot   Цитата(jcxz @ Jul 30 2018, 18:26) Ну если...   Jul 30 2018, 13:34
|- - DmitryM   Цитата(nanorobot @ Jul 30 2018, 15:55) Ра...   Jul 31 2018, 05:21
|- - nanorobot   Цитата(DmitryM @ Jul 31 2018, 10:21) Лини...   Jul 31 2018, 08:42
- - Obam   А мастер почему простаивает, пусть он распределит....   Jul 30 2018, 16:10
|- - nanorobot   Цитата(Obam @ Jul 30 2018, 21:10) А масте...   Jul 30 2018, 16:22
|- - Obam   Цитата(nanorobot @ Jul 30 2018, 19:22) Вс...   Jul 30 2018, 16:29
|- - jcxz   Цитата(nanorobot @ Jul 30 2018, 19:22) Вс...   Jul 30 2018, 16:32
|- - dimka76   Цитата(nanorobot @ Jul 30 2018, 19:22) Вс...   Jul 31 2018, 19:47
|- - jcxz   Цитата(nanorobot @ Jul 31 2018, 20:00) В ...   Aug 1 2018, 08:44
- - yes   если невнимательно читал - извиняйте есть стандар...   Aug 6 2018, 13:36


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th August 2025 - 13:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.04538 секунд с 7
ELECTRONIX ©2004-2016