Обсуждаем контроллеры компании Atmel.
Ответить

ATMega88P, внутренний RC-генератор не всегда стартует

Чт июл 20, 2017 20:05:38

Доброго времени суток, коллеги.

Столкнулся с такой проблемой:
МК ATMega88P с дефолтными фьюзами (внутренний RC-генератор 8МГц + делитель на 8).
На ноги TOSC1/TOSC2 вешаем кварц 32.768КГц, ёмкости по 22пф и.. МК не стартует. Запустить его можно косаясь руками куда-нибудь.
Что видим: на выводах TOSC1/TOSC2 импульсы, похожие на прямоугольник, частой 57Гц, амплитудой 60мВ.
Если убрать ёмкости от выводов кристалла до GND, то на выводах уже будут нормальные импульсы 32.7КГц, амплитудой около 20мВ и МК нормально стартует.

Вопрос, точнее два:
1) Почему не стартует МК (зачем ему внешний генератор, если используется внутренний?)?
2) Какие должны быть номиналы ёмкостей?
В даташите на МК указана внутренняя ёмкость выводов TOSC1 и TOSC2 и она разная: 18 и 8 пФ соответственно, соответственно. Получается, нагрузочные конденсаторы мне нужно вешать 7 и 17пФ, если CL кварца 12.5пФ?

PS: Учитывая, что частота 57Гц, может МК когда-нибудь и выйдет в рабочий режим, не ждал.

Re: ATMega88P, внутренний RC-генератор не всегда стартует

Чт июл 20, 2017 21:00:01

a_winner писал(а):с дефолтными фьюзами
Вы их сами установили? Вы их пробовали считать ?

Re: ATMega88P, внутренний RC-генератор не всегда стартует

Чт июл 20, 2017 22:47:54

да, да.
l: 0x62, h: 0xdf
Про ёмкости нашел тему http://www.avrfreaks.net/forum/atmega32 ... or-crystal
но ответы там чисто теоретические.
В Mega8, например, можно фьюзами подключить нагрузочные конденсаторы, насколько я помню.

Re: ATMega88P, внутренний RC-генератор не всегда стартует

Пт июл 21, 2017 04:32:04

вроде по ДШ на часовой кварц (а точнее керамический резонатор) не ставят кондеи
если точнее: "For ceramic resonators, the capasitor values given by the manufacturer should be used."
т.е. по указанию производителя резонатора.
Последний раз редактировалось Ivanoff-iv Пт июл 21, 2017 08:18:55, всего редактировалось 2 раз(а).

Re: ATMega88P, внутренний RC-генератор не всегда стартует

Пт июл 21, 2017 04:50:28

...зачем ему внешний генератор, если используется внутренний?
Очень удобная фишка, для повышения точности отчета времени и снижения потребления, если настроить таймер2 в асинхронный режим и использовать один из режимов сна (использовал Power-save)
AS2: Asynchronous Timer/Counter2
When AS2 is written to zero, Timer/Counter2 is clocked from the I/O clock, clkI/O. When AS2 is written to one,
Timer/Counter2 is clocked from a crystal Oscillator connected to the Timer Oscillator 1 (TOSC1) pin. When the
value of AS2 is changed, the contents of TCNT2, OCR2A, OCR2B, TCCR2A and TCCR2B might be corrupted.
Например, камень спит и ждет разрешенных прерываний. Допустим, пришло разрешенное прерывание, в том числе и от таймера2, и оно будут обработано камнем на частоте RC-генератора, который быстро заводится на время до следующего перехода в сон.

Re: ATMega88P, внутренний RC-генератор не всегда стартует

Пт июл 21, 2017 10:14:03

МК ATMega88P с дефолтными фьюзами (внутренний RC-генератор 8МГц + делитель на .
На ноги TOSC1/TOSC2 вешаем кварц 32.768КГц, ёмкости по 22пф и.. МК не стартует.

Вы что-то не договариаваете.
Определитесь используете вы RC или кварц для работы МК.

Что видим: на выводах TOSC1/TOSC2 импульсы, похожие на прямоугольник, частой 57Гц, амплитудой 60мВ.

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

Re: ATMega88P, внутренний RC-генератор не всегда стартует

Пт июл 21, 2017 11:14:51

Господа, я использую МК от внутреннего RC-генератора и асинхронный таймер-счётчик примерно для тех целей, что описал akl.

По ёмкостям: вот ДШ на МК: http://www.atmel.com/images/Atmel-8271- ... mplete.pdf
На старице 33 (пункт 9.5, таблица 9-8) описана формула выбора ёмкостей, кварц использую с CL=12.5pF. Исходя из того, нужно дополнительно вешать 7 и 17 пФ?
Я думал, может кто сталкивался.

Осциллограмма с ёмкостями 22пФ:
Изображение
без емкостей:
Изображение

Вопрос больше в том, зачем МК при старте использует внешний генератор (я ничего другого не придумаю, что происходит), и нормально ли это?
Ну и всё-таки по ёмкостям практический опыт хотелось бы услышать.

Проверено на разных экземплярах ATMega88p, но из одной партии.

Re: ATMega88P, внутренний RC-генератор не всегда стартует

Пт июл 21, 2017 12:30:31

"...
13.9. Timer/Counter Oscillator
The device uses the same crystal oscillator for Low-frequency Oscillator and Timer/Counter Oscillator.
See Low Frequency Crystal Oscillator for details on the oscillator and crystal requirements.
On this device, the Timer/Counter Oscillator Pins (TOSC1 and TOSC2) are shared with XTAL1 and
XTAL2. When using the Timer/Counter Oscillator, the system clock needs to be four times the oscillator
frequency. Due to this and the pin sharing, the Timer/Counter Oscillator can only be used when the
Calibrated Internal RC Oscillator is selected as system clock source.
Applying an external clock source to TOSC1 can be done if the Enable External Clock Input bit in the
Asynchronous Status Register (ASSR.EXCLK) is written to '1'. See the description of the Asynchronous
Operation of Timer/Counter2 for further description on selecting external clock as input instead of a
32.768kHz watch crystal.
Related Links
OCR2B on page 216
ASSR on page 219
Low Frequency Crystal Oscillator on page 55
..."
Вообще-то такое применение надо внимательно вычитывать и по системному тактированию и по прикладной конфигурации.
За неимением "подопытных" ничего более не добавлю...
:dont_know:

Re: ATMega88P, внутренний RC-генератор не всегда стартует

Пт июл 21, 2017 13:17:27

BOB51, тут написано, что выводы xtal разделяются с tosc, поэтому асинхронный таймер/счётчик может быть использован только со встроенным генератором и дальше, как включать внешнее тактирование для TC2. Это все знают.

Я же про том, что по моему наблюдению, МК при старте то ли пытается тактироваться от внешнего источника, не смотря на то, что в фьюзах стоит internal rc, то ли хз.
Если убрать кварц, то стартует хорошо тоже.

Re: ATMega88P, внутренний RC-генератор не всегда стартует

Пт июл 21, 2017 14:08:35

Там что-то о кратности соотношения частот...
А вчитываться влоом...
:roll:

Re: ATMega88P, внутренний RC-генератор не всегда стартует

Сб июл 22, 2017 18:29:03

Да, там написано, что когда используется таймер-счётчик, то системная частота должна быть 4-кратной, но это, наверное, минимальный коэффициент.

На 2х экземплярах не стартует МК даже без ёмкостей по ногам кварца, пока не дотронишься до выводов TOSC. Кварц используется KX-327ST.

Может ЭПС резонатора велико?

По поводу ёмкостей, кстати, написано в ДШ:
Crystals specifying load capacitance (CL) higher than 6 pF, require external capacitors applied as described in Figure 9-2 on page 29.

Re: ATMega88P, внутренний RC-генератор не всегда стартует

Вс июл 23, 2017 08:39:19

Сооруди простейший тест, исключающий из программы все кроме запуска генераторов и вывода на пару лапок их частот (кратностей) с минимально-необходимым кодом.
Возможно чего и прояснится...
:roll:

Re: ATMega88P, внутренний RC-генератор не всегда стартует

Пн июл 24, 2017 16:20:23

МК случайно не уходит в слип сразу же после старта? Если в программе заложено так (обычно так делают в часах), надо делать в начале задержку не меньше секунды (а при плохом качестве кварца или при напряжении питания меньше 4 В - до пяти секунд!) или ждать до появления прерываний таймера 2. Сам с таким сталкивался - часы упорно не хотели идти, пока не дашь ресет через несколько секунд после подключения питания. Поставил в начале пустой цикл с выходом по прерыванию - он висит две-три секунды, хотя прерывание в теории должно сработать ровно через одну секунду.

Re: ATMega88P, внутренний RC-генератор не всегда стартует

Пн июл 24, 2017 17:11:15

watchmaker, о, как. Очень полезная инфа, спасибо.
МК только через 3с (отсчитывается по прерыванию от таймера 0) после старта должен уходить в сон, но в данном случае у меня и не стартует.
Пока решено попробоват ькварц с более низким ESR и нагрузочной ёмкостью 6пФ.

Re: ATMega88P, внутренний RC-генератор не всегда стартует

Вт июл 25, 2017 05:02:55

В ерратах DS ревизии W стр. 432 http://www.atmel.com/ru/ru/Images/Atmel ... asheet.pdf по этому поводу вякает. Может у Вас похожее?
Ответить