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

 
 
> Вопрос по формату кадра UART в ATmega-х, Может быть одновременно и Bit8 и P
Дон Амброзио
сообщение Mar 19 2008, 15:13
Сообщение #1


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Тут с одним поспорили. Он говорит, что по даташифту в кадре UART не может быть более 9 бит. Я же говорю, что может быть 10 (имеется ввиду информационных бит, а не служебных). А он говорит, что нельзя использовать в кадре сразу и Bit8 и бит чётности - P. А я говорю, что можно. Кто прав?

ST + Bit0 + Bit1 + Bit2 + Bit3 + Bit4 + Bit5 + Bit6 + Bit7 + Bit8 + P + SP1 + SP2


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
=GM=
сообщение Mar 19 2008, 21:54
Сообщение #2


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Бит паритета, кстати, это не информационный, а служебный бит.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение Mar 19 2008, 22:06
Сообщение #3


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Цитата(=GM= @ Mar 20 2008, 00:54) *
Бит паритета, кстати, это не информационный, а служебный бит.

Им и инфу можно передавать меняя нужным образом функцию с "бит чётности" на "бит нечётности" и наоборот


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Mar 20 2008, 07:08
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Дон Амброзио @ Mar 20 2008, 02:06) *
Им и инфу можно передавать меняя нужным образом функцию с "бит чётности" на "бит нечётности" и наоборот

Можно, док. Так и делают люди, желающие секса.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 20 2008, 07:36
Сообщение #5


Гуру
******

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



Цитата(Dog Pawlowa @ Mar 20 2008, 10:08) *
Так и делают люди, желающие секса.

Ну иногда и не желающие оного, например, для отметки этим девятым битом начал фреймов для простейших микроскопических протоколов, когда SLIPообразные тяжеловаты для перифериных контроллеров а то и вообще чистых железок.
Цитата(=GM= @ Mar 20 2008, 02:08) *
..поскольку бит паритета формируется Исключающим ИЛИ из передаваемых бит данных, следовательно, не является независимой величиной.

Обычно можно перепрограммировать контроллер и для передачи/приема фиксированного бита четности (mark/space).


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Mar 20 2008, 07:48
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(zltigo @ Mar 20 2008, 11:36) *
Ну иногда и не желающие оного, например, для отметки этим девятым битом начал фреймов для простейших микроскопических протоколов...

Не знаю-не знаю. Есть стандартные символы STX, ETX, ETB, ENQ... В трех десятках протоколов с которыми мне приходилось разбираться, никто иначе не делал.
Кстати, применение этих символов регламентируется ENxxxxx, низзя Вам нарушать. smile.gif
"Мне - можно" biggrin.gif Но я так никогда не буду делать.
Да и потеря быстродействия может быть критична.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 20 2008, 11:07
Сообщение #7


Гуру
******

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



Цитата(Dog Pawlowa @ Mar 20 2008, 10:48) *
..никто иначе не делал.

Все когда-то "иначе не делалость", до того, как кто-то взял и сделал. Напомню, что я речь веду не о массированной передаче информации маханием 9 битом через заднепроходное отверстие, а эпизодическом использовании 9 бита для, например, отметок начала фреймов.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Mar 20 2008, 11:53
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(zltigo @ Mar 20 2008, 15:07) *
Все когда-то "иначе не делалость", до того, как кто-то взял и сделал. Напомню, что я речь веду не о массированной передаче информации маханием 9 битом через заднепроходное отверстие, а эпизодическом использовании 9 бита для, например, отметок начала фреймов.

Нет, напоминание не требуется, ув. zltigo smile.gif
А с идеей все равно не соглашусь. Хотя бы из соображений подключения других устройств (платформы, прослушки, конвертеры интерфейсов).


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 20 2008, 12:16
Сообщение #9


Гуру
******

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



Цитата(Dog Pawlowa @ Mar 20 2008, 14:53) *
А с идеей все равно не соглашусь.

Никогда-никогда? smile.gif Например, среди самодельщиков протоколов (меня это не нравится и я даже пару раз с таким подходом резко спорил)очень популярно посылать бинарные фреймы ввиде, например,
<0x55><размер><тело....> при этом при потерях начинается поиск маркера <0x55>, соответственно ложные синхронизации и понеслось... Теперь слека усовершенствуем - посылаем Маркер <0x55> со сбитой четностью получаем УНИКАЛЬНЫЙ разделитель в чисто бинарном потоке - синхронизироваться становится легко, собственно и размер можно исключить. Да, конечно есть, например, классические SLIPобразные протоколы, UUEобразные,..но тем не менее и это вполне жизненный вариант.
Цитата
Хотя бы из соображений подключения других устройств (платформы, прослушки, конвертеры интерфейсов).

