реклама на сайте
подробности

 
 
10 страниц V  « < 6 7 8 9 10 >  
Reply to this topicStart new topic
> Помехозащищенный RS-485
zltigo
сообщение Nov 25 2015, 14:27
Сообщение #106


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (demiurg_spb @ Nov 25 2015, 15:22) *
С импортными не сталкивался. Назовите одну-другую модельку, пожалуйста.

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Nov 25 2015, 20:11
Сообщение #107


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(demiurg_spb @ Nov 25 2015, 15:22) *
Да у миландра есть такие и мы применяем на волне импорта-замещения.
С импортными не сталкивался. Назовите одну-другую модельку, пожалуйста.

Называется это "Fail-Safe". Из тех что у меня локально лежит (какбы недавно интересовался и еще не потер): SN65LBC184 (12 uA подтяжка), ADM4850–ADM4857бб ADM3483/ADM3485/ADM3488/ADM3490/ADM3491, LTC1480. Если гугл открою, то там конечно еще есть.
Но не вижу смысла специально искать и выбирать по наличию этой опции. Сам закладываю по сотне килоом в растяжку, чтобы не думать что за драйвер впаяют.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 25 2015, 21:20
Сообщение #108


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Ruslan1 @ Nov 25 2015, 22:11) *
Сам закладываю по сотне килоом в растяжку, чтобы не думать что за драйвер впаяют.

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Nov 25 2015, 21:37
Сообщение #109


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(zltigo @ Nov 25 2015, 23:20) *
Предыдуший оратор http://electronix.ru/forum/index.php?showt...t&p=1383549 более чем четко объяснил почему "по сотне килоом" это буквально ни о чем. Эта припарка для терминированной линии просто фигня.

Я их закладываю не для "предыдущего оратора", а потому что мне они нужны для моей спокойной жизни и удовлетворения моих личных потребностей, вот и все причины.
Может, у меня резисторы эти вызывают этот, как его.... эстетический экстаз.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 25 2015, 21:44
Сообщение #110


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Ruslan1 @ Nov 25 2015, 23:37) *
Может, у меня резисторы эти вызывают этот, как его.... эстетический экстаз.

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




--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
=AK=
сообщение Nov 25 2015, 22:31
Сообщение #111


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



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


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

И никаких таймеров и пауз, это лишнее, если делать с байт-стаффингом. Таймеры и паузы нужны для Модбаса RTU и подобных ему протоколов. Правда, не все липовые "специалисты" это способны понять.
Go to the top of the page
 
+Quote Post
Atlantis-
сообщение Nov 26 2015, 08:41
Сообщение #112


Местный
***

Группа: Участник
Сообщений: 491
Регистрация: 18-05-11
Пользователь №: 65 102



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

Сообщение отредактировал Herz - Nov 26 2015, 10:06
Причина редактирования: Избыточное цитирование
Go to the top of the page
 
+Quote Post
=AK=
сообщение Nov 26 2015, 09:45
Сообщение #113


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(Atlantis- @ Nov 26 2015, 19:11) *
А я смогу это преобразование выполнить на 8-битном процессоре с тактовой частотой 12 Мгц?

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

Цитата(Atlantis- @ Nov 26 2015, 19:11) *
Я имею ввиду по скорости, это преобразование много времени занимает?

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

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

Да какая может быть разница, что вы там запихнете в свое сообщение? COBS-у это абсолютно по барабану. На передающем узле закодировали, на приемном раскодировали.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Nov 26 2015, 10:43
Сообщение #114


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(Ruslan1 @ Nov 25 2015, 23:11) *
Называется это "Fail-Safe".
А я вот не уверен.
ИМХО Fail-Safe - это не обязательно смещённый порог, а лишь наличие растяжек.
Хочется понять есть-ли специальный термин, определяющий, что есть именно смещение порога.
Хочу понять для собственного ЛИКБЕЗа.

Чтобы спать спокойно мы стали выводить четыре клеммы для RS485: VABC.
А задачу по установки растяжек и терминаторов перекладываем на плечи эксплуатантов.
Т.к. от слабых растяжек с терминатором один вред, а сильные ставить нельзя т.к.
при параллельной работе приборов в одной сети RS485 они суммируют проводимость и получаем другие грабли...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Atlantis-
сообщение Nov 26 2015, 11:09
Сообщение #115


Местный
***

Группа: Участник
Сообщений: 491
Регистрация: 18-05-11
Пользователь №: 65 102



