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

 
 
 
Reply to this topicStart new topic
> Проблемы с USART, Предполагаю, что из-за разгона осциллятора
haker_fox
сообщение Sep 1 2010, 03:15
Сообщение #1


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Здравствуйте! Недавно на учебном оборудовании (STK500) заметил, что изредка в момент включения МК, через USART передаются некорректные данные. Передача стартует сразу после включения МК, вернее после 10-15 команд инициализации периферии. Предполагаю, что такое происходит из за разгона внутреннего RC-генератора, поскольку потом уже все передается правильно. Вопрос, будет ли корректным и не кривым обходом проблемы реализовать программную задержку, скажем из 255 nop'ов после инициализации периферии? Ну как в ARM'е) Заранее благодарю за ответы!
З.Ы. Частота генератора 8 МГц.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Sep 1 2010, 04:46
Сообщение #2


Гуру
******

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



Цитата(haker_fox @ Sep 1 2010, 10:15) *
Не пробовали играться с фьюзами, отвечающими за задержку до старта - SUT ?


--------------------
Go to the top of the page
 
+Quote Post
Guest_@Ark_*
сообщение Sep 1 2010, 05:18
Сообщение #3





Guests






Цитата
что изредка в момент включения МК, через USART передаются некорректные данные.

Посмотрите схему устройства. Одна из возможных причин появления "мусора" при включении -
отсутствие внешних подтягивающих резисторов к питанию на входе и на выходе USART.
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Sep 1 2010, 07:09
Сообщение #4


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

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(haker_fox @ Sep 1 2010, 06:15) *
Здравствуйте! Недавно на учебном оборудовании (STK500) заметил, что изредка в момент включения МК, через USART передаются некорректные данные. Передача стартует сразу после включения МК, вернее после 10-15 команд инициализации периферии. Предполагаю, что такое происходит из за разгона внутреннего RC-генератора, поскольку потом уже все передается правильно. Вопрос, будет ли корректным и не кривым обходом проблемы реализовать программную задержку, скажем из 255 nop'ов после инициализации периферии? Ну как в ARM'е) Заранее благодарю за ответы!
З.Ы. Частота генератора 8 МГц.


Возможно Вам правильно подсказали по поводу SUT. Я в при программировании avr всегда ставлю максимальный startup-time в 16 килоциклов чтоб гарантированно запустился тактовый генератор. Задержку после инициализации переферии никогда не делал. Лишних посылок по usart не замечал даже в устройствах работающих от встроенной RC-цепочки. Также для устройств работающих от RC -цепочки OSCCAL всегда инициализирую до инициализации перефирии.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Sep 2 2010, 03:16
Сообщение #5


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (prottoss @ Sep 1 2010, 13:46) *
Не пробовали играться с фьюзами, отвечающими за задержку до старта - SUT ?

А это идея, спасибо!

QUOTE (@Ark @ Sep 1 2010, 14:18) *
Посмотрите схему устройства. Одна из возможных причин появления "мусора" при включении -
отсутствие внешних подтягивающих резисторов к питанию на входе и на выходе USART.

К сожалению, там не "мусор". Данные искажены. Часть передается правильно, часть нет. Количество переданных байт верно.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
acorn
сообщение Sep 3 2010, 21:01
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 28-11-05
Пользователь №: 11 495



Инициализируй TX как вход. Выходом его сделает сам USART. Должно помочь.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Sep 4 2010, 15:09
Сообщение #7


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(acorn @ Sep 4 2010, 01:01) *
Инициализируй TX как вход.
Висящий в воздухе?


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
777777
сообщение Sep 4 2010, 16:06
Сообщение #8


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

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



А у меня другой вопрос: если контроллер работает от RC-генератора, как вы собираетесь обеспечивать требую точность USART?
Go to the top of the page
 
+Quote Post
acorn
сообщение Sep 4 2010, 18:25
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 28-11-05
Пользователь №: 11 495



Цитата(demiurg_spb @ Sep 4 2010, 18:09) *
Висящий в воздухе?

при старте если на нем выход и состояние = 0, получаем start condition, что может создать проблемы.
Висящий вход - плохо, конечно, но попробовать-то можно, чтоб локализовать проблему?
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Sep 4 2010, 19:27
Сообщение #10


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(acorn @ Sep 4 2010, 22:25) *
при старте если на нем выход и состояние = 0, получаем start condition, что может создать проблемы.
Висящий вход - плохо
Какие ещё варианты остались (не так и много...)?

Цитата(777777 @ Sep 4 2010, 20:06) *
А у меня другой вопрос: если контроллер работает от RC-генератора, как вы собираетесь обеспечивать требую точность USART?
Может он по часовому кварцу калибруется...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
acorn
сообщение Sep 6 2010, 20:37
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 28-11-05
Пользователь №: 11 495



Цитата(demiurg_spb @ Sep 4 2010, 22:27) *
Какие ещё варианты остались (не так и много...)?

Автор пропал. Решение было предложено вполне рабочее - вход висит только от сброса до инициализации USART, после чего становится выходом. Цена вопроса - одна строчка в коде для прояснения ситуации. Я так делал и не жалею.
В реальности автор, скорее всего, тактируется от нестабильного RC и проблема в несоответствии частот.
Go to the top of the page
 
+Quote Post

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

 


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


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