DesNer 0 4 июля, 2006 Опубликовано 4 июля, 2006 · Жалоба Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dRaider 0 4 июля, 2006 Опубликовано 4 июля, 2006 · Жалоба Больше информации! Связь с компютером или другим контроллером? На какую частоту внутрений генератор? Выполняется ли калибровка? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ksv198 0 4 июля, 2006 Опубликовано 4 июля, 2006 · Жалоба Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче. До 19200 при связи с компом как правило работает (8N1). Если повезло со стабильностью, то и побольше скорость можно пробовать, но 19200 - практически всегда (в серийное устройство, конечно не стоит закладывать, там только кварц, ИМХО, меньше гемороя). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 4 июля, 2006 Опубликовано 4 июля, 2006 · Жалоба Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче. Интерфейс LIN - предусмотрена процедура подстройки тактовой при работе от RC - генератора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DesNer 0 4 июля, 2006 Опубликовано 4 июля, 2006 · Жалоба Больше информации! Связь с компютером или другим контроллером? На какую частоту внутрений генератор? Выполняется ли калибровка? Связь с компьютером. Внутренний генератор настроен на 4МГц. Пробую скорость 9600. Калибровать не пробовал. Надо? Вообщем посылаю контроллеру разные символы, а приходит 0xF8 либо 0x00. В чем дело, не могу понять. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nml 0 4 июля, 2006 Опубликовано 4 июля, 2006 · Жалоба Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче. Думаю, что такого делать не стОит. Ведь UART - асинхронный. Ему очень важна стабильность частоты - насколько я помню, допускается ошибка в 2.5 процента или чуть выше. Даже если вы как положено зашлете в OSCCAL настроечный байт, стабильности частоты это не обеспечит. Будет скакать и от температурных изменений, и от питающего напряжения... Короче, если не нужен геморрой - ставьте кварц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
viael 0 4 июля, 2006 Опубликовано 4 июля, 2006 · Жалоба Можно ли использвать UART в mega8 без кварцевой стабилизации (внутренний генератор). До каких скоростей? А то уже второй день пробую, и все время какие-то ошибки в передаче. До 19200 при связи с компом как правило работает (8N1). Если повезло со стабильностью, то и побольше скорость можно пробовать, но 19200 - практически всегда (в серийное устройство, конечно не стоит закладывать, там только кварц, ИМХО, меньше гемороя). Собирал партию устройств не Меге48 с внутренним генератором на 8МГц, скорость 38400.При связи(С ПК) никаих проблем не обнаружилось(В партии 100шт) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 5 июля, 2006 Опубликовано 5 июля, 2006 · Жалоба Позволю себе несогласиться с мнением большинства, что кварц на UART обязателен. Всё зависит от внутреннего генератора. Какие у него характеристики по точности частоты? Вы можете их тут привести? Я практического опыта с UART не имел, поэтому у меня бытовые или теоретические рассуждения. Спорить не буду. Для UART нужна стабильность краткосрочная, т.е. чтобы во время передачи одной посылки (байта) между старт-стопными символами фронт уплывал не более, чем на половину такта (точно не помню, но какая-то такая величина, первые доли такта). Время передачи байта ничтожно мало по сравнению с временем, за которое даже примитивный цифровой генератор на RC-элементах уплывёт (например, по температуре), да ещё и на полтакта. У кварца же точность очертенная, она такая не нужна. 100 ppm скажем - это же 0,01%, если правильно сосчитал. Притом 100 ппм - это долговременная стабильность, за весь срок службы аппаратуры. А кратковременная - куда выше. Вот такие у меня рассуждения. К стати, почитайте тут соседнюю тему http://electronix.ru/forum/index.php?showtopic=16273&st=0 Судя по алгоритмам выделения бит, там вообще нестабильность может достигать плюс-минус поллаптя, т.к. алгоритмы дубовые, и всё вытянут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 5 июля, 2006 Опубликовано 5 июля, 2006 · Жалоба Требуемая точность частоты тактирования UART зависит в основном от алгоритма детектирования битовой последовательности и длины непрерывного пакета данных. Например, для самого простого случая - передача 1 символа (8N1, одна выборка на бит в центре битового интервала) разность частот приемника и передатчика может достигать 5.5% (0.5BitTime/9). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 5 июля, 2006 Опубликовано 5 июля, 2006 · Жалоба У меня между компом и МК от внутреннего генератора 8 МГц на 38400 стабильно работает... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 6 июля, 2006 Опубликовано 6 июля, 2006 · Жалоба У меня между компом и МК от внутреннего генератора 8 МГц на 38400 стабильно работает... Если посмотреть графики зависимостей частоты внутреннего генератора от температуры и напряжения питания, то на краях диапазонов погрешность частоты уже выходит за пределы, необходимые для надёжной работы UART. Испытания показали полное соответствие теоретическим предпосылкам, т. е. на краях температурного диапазона (ниже -20 С и выше +55 С) коннект был нестабильным, часто возникали ошибки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Reflector 0 15 июля, 2006 Опубликовано 15 июля, 2006 · Жалоба Mega162 + внутренний генератор 4MHz + soft UART нормально общается с компом на скорости 115200. При калибровке слал в мегу по одному байту, увеличивая OSCCAL на 1, она возвращала его на терминалку, затем находил участок где прием нормальный а его середина и есть требуемое значение для OSCCAL. Самое странное, что настраивал на 5V, но работает и на 3V :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xemul 0 15 июля, 2006 Опубликовано 15 июля, 2006 · Жалоба DesNer Исходная ошибка калибровки mega8 по даташиту при температуре 25 С и питании 3 В <1%. Определите/задайте диапазон температур и напряжений, в котором предполагается эксплуатировать устройство. По даташиту найдите соответствующее возможное изменение (ошибку) Fosc. Рассчитайте ошибку по BAUD для желаемой скорости передачи от округления UBRRn (например, для Fosc = 4 МГц и BAUD = 19200 в Normal Speed Mode получится всего 0.17%). Найдите корень от суммы квадратов этих трех ошибок, и если получится меньше 2%, то можно надеяться, что при правильной софтовой реализации 97% устройств будут работать в заданном диапазоне тепмератур и напряжений без дополнительной калибровки OSCCAL. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 15 июля, 2006 Опубликовано 15 июля, 2006 · Жалоба Можно получить устойчивую работу на скорости 115200 если, как советует Reflector, откалибровать внутренний RC на частоту близкую к кратной 115200 например на 7.3Mhz. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uuC 0 15 июля, 2006 Опубликовано 15 июля, 2006 · Жалоба Можно ли использвать 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 подстраивают от него периодически. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться