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

 
 
 
Reply to this topicStart new topic
> Прием данных по RS485, грамотно защитится от сбоев
Kovrov
сообщение Feb 22 2008, 05:27
Сообщение #1


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



Господа, давно мучает такой вопрос...
на 485 сидит протокол IEC 60870-5-103
да собствеено это наверное и не особо имеет значения
Вопрос в следующем:
По Rx в уарте принимаю фрейм (кадр)
какой выбрать тайм аут между байтами кадра (случай сбоя передатчика или шины) для возвращения алгоритма разбора кадра в исходное состояние... ?
или вообще по какому критерию выбирать время тайм аута между байтами в кадре?


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
blackbit
сообщение Feb 22 2008, 07:31
Сообщение #2


Частый гость
**

Группа: Новичок
Сообщений: 100
Регистрация: 5-03-07
Пользователь №: 25 892



Везде по-разному на этом 485-м. Есть протоколы, где разделение пакетов само по себе завязано на время, причем это время еще может быть и привязано стандартом к текущей скорости передачи. Например, Мodbus RTU: "интервал тишины" == 3.5 символа (на данной скорости). И если время между фреймами превышает этот интервал, то считается, что это конец/начало пакета. В тех протоколах, где нет разделения пакетов по временному интервалу, всё равно оговаривается максимальное время между фреймами в пакете. Например, в кровном брате вышеприведенного протокола, в Modbus ASCII, где пакеты разделяются маркерами, оно всё равно оговаривается и лежит в пределах 1с.
Один из основных критериев, естественна, скорость. В случае слишком больших выбранных таймаутов канальный уровень будет неоправданно долго реинициализироваться.
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Feb 22 2008, 09:17
Сообщение #3


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



Дело ясное что дело темное..
Придется далее штудировать гост по этому протоколу...
пока прочитал только 870-5-1
хотя я имел ввиду не межфреймовое время, а время (внутри приема фрема) после которого мне нужно принять решение, что при приеме фрейму настал кирдык.


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
rezident
сообщение Feb 22 2008, 11:31
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Kovrov @ Feb 22 2008, 14:17) *
хотя я имел ввиду не межфреймовое время, а время (внутри приема фрема) после которого мне нужно принять решение, что при приеме фрейму настал кирдык.
В том же ModBus RTU пауза больше, чем длительность 1,5 символа считается ошибкой фрейма. Почитайте стандарт ModBus over serial line для примера.
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Feb 22 2008, 11:43
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Сименсовский Profibus чип ASPC2 считал ошибкой паузу 1 бит между символами в телеграмме.
так что, думаю, нужно смотреть конкретный протокол/изделие, у каждого свой глобус
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Feb 22 2008, 14:01
Сообщение #6


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



Спасибо друзья!! я понял


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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