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

 
 
> Программный UART в AVR, Помехоустойчивость
Daisy
сообщение Aug 18 2005, 12:30
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 96
Регистрация: 29-04-05
Из: г. Жуковский
Пользователь №: 4 606



Программный УАРТ работает на скорости 115200 в режиме приема. Обмен группами по 4 байта (от Cygnal к AVR), один раз в 700 мс.
Однако, где-то один раз в час проскакивает помеха. В результате один байт из 4-х неверен. Помеху можно убрать поставив RC-цепочку на линию передачи. Но ставить не хочется, ибо серия.
Какие есть варианты программной фильтрации? Или может быть ещё какие-то идеи?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
BVU
сообщение Aug 23 2005, 05:23
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



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


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
CDT
сообщение Aug 23 2005, 11:30
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 303
Регистрация: 3-03-05
Пользователь №: 3 044



Цитата(BVU @ Aug 23 2005, 08:23)
Если помеха все-же имеет место возможно происходят сбои задающего генератора контроллера, которые естественно влекут за собой сбой в приемнике UART.
*

А может просто в программе есть местечко, которое иногда работает дольше чем предполагается или что-нибудь запускается (прерывание, WDT) и сбивает приемник с ритма?


--------------------
Опыт - чудесная вещь: легко использовать, можно продать, трудно пропить.
Go to the top of the page
 
+Quote Post
siriasis
сообщение Sep 7 2005, 11:01
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 40
Регистрация: 26-05-05
Пользователь №: 5 438



А правильно настроены приемник и предатчик. У меня такое было когда я в одном указал на два стоп-бита а на другом на один стоп бит. Но все- таки надо конечно же контрольную сумму CRC8 или CRC16. Программки на асме есть где-то в нете
Go to the top of the page
 
+Quote Post
Daisy
сообщение Sep 12 2005, 13:28
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 96
Регистрация: 29-04-05
Из: г. Жуковский
Пользователь №: 4 606



Вобщем дела такие.
Прошу прощение за столь долгое молчание. Наконец-то удалось дойти до (логического) конца. Эти УАРТ-ы меня выматали.
Когда оба УАРТ-а работали по прерываниям - ничего добиться не удалось.
Теперь аппаратный работает по опросу флагов, а программный по прерываниям. Помехи нет.
Только, это все такие была не помеха, а ошибка в программе. Но как она фильтровалась RC-цепочкой - загадка.
Большое спасибо всем за помощь.
Go to the top of the page
 
+Quote Post
CDT
сообщение Sep 13 2005, 06:35
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 303
Регистрация: 3-03-05
Пользователь №: 3 044



Цитата(Daisy @ Sep 12 2005, 16:28)
Когда оба УАРТ-а работали по прерываниям - ничего добиться не удалось.
Теперь аппаратный работает по опросу флагов, а программный по прерываниям. Помехи нет.
Только, это все такие была не помеха, а ошибка в программе. Но как она фильтровалась RC-цепочкой - загадка. 
Большое спасибо всем за помощь.
*

Видимо, когда первым вызывал прерывание аппаратный UART, прерывания запрещались, а вложенные не разрешались.
В результате со временем возникал конфликт и пропускалась (или откладывалась) обработка очередного фронта программного интерфейса.
Для AVR характерно, что входы и выходы внутренней аппаратуры стробируются тактовым генератором процессора.
Вот RC цепочка и сдвинула сигнал, смещая его из зоны конфликта.
Интересно, достаточно ли одинаковая скорость была у UARTов. Возможно, конфликта можно избежать, сделав эти скорости немного разными.


--------------------
Опыт - чудесная вещь: легко использовать, можно продать, трудно пропить.
Go to the top of the page
 
+Quote Post
Igor26
сообщение Sep 13 2005, 07:38
Сообщение #7


Знающий
****

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



Цитата(CDT @ Sep 13 2005, 09:35)
Цитата(Daisy @ Sep 12 2005, 16:28)
Когда оба УАРТ-а работали по прерываниям - ничего добиться не удалось.
Теперь аппаратный работает по опросу флагов, а программный по прерываниям. Помехи нет.
Только, это все такие была не помеха, а ошибка в программе. Но как она фильтровалась RC-цепочкой - загадка. 
Большое спасибо всем за помощь.
*

Видимо, когда первым вызывал прерывание аппаратный UART, прерывания запрещались, а вложенные не разрешались.
В результате со временем возникал конфликт и пропускалась (или откладывалась) обработка очередного фронта программного интерфейса.
Для AVR характерно, что входы и выходы внутренней аппаратуры стробируются тактовым генератором процессора.
Вот RC цепочка и сдвинула сигнал, смещая его из зоны конфликта.
Интересно, достаточно ли одинаковая скорость была у UARTов. Возможно, конфликта можно избежать, сделав эти скорости немного разными.
*

