Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AtMega8 -16PI + кварц на 4 МГц
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
ogogogogogogogogogo
Писал одну программулину - долго не мог понять причину неработоспособности, наконец выяснил - результат работы функции delay_ms(100) не соответствует истине. На самом деле, задержка была где-то 400 мс. Кварц на 4 МГц, в CodeVision в свойствах указана частота 4 МГц. Однако такая вот проблема. Я поуменьшал задерки в 4 раза - микросхема, управляемая контроллером заработала, однако с глюками, причина которых скорее всего тоже во временных интервалах.

Что скажете?
WHALE
че-то я такого не замечал,скорее с кварцем что-то не то.Для проверки напишите на асме программку
дерганья портом 0-1 в цикле и проверьте реальное время выполнения частотомером с расчетным для данного кварца.
ms1
А еще скорее Мега работает на внутреннем RC генераторе.
Частота у него как раз в 4 раза меньше...
Ну и статистика сообщений этого раздела форума это подтверждает.
CKSEL частенько забывают прошивать. smile.gif
WHALE
Да,ms1 скорее всего прав.и проверить просто-выпаять кварц.
ogogogogogogogogogo
эээээ.... зажил я CKSEL - контроллер вообще перестал программироваться - при стирании AvrealShell пишет - "микросхема не отвечает"...
WHALE
Цитата(ogogogogogogogogogo @ Apr 16 2006, 08:58) *
эээээ.... зажил я CKSEL - контроллер вообще перестал программироваться - при стирании AvrealShell пишет - "микросхема не отвечает"...

а вы что,от фонаря фьюзы устанавливали-для 4 мгц cksel0-3 и ckopt все unprogramming(1),sut0-1-какой режим старта и BODа вам нужен.
А вы чего зашили? blink.gif
ogogogogogogogogogo
блин, дурак я... вычитал где-то, что надо ставить "F" для частот больше 3 МГц, ну и поставил...

Если честно, про режим старта и BOD первый раз слышу...
Но это не мешало мне раньше запускать контроллер..
Мне бы все как раньше, по умлочанию, но чтобы контроллер от кварца работал...

В параметрах для ATMega8 есть CKSEL (без нуля), параметра SUT0 нет. ЧТо прикажете делать?

P.S. для того чтобы вывести контроллер из комы нужно наверное воспользоваться внешним тактированием?
defunct
Цитата(ogogogogogogogogogo @ Apr 16 2006, 08:48) *
ЧТо прикажете делать?

Очень внимательно читать даташит. ВЕСЬ, а не только страничку с УГО.

Цитата
P.S. для того чтобы вывести контроллер из комы нужно наверное воспользоваться внешним тактированием?

вероятно да, если Вы там не установили RSTDSBL=0.
иначе только высоковольным программатором.
WHALE
где-то вычитал-это где?у разных камней разный набор перифериии и соответсвено,свои заморочки,и
datasheet тут абсолютно необходим и при работе тоже.
а насчет вывода из комы-почитайте в форуме про avreal,там есть воможность вывода из комы без пода-
чи внешних клоков,а использовать линию led.
ogogogogogogogogogo
Вывел из комы с помощью XTAL от AVReal.

Почитал даташит от atmel - слабо там написано про fuses. В частности про то как установить 4 МГц. В форуме в теме "Тактирование mega8" тоже этого нет.

Может быть кто-то на память понит как это сделать для Mega8?

Только просьба новичка - попонятней, а то фраза "cksel0-3 и ckopt все unprogramming(1),sut0-1" сбивает с толку...

Поконкретней. Вот как установлены у меня fuses - как прочел их AVreal:

OSCCAL = B0, AF, AD, AE
BLEV = 1
BODEN = 1
SUT = 2
CKSEL = 1
BLB1 = 3
BLB0 = 3
RSTDSBL = 1
WDTON = 1
CKOPT = 1
EESV = 1
BSIZ = 0
BRST = 1

Как поменять значения для mega8 для работы с 4 Мгц ?
defunct
CKSEL = 1111
CKSEL = 1110
ogogogogogogogogogo
Может я тупой, но как вы представляете себе два значения для одного и того же параметра?

К тому же Avreal выдал следующее: "Value 1111 too large for fuse CKSEL"

Команда для avreal выглядела так:
-p1 +MEGA8 -ab -n -e -fCKSEL=1111 -%
defunct
Цитата(ogogogogogogogogogo @ Apr 16 2006, 10:17) *
как вы представляете себе два значения для одного и того же параметра?

е-мае..
CKSEL0 = не важно
CKSEL1 = 1
CKSEL2 = 1
CKSEL3 = 1
неужели совсем не судьба в даташит заглянуть (стр. 25)
ogogogogogogogogogo
е-мае... даташит...
я же писал, что в Avreal для mega8 есть только параметр CKSEL.

Неужели вместо этого нельзя сказать : "коллега не обращайте внимание на AVREAL, на самом деле там 4 параметра."

Впрочем спасибо.

Кстати - установка в CodeVision частоты 1 МГц привела к тому, что все работает ))). Эх... а я две недели бился...
DS
Цитата(ogogogogogogogogogo @ Apr 16 2006, 12:04) *
е-мае... даташит...
я же писал, что в Avreal для mega8 есть только параметр CKSEL.

Неужели вместо этого нельзя сказать : "коллега не обращайте внимание на AVREAL, на самом деле там 4 параметра."


Догадаться, что F (шестнадцатеричное) = 1111 (двоичное), конечно, невозможно ... smile.gif
defunct
Цитата(ogogogogogogogogogo @ Apr 16 2006, 11:04) *
е-мае... даташит...
я же писал, что в Avreal для mega8 есть только параметр CKSEL.