Цитата(=AK= @ Nov 26 2015, 12:45) *
Да какая может быть разница, что вы там запихнете в свое сообщение? COBS-у это абсолютно по барабану. На передающем узле закодировали, на приемном раскодировали.

Я имел ввиду, что у меня есть данные 12 байт плюс считаю контрольную сумму = 13 байт. Преобразую все это дело по COBS-у, получается 14 байт. Это данные от одного датчика. Они поступают на МК через обычный UART, в обработчике DMA я добавляю номер датчика. Так вот эта добавка не будет противоречить COBS-у?
По идее, мне надо бы преобразовывать данные в этом МК, а не в датчике, но там у меня и так проблемы со временем, не хочется еще какие то преобразования там проводить.
Go to the top of the page
 
+Quote Post
=AK=
сообщение Nov 26 2015, 12:00
Сообщение #116


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(Atlantis- @ Nov 26 2015, 21:39) *
Я имел ввиду, что у меня есть данные 12 байт плюс считаю контрольную сумму = 13 байт. Преобразую все это дело по COBS-у, получается 14 байт. Это данные от одного датчика. Они поступают на МК через обычный UART, в обработчике DMA я добавляю номер датчика. Так вот эта добавка не будет противоречить COBS-у?

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

Кстати, однобайтная контрольная сумма - это мало, так вы ложные сообщения не отсеете. Используйте двухбайтный CRC.
Go to the top of the page
 
+Quote Post
Atlantis-
сообщение Nov 26 2015, 12:14
Сообщение #117


Местный
***

Группа: Участник
Сообщений: 491
Регистрация: 18-05-11
Пользователь №: 65 102



Цитата(=AK= @ Nov 26 2015, 15:00) *
Я не понимаю о чем вы говорите. Выражайте свои мысли яснее. Тот, кто отсылает сообщение, может добавить в сообщение что угодно, затем закодировать и переслать. Приемник раскодирует принятое сообщение обрабатывает как требуется. В чем проблема-то? Не играет роли кто является приемником, кто передатчиком. И что вы там в своем железе нагородили, кто у вас там "датчик", кто "МК", причем тут ДМА, и кто чего должен добавлять, то ли на передающем конце, то ли на приемном - так телепатов нет.

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

Конструкция такая: Датчики (8 штук) по UART подключаются к МК1, МК1 по RS-485 подключается к МК2, МК2 подключается по USB к ПК
То есть в Вашей концепции передатчик - это МК1, а приемник - МК2.
А мне удобнее COBS преобразование сделать в датчике, а в МК1 добавить байт - номер датчика.

Цитата(=AK= @ Nov 26 2015, 15:00) *
Кстати, однобайтная контрольная сумма - это мало, так вы ложные сообщения не отсеете. Используйте двухбайтный CRC.

почему? данных же мало, всего то 12 байт.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Nov 26 2015, 16:01
Сообщение #118


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(demiurg_spb @ Nov 26 2015, 12:43) *
ИМХО Fail-Safe - это не обязательно смещённый порог, а лишь наличие растяжек.
Хочется понять есть-ли специальный термин, определяющий, что есть именно смещение порога.

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

Цитата(Atlantis- @ Nov 26 2015, 14:14) *
МК1 по RS-485 подключается к МК2, МК2 подключается по USB к ПК

Почему Вы напрямую не подключаете шину RS-485 от MK1 к компьютеру? Или почему не подключаете компьютер к RS-485 просто как еще один узел сети RS-485, если уж MK2 действительно нужен?
Go to the top of the page
 
+Quote Post
Atlantis-
сообщение Nov 26 2015, 16:58
Сообщение #119


Местный
***

Группа: Участник
Сообщений: 491
Регистрация: 18-05-11
Пользователь №: 65 102



Цитата(Ruslan1 @ Nov 26 2015, 19:01) *
Почему Вы напрямую не подключаете шину RS-485 от MK1 к компьютеру? Или почему не подключаете компьютер к RS-485 просто как еще один узел сети RS-485, если уж MK2 действительно нужен?

У меня задание - сделать USB устройство. Видимо это связано с вопросами синхронизации прибора с другими устройствами.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 26 2015, 18:08
Сообщение #120


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Atlantis- @ Nov 26 2015, 19:58) *
У меня задание - сделать USB устройство.
Так подключите MAX485 прямо к FT232R или CP2103 или возьмите готовый переходник, а всю обработку делайте на компьютере. Зачам там еще МК?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

10 страниц V  « < 6 7 8 9 10 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 03:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01809 секунд с 7
ELECTRONIX ©2004-2016