Протоколы взаимодействия модулей
Для связи вычислительных узлов между собой, а так же с рядом сложных сенсоров и исполнительных устройств используются различные транспортные протоколы, обеспечивающий нужный уровень затрат, энергопотребления, скорости, помехозащищенности и общей длины кабеля (расстояния и наличия прямой видимости) между блоками. Ниже дан обзор основных протоколов применяющихся в роботах:
Беспроводное соединение
Тип | Внешний вид | Топология | Скорость | Частота | Макс. расстояние | Цена решения | Информация |
---|---|---|---|---|---|---|---|
ZigBee | — | точка — много точек | до 2Mbps | 2.4ГГц | 10-100м | ||
Bluetooth | — | точка — много точек | до 1Mbps | 2.4ГГц | 10-100м |
|
Bluetooth модули |
433MHz радиомодем | — | точка — точка | до 115Кbps | 433МГц | ? | от $35 за 1 радиомодем | Радиомодемы |
Проводное соединение
Тип | Топология | Скорость | Макс. длина | Защита от помех | Уровень напряж. | Применение | Цена МК с интерфейсом | Цена конвертора уровней | Информация о протоколе |
---|---|---|---|---|---|---|---|---|---|
spi | точка—точка | до 70Mbps | до 1м | низкая | 0-5В (TTL) | Взаимодействие МК с периферией (например, флеш-память) | spi почти во всех МК | не требуется | kilm.by.ru |
i2c(twi) | шина | до 3.4Mbps | 1м | низкая | 0-5В (TTL) | Взаимодействие МК с периферией (например, флеш-память, датчики, АЦП), в том числе с другими МК | i2с почти во всех МК | не требуется | |
ttl-uart | точка—точка | до 1Mbps | 1м | низкая | 0-5В (TTL) | в основном используется как логический уровень для RS-232, RS-485, редко для UpLink'a с радиоканалом, взаимодействием с высокоуровневой периферией, например, GPS-модулями или GSM-модемами. | ttl-uart почти во всех МК | не требуется | см. RS-232, отличие только в физических уровнях |
rs-232 | точка—точка | 2.4Kbps-115Kbps[1] | до 900м[1] | средняя | +/- 15В | В основном используется для взаимодействия МК—ПК | ttl-uart почти во всех МК | $3 | www.gaw.ru |
rs-485 | шина | до 10Mbps[1] | до 1200м[1] | высокая | 0-5В | В основном используется для взаимодействия многочисленных модулей на базе МК с одним управляющим ПК | ttl-uart почти во всех МК | $3 | |
can | шина | 10Kbps-1Mbps[1] | до 5000м[1] | высокая | 0-5В | Используется для взаимодействия многочисленных модулей на базе МК с одним управляющим МК или ПК. Сложный, гибкий, применяется в ответственных приложениях (автомобильная техника, производство). | $15 | не требуется | |
1-wire | шина | 15.4Kbps
(в ряде случаев (на коротких линиях) до 125Kbps) |
до 300м | низкая | как правило, не требуется | Используется как простой и дешевый способ объединения в сеть датчиков и устройств, не требующих обмена большим количеством данных. Питание и сигналы передаются всего по паре проводов. Имеется большое количество устройств типа термометр, метка, датчик замыкания и т.п. | ? | ? | w:en:1-Wire |
Примечания
- ↑ 1 2 3 4 5 6 Чем больше расстояние, тем меньше скорость. Ошибка цитирования Неверный тег
<ref>
: название «len-baud» определено несколько раз для различного содержимого Ошибка цитирования Неверный тег<ref>
: название «len-baud» определено несколько раз для различного содержимого Ошибка цитирования Неверный тег<ref>
: название «len-baud» определено несколько раз для различного содержимого Ошибка цитирования Неверный тег<ref>
: название «len-baud» определено несколько раз для различного содержимого Ошибка цитирования Неверный тег<ref>
: название «len-baud» определено несколько раз для различного содержимого