Перейти к содержанию
    

Помехозащищенный RS-485

С импортными не сталкивался. Назовите одну-другую модельку, пожалуйста.

Сейчас в отъезде - на сдедующей неделе гляну. Но их реально уже больше, чем симметричных. В последних наших вариантах разводок опциональные растяжки, которые стояли, как защита от радиолюбителей на встречой стороне, были убраны вообще, ибо ассиметричные приемники массовые вещи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да у миландра есть такие и мы применяем на волне импорта-замещения.

С импортными не сталкивался. Назовите одну-другую модельку, пожалуйста.

Называется это "Fail-Safe". Из тех что у меня локально лежит (какбы недавно интересовался и еще не потер): SN65LBC184 (12 uA подтяжка), ADM4850–ADM4857бб ADM3483/ADM3485/ADM3488/ADM3490/ADM3491, LTC1480. Если гугл открою, то там конечно еще есть.

Но не вижу смысла специально искать и выбирать по наличию этой опции. Сам закладываю по сотне килоом в растяжку, чтобы не думать что за драйвер впаяют.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сам закладываю по сотне килоом в растяжку, чтобы не думать что за драйвер впаяют.

Предыдуший оратор http://electronix.ru/forum/index.php?showt...t&p=1383549 более чем четко объяснил почему "по сотне килоом" это буквально ни о чем. Эта припарка для терминированной линии просто фигня.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Предыдуший оратор http://electronix.ru/forum/index.php?showt...t&p=1383549 более чем четко объяснил почему "по сотне килоом" это буквально ни о чем. Эта припарка для терминированной линии просто фигня.

Я их закладываю не для "предыдущего оратора", а потому что мне они нужны для моей спокойной жизни и удовлетворения моих личных потребностей, вот и все причины.

Может, у меня резисторы эти вызывают этот, как его.... эстетический экстаз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может, у меня резисторы эти вызывают этот, как его.... эстетический экстаз.

Ну это резко меняет дело.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что касается Modbus и прочего, то дело в том, что у меня пакет данных от датчика составляет 12 байт плюс могу рассчитать контрольную сумму. Это траффик от датчика до МК1. Там чистый UART и скорость не хочется задирать, она там и так 350 кбит/с. Далее, к МК1 подсоединены несколько датчиков (8). То есть если приделывать к пакетам большие обрамления в МК1, то опять же придется повышать скорость передачи по RS-485 (передача на МК2).

 

При использовании COBS длина вашего (короткого) пакета увеличится на 1 байт. После преобразования COBS в вашем пакете не будет нулей. Для очистки грязи из приемного буфера надо дважды передать 0 до начала самого пакета. Первый 0 может оказаться испорченным, зато второй дойдет и очистит буфер. Для простоты можно еще раз передать 0 по завершению пакета. "Простота" заключается в том, что это позволяет не парсить приходящие байты "на лету", надо ловить только 0 и проверять валидность пакета целиком после прихода нуля. Итого, 4 байта накладных расходов.

 

И никаких таймеров и пауз, это лишнее, если делать с байт-стаффингом. Таймеры и паузы нужны для Модбаса RTU и подобных ему протоколов. Правда, не все липовые "специалисты" это способны понять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я смогу это преобразование выполнить на 8-битном процессоре с тактовой частотой 12 Мгц? Я имею ввиду по скорости, это преобразование много времени занимает?

И еще, после передачи от датчиков на МК мне надо как минимум добавить один байт - номер датчика (1,2,3..8). Можно ли это сделать без ущерба протоколу? Кроме того, нули то должен именно этот МК отправлять, потому что он передает по RS-485

Изменено пользователем Herz
Избыточное цитирование

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я смогу это преобразование выполнить на 8-битном процессоре с тактовой частотой 12 Мгц?

На чем угодно. Хоть на брэйнфаке.

 

Я имею ввиду по скорости, это преобразование много времени занимает?

Мизер. Посмотрите сами на код в Википедии и не задавайте таких вопросов. Причем, там приведен "сложный" вариант кода, поскольку они обрабатывают сообщения произвольного размера, а потому перекладывают из одного буфера в другой, чтобы по ходу можно было вставлять дополнительные байты. В случае же коротких сообщений (меньше 255 байт) все гораздо проще, поскольку заранее все известно: один дополнительный байт появится в начале. Поэтому и перекладывать ничего не надо, одного буфера достаточно, просто незакодированное сообщение надо в него класть начиная не с 0-го байта, а 1-го. Потом просто пробегаете по буферу и заменяете нули.

 

И еще, после передачи от датчиков на МК мне надо как минимум добавить один байт - номер датчика (1,2,3..8). Можно ли это сделать без ущерба протоколу? Кроме того, нули то должен именно этот МК отправлять, потому что он передает по RS-485

