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

7, 6 и 5 бит данных в rs485

Вопрос:

Кто нибудь встречал использование 7, 6 или 5-битных данных в серийном оборудовании с интерфейсом rs485 (422, 232) ?

 

Вопрос возник потому что uart Stm32 поддерживает только 8 и 9 бит.

Сейчас как правило используется 8 бит данных, однако беспокоит что например Ascii ориентированные протоколы запросто могут использовать 7 битный формат а в древних устройствах может быть вообще все что угодно.

Если форматы данных менее 8 бит используются придется брать другой процессор с более гибким уарт.

 

 

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


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

Вопрос:

Кто нибудь встречал использование 7, 6 или 5-битных данных в серийном оборудовании с интерфейсом rs485 (422, 232) ?

Никто не мешает передавать 8-битные данные с одним стоповым у которых старший бит выставлен в "1", получится аналог 7N2.

Хотя уже 7N1, передаваемые без пауз такой уарт принять не сможет.

Мне, впрочем, не приходилось встречать использование RS485 менее чем с 8 битами. Обычно или жёстко заданный формат 8 бит или возможность настройки.

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


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

Никто не мешает передавать 8-битные данные с одним стоповым у которых старший бит выставлен в "1", получится аналог 7N2. Хотя уже 7N1, передаваемые без пауз такой уарт принять не сможет. Мне, впрочем, не приходилось встречать использование RS485 менее чем с 8 битами. Обычно или жёстко заданный формат 8 бит или возможность настройки.
RS232 вышел на рынок (принято считать, что был принят де-факто и де-юрэ) в 1964-м. До этого разрабатывался ( не один день) да и применялся в том или ином виде до этого. Поскольку на западе стандарт не закон, а рекомендации, то и использовали его по разному. В старой аппаратуре возможны 5, 6 и 7 бит и даже 1 стоп-, 1,5 стоп- и 2 стоп- бита. (Связано это было также и с желанием привязать электромеханику к электронике). Иногда последний информационный бит (7-й) при 5-битах информации и 2-х стопах использовался как дополнение до четности (нечетности). Стабильными за все годы и фирмы были только полярности старта и стопа (стопов). Погуглите, все это есть. RS422 и 485 появились позднее и более устойчивы были с самого начала. Но и там своего *** хватало.

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


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

Вопрос:

Кто нибудь встречал использование 7, 6 или 5-битных данных в серийном оборудовании с интерфейсом rs485 (422, 232) ?

...

Если форматы данных менее 8 бит используются придется брать другой процессор с более гибким уарт.

 

Приходилось сталкиваться с чем-то подобным в 80-х. Вот ни разу не припомню, что бы хоть раз уткнулись в 7 бит.

Самое древнее, на что можно ориентироваться, это устройства, с портом на 8251. Наверное, что-то такое ещё встретить можно.

Но даже если такие устройства имеют режим 7 бит, они наверняка поддерживают 2 стопа или переключаются в режим 8 бит (обычно задавалось переключателями).

 

Тут ещё стоит учесть обильное использование с 80-х микроконтроллеров типа 8051 и прочего подобного, которые работать с 7+1 просто не умеют.

Массовость применения 8-битных каналов разработчиками оборудования в 80-х безусловно учитывалась.

Думаю, что даже при большом желании, сейчас чрезвычайно трудно найти рабочую железяку, которая не поддерживает 8 бит (или 7+2).

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


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

Думаю, что даже при большом желании, сейчас чрезвычайно трудно найти рабочую железяку, которая не поддерживает 8 бит (или 7+2).

:bb-offtopic:

может автор изобрел машину времени и отправляется в прошлое? :)

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


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

Странный вопрос... А автор не знает с каким оборудованием ему предстоит работать??? Разработка "коня в вакууме", работающего со всем возможным существующим в мире оборудованием? :biggrin:

 

И из отписавшихся кто работал когда-нить со сторонним оборудованием по RS-485? :rolleyes:

Например - разного рода счётчиками э-энергии/воды/газа/...?

Например нам, когда мы разрабатывали контроллер сбора данных с различных устройств учёта, ставили задачу по поддержке всех стандартных режимов UART.