Знаете, ведь не все пользуются Avreal,
и что там у него сделано, лично мне фиолетово.

Цитата
Кстати - установка в CodeVision частоты 1 МГц привела к тому, что все работает ))). Эх... а я две недели бился...

Читайте документацию, ее специально пишут, чтобы разработчики не бились 2 недели головой об стену, а прочитали за день-два и все. Тем более, что документация фирмы Atmel отличается от других особой ясностью и простым английским.
ogogogogogogogogogo
Прочитать, что F я уже вводил, и что это ввело в контроллер в кому, конечно тоже невозможнно.
Кстати я повторно попробовал F - результат тот же.


defunct, будете смеяться, но в оригинальном даташите от Atmel на ATMEGA8 всего 21 страница )))
DS
Цитата(ogogogogogogogogogo @ Apr 16 2006, 12:22) *
Прочитать, что F я уже вводил, и что это ввело в контроллер в кому, конечно тоже невозможнно.
Кстати я повторно попробовал F - результат тот же.


Если не работает с CKSEL=F, попробуйте поставить CKOPT=0, это увеличит мощность генератора, может помочь, если кварц - г...
Судя по тому, что программируется AVREAL c внешним тактом, проблема в цепи кварца или в нем самом. Какие стоят конденсаторы - нужны около 20 пф при 4 Мгц.
Осциллограф есть ? Посмотрите прям на кварце сигнал.
WHALE
И вопрос-а почему вы не пользуетесь встроееным программатором CV?ИМХО,нормальный программатор и не надо из среды в среду скакать.
ILYCHOFF
ogogogogogogog зря вы так упераетесь Вам уже столько всего наговорили, что можно было всю Вашу Мегу вдоль и поперк прошить, а если не хотите читать даташит, то купите книгу Евстифеева "Микроконтроллеры AVR семейств Tiny и Mega фирмы Atmel" И если вы пишите в CV почему бы его программатором и не зашивать??

ogogogogogogog зря вы так упераетесь Вам уже столько всего наговорили, что можно было всю Вашу Мегу вдоль и поперк прошить, а если не хотите читать даташит, то купите книгу Евстифеева "Микроконтроллеры AVR семейств Tiny и Mega фирмы Atmel" И если вы пишите в CV почему бы его программатором и не зашивать??
SasaVitebsk
Кстати по поводу AVREAL. smile.gif Опять таки если не хотите читать доку, то можно его запустить с ключём "-?" и прочитать с экрана. А если необходима информация по фузам (правильность написания) то можно запустить вот так:
avreal32 +mega8 -? и прочитаешь следующее


avreal/WIN32 - AVR controllers LPT programmer by Redchuk Alexandr
v1.25rev4 (Mar 24 2006 08:54:51) http://www.ln.com.ua/~real/avreal
bug-reports, suggestions and so on mail to avreal@real.kiev.ua

Command:
+mega8 -?

MEGA8 fuse list
Fuse programmed state is 0, use ON or OFF aliases if you not shure

BODLEVEL = 0 or 1 - Brown-out level
(BLEV)
BODEN = 0 or 1 - Brown-out detect
SUT = 0 to 3 - Start-up timer
CKSEL = 0 to F - Clock selection
BLB1 = 0 to 3 - Disable SPM/LPM in boot section (BLB12,BLB11)
BLB0 = 0 to 3 - Disable SPM/LPM in application section (BLB02,BLB01)
RSTDISBL = 0 or 1 - Reset pin disable
(RSTDSBL)
WDTON = 0 or 1 - WDT enable
CKOPT = 0 or 1 - Clock option
EESAVE = 0 or 1 - Keep EEPROM @ erase
(EESV)
BOOTSZ = 0 to 3 - Boot section size
(BSIZ)
BOOTRST = 0 or 1 - Reset to boot block
(BRST)

For short help type
avreal -h
ogogogogogogogogogo
Ну так выяснилось, что дело не в доках. У меня кварц был битый. От этого после прошивки CKSEL, которая удалась без рекомендуемых вами мануалов, контроллер и не запускался. И как раз об этой проблеме ни в одной доке не прочитаешь.

За советы конечно спасибо, но четко бросается в глаза то что одни люди вникают в проблему, вспоминают свои "грабли", а другие мудрствуют лукаво и отсылают к докам, безрезультатность поиска ответа в которых (в данном конкретном случае) считают ламерством.

Ай, Дефункт, ай маладца!
Фигня, говорит, твой summary, качай полное руководство мое! на 300 страницах!!! И дает мне ссылку на пресловутый summary на 22 страницах!

А еще меня мануалы учат читать.
beer_warrior
Кто людям помогает - тот тратит время зря sad.gif
WHALE
beer_warrior,это точно
ogogogogogogogogogo-не хами,люди тебе честно помочь пытались,если ты не можешь отличить
полный даташит от усеченного,лежащих рядом,это твои проблемы. cranky.gif
ILYCHOFF
ogogogogogogogog[b] Если Вы не будете читать доки то вы ничего кроме этой Вашей проблемы с кварцем и не решите, а люди на Вас только время зря тратили....
defunct
Цитата(ogogogogogogogogogo @ Apr 17 2006, 21:45) *
Ай, Дефункт, ай маладца!
Фигня, говорит, твой summary, качай полное руководство мое! на 300 страницах!!! И дает мне ссылку на пресловутый summary на 22 страницах!

Искрене прошу прощения. Допустил чисто механическую ошибку при копировании ссылки.

А вам желаю удачи. Думаю полный даташит вы уже нашли самостоятельно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.