|
AtMega8 -16PI + кварц на 4 МГц, связаны ли глюки с низкой частотой кварца? |
|
|
|
Apr 15 2006, 20:02
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 13-04-06
Пользователь №: 16 093

|
Писал одну программулину - долго не мог понять причину неработоспособности, наконец выяснил - результат работы функции delay_ms(100) не соответствует истине. На самом деле, задержка была где-то 400 мс. Кварц на 4 МГц, в CodeVision в свойствах указана частота 4 МГц. Однако такая вот проблема. Я поуменьшал задерки в 4 раза - микросхема, управляемая контроллером заработала, однако с глюками, причина которых скорее всего тоже во временных интервалах.
Что скажете?
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 25)
|
Apr 15 2006, 21:32
|
Частый гость
 
Группа: Свой
Сообщений: 150
Регистрация: 13-10-05
Пользователь №: 9 614

|
А еще скорее Мега работает на внутреннем RC генераторе. Частота у него как раз в 4 раза меньше... Ну и статистика сообщений этого раздела форума это подтверждает. CKSEL частенько забывают прошивать.
|
|
|
|
|
Apr 16 2006, 04:58
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 13-04-06
Пользователь №: 16 093

|
эээээ.... зажил я CKSEL - контроллер вообще перестал программироваться - при стирании AvrealShell пишет - "микросхема не отвечает"...
|
|
|
|
|
Apr 16 2006, 05:48
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 13-04-06
Пользователь №: 16 093

|
блин, дурак я... вычитал где-то, что надо ставить "F" для частот больше 3 МГц, ну и поставил...
Если честно, про режим старта и BOD первый раз слышу... Но это не мешало мне раньше запускать контроллер.. Мне бы все как раньше, по умлочанию, но чтобы контроллер от кварца работал...
В параметрах для ATMega8 есть CKSEL (без нуля), параметра SUT0 нет. ЧТо прикажете делать?
P.S. для того чтобы вывести контроллер из комы нужно наверное воспользоваться внешним тактированием?
|
|
|
|
|
Apr 16 2006, 05:59
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(ogogogogogogogogogo @ Apr 16 2006, 08:48)  ЧТо прикажете делать? Очень внимательно читать даташит. ВЕСЬ, а не только страничку с УГО. Цитата P.S. для того чтобы вывести контроллер из комы нужно наверное воспользоваться внешним тактированием? вероятно да, если Вы там не установили RSTDSBL=0. иначе только высоковольным программатором.
|
|
|
|
|
Apr 16 2006, 06:50
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 13-04-06
Пользователь №: 16 093

|
Вывел из комы с помощью 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 Мгц ?
|
|
|
|
|
Apr 16 2006, 07:17
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 13-04-06
Пользователь №: 16 093

|
Может я тупой, но как вы представляете себе два значения для одного и того же параметра?
К тому же Avreal выдал следующее: "Value 1111 too large for fuse CKSEL"
Команда для avreal выглядела так: -p1 +MEGA8 -ab -n -e -fCKSEL=1111 -%
|
|
|
|
|
Apr 16 2006, 07:57
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(ogogogogogogogogogo @ Apr 16 2006, 10:17)  как вы представляете себе два значения для одного и того же параметра? е-мае.. CKSEL0 = не важно CKSEL1 = 1 CKSEL2 = 1 CKSEL3 = 1 неужели совсем не судьба в даташит заглянуть (стр. 25)
|
|
|
|
|
Apr 16 2006, 08:04
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 13-04-06
Пользователь №: 16 093

|
е-мае... даташит... я же писал, что в Avreal для mega8 есть только параметр CKSEL.
Неужели вместо этого нельзя сказать : "коллега не обращайте внимание на AVREAL, на самом деле там 4 параметра."
Впрочем спасибо.
Кстати - установка в CodeVision частоты 1 МГц привела к тому, что все работает ))). Эх... а я две недели бился...
|
|
|
|
|
Apr 16 2006, 08:18
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250

|
Цитата(ogogogogogogogogogo @ Apr 16 2006, 12:04)  е-мае... даташит... я же писал, что в Avreal для mega8 есть только параметр CKSEL.
Неужели вместо этого нельзя сказать : "коллега не обращайте внимание на AVREAL, на самом деле там 4 параметра." Догадаться, что F (шестнадцатеричное) = 1111 (двоичное), конечно, невозможно ...
--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
|
|
|
|
|
Apr 16 2006, 08:19
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(ogogogogogogogogogo @ Apr 16 2006, 11:04)  е-мае... даташит... я же писал, что в Avreal для mega8 есть только параметр CKSEL. Знаете, ведь не все пользуются Avreal, и что там у него сделано, лично мне фиолетово. Цитата Кстати - установка в CodeVision частоты 1 МГц привела к тому, что все работает ))). Эх... а я две недели бился... Читайте документацию, ее специально пишут, чтобы разработчики не бились 2 недели головой об стену, а прочитали за день-два и все. Тем более, что документация фирмы Atmel отличается от других особой ясностью и простым английским.
|
|
|
|
|
Apr 16 2006, 08:22
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 13-04-06
Пользователь №: 16 093

|
Прочитать, что F я уже вводил, и что это ввело в контроллер в кому, конечно тоже невозможнно. Кстати я повторно попробовал F - результат тот же.
defunct, будете смеяться, но в оригинальном даташите от Atmel на ATMEGA8 всего 21 страница )))
|
|
|
|
|
Apr 16 2006, 09:14
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250

|
Цитата(ogogogogogogogogogo @ Apr 16 2006, 12:22)  Прочитать, что F я уже вводил, и что это ввело в контроллер в кому, конечно тоже невозможнно. Кстати я повторно попробовал F - результат тот же. Если не работает с CKSEL=F, попробуйте поставить CKOPT=0, это увеличит мощность генератора, может помочь, если кварц - г... Судя по тому, что программируется AVREAL c внешним тактом, проблема в цепи кварца или в нем самом. Какие стоят конденсаторы - нужны около 20 пф при 4 Мгц. Осциллограф есть ? Посмотрите прям на кварце сигнал.
Сообщение отредактировал DS_ - Apr 16 2006, 09:15
--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
|
|
|
|
|
Apr 17 2006, 09:39
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Кстати по поводу AVREAL.  Опять таки если не хотите читать доку, то можно его запустить с ключём "-?" и прочитать с экрана. А если необходима информация по фузам (правильность написания) то можно запустить вот так: 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/avrealbug-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
|
|
|
|
|
Apr 17 2006, 18:45
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 13-04-06
Пользователь №: 16 093

|
Ну так выяснилось, что дело не в доках. У меня кварц был битый. От этого после прошивки CKSEL, которая удалась без рекомендуемых вами мануалов, контроллер и не запускался. И как раз об этой проблеме ни в одной доке не прочитаешь.
За советы конечно спасибо, но четко бросается в глаза то что одни люди вникают в проблему, вспоминают свои "грабли", а другие мудрствуют лукаво и отсылают к докам, безрезультатность поиска ответа в которых (в данном конкретном случае) считают ламерством.
Ай, Дефункт, ай маладца! Фигня, говорит, твой summary, качай полное руководство мое! на 300 страницах!!! И дает мне ссылку на пресловутый summary на 22 страницах!
А еще меня мануалы учат читать.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|