Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Прием данных по RS485
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам
Kovrov
Господа, давно мучает такой вопрос...
на 485 сидит протокол IEC 60870-5-103
да собствеено это наверное и не особо имеет значения
Вопрос в следующем:
По Rx в уарте принимаю фрейм (кадр)
какой выбрать тайм аут между байтами кадра (случай сбоя передатчика или шины) для возвращения алгоритма разбора кадра в исходное состояние... ?
или вообще по какому критерию выбирать время тайм аута между байтами в кадре?
blackbit
Везде по-разному на этом 485-м. Есть протоколы, где разделение пакетов само по себе завязано на время, причем это время еще может быть и привязано стандартом к текущей скорости передачи. Например, Мodbus RTU: "интервал тишины" == 3.5 символа (на данной скорости). И если время между фреймами превышает этот интервал, то считается, что это конец/начало пакета. В тех протоколах, где нет разделения пакетов по временному интервалу, всё равно оговаривается максимальное время между фреймами в пакете. Например, в кровном брате вышеприведенного протокола, в Modbus ASCII, где пакеты разделяются маркерами, оно всё равно оговаривается и лежит в пределах 1с.
Один из основных критериев, естественна, скорость. В случае слишком больших выбранных таймаутов канальный уровень будет неоправданно долго реинициализироваться.
Kovrov
Дело ясное что дело темное..
Придется далее штудировать гост по этому протоколу...
пока прочитал только 870-5-1
хотя я имел ввиду не межфреймовое время, а время (внутри приема фрема) после которого мне нужно принять решение, что при приеме фрейму настал кирдык.
rezident
Цитата(Kovrov @ Feb 22 2008, 14:17) *
хотя я имел ввиду не межфреймовое время, а время (внутри приема фрема) после которого мне нужно принять решение, что при приеме фрейму настал кирдык.
В том же ModBus RTU пауза больше, чем длительность 1,5 символа считается ошибкой фрейма. Почитайте стандарт ModBus over serial line для примера.
Andrew2000
Сименсовский Profibus чип ASPC2 считал ошибкой паузу 1 бит между символами в телеграмме.
так что, думаю, нужно смотреть конкретный протокол/изделие, у каждого свой глобус
Kovrov
Спасибо друзья!! я понял
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.