Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
tokky
0 / 0 / 0
Регистрация: 06.11.2009
Сообщений: 155
1

UART - разные частоты узлов

09.10.2013, 03:14. Просмотров 3426. Ответов 3
Метки нет (Все метки)

Два девайса, оба на atmega16a.
Одно тактируется внутренним осцилятором на 8МГц, второе - внутренним 1МГц.
Обмен по UART через RS485. Один только передает, второй только принимает.
Глючит. Каждая четвертая-шестая восьмибайтовая посылка приходит с ошибками в отдельных битах.
Температурные и прочие условия одинаковы - лежат рядышком на столе.
Если подключить передающий к компу через 485->usb-адаптер - данные читаются корректно.
Поднял частоту приемного камня до 8МГц с внутреннего осцилятора - все заработало нормально.
Это нормальная ситуация?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2013, 03:14
Ответы с готовыми решениями:

UART
Если есть два AVR контролера, которые должны между собой общаться по UART...

UART
Если у меня одно устройство всегда UART-передатчик, а второе всегда...

Программный UART
Здравствуйте, для моего проекта понадобилось два UARTа один для общения с ПК,...

UART на ATtiny2313
Сейчас начинаю работать с UART и RS-485. Нужно-ли как-то настраивать Выходы PD0...

UART строка
Здравствуйте уважаемые форумчане! Имеются: 1)кривые руки 2)Microsoft Visual...

3
otixdos
0 / 0 / 0
Регистрация: 12.04.2013
Сообщений: 241
09.10.2013, 03:40 2
Цитата Сообщение от tokky
Два девайса, оба на atmega16a.
Это нормальная ситуация?
Нормальная ситуация будет когда скорости UART приёмника будет отличаться от скорости UART передатчика не более чем на 0.5%.
Какая реальная скорость передающего UART?
Какая реальная скорость приёмного UART?
Да и учтите, что редко когда задаёте скорость в UART Вы получаете целое желаемое значение. Такое возможно лиш с определёнными частотами задающих генераторов, 1 и 8 Мгц как раз ими не являются. Это я пишу для того чтоб Вы не писали сразу "задаю" (настраиваю) 19200 на обоих атмегах.
0
tokky
0 / 0 / 0
Регистрация: 06.11.2009
Сообщений: 155
09.10.2013, 03:52 3
Об этом и вопрос.
Аппаратный UART на мегах реализован криво.
Я правильно понял вашу мысль?

PS: сверился с табличкой из даташита. для приемника на 1МГц погрешность 7%. С моей дурацкой колокольни кривость реализации эта табличка не отменяет.
0
DOOMSDOY
0 / 0 / 0
Регистрация: 13.07.2012
Сообщений: 566
09.10.2013, 04:31 4
Да ничего там кривого нет. Вы сами неправильно выбрали сначала источники тактирования для устройств, а потом скорость для UARTа. Я бы на вашем месте начал с перевода устройтв на тактирование от кварцев.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2013, 04:31

Правильный UART
Раз уж я тут зарегистрировался... Значит так, у меня в универе есть такой...

MikroPascal и UART
Делаю пример из хелпа паскаля. UART1_Init(9600); //...

UART на ATmega48
Добрый вечер люди добрые! Дайте рабочий пример приёма и передачи 1 байта данных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru