Какую шину выбрать
-
DeVOLT
- Родился
- Сообщения: 11
- Зарегистрирован: Вт окт 21, 2008 15:37:03
- Откуда: Дубна, Моск. обл.
- Контактная информация:
Какую шину выбрать
Здравствуйте!
Появилась задача разработать несколько (20 шт) однотипных модулей (на каждом 150-200 реле, их надо оперативно переключать) и получать/посылать на них команды. Для этого их надо объединить по некоторой сети. На каждом модуле МК.
Собственно вопрос, какую шину использовать для передачи данных, нужна шина побыстрее? Смотрел в сторону VXI и PCI, но там как то все сложновато. Как вариант рассматриваю Ethernet.
Или какой МК со встроенным Ethernet можно применить здесь?
Всем заранее спасибо!
Появилась задача разработать несколько (20 шт) однотипных модулей (на каждом 150-200 реле, их надо оперативно переключать) и получать/посылать на них команды. Для этого их надо объединить по некоторой сети. На каждом модуле МК.
Собственно вопрос, какую шину использовать для передачи данных, нужна шина побыстрее? Смотрел в сторону VXI и PCI, но там как то все сложновато. Как вариант рассматриваю Ethernet.
Или какой МК со встроенным Ethernet можно применить здесь?
Всем заранее спасибо!
- Реклама
Re: Какую шину выбрать
Расстояние какое ? и есть ли уже какая то готовая инфраструктура ? Тот же езернет, например
Re: Какую шину выбрать
CAN +1
-
DeVOLT
- Родился
- Сообщения: 11
- Зарегистрирован: Вт окт 21, 2008 15:37:03
- Откуда: Дубна, Моск. обл.
- Контактная информация:
Re: Какую шину выбрать
Инфраструктуры пока нет как таковой, а задумка такая:
В крейте установлены модули. К каждому модулю подключен контроллер для их взаимодействия (по ИСКОМОМУ интерфейсу) имеющий также на борту Ethernet. Таких крейтов может быть много и подключаются они уже к Ethernet маршрутизатору, а далее работает компьютерная программа с ними.
В крейте установлены модули. К каждому модулю подключен контроллер для их взаимодействия (по ИСКОМОМУ интерфейсу) имеющий также на борту Ethernet. Таких крейтов может быть много и подключаются они уже к Ethernet маршрутизатору, а далее работает компьютерная программа с ними.
- Реклама
Re: Какую шину выбрать
Ну если Езернет уже развернут - можно все модули подключить просто к нему и все.
БЕЗ центрового управляющего - управляющий сразу компьютер.
Если там езернета нету или расстояния сильно большие (или напротив, крошченые ) целесообразно использоваться чтото другие - те же CAN, RS485, RS232 и т.п.
БЕЗ центрового управляющего - управляющий сразу компьютер.
Если там езернета нету или расстояния сильно большие (или напротив, крошченые ) целесообразно использоваться чтото другие - те же CAN, RS485, RS232 и т.п.
-
DeVOLT
- Родился
- Сообщения: 11
- Зарегистрирован: Вт окт 21, 2008 15:37:03
- Откуда: Дубна, Моск. обл.
- Контактная информация:
Re: Какую шину выбрать
А есть где-нибудь разобранные примеры по применению CAN. С ним я раньше не работал, в поиске чет ничего не найду, в смысле схем и т.д.
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Какую шину выбрать
RS-485. CAN - это развод на деньги.
- servio
- Родился
- Сообщения: 19
- Зарегистрирован: Пт окт 21, 2011 18:27:34
- Откуда: Киев
- Контактная информация:
Re: Какую шину выбрать
Как говорит Вики: "RS-485 - стандарт физического уровня для асинхронного интерфейса". Над физическим уровнем должен быть еще протокол сетевого уровня. RS-485 не решает проблемы арбитража доступа. CAN как раз и есть сетевой протокол со всеми вытекающими из этого последствиями.Леонид Иванович писал(а):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: Какую шину выбрать
Я тут подумал, а может тупо взять готовый модуль с CAN и прирезать его уже к устройству. Не существует ли таких модулей с CAN на I2C ?
- servio
- Родился
- Сообщения: 19
- Зарегистрирован: Пт окт 21, 2011 18:27:34
- Откуда: Киев
- Контактная информация:
Re: Какую шину выбрать
В предыдущем моем посте я привел ссылку на уже готовый модуль, только не I2C а SPI-подключением. Разница не большая.DeVOLT писал(а):Не существует ли таких модулей с CAN на I2C ?
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Какую шину выбрать
В одномастерной сети нет такой проблемы.servio писал(а):RS-485 не решает проблемы арбитража доступа
- servio
- Родился
- Сообщения: 19
- Зарегистрирован: Пт окт 21, 2011 18:27:34
- Откуда: Киев
- Контактная информация:
Re: Какую шину выбрать
Не спорю. Но не известно является ли данная сеть таковой. Требования очень размыты.Леонид Иванович писал(а):В одномастерной сети нет такой проблемы.
Если каждый из модулей будет асинхронно генерировать команды, то мастеров будет много и без решения проблемы арбитража не обойтись.DeVOL писал(а):Появилась задача разработать несколько однотипных модулей и получать/посылать на них команды
Для выбора более подходящего решения надо больше информации о функционале модулей.
-
DeVOLT
- Родился
- Сообщения: 11
- Зарегистрирован: Вт окт 21, 2008 15:37:03
- Откуда: Дубна, Моск. обл.
- Контактная информация:
Re: Какую шину выбрать
Каждый модуль - высоковольтный релейный коммутатор на 200 каналов. Данные на модули передаются/принимаются асинхронно. У меня там внешняя синхронизация присутствует.servio писал(а):Для выбора более подходящего решения надо больше информации о функционале модулей.Леонид Иванович писал(а):В одномастерной сети нет такой проблемы.
Получается просто система из кучи реле, на них надо подать команды, считать информацию о состоянии. Команды на включение (выключение) конкретного реле накапливаются в буфере и по сигналу внешней синхронизации выставляются в необходимые значения.
- servio
- Родился
- Сообщения: 19
- Зарегистрирован: Пт окт 21, 2011 18:27:34
- Откуда: Киев
- Контактная информация:
Re: Какую шину выбрать
Теперь понятно. Такая сеть действительно с одним мастером и можно ее построить на базе RS-485. Сетевой протокол в данном случае свой. Все модули слушают шину, но принимают пакеты только со своим адресом. Передачу данных о состоянии реле модуль должен выдавать только в ответ на запрос от мастера. Все достаточно тривиально.
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: Какую шину выбрать
А скорость реакции какую надо обеспечить? 100-200 реле на один модуль, 20 модулей... в общем случае 4000 конечных потребителей, за какое время необходимо иметь возможность сменить их состояние? Если протокол будет обеспечивать изменение состояния только одного потребителя за раз, то изменение состояния всех 4000 потребителей будет занимать существенное время!
При этом, мастер передает команду(занимает время) ждет ответа(тоже какое-то время) и принимает ответ(тоже время) - и это только для одной команды.
как вариант - оперировать группами нагрузок - по 16 например, передавая необходимое состояние 16 сразу и маску для которых необходимо изменить состояние, чтобы иметь возможность управлять индивидуальными нагрузками не сверяясь с состоянием других.
При этом, мастер передает команду(занимает время) ждет ответа(тоже какое-то время) и принимает ответ(тоже время) - и это только для одной команды.
как вариант - оперировать группами нагрузок - по 16 например, передавая необходимое состояние 16 сразу и маску для которых необходимо изменить состояние, чтобы иметь возможность управлять индивидуальными нагрузками не сверяясь с состоянием других.
-
clawham
- Поставщик валерьянки для Кота
- Сообщения: 1957
- Зарегистрирован: Пт окт 31, 2008 09:38:55
- Откуда: Одесса
- Контактная информация:
Re: Какую шину выбрать
Дык вроде ж сказали - есть промежуточный буффер куда грузится битпаттерн релюшек и по внешней синхре МК все релюшки РАЗОМ клац и повыставлял в новое положение
проще - пирожки с картошкой только кушать
)
проще - пирожки с картошкой только кушать
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Не доверяйте русским лужам - это может быть вход в метро.
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: Какую шину выбрать
Это только синхронность изменения. Но ведь этот промежуточный бит-паттерн нужно как-то установить, обратится командами к каждому из 4000 бит, это тоже займет время.
-
clawham
- Поставщик валерьянки для Кота
- Сообщения: 1957
- Зарегистрирован: Пт окт 31, 2008 09:38:55
- Откуда: Одесса
- Контактная информация:
Re: Какую шину выбрать
200 реле один модуль...берем для круглости 256
8 бит адрес + 8 бит комманда + 256 бит данных + 8 бит ЦРЦ ИТОГО
35 БАЙТ ДАННЫХ
на скорости уарта 115200 35 байт по 20 раз послать и 35 байт по 20 раз принять пролетит за... 11200 / 115200 = 100 миллисекунд!
any problem?
8 бит адрес + 8 бит комманда + 256 бит данных + 8 бит ЦРЦ ИТОГО
35 БАЙТ ДАННЫХ
на скорости уарта 115200 35 байт по 20 раз послать и 35 байт по 20 раз принять пролетит за... 11200 / 115200 = 100 миллисекунд!
any problem?
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Не доверяйте русским лужам - это может быть вход в метро.