Всё равно рано или поздно был бы пропуск сигнала. smile3009.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Daisy   Программный UART в AVR   Aug 18 2005, 12:30
- - IgorKossak   Обычно на каждый бит делается три выборки и оценив...   Aug 18 2005, 12:41
|- - Daisy   Цитата(IgorKossak @ Aug 18 2005, 15:41)Обычно...   Aug 18 2005, 13:00
- - IgorKossak   Проверьте с аппаратным UARTом. Если не поможет, то...   Aug 18 2005, 13:22
- - nml   Цитата(Daisy @ Aug 18 2005, 15:30)Какие есть ...   Aug 18 2005, 14:05
|- - CDT   ЦитатаПомеха может быть всегда, идеального ничего ...   Aug 19 2005, 02:38
- - bzx   Цитата(Daisy @ Aug 18 2005, 15:30)Программный...   Aug 22 2005, 06:20
|- - Daisy   Цитата(bzx @ Aug 22 2005, 09:20)Цитата(Daisy ...   Aug 22 2005, 07:04
|- - bzx   А поставить простенькую контрольную сумму есть воз...   Aug 22 2005, 07:43
|- - Daisy   Цитата(bzx @ Aug 22 2005, 10:43)А поставить п...   Aug 22 2005, 09:12
- - BVU   Цитата(Daisy @ Aug 18 2005, 16:30)Программный...   Aug 22 2005, 09:23
- - Alexandr   А Вы уверены что это именно помеха, а не сбой в пе...   Aug 22 2005, 18:42
|- - Daisy   Цитата(Alexandr @ Aug 22 2005, 21:42)А Вы уве...   Aug 23 2005, 05:08
|- - TriD   Цитата(Daisy @ Aug 23 2005, 09:08)Цитата(Alex...   Aug 23 2005, 14:21
||- - BVU   Цитата(CDT @ Aug 23 2005, 15:30)Цитата(BVU ...   Aug 23 2005, 11:46
|||- - Daisy   Цитата(BVU @ Aug 23 2005, 14:46)Цитата(CDT ...   Aug 23 2005, 12:52
||- - BVU   Цитата(Daisy @ Sep 12 2005, 17:28)Вобщем дела...   Sep 12 2005, 14:02
||- - ReAl   Цитата(Daisy @ Sep 12 2005, 16:28)Вобщем дела...   Sep 12 2005, 14:24
||- - ReAl   Цитата(CDT @ Sep 13 2005, 09:35)Видимо, когда...   Sep 14 2005, 09:58
||- - &-rey   [/quote] И я о том же. Отличная иллюстрация того, ...   Sep 14 2005, 10:49
||- - ReAl   И я о том же. Отличная иллюстрация того, что у AV...   Sep 14 2005, 11:17
||- - &-rey   "Я хочу, чтобы обработчик TIMER1_CAPT было мо...   Sep 14 2005, 12:12
||- - ReAl   Цитата(&-rey @ Sep 14 2005, 15:12)Да...   Sep 14 2005, 13:35
|- - Daisy   Цитата(BVU @ Aug 23 2005, 08:23)Если помеха в...   Aug 23 2005, 12:43
|- - Daisy   Цитата(Daisy @ Aug 23 2005, 15:43)Цитата(BVU ...   Aug 23 2005, 12:44
|- - BVU   Цитата(Daisy @ Aug 23 2005, 16:44)Цитата(Dais...   Aug 23 2005, 13:04
- - mse   Думаю, что вопрошающему надо почитать статейку =АК...   Sep 12 2005, 19:14
|- - BVU   Цитата(mse @ Sep 12 2005, 23:14)Думаю, что во...   Sep 13 2005, 05:20
- - mse   ;О) ну насчёт того, что "знаем" не сумле...   Sep 13 2005, 07:43
- - Sergio66   Цитата(Daisy @ Aug 18 2005, 15:30)Программный...   Sep 13 2005, 08:34
|- - Daisy   Попробую сейчас объяснить как это было. Исходные д...   Sep 13 2005, 10:37
- - mse   ЦитатаОтличная иллюстрация того, что у AVR на само...   Sep 14 2005, 10:24
- - mse   "Итого я утверждаю, что слово "приоритет...   Sep 14 2005, 11:38
|- - ReAl   Цитата(mse @ Sep 14 2005, 14:38)"Итого я...   Sep 14 2005, 13:26
- - mse   "Т.е. атмел НЕ говорит о наличии приоритетной...   Sep 14 2005, 13:46
|- - BVU   Цитата(mse @ Sep 14 2005, 17:46)"Т.е. ат...   Sep 14 2005, 14:34
|- - Andy Mozzhevilov   Цитата(BVU @ Sep 14 2005, 19:34)В любом фирме...   Sep 15 2005, 02:53
|- - BVU   Цитата(Andy Mozzhevilov @ Sep 15 2005, 06:53)...   Sep 15 2005, 05:06
|- - Andy Mozzhevilov   Цитата(BVU @ Sep 15 2005, 10:06)А об приорите...   Sep 15 2005, 05:20
- - mse   "В любом фирменном атмеловском описании на AV...   Sep 14 2005, 18:26


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

 


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


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