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

 
 
> Вопрос по формату кадра 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
Дон Амброзио
сообщение Mar 20 2008, 08:05
Сообщение #7


Местный
***

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



Цитата(Dog Pawlowa @ Mar 20 2008, 10:48) *
Да и потеря быстродействия может быть критична.

Уважаемая "Собака Павлова"!!!!
Потеря быстродействия в Вашем случае несравнимо больше, поскольку Вы передаёте данные в ASCII-формате, а я в бинарном


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


Гуру
******

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



Цитата(Дон Амброзио @ Mar 20 2008, 12:05) *
Уважаемая "Собака Павлова"!!!!
Потеря быстродействия в Вашем случае несравнимо больше, поскольку Вы передаёте данные в ASCII-формате, а я в бинарном

Доктор,
я то знаю, что Вам больше нечего делать, как людей на флейм разводить.
Я поработаю, а Вы подумайте о том, что есть быстродействие, и ... быстродействие.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение Mar 20 2008, 08:40
Сообщение #9


Местный
***

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



Цитата(Dog Pawlowa @ Mar 20 2008, 11:33) *
Доктор,
я то знаю, что Вам больше нечего делать, как людей на флейм разводить.
Я поработаю, а Вы подумайте о том, что есть быстродействие, и ... быстродействие.

Я подумал ещё когда писал Вам предыдущий пост.
Объясняю. Если передавать данные в бинарном формате у меня девайс за секунду успевает опросить 12 датчиков. А если в ASCII-формате, то только 7. Потеря быстродействия налицо... Я не прав?


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


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544



Цитата(Дон Амброзио @ Mar 20 2008, 11:40) *
Я подумал ещё когда писал Вам предыдущий пост.
Объясняю. Если передавать данные в бинарном формате у меня девайс за секунду успевает опросить 12 датчиков. А если в ASCII-формате, то только 7. Потеря быстродействия налицо... Я не прав?

Да уж...
У меня хост четыре раза в секунду опрашивает 16 устройств, на борту у которых от 16-ти датчиков, плюс исполнительные всякие там механизмы и прочая периферия. Времени хватает и опрашивать состояния устройств (не только датчики), но и управлять этими устройствами. Скорость обмена - 9600.
Так что прав Dog Pawlowa. Нужно шире ДУМАТЬ, а не хвататься за "верхушки". Да плюс еще флейм/флуд в конференциях разводить.
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение Mar 20 2008, 13:14
Сообщение #11


Местный
***

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



Цитата(Igor26 @ Mar 20 2008, 13:36) *
У меня ...

Не надо хвастаться, потому что:
во-первых за это банят (когда я тоже как и Вы только упомянул, что у меня реализовано так-то и так-то, так сразу же последовало предупреждение);

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

а в третьих, Вы не знаете какая это задача и чем обусловлена столь низкая (с Вашей сточки зрения) скорость обслуживания датчиков


Цитата(Igor26 @ Mar 20 2008, 13:36) *
Так что прав Dog Pawlowa. Нужно шире ДУМАТЬ, а не хвататься за "верхушки". Да плюс еще флейм/флуд в конференциях разводить.

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

Цитата(=GM= @ Mar 20 2008, 16:02) *
А паритет - это и есть нулевой уровень контроля, крайне нежелательно использовать его не по назначению.

Ну если у Вас есть CRC16 на хвосте, то побайтовый онтроль чётности, ИМХО, уже лишнее. Конечно если Вам не важно как можно более раннее обнаружение ошибки.

А так .. Ну не обнаружу я что у меня 3-й байт 24-х байтного пакета покоцался в момент окончания передачи 3-го байта.. И что... После приёма всех 24-х байт я всё равно обнаружу что пакет коцаный

Сообщение отредактировал Дон Амброзио - Mar 20 2008, 13:18


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 20 2008, 15:06
Сообщение #12


Ambidexter
*****

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



Цитата(zltigo @ Mar 20 2008, 13:49) *
Тогда он не будет 0x55 smile.gif. И речь идет не о предложении некого чудесного протокола на parity, который позволит избежать ошибок, а о выходе из ситуации после потери фреймовой синхронизации быстрее и минимальными потерями пакетов

Естественно. Речь идёт о том, что в линии с ошибками подобный протокол слабо помогает, если не сказать больше.

