bornbash 0 10 июля, 2019 Опубликовано 10 июля, 2019 · Жалоба Доброго времени суток, коллеги. Нахожусь на перепутье с выбором протокола общения в сети. Сеть состоит из 25-30 датчиков на базе STM32F1хх и 1-го центрального устройства (будет что-то одноплатное типа Pi, Orange и т.п.). Линия связи - витая пара. Режим работы - периодический съем данных с датчиков (с периодом опроса от 1с до нескольких минут , каждый датчик генерит порядка 10 байт инфы). Расположение - жилое помещение. Максимальное расстояние между узлами - до 15 м. Также необходимо иметь возможность обновлять прошивку датчиков по сети (50-80 кБ). Напрашивается сразу классика в виде RS485 + Modbus RTU, но есть особенность: если показания датчиков начинают превышать пороги, то центральное устройство должно об этом узнать не позднее, чем через 1с. И тут либо датчики должны иметь возможность асинхронно сгенерировать алерт, либо, если юзать Modbus, необходимо опрашивать постоянно всю сеть с частотой 1 Гц (хотя в "стандартном режиме" достаточно 1 в минуту и реже). Есть ли альтернативы? С CAN никогда не сталкивался, вроде как можно ставить CAN-контроллер (или даже только трансивер) и радоваться жизни, или есть подводные камни? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 32 10 июля, 2019 Опубликовано 10 июля, 2019 · Жалоба 1 час назад, bornbash сказал: Сеть состоит из 25-30 датчиков 1 час назад, bornbash сказал: с периодом опроса от 1с до нескольких минут 1 час назад, bornbash сказал: датчик генерит порядка 10 байт инфы В данном случае можно использовать что угодно, еще с запасом будет. 485 - самое простое, кан сложнее но все это вполне реализуемо... 1 час назад, bornbash сказал: Modbus RTU А это будет лишний костыль, и не предназначено для обновления прошивки... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bornbash 0 10 июля, 2019 Опубликовано 10 июля, 2019 (изменено) · Жалоба 1 hour ago, mantech said: В данном случае можно использовать что угодно, еще с запасом будет. 485 - самое простое, кан сложнее но все это вполне реализуемо... А это будет лишний костыль, и не предназначено для обновления прошивки... А если замахиваться на возможность подключения всей этой сети через центральное устройство (RPi) к какой-либо SCADA? Внутреннюю сеть сделать на проприетарном протоколе, поддерживающем обновление прошивки, а уже в RPi думать о том, как в SCAD'у слать? Изменено 10 июля, 2019 пользователем bornbash Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 32 10 июля, 2019 Опубликовано 10 июля, 2019 (изменено) · Жалоба 1 час назад, bornbash сказал: А если замахиваться на возможность подключения всей этой сети через центральное устройство (RPi) к какой-либо SCADA? И как этой скаде будете объяснять про обновление прошивки? Придется писать свой протокол на мастер устройстве...Либо реализовывать 2 протокола - 1-стандартный, типа модбаса, второй для обновления. 1 час назад, bornbash сказал: Внутреннюю сеть сделать на проприетарном протоколе, поддерживающем обновление прошивки, Кто в таком случае будет обновлять? Еще один контроллер? Изменено 10 июля, 2019 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bornbash 0 10 июля, 2019 Опубликовано 10 июля, 2019 (изменено) · Жалоба 29 minutes ago, mantech said: И как этой скаде будете объяснять про обновление прошивки? Придется писать свой протокол на мастер устройстве...Либо реализовывать 2 протокола - 1-стандартный, типа модбаса, второй для обновления Да никак, конечно. Просто для сенсорной сети хотелось взять что-нибудь готовое, но, судя по всему, модбас целесообразно использовать для унификации, т.е. либо для обеспечения возможности подключения сторонних датчиков в свою сеть, либо своих датчиков в другие системы. Ни того, ни другого не предвидится. А с учетом больших накладных расходов при обновлении прошивки, целесообразость его использования стремится к 0 в моем случае. ТАк что буду, вероятно, что-то свое простое городить. 29 minutes ago, mantech said: Кто в таком случае будет обновлять? Еще один контроллер? RPi будет смотреть в интернет, через неё будет апдейт прошивки. Целесообразность применения SCADA у меня пока под боооольшим вопросом. Вероятно, что вполне достаточно будет стрима данных в облако безо всяких локальных интерфейсов. Изменено 10 июля, 2019 пользователем bornbash Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 172 10 июля, 2019 Опубликовано 10 июля, 2019 · Жалоба 6 часов назад, bornbash сказал: Напрашивается сразу классика в виде RS485 + Modbus RTU, но есть особенность: если показания датчиков начинают превышать пороги, то центральное устройство должно об этом узнать не позднее, чем через 1с. И тут либо датчики должны иметь возможность асинхронно сгенерировать алерт, либо, если юзать Modbus, необходимо опрашивать постоянно всю сеть с частотой 1 Гц (хотя в "стандартном режиме" достаточно 1 в минуту и реже). Зачем так медленно? Калькулятор говорит, что на скорости UART 115200 нужно всего несколько мсек чтобы опросить все 30 датчиков и узнать состояния алертов на них. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 32 10 июля, 2019 Опубликовано 10 июля, 2019 · Жалоба 2 часа назад, bornbash сказал: модбас целесообразно использовать для унификации, т.е. либо для обеспечения возможности подключения сторонних датчиков в свою сеть, либо своих датчиков в другие системы. Ни того, ни другого не предвидится. Да и нафига он нужен тогда? Обычный протокол - заголовок+адрес, длина, к. сумма в сторону устройства, оно выдает аналогичный ответ, только без адреса и все, больше ничего не надо... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bornbash 0 10 июля, 2019 Опубликовано 10 июля, 2019 · Жалоба коллеги, благодарю! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SSerge 4 11 июля, 2019 Опубликовано 11 июля, 2019 · Жалоба 12 часов назад, mantech сказал: Да и нафига он нужен тогда? Обычный протокол - заголовок+адрес, длина, к. сумма в сторону устройства, оно выдает аналогичный ответ, только без адреса и все, больше ничего не надо... Ну и чем это кардинально отличается от того же модбаса? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 32 11 июля, 2019 Опубликовано 11 июля, 2019 · Жалоба 1 минуту назад, SSerge сказал: Ну и чем это кардинально отличается от того же модбаса? Более простая в понимании организация, без всяких доп. специфичных команд, входных регистров и битовых coils... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bornbash 0 24 июля, 2019 Опубликовано 24 июля, 2019 (изменено) · Жалоба Коллеги, а по конкретным микросхемам для RS-485 соориентируете? Есть отличные по характеристиками трансиверы MAX3075 с кусачим ценником под $4 в мелкой серии. Есть ADM3072 (тоже полудуплекс, ESD, true fail-safe, только на 250кбод), но уже в 2 раза дешевле почти. Есть линейка от MaxLinear - про них вообще до сегодняшнего дня ничего не слышал. Подскажите из собственного опыта лучше на что ориентироваться, если нужно, чтобы без проблем сеть работала? Изменено 24 июля, 2019 пользователем bornbash Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 2 24 июля, 2019 Опубликовано 24 июля, 2019 · Жалоба 1 hour ago, bornbash said: Есть линейка от MaxLinear - про них вообще до сегодняшнего дня ничего не слышал. Это бывший Exar. Если остатки памяти мне не изменяют, всякие RS/V интерфейсы к ним от Sipex пришли... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SAWushka 0 29 июля, 2019 Опубликовано 29 июля, 2019 · Жалоба В 24.07.2019 в 21:38, bornbash сказал: Коллеги, а по конкретным микросхемам для RS-485 соориентируете? Используем вот такой ADM2483, не дешевый, но с изоляцией. А выбирать нужно исходя из тех же характеристик. В первую очередь количество устройств в сети. Дальше всякие защиты от статики и дурака. Уж или трансивер по дороже, или на рассыпухе защиту. Если устройств много, как у Вас - отключаемые терминаторы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 32 29 июля, 2019 Опубликовано 29 июля, 2019 · Жалоба В 24.07.2019 в 17:38, bornbash сказал: Коллеги, а по конкретным микросхемам для RS-485 соориентируете? Есть отличные по характеристиками трансиверы MAX3075 с кусачим ценником под $4 в мелкой серии. Есть ADM3072 (тоже полудуплекс, ESD, true fail-safe, только на 250кбод), А чем "классика" не угодила, та же ADM3485 ? Стоит копейки и есть в наличии... https://www.elitan.ru/price/item83408 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 56 29 июля, 2019 Опубликовано 29 июля, 2019 · Жалоба В 24.07.2019 в 21:38, bornbash сказал: Коллеги, а по конкретным микросхемам для RS-485 соориентируете? У нас MAX485ESA для 5В и ST3485EBDR для 3.3В в серию идут. Но у них ограничение по скорости, насколько помню 250 кбит. По этому соотносите со своими требованиями. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться