|
Скорость 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 10 2011, 11:03
|
Участник

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

|
Цитата(mempfis_ @ Jan 10 2011, 16:59)  А RC-генератор калибруете при старте МК? В OSCALL заносится калибровочная константа? Нет. Только при прошивке устанавливаю fuse для режима Internal RC Oscillator. CKSEL0 = 1 CKSEL1 = 0 CKSEL2 = 0 CKSEL3 = 0 SUT0 = 0 SUT1 = 0 CKOPT = 1
|
|
|
|
|
Jan 10 2011, 11:08
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(-=MISHA=- @ Jan 10 2011, 16:56)  Это понятно, но ведь у меня комнатная температура и напряжение ровно 3.3В. Причём такое происходит на двух разных платах. А заводская калибровка (с допуском до 3%) выполнена для пятивольтового питания. Ничего удивительного. Обеспечьте свою калибровку... Цитата(mempfis_ @ Jan 10 2011, 16:59)  А RC-генератор калибруете при старте МК? В OSCALL заносится калибровочная константа? Это не PIC16, здесь оно само.
|
|
|
|
|
Jan 10 2011, 11:33
|
Участник

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

|
Цитата(rx3apf @ Jan 10 2011, 17:08)  А заводская калибровка (с допуском до 3%) выполнена для пятивольтового питания. Ничего удивительного. Обеспечьте свою калибровку... Понял. Спасибо за помощь!
|
|
|
|
|
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". Цитата Это все здесь ужет написанно, ты прочитал? Я даже и написал, если посмотрите внимательно...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|