Перейти к содержанию
    

UART без кварцевой стабилизации

Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Больше информации!

 

Связь с компютером или другим контроллером?

На какую частоту внутрений генератор?

Выполняется ли калибровка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче.

До 19200 при связи с компом как правило работает (8N1). Если повезло со стабильностью, то и побольше скорость можно пробовать, но 19200 - практически всегда (в серийное устройство, конечно не стоит закладывать, там только кварц, ИМХО, меньше гемороя).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче.

 

Интерфейс LIN - предусмотрена процедура подстройки тактовой при работе от RC - генератора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Больше информации!

 

Связь с компютером или другим контроллером?

На какую частоту внутрений генератор?

Выполняется ли калибровка?

Связь с компьютером. Внутренний генератор настроен на 4МГц. Пробую скорость 9600. Калибровать не пробовал. Надо? Вообщем посылаю контроллеру разные символы, а приходит 0xF8 либо 0x00. В чем дело, не могу понять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче.

Думаю, что такого делать не стОит. Ведь UART - асинхронный. Ему очень важна стабильность частоты - насколько я помню, допускается ошибка в 2.5 процента или чуть выше. Даже если вы как положено зашлете в OSCCAL настроечный байт, стабильности частоты это не обеспечит. Будет скакать и от температурных изменений, и от питающего напряжения...

 

Короче, если не нужен геморрой - ставьте кварц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче.

До 19200 при связи с компом как правило работает (8N1). Если повезло со стабильностью, то и побольше скорость можно пробовать, но 19200 - практически всегда (в серийное устройство, конечно не стоит закладывать, там только кварц, ИМХО, меньше гемороя).

Собирал партию устройств не Меге48 с внутренним генератором на 8МГц, скорость 38400.При связи(С ПК)

никаих проблем не обнаружилось(В партии 100шт)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Позволю себе несогласиться с мнением большинства, что кварц на UART обязателен. Всё зависит от внутреннего генератора. Какие у него характеристики по точности частоты? Вы можете их тут привести?

Я практического опыта с UART не имел, поэтому у меня бытовые или теоретические рассуждения. Спорить не буду. Для UART нужна стабильность краткосрочная, т.е. чтобы во время передачи одной посылки (байта) между старт-стопными символами фронт уплывал не более, чем на половину такта (точно не помню, но какая-то такая величина, первые доли такта). Время передачи байта ничтожно мало по сравнению с временем, за которое даже примитивный цифровой генератор на RC-элементах уплывёт (например, по температуре), да ещё и на полтакта. У кварца же точность очертенная, она такая не нужна. 100 ppm скажем - это же 0,01%, если правильно сосчитал. Притом 100 ппм - это долговременная стабильность, за весь срок службы аппаратуры. А кратковременная - куда выше.

Вот такие у меня рассуждения.

 

К стати, почитайте тут соседнюю тему http://electronix.ru/forum/index.php?showtopic=16273&st=0

Судя по алгоритмам выделения бит, там вообще нестабильность может достигать плюс-минус поллаптя, т.к. алгоритмы дубовые, и всё вытянут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Требуемая точность частоты тактирования UART зависит в основном от алгоритма детектирования битовой последовательности и длины непрерывного пакета данных. Например, для самого простого случая - передача 1 символа (8N1, одна выборка на бит в центре битового интервала) разность частот приемника и передатчика может достигать 5.5% (0.5BitTime/9).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня между компом и МК от внутреннего генератора 8 МГц на 38400 стабильно работает...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня между компом и МК от внутреннего генератора 8 МГц на 38400 стабильно работает...

Если посмотреть графики зависимостей частоты внутреннего генератора от температуры и напряжения питания, то на краях диапазонов погрешность частоты уже выходит за пределы, необходимые для надёжной работы UART.

Испытания показали полное соответствие теоретическим предпосылкам, т. е. на краях температурного диапазона (ниже -20 С и выше +55 С) коннект был нестабильным, часто возникали ошибки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Mega162 + внутренний генератор 4MHz + soft UART нормально общается с компом на скорости 115200. При калибровке слал в мегу по одному байту, увеличивая OSCCAL на 1, она возвращала его на терминалку, затем находил участок где прием нормальный а его середина и есть требуемое значение для OSCCAL. Самое странное, что настраивал на 5V, но работает и на 3V :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

DesNer

Исходная ошибка калибровки mega8 по даташиту при температуре 25 С и питании 3 В <1%.

Определите/задайте диапазон температур и напряжений, в котором предполагается эксплуатировать устройство. По даташиту найдите соответствующее возможное изменение (ошибку) Fosc.

Рассчитайте ошибку по BAUD для желаемой скорости передачи от округления UBRRn (например, для Fosc = 4 МГц и BAUD = 19200 в Normal Speed Mode получится всего 0.17%).

Найдите корень от суммы квадратов этих трех ошибок, и если получится меньше 2%, то можно надеяться, что при правильной софтовой реализации 97% устройств будут работать в заданном диапазоне тепмератур и напряжений без дополнительной калибровки OSCCAL.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно получить устойчивую работу на скорости 115200 если, как советует Reflector, откалибровать внутренний RC на частоту близкую к кратной 115200 например на 7.3Mhz.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно ли использвать 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 подстраивают от него периодически.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...