|
Вопрос по формату кадра UART в ATmega-х, Может быть одновременно и Bit8 и P |
|
|
|
 |
Ответов
|
Mar 20 2008, 21:10
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
По-моему, это всё с х51 пошло. Именно там 9 бит пошёл как информационный, для упрощения. Аппаратная чётность там была только для аккумулятора. То есть при таком подходе этот бит можно было заюзать под чётность. Но, соответственно можно было и заюзать как самостоятельный бит. Ну и некоторые повелись в связи с простотой картины. Хотя, при размере фрейма 512 байт, к примеру, избыточность такого подхода составит 512 бит, что соответствует 64 байтам. Что явно превышает избыточность любого протокола с байт стафингом. Я один раз, уже на AVR применял такой подход, так как до этого применял параллельный 9 битный интерфейс (один бит - указатель комманды). А потом, с целью экономии ног перешёл к последовательному интерфейсу. А бит остался. Следующий переход - SPI+байт потери -> вообще перенёс всё в один МК.  Всё таки считаю лучше применять стандартные решения.
|
|
|
|
|
Mar 20 2008, 21:47
|

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

|
Цитата(SasaVitebsk @ Mar 21 2008, 00:10)  .. избыточность такого подхода составит 512 бит, что соответствует 64 байтам. Что явно превышает избыточность любого протокола с байт стафингом. А контроль четности имеющийся при этом тоже заодно всегда к "избыточности" относите  ? Цитата Всё таки считаю лучше применять стандартные решения. Лучше то, что лучше в конкретных условиях. Для связки с мелкой CPLD байтстафинг явно менее предподчтителен. Для связки вспомогательного контроллера с основным в пределах одной платы тоже следует подумать, причем и для случая SPI в том числе. Ну за SLIP, меня агитировать не надо - я и сам кого угодно сагитирую, если нужно будет, что даже на этом форуме не раз проделывал  . Ну HDLC с его битстафингом это тоже близкое и родное для любого разработчика коммуникационного оборудования.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Mar 21 2008, 05:21
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 8-03-08
Пользователь №: 35 744

|
Цитата(zltigo @ Mar 21 2008, 01:47)  А контроль четности имеющийся при этом тоже заодно всегда к "избыточности" относите  ? Лучше то, что лучше в конкретных условиях. Для связки с мелкой CPLD байтстафинг явно менее предподчтителен. Для связки вспомогательного контроллера с основным в пределах одной платы тоже следует подумать, причем и для случая SPI в том числе. Ну за SLIP, меня агитировать не надо - я и сам кого угодно сагитирую, если нужно будет, что даже на этом форуме не раз проделывал  . Ну HDLC с его битстафингом это тоже близкое и родное для любого разработчика коммуникационного оборудования. 1) помогите-чем хорош SLIP? 2) HDLC- синхронный поток- достал в свое время (сделали в 1985г на серии 580 - до сих пор работает)
|
|
|
|
|
Mar 21 2008, 08:58
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 8-03-08
Пользователь №: 35 744

|
Цитата(zltigo @ Mar 21 2008, 11:14)  Классический пример байтстафинга, позволяющий в потоке (бинарном) байтов зарезервировать уникальный байт в качестве разделителя фреймов. Дальше естественно просто и надежно выделяются и востанавливаются фреймы в потоке. Есть более навороченные вариации на тему SLIP, позволяюшие еще минимизировать количество вставляемых байтов. почему не использовать более простой байтстафинг - удваивать в данных уникальный байт? Цитата(Дон Амброзио @ Mar 21 2008, 11:43)  Именно так.
Или если сама передающая сторона ведёт самоприём и при обнаружении покоцанного байта прекращает передачу - сама себя обрывает Могу придумать только одно применение когда применение бита чётности имеет хоть какое-то значение при блочной/пакетовой передаче при отсутствии у передатчика и приёмника возможности обрывания передачи в случае обнаружения покоцанного байта.
Например, если передаётся большой пакет (например 1024 байта) с CRC32. А контроллер мелкий и он долго считает CRC. В этом случае обнаружение покоцанного байта позволяет избежать долгой и мучительной процедуры вычисления CRC32 для такого большого пакета... Но повторяю, это для "мелких" контроллеров с малым быстродействием бит четности в байте совместо с байтом "продольной" суммы использовался при матричной кодозащите, например, в протколах обмена ВМО(Всимирной Метеорологической Озганизации) в 1960-1980гг.
|
|
|
|
Сообщений в этой теме
Дон Амброзио Вопрос по формату кадра 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, 21:54 Дон Амброзио Цитата(=GM= @ Mar 20 2008, 00:54) Бит пар... Mar 19 2008, 22:06  =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, 02:06)... Mar 20 2008, 07:08   zltigo Цитата(Dog Pawlowa @ Mar 20 2008, 10:08) ... Mar 20 2008, 07:36    Dog Pawlowa Цитата(zltigo @ Mar 20 2008, 11:36) Ну ин... Mar 20 2008, 07:48     Дон Амброзио Цитата(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     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     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
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|