|
Вопрос по формату кадра UART в ATmega-х, Может быть одновременно и Bit8 и P |
|
|
|
 |
Ответов
|
Mar 19 2008, 22:06
|

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

|
Цитата(=GM= @ Mar 20 2008, 00:54)  Бит паритета, кстати, это не информационный, а служебный бит. Им и инфу можно передавать меняя нужным образом функцию с "бит чётности" на "бит нечётности" и наоборот
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
|
Mar 20 2008, 07:36
|

Гуру
     
Группа: Свой
Сообщений: 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
|
|
|
|
|
Mar 20 2008, 07:48
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(zltigo @ Mar 20 2008, 11:36)  Ну иногда и не желающие оного, например, для отметки этим девятым битом начал фреймов для простейших микроскопических протоколов... Не знаю-не знаю. Есть стандартные символы STX, ETX, ETB, ENQ... В трех десятках протоколов с которыми мне приходилось разбираться, никто иначе не делал. Кстати, применение этих символов регламентируется ENxxxxx, низзя Вам нарушать. "Мне - можно"  Но я так никогда не буду делать. Да и потеря быстродействия может быть критична.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Mar 20 2008, 08:05
|

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

|
Цитата(Dog Pawlowa @ Mar 20 2008, 10:48)  Да и потеря быстродействия может быть критична. Уважаемая "Собака Павлова"!!!! Потеря быстродействия в Вашем случае несравнимо больше, поскольку Вы передаёте данные в ASCII-формате, а я в бинарном
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
|
Mar 20 2008, 08:33
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

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

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

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

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

|
Цитата(Дон Амброзио @ Mar 20 2008, 11:40)  Я подумал ещё когда писал Вам предыдущий пост. Объясняю. Если передавать данные в бинарном формате у меня девайс за секунду успевает опросить 12 датчиков. А если в ASCII-формате, то только 7. Потеря быстродействия налицо... Я не прав? Да уж... У меня хост четыре раза в секунду опрашивает 16 устройств, на борту у которых от 16-ти датчиков, плюс исполнительные всякие там механизмы и прочая периферия. Времени хватает и опрашивать состояния устройств (не только датчики), но и управлять этими устройствами. Скорость обмена - 9600. Так что прав Dog Pawlowa. Нужно шире ДУМАТЬ, а не хвататься за "верхушки". Да плюс еще флейм/флуд в конференциях разводить.
|
|
|
|
|
Mar 20 2008, 13:14
|

Местный
  
Группа: Участник*
Сообщений: 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
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
|
Mar 20 2008, 15:06
|

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

|
Цитата(zltigo @ Mar 20 2008, 13:49)  Тогда он не будет 0x55  . И речь идет не о предложении некого чудесного протокола на parity, который позволит избежать ошибок, а о выходе из ситуации после потери фреймовой синхронизации быстрее и минимальными потерями пакетов Естественно. Речь идёт о том, что в линии с ошибками подобный протокол слабо помогает, если не сказать больше. Не так написал, пусть будет так. Передаёте 0x55 с искажённым паритетом, как начало пакета. Налетела помеха и сбила паритет, считайте, пакет потерян. Далее, в следующем пакете передаётся 0x57 в теле пакета, налетела ошибка на 5-й бит, вместо 0x57 стало 0x55, да и паритет изменился, следовательно мы зацепились за ложное начало пакета. Да вы и сами можете придумать парочку вариантов. Или вот, скажем, одна помеха длительностью в один бит, испортила сразу два рядом стоящих бита. Цитата(Дон Амброзио @ Mar 20 2008, 13:14)  Ну если у Вас есть CRC16 на хвосте, то побайтовый контроль чётности, ИМХО, уже лишнее. Конечно если Вам не важно как можно более раннее обнаружение ошибки. А так .. Ну не обнаружу я что у меня 3-й байт 24-х байтного пакета покоцался в момент окончания передачи 3-го байта.. И что... После приёма всех 24-х байт я всё равно обнаружу что пакет коцаный К слову сказать, CRC16 иногда тоже не спасает. Применение бит паритета идёт с давних времён, причём, не отдельно само по себе, а в сочетании с контрольной суммой, которая была просто суммой передаваемых байт, без учета переносов. Таким образом осуществлялся контроль по "строкам" и "столбцам", как в бухгалтерии. Отдельное применение бита паритета в наше время - это нонсенс. Использование вами бита паритета для передачи дополнительного бита данных ещё больший нонсенс, поскольку существенно увеличивает время обработки, существенно затрудняет отладку, не позволяет вести дуплексный обмен и т.д. И вообще это ночной кошмар разработчика. Вы меня извините, ничего личного, но за одно это вас гнать надо в шею из программистов, и как можно быстрее. А я всё думаю, что это пожары в Москве участились...
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Mar 20 2008, 15:18
|

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

|
Цитата(=GM= @ Mar 20 2008, 18:06)  Вы меня извините, ничего личного, но за одно это вас гнать надо в шею из программистов, и как можно быстрее. А я всё думаю, что это пожары в Москве участились... Злой Вы какой-то... В нашей работе эмоциям не место... А потом просто/сложно понятия относительные и зависят от уровня знаний и профессионализма разработчика.... Если мне надо, то я из чего угодно сделаю что угодно... Если потребуется использовать бит чётности как 9-й бит, то я его буду использовать и не буду "упираться рогами" что мол это не правильно. И я не плохой танцор и мне ничего не мешает, в отличии от некоторых, а наоборот, мне всё помогает. Я любую особенность железа могу использовать в своих целях. Например когда у меня приёмник имеет UART, умеющий работать в режиме фильтрации адресных кадров, а передатчик не может генерить 9-й бит но может бит чётности.. Выход... Использовать в программе передатчика бит чётности как 9-й бит, а приёмник этого даже не заметит и его программу менять не надо. Экономия? Да.. Вместо переделки двух программ и/или железа - переделка программы одного девайса
Сообщение отредактировал Дон Амброзио - Mar 20 2008, 15:26
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
Сообщений в этой теме
Дон Амброзио Вопрос по формату кадра 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
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|