Какую шину выбрать

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
DeVOLT
Родился
Сообщения: 11
Зарегистрирован: Вт окт 21, 2008 15:37:03
Откуда: Дубна, Моск. обл.
Контактная информация:

Какую шину выбрать

Сообщение DeVOLT »

Здравствуйте!

Появилась задача разработать несколько (20 шт) однотипных модулей (на каждом 150-200 реле, их надо оперативно переключать) и получать/посылать на них команды. Для этого их надо объединить по некоторой сети. На каждом модуле МК.

Собственно вопрос, какую шину использовать для передачи данных, нужна шина побыстрее? Смотрел в сторону VXI и PCI, но там как то все сложновато. Как вариант рассматриваю Ethernet.

Или какой МК со встроенным Ethernet можно применить здесь?

Всем заранее спасибо!
Реклама
Аватара пользователя
servio
Родился
Сообщения: 19
Зарегистрирован: Пт окт 21, 2011 18:27:34
Откуда: Киев
Контактная информация:

Re: Какую шину выбрать

Сообщение servio »

Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Какую шину выбрать

Сообщение Satyr »

Расстояние какое ? и есть ли уже какая то готовая инфраструктура ? Тот же езернет, например
Аватара пользователя
Psych
Опытный кот
Сообщения: 848
Зарегистрирован: Ср мар 02, 2011 07:47:39
Откуда: Уфа

Re: Какую шину выбрать

Сообщение Psych »

CAN +1
Реклама
Эиком - электронные компоненты и радиодетали
DeVOLT
Родился
Сообщения: 11
Зарегистрирован: Вт окт 21, 2008 15:37:03
Откуда: Дубна, Моск. обл.
Контактная информация:

Re: Какую шину выбрать

Сообщение DeVOLT »

Инфраструктуры пока нет как таковой, а задумка такая:
В крейте установлены модули. К каждому модулю подключен контроллер для их взаимодействия (по ИСКОМОМУ интерфейсу) имеющий также на борту Ethernet. Таких крейтов может быть много и подключаются они уже к Ethernet маршрутизатору, а далее работает компьютерная программа с ними.
Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Какую шину выбрать

Сообщение Satyr »

Ну если Езернет уже развернут - можно все модули подключить просто к нему и все.
БЕЗ центрового управляющего - управляющий сразу компьютер.

Если там езернета нету или расстояния сильно большие (или напротив, крошченые ) целесообразно использоваться чтото другие - те же CAN, RS485, RS232 и т.п.
Реклама
DeVOLT
Родился
Сообщения: 11
Зарегистрирован: Вт окт 21, 2008 15:37:03
Откуда: Дубна, Моск. обл.
Контактная информация:

Re: Какую шину выбрать

Сообщение DeVOLT »

А есть где-нибудь разобранные примеры по применению CAN. С ним я раньше не работал, в поиске чет ничего не найду, в смысле схем и т.д.
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Какую шину выбрать

Сообщение Леонид Иванович »

RS-485. CAN - это развод на деньги.
Аватара пользователя
servio
Родился
Сообщения: 19
Зарегистрирован: Пт окт 21, 2011 18:27:34
Откуда: Киев
Контактная информация:

Re: Какую шину выбрать

Сообщение servio »

Леонид Иванович писал(а):RS-485. CAN - это развод на деньги.
Как говорит Вики: "RS-485 - стандарт физического уровня для асинхронного интерфейса". Над физическим уровнем должен быть еще протокол сетевого уровня. RS-485 не решает проблемы арбитража доступа. CAN как раз и есть сетевой протокол со всеми вытекающими из этого последствиями.

Есть масса контроллеров со встроенным CAN. Они конечно дороговаты, но можно пойти и другим путем. Microchip выпускает несколько недорогих чипов, которые позволят запустить CAN на дешевом контролере. MCP2551 - приёмопередатчик CAN-интерфейса и MCP2515 - контроллер CAN-интерфейса. Первый чип обеспечивает физический уровень, второй канальный уровень. В качестве типовой схемы включения этих чипов можно использовать эту http://www.mikroe.com/eng/downloads/get ... l_v100.pdf.
DeVOLT
Родился
Сообщения: 11
Зарегистрирован: Вт окт 21, 2008 15:37:03
Откуда: Дубна, Моск. обл.
Контактная информация:

Re: Какую шину выбрать

Сообщение DeVOLT »

