Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Мега168 с бонусом
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
oran-be
Попалась мега168 с внутренним калиброванным RC генератором 16МГц. Я точно не замерял, смотрел осциллографом, но похоже. Кому то еще попадалось подобное чудо природы?
SunnyDevil
Цитата(oran-be @ Jun 14 2007, 21:40) *
Попалась мега168 с внутренним калиброванным RC генератором 16МГц. Я точно не замерял, смотрел осциллографом, но похоже. Кому то еще попадалось подобное чудо природы?

А можно получить детальное описание эксперимента. Как осцилографом смотрелось? И на что?
bodja74
Несмертельно ,лечится установкой кварца smile.gif
oran-be
Детальное описание эксперимента.... Если это токо можно експирименотом назвать. Свежеразработанное устройство, два образца было уже изготовлено, один уже обкатан, один у меня на столе для экспириментов остался. Выпустили очередную пробную партию. Первое же устройство начало работать странно - по явным внешним признакам ядро работало подозрительно быстро. Ясен пень, первая мысль возникла - скрытый жук в проге. После некоторго количества итераций с софтом возникло подозрение на генератор. Проверить проще простого - вывести на лапку сигнал с таймера. Так и сделал - вывел сигнал с таймера 1, работающего в режиме предделения 8, СТС и максимальным значением 20000 (суммарный К деления = 160000). Вместо ожидаемых 20 мСек периода на лапке получилось примерно 10 ( 11-12 на глаз) Осциллограф - С1-65. Предположение о завышенной частоте RC генератора окончательно подтвердилось, когда я взял второе устройство из новой партии и закатерил в него тот же самый код. На тестовой лапке уже было положенных 20 мСек. Кварц поставить не получится, поскольку лапки для кварца оказались заняты., да и места под него на плате нет. Поэтому монтажники уже сдули эту мегу с платы и поставили новую, а эту положим под стекло или организуем кунсткамеру, в которой эта мега займет достойное место.
defunct
Цитата(oran-be @ Jun 15 2007, 08:17) *
Так и сделал - вывел сигнал с таймера 1, работающего в режиме предделения 8, СТС и максимальным значением 20000 (суммарный К деления = 160000). Вместо ожидаемых 20 мСек периода на лапке получилось примерно 10 ( 11-12 на глаз) Осциллограф - С1-65.


Это может быть следствием бага в программе.
Случайно где-то писанули в OSCCAL.
oran-be
OOSCCAL? Тогда он должен быть как минимум 16 разрядным, чтобы подвинуть частоту RC на 100%. "Случайно" достать до SFR через указатель, конечно можно, но как то так получилось, что в проге не оказалось ни одного массива и, соответственно ни одного объявленного указателя. Так что отпадает. В принципе я кое-что умолчал. При прошивке случился казус. Я пытался прошить его AVRISP MKII, которым передо мною пользовался сотрудник, который установил частоту тактов 1МГц. Соответственно при попытке прошить проц случился фаулт. Я стормозил и, плдумавши, что мега пеключилась на работу с внешним генератором, пошел пл проторенной дорожке, а именно сунул ей с лабораторного генератора на лапку XTALL1 1мГц. Когда при попытке прошить опять произошел фаулт, тут я уже догадался заглянуть на закладку прграммера. После этого мега успешно прошилась. Возможно данные манипуляции и привели к увеличению частоты RC генератора. Тогда имеют место недокументированные возможности Мегхх8.
GDaniloff
а у меня есть тиня со стертой сигнатуркой! =)
oran-be
Чем стирал? smile.gif
Black Pahan
Однажды эксперементировал с OSCCAL. Интересовали максимальные пределы регулирования частоты. результат:
0x00 3.96 MHz
0x96 7.35 MHz
0x97 7.39 MHz
0xA9 7.99 MHz
0xFF 14.18 MHz
частоту мерил осцилом LeCroy WS-422 на ножке PORTB0 с соответсвующе установленным фьюзом.

