|
Скорость UART в Atmega8А, Плывёт скорость UARTa |
|
|
|
Jan 10 2011, 10:35
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 5-07-06
Пользователь №: 18 607

|
Тактирование Atmega8A от внутреннего RC осциллятора = 1МГц. Скорость UART = 9600 бит/с. При питании контроллера от 3.3В и менее в UARTе искажаются данные, а при питании 3.5В и более UART работает правильно. Как такое может быть?
|
|
|
|
|
 |
Ответов
|
Jan 10 2011, 10:56
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 5-07-06
Пользователь №: 18 607

|
Цитата(rezident @ Jan 10 2011, 16:44)  Частота RC-генератора зависит как от температуры (меняются величины R и C), так и от величины напряжения питания. Чтобы UART работал всегда и надежно его нужно тактировать от кварцевого генератора. Это понятно, но ведь у меня комнатная температура и напряжение ровно 3.3В. Причём такое происходит на двух разных платах.
Сообщение отредактировал -=MISHA=- - Jan 10 2011, 10:58
|
|
|
|
|
Jan 13 2011, 06:45
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(777777 @ Jan 11 2011, 13:07)  Это у тебя комнатная, а кристалл греется сразу со включением. Зависимость от температуры существенно меньше, чем от потребления. Цитата Я вообще поражаюсь - ну неужели не понятно, что при наличии критичной к времени периферии нельзя пользоваться RC-генератором? Можно, но надо принимать соответствующие меры.
|
|
|
|
|
Jan 13 2011, 08:08
|

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

|
Цитата(rx3apf @ Jan 13 2011, 12:45)  Зависимость от температуры существенно меньше, чем от потребления. Ты наверное хотел сказать от напряжения питания? Цитата(rx3apf @ Jan 13 2011, 12:45)  Можно, но надо принимать соответствующие меры. Какие? Постоянную калибровку? А где брать эталон для калибровки? Ставить кварцевый генератор? Но если он будет, то почему бы не работать UART-у от него? Это все здесь ужет написанно, ты прочитал?
|
|
|
|
|
Jan 13 2011, 12:02
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(777777 @ Jan 13 2011, 14:08)  Ты наверное хотел сказать от напряжения питания? Да, оговорился. Цитата Какие? Постоянную калибровку? А где брать эталон для калибровки? Ставить кварцевый генератор? Но если он будет, то почему бы не работать UART-у от него? Мне было бы очень интересно посмотреть на UART 9600, тактируемый от часового опорника 32768 Hz. А тактироваться от кварцевого генератора не всегда удобно. Кроме самокалибровки, вполне возможна и калибровка по внешним посылкам, типа автоопределения скорорости в модемах по "AT". Цитата Это все здесь ужет написанно, ты прочитал? Я даже и написал, если посмотрите внимательно...
|
|
|
|
|
Jan 18 2011, 15:23
|
Частый гость
 
Группа: Участник
Сообщений: 181
Регистрация: 26-11-10
Пользователь №: 61 198

|
Цитата(rx3apf @ Jan 13 2011, 14:02)  Мне было бы очень интересно посмотреть на UART 9600, тактируемый от часового опорника 32768 Hz. Вот на 19200, правда, конечно он тактируется внутренним RC генератором 4 МГц/4 = 1МГц  и на пике, просто делитель настраивается по часовому кварцу (настраивается именно делитель, т.к. в моем пике нет калибровки внутр. генератора): CODE #define BAUDRATE 19200U //... unsigned int oscMeasuredValue = 31250; //... oscMeasuredValue = Get_Osc_Freq(); SPBRG = ((oscMeasuredValue + (BAUDRATE/16)) / (BAUDRATE/8) - 1); В меге так же можно сделать, вместо SPBRG подставляем UBRR; если применить Double Speed Mode, даже точнее получится (ошибка вдвое меньше будет даже от мегагерцового RC)
Сообщение отредактировал stas00n - Jan 18 2011, 15:36
|
|
|
|
Сообщений в этой теме
-=MISHA=- Скорость UART в Atmega8А Jan 10 2011, 10:35  mempfis_ Цитата(-=MISHA=- @ Jan 10 2011, 17... Jan 10 2011, 10:59   -=MISHA=- Цитата(mempfis_ @ Jan 10 2011, 16:59) А R... Jan 10 2011, 11:03  rx3apf Цитата(-=MISHA=- @ Jan 10 2011, 16... Jan 10 2011, 11:08   -=MISHA=- Цитата(rx3apf @ Jan 10 2011, 17:08) А зав... Jan 10 2011, 11:33   xelax Цитата(777777 @ Jan 11 2011, 13:07) Это у... Jan 11 2011, 11:27 нечитатель ... для процесса которого эталоном будет <...... Jan 13 2011, 00:25 777777 Цитата(нечитатель @ Jan 13 2011, 06:25) .... Jan 13 2011, 04:21 GDI Если есть часовой кварц для часов, то можно и от н... Jan 13 2011, 11:48 нечитатель Продолжая тему безвоздушной лошади:
а). Опорный г... Jan 17 2011, 21:47 -=MISHA=- Всё решил установкой кварца на 4МГц с конденсатора... Jan 25 2011, 14:32
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|