Даже хуже - говорили что есть какие-то счётчики, которые в процессе обмена с ними переключают скорость и формат обмена (вроде насколько помню - заголовок сообщения

передают на одной скорости/формате, тело с данными - на другой). Точно не скажу что это за устройства. Но в ТЗ требование было.

Чтобы понять насколько актуально всё менее 8N1, достаточно набрать в поиске 7N1 или 7E1 или... Увидите сколько ссылок и многие - совсем свежие даты.

Например вот:

http://www.tekon.ru/products/oth_equipment/electocounters

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


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

Странный вопрос... А автор не знает с каким оборудованием ему предстоит работать??? Разработка "коня в вакууме", работающего со всем возможным существующим в мире оборудованием? :biggrin:

 

И из отписавшихся кто работал когда-нить со сторонним оборудованием по RS-485? :rolleyes:

Например - разного рода счётчиками э-энергии/воды/газа/...?

Автор действительно не знает с каким оборудованием предстоит работать.

Поставлена задача работать с любыми устройствами имеющими интерфейс Rs485.

В первую очередь это счетчики электроэнергии/воды/газа/солярки/бензина/ зарубежных производителей.

 

Формат 7E1 stm32 еще может переварить если четность софтверно считать.

Затык с форматом 7N1 - его Stm32 не переварит никак.

Изменено пользователем _3m

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


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

Даже хуже - говорили что есть какие-то счётчики, которые в процессе обмена с ними переключают скорость и формат обмена (вроде насколько помню - заголовок сообщения

передают на одной скорости/формате, тело с данными - на другой). Точно не скажу что это за устройства. Но в ТЗ требование было.

Ну, например у Шлюмберже есть один газовый корректор (за давностью лет тип не помню). Там во время хэндшейка скорость меняется, причем запрос идет на старой скорости, а ответ уже на новой.

Да много извратов бывает, всего не предусмотришь, если в ТЗ нет четкого определения.

Лично я не сталкивался с малым количеством бит, но в старой телемеханике много чего бывает, особенно если разработано давно.

 

По-моему, если нужна универсальность, то придется

1. или делать прием-передачу ручками побитово (легко решается, если можно выделить аппаратное прерывание и таймер на каждый из каналов), - на современных молотилках вообще не вопрос. Кстати, этот путь также хорош когда аппаратный UART не позволяет получить нужную скорость или количество каналов большое (например, у меня было такое в древнем ПИКе, когда нужно было 50 бод при тактовой 20 мегагерц-делителя не хватало, или однажды понадобилось 8 каналов 9600 в параллель чтобы работали независимо)

 

2. или предусмотреть установку внешнего приемника, позволяющего больше возможностей для конфигурирования чем интегрированный UART, у Максима много всяких UART-SPI микросхем. Путь хорош "не вырост"- сейчас на плате пустое место и перемычки, а в случае нужды перемычки убираются и запаивается микросхема (или, еще лучше, если на плате есть посадочное место для своего модуля "адаптер связи", тогда конструкция очень универсальная получается- при нужде разрабатывается маленький модулек и пишется его софтовая поддержка)

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


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

Например вот

http://www.exar.com/common/content/documen...languageid=1033

все настраивается через регистры 5,6,7,8 бит данных, 1, 1,5 или 2 стопа ну и четности, короче все.

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


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

...

. Но в ТЗ требование было.

Чтобы понять насколько актуально всё менее 8N1, достаточно набрать в поиске 7N1 или 7E1 или... Увидите сколько ссылок и многие - совсем свежие даты.

Например вот:

...

ТЗ - это святое. Даже если там совсем чудные вещи присутствуют.

- Реально же, есть вопрос о неперенастраиваемом 7N1 и менее (7E1 - это тоже 8 битов и один стоп).

Таких устройств сейчас практически не найти. Ваш пример тому подтверждение. Все устройства поддерживают 8N1.

 

- И есть вопрос о применимости 7N1 в конкретных задачах, если устройства поддерживают оное.

В этой части стоит смотреть конкретную практику по конкретным областям.

Кто как, а я ни разу не сталкивался с требованием обязательного использования 7N1.

 

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


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

ТЗ - это святое. Даже если там совсем чудные вещи присутствуют.