Что такое "платформы" не понял, но прослушки будут работать, а конверторы либо должны знать конвертируемые протоколы, либо соответственно накладывать ограничения на то, что конвертирут. Ну
и системы без конверторов тоже имеют право на существование wink.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 20 2008, 13:02
Сообщение #10


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(zltigo @ Mar 20 2008, 11:07) *
...я речь веду не о массированной передаче информации маханием 9 битом через заднепроходное отверстие, а эпизодическом использовании 9 бита для, например, отметок начала фреймов

В атмелах есть штатная фича Multi-processor Communication mode (MPCM), которую можно использовать для фильтрации входящих фреймов. Установлен 9-й бит, значит принят адрес (начало пакета), не установлен - значит входной байт игнорируется, ждём следующего.
Цитата(zltigo @ Mar 20 2008, 12:16) *
...среди самодельщиков протоколов очень популярно посылать бинарные фреймы в виде, например, <0x55><размер><тело....> при этом при потерях начинается поиск маркера <0x55>, соответственно ложные синхронизации и понеслось...

Уточните, потери чего? Пакета? И из-за чего? Из-за сбоя в линии передачи или недостатка времени на обработку? Если из-за недостатка времени, то плохо спроектирована программа или система, мы это не рассматриваем. Если из-за сбоя в линии, то значит необходим контроль ошибок. А паритет - это и есть нулевой уровень контроля, крайне нежелательно использовать его не по назначению.
Цитата(zltigo @ Mar 20 2008, 12:16) *
Теперь слегка усовершенствуем - посылаем Маркер <0x55> со сбитой четностью получаем УНИКАЛЬНЫЙ разделитель в чисто бинарном потоке - синхронизироваться становится легко, собственно и размер можно исключить

Проблема синхронизации давно решена байт-стаффингом для байт-ориентированных протоколов и бит-стаффингом для бит-ориентированных. Или можно применить MPCM какой-нибудь. Если вопрос серьёзный и/или помеховая обстановка плохая, то ставят синхрослово подходящей длины. Я тут на форуме уже рассказывал, у меня в одном проекте было синхрослово длиной 288 бит. Можно и м-последовательность замутить длиной 4096 или около того, зависит от задачи.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 20 2008, 13:21
Сообщение #11


Гуру
******

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



Цитата(=GM= @ Mar 20 2008, 16:02) *
Уточните, потери чего? Пакета?

Потери/Искажения Байта.
Цитата
И из-за чего? Из-за сбоя в линии передачи

Да.
Цитата
Если из-за сбоя в линии, то значит необходим контроль ошибок.

Естественно, ну и что?
Цитата
А паритет - это и есть нулевой уровень контроля, крайне нежелательно использовать его не по назначению.

Если-бы ВНИМАТЕЛЬНО прочитали хотя-бы пример, то поняли, что паритет остается совершенно штатно рабочим во время передачи тела фрейма.
Цитата
Проблема синхронизации давно решена байт-стаффингом для байт-ориентированных протоколов и бит-стаффингом для бит-ориентированных.

Это Вы мне? Зачем, если я об этом сам дважды поминал?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 20 2008, 13:40
Сообщение #12


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(zltigo @ Mar 20 2008, 13:21) *
Если-бы ВНИМАТЕЛЬНО прочитали хотя-бы пример, то поняли, что паритет остается совершенно штатно рабочим во время передачи тела фрейма

Я читал достаточно внимательно. Но подумайте, что будет, если байт начала пакета 0х55 передастся с ошибкой? Паритет на приёме изменится, станет правильным, и вы потеряете пакет. А что будет, если байт 0х55 в пакете передастся с ошибкой? Вы захватитесь за ложное начало пакета и потеряете настоящий. Ну и еще масса вариантов есть, когда ваш пример протокола будет глючить.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 20 2008, 13:49
Сообщение #13


Гуру
******

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



Цитата(=GM= @ Mar 20 2008, 16:40) *
Я читал достаточно внимательно. Но подумайте, что будет, если байт начала пакета 0х55 передастся с ошибкой? А что будет, если байт 0х55 в пакете передастся с ошибкой?

Тогда он не будет 0x55 smile.gif. И речь идет не о предложении некого чудесного протокола на parity, который позволит избежать ошибок, а о выходе из ситуации после потери фреймовой синхронизации быстрее и минимальными потерями пакетов.
Цитата
Ну и еще масса вариантов есть, когда ваш пример протокола будет глючить.

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Дон Амброзио   Вопрос по формату кадра UART в ATmega-х   Mar 19 2008, 15:13
- - Aesthete Animus   Цитата(Дон Амброзио @ Mar 19 2008, 18:13)...   Mar 19 2008, 16:25
|- - Дон Амброзио   Цитата(Aesthete Animus @ Mar 19 2008, 19...   Mar 19 2008, 16:58
- - SasaVitebsk   В ATMega полный USART, в отличие от 89с51 Цитата• ...   Mar 19 2008, 18:39
|- - =GM=   Цитата(Дон Амброзио @ Mar 19 2008, 22:06)...   Mar 19 2008, 23:08
||- - Дон Амброзио   Цитата(=GM= @ Mar 20 2008, 02:08) Нельзя ...   Mar 20 2008, 07:39
|- - Дон Амброзио   Цитата(Dog Pawlowa @ Mar 20 2008, 10:48) ...   Mar 20 2008, 08:05
||- - Dog Pawlowa   Цитата(Дон Амброзио @ Mar 20 2008, 12:05)...   Mar 20 2008, 08:33
||- - Дон Амброзио   Цитата(Dog Pawlowa @ Mar 20 2008, 11:33) ...   Mar 20 2008, 08:40
||- - Igor26   Цитата(Дон Амброзио @ Mar 20 2008, 11:40)...   Mar 20 2008, 10:36
||- - Дон Амброзио   Цитата(Igor26 @ Mar 20 2008, 13:36) У мен...   Mar 20 2008, 13:14
||- - =GM=   Цитата(zltigo @ Mar 20 2008, 13:49) Тогда...   Mar 20 2008, 15:06
||- - Дон Амброзио   Цитата(=GM= @ Mar 20 2008, 18:06) Вы меня...   Mar 20 2008, 15:18
|||- - Dog Pawlowa   Цитата(Дон Амброзио @ Mar 20 2008, 19:18)...   Mar 20 2008, 15:44
|||- - Дон Амброзио   Цитата(Dog Pawlowa @ Mar 20 2008, 18:44) ...   Mar 20 2008, 15:51
|||- - IgorKossak   Цитата(Дон Амброзио @ Mar 20 2008, 17:51)...   Mar 20 2008, 17:57
||- - zltigo   Цитата(=GM= @ Mar 20 2008, 18:06) вместо ...   Mar 20 2008, 15:31
|- - Dog Pawlowa   Цитата(zltigo @ Mar 20 2008, 16:16) Никог...   Mar 20 2008, 12:47
|- - galjoen   Цитата(=GM= @ Mar 20 2008, 16:40) Но поду...   Mar 20 2008, 14:03
- - Reton   Извеняюсь может не в тему. Вот здесь проект http:/...   Mar 20 2008, 17:10
|- - =GM=   Цитата(Reton @ Mar 20 2008, 17:10) Исполь...   Mar 20 2008, 20:31
- - WHALE   насколько я ничего не понимаю,это как раз использо...   Mar 20 2008, 18:48
- - SasaVitebsk   По-моему, это всё с х51 пошло. Именно там 9 бит по...   Mar 20 2008, 21:10
|- - zltigo   Цитата(SasaVitebsk @ Mar 21 2008, 00:10) ...   Mar 20 2008, 21:47
|- - svs39   Цитата(zltigo @ Mar 21 2008, 01:47) А кон...   Mar 21 2008, 05:21
||- - zltigo   Цитата(svs39 @ Mar 21 2008, 08:21) 1) пом...   Mar 21 2008, 07:14
||- - svs39   Цитата(zltigo @ Mar 21 2008, 11:14) Класс...   Mar 21 2008, 08:58
||- - zltigo   Цитата(svs39 @ Mar 21 2008, 11:58) почему...   Mar 21 2008, 09:22
||- - svs39   Цитата(zltigo @ Mar 21 2008, 13:22) А под...   Mar 21 2008, 09:37
|- - Дон Амброзио   Цитата(zltigo @ Mar 21 2008, 00:47) Лучше...   Mar 21 2008, 05:30
|- - SasaVitebsk   Цитата(zltigo @ Mar 21 2008, 01:47) А кон...   Mar 21 2008, 07:05
|- - Dog Pawlowa   Цитата(zltigo @ Mar 21 2008, 01:47) А кон...   Mar 21 2008, 07:18
|- - Дон Амброзио   Цитата(Dog Pawlowa @ Mar 21 2008, 10:18) ...   Mar 21 2008, 07:43
|- - zltigo   Цитата(Dog Pawlowa @ Mar 21 2008, 10:18) ...   Mar 21 2008, 07:47
- - Igor26   ЦитатаПо-моему, это всё с х51 пошло. Точно так...   Mar 21 2008, 08:05
- - zltigo   Цитата(Igor26 @ Mar 21 2008, 11:05) Точно...   Mar 21 2008, 08:35


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

 


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


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