Да какая может быть разница, что вы там запихнете в свое сообщение? COBS-у это абсолютно по барабану. На передающем узле закодировали, на приемном раскодировали.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Называется это "Fail-Safe".
А я вот не уверен.

ИМХО Fail-Safe - это не обязательно смещённый порог, а лишь наличие растяжек.

Хочется понять есть-ли специальный термин, определяющий, что есть именно смещение порога.

Хочу понять для собственного ЛИКБЕЗа.

 

Чтобы спать спокойно мы стали выводить четыре клеммы для RS485: VABC.

А задачу по установки растяжек и терминаторов перекладываем на плечи эксплуатантов.

Т.к. от слабых растяжек с терминатором один вред, а сильные ставить нельзя т.к.

при параллельной работе приборов в одной сети RS485 они суммируют проводимость и получаем другие грабли...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да какая может быть разница, что вы там запихнете в свое сообщение? COBS-у это абсолютно по барабану. На передающем узле закодировали, на приемном раскодировали.

Я имел ввиду, что у меня есть данные 12 байт плюс считаю контрольную сумму = 13 байт. Преобразую все это дело по COBS-у, получается 14 байт. Это данные от одного датчика. Они поступают на МК через обычный UART, в обработчике DMA я добавляю номер датчика. Так вот эта добавка не будет противоречить COBS-у?

По идее, мне надо бы преобразовывать данные в этом МК, а не в датчике, но там у меня и так проблемы со временем, не хочется еще какие то преобразования там проводить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я имел ввиду, что у меня есть данные 12 байт плюс считаю контрольную сумму = 13 байт. Преобразую все это дело по COBS-у, получается 14 байт. Это данные от одного датчика. Они поступают на МК через обычный UART, в обработчике DMA я добавляю номер датчика. Так вот эта добавка не будет противоречить COBS-у?

Я не понимаю о чем вы говорите. Выражайте свои мысли яснее. Тот, кто отсылает сообщение, может добавить в сообщение что угодно, затем закодировать и переслать. Приемник раскодирует принятое сообщение обрабатывает как требуется, если надо - добавляет номер датчика. В чем проблема-то? Не играет роли кто является приемником, кто передатчиком. И что вы там в своем железе нагородили, кто у вас там "датчик", кто "МК", причем тут ДМА, и кто чего должен добавлять, то ли на передающем конце, то ли на приемном - так телепатов нет.

 

Кстати, однобайтная контрольная сумма - это мало, так вы ложные сообщения не отсеете. Используйте двухбайтный CRC.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не понимаю о чем вы говорите. Выражайте свои мысли яснее. Тот, кто отсылает сообщение, может добавить в сообщение что угодно, затем закодировать и переслать. Приемник раскодирует принятое сообщение обрабатывает как требуется. В чем проблема-то? Не играет роли кто является приемником, кто передатчиком. И что вы там в своем железе нагородили, кто у вас там "датчик", кто "МК", причем тут ДМА, и кто чего должен добавлять, то ли на передающем конце, то ли на приемном - так телепатов нет.

 

Кстати, однобайтная контрольная сумма - это мало, так вы ложные сообщения не отсеете. Используйте двухбайтный CRC.

Конструкция такая: Датчики (8 штук) по UART подключаются к МК1, МК1 по RS-485 подключается к МК2, МК2 подключается по USB к ПК

То есть в Вашей концепции передатчик - это МК1, а приемник - МК2.

А мне удобнее COBS преобразование сделать в датчике, а в МК1 добавить байт - номер датчика.

 

Кстати, однобайтная контрольная сумма - это мало, так вы ложные сообщения не отсеете. Используйте двухбайтный CRC.

почему? данных же мало, всего то 12 байт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ИМХО Fail-Safe - это не обязательно смещённый порог, а лишь наличие растяжек.

Хочется понять есть-ли специальный термин, определяющий, что есть именно смещение порога.

Извините, я не смогу ответить, не задумывался над этим.

Вы правы, это другое- если подать напряжение на вход, то эти подтяжки никак не перетянут вход в сторону от нуля. Но там начинает работать гистерезис на переключение (Input hysteresis voltage).

 

МК1 по RS-485 подключается к МК2, МК2 подключается по USB к ПК

Почему Вы напрямую не подключаете шину RS-485 от MK1 к компьютеру? Или почему не подключаете компьютер к RS-485 просто как еще один узел сети RS-485, если уж MK2 действительно нужен?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему Вы напрямую не подключаете шину RS-485 от MK1 к компьютеру? Или почему не подключаете компьютер к RS-485 просто как еще один узел сети RS-485, если уж MK2 действительно нужен?

У меня задание - сделать USB устройство. Видимо это связано с вопросами синхронизации прибора с другими устройствами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня задание - сделать USB устройство.
Так подключите MAX485 прямо к FT232R или CP2103 или возьмите готовый переходник, а всю обработку делайте на компьютере. Зачам там еще МК?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...