Результат 0xFF 14.18 MHz оч. похож на вашу частоту. => может быть в вашей меге убитый регистр OSCCAL и там постоянно 0xFF торчит? попробуйте прописать в него чего-нибудь и посмотреть на изменение частоты.

upd. забыл уточнить - ATMega168-20MI
oran-be
Я тоже отжимался некогда с регистром OSCCAL в плане реализации автоподстройки частоты, осциллятором, конечно не мерил, но на глаз изменения частоты не превышали указанныз в даташите. С учетом того, что шумовая девиация частоты RC генератора превышала возможности OSCCAL, то от этого метода пришлось отказаться.
Black Pahan, а ты только один экземпляр проверял? Создается ощущение того, отдельные разделы датащита имеют слабую корреляцию с реальными экземплярами микроконтроллеров.
Black Pahan
ещё на mega16l пробовал. точно частоту не мерил, но порядок изменения частоты такойже.
defunct
Цитата(oran-be @ Jun 15 2007, 20:26) *
OOSCCAL? Тогда он должен быть как минимум 16 разрядным, чтобы подвинуть частоту RC на 100%.

Читайте даташит внимательнее.
Пределы регулирования частоты с помощью OSCCAL - 50% - 200%, где 100% это номинальная частота.
oran-be
Цитата
Читайте даташит внимательнее.
Пределы регулирования частоты с помощью OSCCAL - 50% - 200%, где 100% это номинальная частота.


Какой вы ревизией пользуетесь? У меня былы ревизия G (имееится в виде на мегу48, 88 и168), но специально ради такого случая скачал свеженькую К - никаких 200%. Есть табличка с упоминанием о User calibration - указан предел 7.3-8.1 Мгц и график на задворках датащита, показывающий зависимость частоты генератора от OSCCAL но, если верить ему, то данные Black Pahan'а адекватны. Тогда если опять впаять эту мегу и попробовать в инициализации закатерить ей в OSCCAL 0xFF, то есть шанс получить частоту в районе 26-30МГц.
Black Pahan
Цитата
Тогда если опять впаять эту мегу и попробовать в инициализации закатерить ей в OSCCAL 0xFF, то есть шанс получить частоту в районе 26-30МГц.

ИМХО - нет. скорее всего там уже FF.
defunct
Цитата(oran-be @ Jun 18 2007, 08:30) *
Какой вы ревизией пользуетесь? У меня былы ревизия G (имееится в виде на мегу48, 88 и168), но специально ради такого случая скачал свеженькую К - никаких 200%. Есть табличка с упоминанием о User calibration - указан предел 7.3-8.1 Мгц и график на задворках датащита, показывающий зависимость частоты генератора от OSCCAL но,

Может быть в m48/88/168 все так как вы говорите. Действительно там в ДШ указано 7.3-8.1Mhz.

Я свой пост делал по памяти из ДШ на m128. Там приведены такие цифры:


Код
OSCCAL  Min (of niminal)   Max (of nominal)
$00           50%                   100%
$7F           75%                   150%
$FF           100%                  200%


Можете убедиться в этом посмотрев Table 15. на стр. 40. (даташита на m128).
oran-be
Цитата
ИМХО - нет. скорее всего там уже FF.

Вероятоность появления FF в OSCCAL примерно такая же, а даже и еще меньше, чем частота RC генератора по умолчанию 16Мгц. Если только сам кристалл не представляет собой заливаемую ПЛИСку smile.gif А предполагать бестолку, надо ее просто распаять да и посмотреть. Но, як говорится для цього, треба мати тришечки часу та тришечки натхнення. А пока море теплое, вероятность его наступления невысока smile.gif
ReAl
Цитата(defunct @ Jun 19 2007, 01:49) *
Может быть в m48/88/168 все так как вы говорите. Действительно там в ДШ указано 7.3-8.1Mhz.
Ну так это диапазон, в котором гарантируется калибровка, т.е. при любых партиях/температурах/питаниях можно подобрать OSCCAL для получения частоты в этом диапазоне.
Так что противоречия с возможными диапазонами перестройки 50-100% и 100-200% не вижу.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.