Я тут подумал, а может тупо взять готовый модуль с CAN и прирезать его уже к устройству. Не существует ли таких модулей с CAN на I2C ?
Аватара пользователя
servio
Родился
Сообщения: 19
Зарегистрирован: Пт окт 21, 2011 18:27:34
Откуда: Киев
Контактная информация:

Re: Какую шину выбрать

Сообщение servio »

DeVOLT писал(а):Не существует ли таких модулей с CAN на I2C ?
В предыдущем моем посте я привел ссылку на уже готовый модуль, только не I2C а SPI-подключением. Разница не большая.
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Какую шину выбрать

Сообщение Леонид Иванович »

servio писал(а):RS-485 не решает проблемы арбитража доступа
В одномастерной сети нет такой проблемы.
Аватара пользователя
servio
Родился
Сообщения: 19
Зарегистрирован: Пт окт 21, 2011 18:27:34
Откуда: Киев
Контактная информация:

Re: Какую шину выбрать

Сообщение servio »

Леонид Иванович писал(а):В одномастерной сети нет такой проблемы.
Не спорю. Но не известно является ли данная сеть таковой. Требования очень размыты.
DeVOL писал(а):Появилась задача разработать несколько однотипных модулей и получать/посылать на них команды
Если каждый из модулей будет асинхронно генерировать команды, то мастеров будет много и без решения проблемы арбитража не обойтись.

Для выбора более подходящего решения надо больше информации о функционале модулей.
DeVOLT
Родился
Сообщения: 11
Зарегистрирован: Вт окт 21, 2008 15:37:03
Откуда: Дубна, Моск. обл.
Контактная информация:

Re: Какую шину выбрать

Сообщение DeVOLT »

servio писал(а):
Леонид Иванович писал(а):В одномастерной сети нет такой проблемы.
Для выбора более подходящего решения надо больше информации о функционале модулей.
Каждый модуль - высоковольтный релейный коммутатор на 200 каналов. Данные на модули передаются/принимаются асинхронно. У меня там внешняя синхронизация присутствует.

Получается просто система из кучи реле, на них надо подать команды, считать информацию о состоянии. Команды на включение (выключение) конкретного реле накапливаются в буфере и по сигналу внешней синхронизации выставляются в необходимые значения.
Аватара пользователя
servio
Родился
Сообщения: 19
Зарегистрирован: Пт окт 21, 2011 18:27:34
Откуда: Киев
Контактная информация:

Re: Какую шину выбрать

Сообщение servio »

Теперь понятно. Такая сеть действительно с одним мастером и можно ее построить на базе RS-485. Сетевой протокол в данном случае свой. Все модули слушают шину, но принимают пакеты только со своим адресом. Передачу данных о состоянии реле модуль должен выдавать только в ответ на запрос от мастера. Все достаточно тривиально.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Какую шину выбрать

Сообщение Alexeyslav »

А скорость реакции какую надо обеспечить? 100-200 реле на один модуль, 20 модулей... в общем случае 4000 конечных потребителей, за какое время необходимо иметь возможность сменить их состояние? Если протокол будет обеспечивать изменение состояния только одного потребителя за раз, то изменение состояния всех 4000 потребителей будет занимать существенное время!

При этом, мастер передает команду(занимает время) ждет ответа(тоже какое-то время) и принимает ответ(тоже время) - и это только для одной команды.

как вариант - оперировать группами нагрузок - по 16 например, передавая необходимое состояние 16 сразу и маску для которых необходимо изменить состояние, чтобы иметь возможность управлять индивидуальными нагрузками не сверяясь с состоянием других.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Какую шину выбрать

Сообщение clawham »

Дык вроде ж сказали - есть промежуточный буффер куда грузится битпаттерн релюшек и по внешней синхре МК все релюшки РАЗОМ клац и повыставлял в новое положение
проще - пирожки с картошкой только кушать :))))
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Какую шину выбрать

Сообщение Alexeyslav »

Это только синхронность изменения. Но ведь этот промежуточный бит-паттерн нужно как-то установить, обратится командами к каждому из 4000 бит, это тоже займет время.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Какую шину выбрать

Сообщение clawham »

200 реле один модуль...берем для круглости 256
8 бит адрес + 8 бит комманда + 256 бит данных + 8 бит ЦРЦ ИТОГО

35 БАЙТ ДАННЫХ

на скорости уарта 115200 35 байт по 20 раз послать и 35 байт по 20 раз принять пролетит за... 11200 / 115200 = 100 миллисекунд!

any problem?
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»