- Реально же, есть вопрос о неперенастраиваемом 7N1 и менее (7E1 - это тоже 8 битов и один стоп).

Таких устройств сейчас практически не найти. Ваш пример тому подтверждение. Все устройства поддерживают 8N1.

Гугление показало что устройств с 7N1 дофига. Как правило эти устройства также поддерживают и 7E1, 7O1, многие (но не 100%) поддерживают 8*1.

7N1 проблема в большей части организационная.

У клиента имеется оборудование, X лет назад все было сконфигурировано на 7N1 и работало с древней 386-й.

Теперь 386-я сдохла (или не интегрируется в облако) и поставили мою железку, но ВСЕ устройства переконфигурировать никто не станет, клиенту подавай easy install.

 

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


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

- Реально же, есть вопрос о неперенастраиваемом 7N1 и менее (7E1 - это тоже 8 битов и один стоп).

Таких устройств сейчас практически не найти. Ваш пример тому подтверждение. Все устройства поддерживают 8N1.

Там (по моей ссылке) для половины устройств идёт отсыл к документации. Учитывая что у двух в таблице уже указано 7E1, высока вероятность,

что среди тех, для кого явно не указано есть и 7N1, а может и другие.

Да и поиск в инете выдаёт множество воплей с проблемой подключения к устройствам менее 8 бит.

 

2. или предусмотреть установку внешнего приемника, позволяющего больше возможностей для конфигурирования чем интегрированный UART, у Максима много всяких UART-SPI микросхем. Путь хорош "не вырост"-

На вырост, раз уж просматривается такая проблема, и всё равно - МК только выбирается, выбрать МК с железными 5,6,7 битами. Меньше гемора в будущем...

Тем более что и вообще UART у STM плешивенький...

Мы недавно, для устройства, которому потребуется много UART-ов, выбрали Tiva. 8 полноценных UART. И с битами и с FIFO всё в порядке.

Хотя наверное не все можно задействовать одновременно из-за конфликтов по пинам.

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


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

Гугление показало что устройств с 7N1 дофига. Как правило эти устройства также поддерживают и 7E1

...

У клиента имеется оборудование, X лет назад все было сконфигурировано на 7N1 и работало с древней 386-й.

Теперь 386-я сдохла (или не интегрируется в облако) и поставили мою железку, но ВСЕ устройства переконфигурировать никто не станет, клиенту подавай easy install.

 

- Я говорил о "чистых" 7N1. И ваш ответ это только подтверждает. И по-другому быть не может. Начиная с 80-х, в любой микросхеме, поддерживающей 7N1, будет 7N2 или 8N1.

7E1 - это уже не проблема. Контроль чётности может быть аппаратным и программным. Физически, 7E1 вписывается в 8N1.

 

- Похоже, что Вам сильно повезло. Привет из конца 80-х - начала 90-х?

Тогда закупали всё, что ни попади, включая устаревшее западное барахло начала 80-х, а потом лепили как ни попади.

А м.б. и не повезло. Если там сетка на RS485/422, то есть сильные подозрения, что это не 7N1, а 7E1 или 7N2(с этим тоже проблем нет).

Используемый в этом оборудовании протокол не подскажете? И сразу всё встанет на свои места.

 

...Учитывая что у двух в таблице уже указано 7E1, высока вероятность

...

Да и поиск в инете выдаёт множество воплей с проблемой подключения к устройствам менее 8 бит.

 

 

На вырост, раз уж просматривается такая проблема, и всё равно - МК только выбирается, выбрать МК с железными 5,6,7 битами. Меньше гемора в будущем...

...

Вероятнасть встретить "чистый" 7N1 близка к нулевой. Множество воплей касается преимущественно 7E1. Это действительно актуально. И даже понятно, почему именно (кто не понял, догадываемся).

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

 

Ну да ладно. Кто считает актуальным 7N1 и менее, пусть делает. 5 бит особенно пригодятся для занесения в табличку ТТХ.

А вот на что действительно стоит обратить внимание - это 8E1.

Да и аппаратный 7E1/8E1 не помешает. Скорее всего, и 7N1 пойдёт бонусом к такому комплекту.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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