Не так написал, пусть будет так. Передаёте 0x55 с искажённым паритетом, как начало пакета. Налетела помеха и сбила паритет, считайте, пакет потерян.

Далее, в следующем пакете передаётся 0x57 в теле пакета, налетела ошибка на 5-й бит, вместо 0x57 стало 0x55, да и паритет изменился, следовательно мы зацепились за ложное начало пакета. Да вы и сами можете придумать парочку вариантов. Или вот, скажем, одна помеха длительностью в один бит, испортила сразу два рядом стоящих бита.

Цитата(Дон Амброзио @ Mar 20 2008, 13:14) *
Ну если у Вас есть CRC16 на хвосте, то побайтовый контроль чётности, ИМХО, уже лишнее. Конечно если Вам не важно как можно более раннее обнаружение ошибки. А так .. Ну не обнаружу я что у меня 3-й байт 24-х байтного пакета покоцался в момент окончания передачи 3-го байта.. И что... После приёма всех 24-х байт я всё равно обнаружу что пакет коцаный

К слову сказать, CRC16 иногда тоже не спасает. Применение бит паритета идёт с давних времён, причём, не отдельно само по себе, а в сочетании с контрольной суммой, которая была просто суммой передаваемых байт, без учета переносов. Таким образом осуществлялся контроль по "строкам" и "столбцам", как в бухгалтерии. Отдельное применение бита паритета в наше время - это нонсенс.

Использование вами бита паритета для передачи дополнительного бита данных ещё больший нонсенс, поскольку существенно увеличивает время обработки, существенно затрудняет отладку, не позволяет вести дуплексный обмен и т.д. И вообще это ночной кошмар разработчика. Вы меня извините, ничего личного, но за одно это вас гнать надо в шею из программистов, и как можно быстрее. А я всё думаю, что это пожары в Москве участились...


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


Местный
***

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



Цитата(=GM= @ Mar 20 2008, 18:06) *
Вы меня извините, ничего личного, но за одно это вас гнать надо в шею из программистов, и как можно быстрее. А я всё думаю, что это пожары в Москве участились...

Злой Вы какой-то... В нашей работе эмоциям не место... А потом просто/сложно понятия относительные и зависят от уровня знаний и профессионализма разработчика.... Если мне надо, то я из чего угодно сделаю что угодно... Если потребуется использовать бит чётности как 9-й бит, то я его буду использовать и не буду "упираться рогами" что мол это не правильно. И я не плохой танцор и мне ничего не мешает, в отличии от некоторых, а наоборот, мне всё помогает. Я любую особенность железа могу использовать в своих целях.

Например

когда у меня приёмник имеет UART, умеющий работать в режиме фильтрации адресных кадров, а передатчик не может генерить 9-й бит но может бит чётности.. Выход... Использовать в программе передатчика бит чётности как 9-й бит, а приёмник этого даже не заметит и его программу менять не надо. Экономия? Да.. Вместо переделки двух программ и/или железа - переделка программы одного девайса

Сообщение отредактировал Дон Амброзио - Mar 20 2008, 15:26


--------------------
После устранения бага в программе она стала работать....хуже
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, 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
|- - zltigo   Цитата(Dog Pawlowa @ Mar 20 2008, 10:48) ...   Mar 20 2008, 11:07
|- - Dog Pawlowa   Цитата(zltigo @ Mar 20 2008, 15:07) Все к...   Mar 20 2008, 11:53
|- - zltigo   Цитата(Dog Pawlowa @ Mar 20 2008, 14:53) ...   Mar 20 2008, 12:16
|- - Dog Pawlowa   Цитата(zltigo @ Mar 20 2008, 16:16) Никог...   Mar 20 2008, 12:47
|- - =GM=   Цитата(zltigo @ Mar 20 2008, 11:07) ...я ...   Mar 20 2008, 13:02
|- - zltigo   Цитата(=GM= @ Mar 20 2008, 16:02) Уточнит...   Mar 20 2008, 13:21
|- - =GM=   Цитата(zltigo @ Mar 20 2008, 13:21) Если-...   Mar 20 2008, 13:40
|- - zltigo   Цитата(=GM= @ Mar 20 2008, 16:40) Я читал...   Mar 20 2008, 13:49
|- - 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
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


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


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