|
|
  |
UART без кварцевой стабилизации, Работает или нет. До каких скоростей? |
|
|
|
Jul 4 2006, 11:38
|
Частый гость
 
Группа: Участник
Сообщений: 177
Регистрация: 25-08-05
Из: Ставрополь
Пользователь №: 7 964

|
Цитата(DesNer @ Jul 4 2006, 14:54)  Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче. До 19200 при связи с компом как правило работает (8N1). Если повезло со стабильностью, то и побольше скорость можно пробовать, но 19200 - практически всегда (в серийное устройство, конечно не стоит закладывать, там только кварц, ИМХО, меньше гемороя).
|
|
|
|
|
Jul 4 2006, 13:16
|

Частый гость
 
Группа: Свой
Сообщений: 188
Регистрация: 22-09-05
Из: Томск
Пользователь №: 8 832

|
Цитата(dRaider @ Jul 4 2006, 14:00)  Больше информации!
Связь с компютером или другим контроллером? На какую частоту внутрений генератор? Выполняется ли калибровка? Связь с компьютером. Внутренний генератор настроен на 4МГц. Пробую скорость 9600. Калибровать не пробовал. Надо? Вообщем посылаю контроллеру разные символы, а приходит 0xF8 либо 0x00. В чем дело, не могу понять.
|
|
|
|
|
Jul 4 2006, 17:11
|

Частый гость
 
Группа: Свой
Сообщений: 86
Регистрация: 13-06-04
Из: Minsk
Пользователь №: 29

|
Цитата(DesNer @ Jul 4 2006, 13:54)  Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче. Думаю, что такого делать не стОит. Ведь UART - асинхронный. Ему очень важна стабильность частоты - насколько я помню, допускается ошибка в 2.5 процента или чуть выше. Даже если вы как положено зашлете в OSCCAL настроечный байт, стабильности частоты это не обеспечит. Будет скакать и от температурных изменений, и от питающего напряжения... Короче, если не нужен геморрой - ставьте кварц.
|
|
|
|
|
Jul 4 2006, 19:11
|
Местный
  
Группа: Свой
Сообщений: 200
Регистрация: 10-04-06
Из: Украина,Запорожье
Пользователь №: 15 979

|
Цитата(ksv198 @ Jul 4 2006, 15:38)  Цитата(DesNer @ Jul 4 2006, 14:54)  Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче.
До 19200 при связи с компом как правило работает (8N1). Если повезло со стабильностью, то и побольше скорость можно пробовать, но 19200 - практически всегда (в серийное устройство, конечно не стоит закладывать, там только кварц, ИМХО, меньше гемороя). Собирал партию устройств не Меге48 с внутренним генератором на 8МГц, скорость 38400.При связи(С ПК) никаих проблем не обнаружилось(В партии 100шт)
|
|
|
|
|
Jul 5 2006, 03:08
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Позволю себе несогласиться с мнением большинства, что кварц на UART обязателен. Всё зависит от внутреннего генератора. Какие у него характеристики по точности частоты? Вы можете их тут привести? Я практического опыта с UART не имел, поэтому у меня бытовые или теоретические рассуждения. Спорить не буду. Для UART нужна стабильность краткосрочная, т.е. чтобы во время передачи одной посылки (байта) между старт-стопными символами фронт уплывал не более, чем на половину такта (точно не помню, но какая-то такая величина, первые доли такта). Время передачи байта ничтожно мало по сравнению с временем, за которое даже примитивный цифровой генератор на RC-элементах уплывёт (например, по температуре), да ещё и на полтакта. У кварца же точность очертенная, она такая не нужна. 100 ppm скажем - это же 0,01%, если правильно сосчитал. Притом 100 ппм - это долговременная стабильность, за весь срок службы аппаратуры. А кратковременная - куда выше. Вот такие у меня рассуждения. К стати, почитайте тут соседнюю тему http://electronix.ru/forum/index.php?showtopic=16273&st=0Судя по алгоритмам выделения бит, там вообще нестабильность может достигать плюс-минус поллаптя, т.к. алгоритмы дубовые, и всё вытянут.
|
|
|
|
|
Jul 15 2006, 19:14
|
Участник

Группа: Новичок
Сообщений: 44
Регистрация: 2-05-06
Пользователь №: 16 710

|
Цитата(DesNer @ Jul 4 2006, 14:54)  Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче. Выборка бита в UART меги работает по мажоритарному принципу. Бит делится на 16 (8 в 2х) частей и считывание происходит в 8,9 и 10-х частях (4,5,6 в 2х). Следовательно в режиме 8N1 краешек 10-ого стоп бита не должен уехать на 6/16/10 (2/8/10 в 2х), то есть на 3.75% (2.5% в 2х). Это суммарная погрешность приемника и передатчика. Скорость же УАРТ 19200 или там 115200 значения не имеет. Если удастся выдержать нужную точность частоты, все будет нормально. Например, если сумеете заставить внутренний генератор работать с частотой 3.6864МГц +-3.75% будет работать и на 115200 и на 230400 (персоналка +-0%). ИМХО, без кварца такие отклонения обеспечить сложно. С однократной калибровкой внутреннего RC разве что в термостат мегу засунуть и не вынимать.  У Атмела есть платка отладочная батерфляй, мега169 работает от внутреннего генератора и обеспечивает связь с персоналкой. Дык там стоит часовой кварц на таймере1 и RC подстраивают от него периодически.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|