Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Еще один глюк ATmega8
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Дмитрий
creator@bazarov.netГоспода, с появлением ATmega8 приобрел себе кучу проблем (на 4433 все работало безотказно). Проблема в том что я просто не могу запустить контроллер с кварца (кварц 8 Мгц, обвеска 2х22пф на "землю"), однако стоит прикоснуться отверткой (пинцетом, топором) до XTAL1, то вроде бы запускается, но естественно криво, но генерация присутствует. Пробовал вешать не reset разные дистрибьюторы.....но все тщетно. Кто подскажет в чем беда? Биты конфигурации как я думаю выставлены верно (в соответствии с даташитом).
Hmm
Годов сколько?
Gordon
Да каких годков......свежак, привезли из столицы ATmega8-16PI а потом неделю назад купил ATmega8L-8PI - таже история! уже голову сломал, непойму в чем дело!creator@bazarov.net
Oleg
У этого контроллера есть конфигурационный бит (fuse bit) включающий внутренние конденсаторы на кварце - может быть в этом проблема.
Лично я не сталкивался с подобной проблемой при использовании 8 меги.
Gordon
Проскасивала у меня и такая мысль, но я ради интереса перепробовал все комбинации установки битов конфигурации.
меня кварцы, ставил разные емкости, убирал их вообще.
Самое интересное что в праграмматоре то он шьется, значит кварцом в программаторе от пускается...или я не прав?
Могу прикрепить схему данного девайса, посмотрите, но там мне кажется все идеально :-))
4433 мне уже не достать, надо как то пускать атмегу8, иначе я просто незнаю что делать :-(((
jeka
А может дело не в баяне? может просто программа не работает? А когда кварц пинцетом трогаешь, то оно начинает глючить по другому и начинают исполняться какие-то куски кода. Как-то у меня такое было, тоже долго парился, правда на at90s1200
обрати внимание на вектора прерываний и другие особенности новой микрухи
Gordon
Да именно так и есть, исполняет какие-то куски кода ( например вроде работает все, но на индикаторы выводятся не все сегменты цифры).
Проверял на эмуляторе AStudio - так вроде бы там все работает.
NickB
А ежели попробовать от внутреннего генератора (или от внешнего)- как то программа себя поведет ?
Gordon
Дык пробовал - не пусчается он!
Fish
Мне кажется, jeka прав:
Цитата
обрати внимание на вектора прерываний и другие особенности новой микрухи

Таблица прерываний должна быть заполнена полностью, либо нужно примемять директиву .org перед инструкцией перехода на обработчик прерывания. Наступал на грабли, когда переползал с семейства classic на mega. У mega под вектор прерывания отведено два слава (чтобы применять jmp, а у classic одно для rjmp. Может в этом дело?
alt
Буквально неделю назад.
Столкнулся с подобным глюком, но при замене AT90S8515 на
ATmega8515.

Предыдущая микруха работала в серийном изделии несколько лет.
Когда же заставил себя заново просмотреть весь код, то нашел сразу парочку
грубых ошибок. Первая как и говорилось ранее в форуме, была связана с обработчиком прерываний (не сохранял регистр состояний), а вторая была связана с инициализацией регистров при старте (не делал).

После правки все заработало.

Но, переход с AT90S8535 на ATmega8535 так и не получился, все работает нормально, кроме АЦП. Почему-то ошибка измерений выросла
почти в два раза sad.gif
anton
У меня мега8 с кристалом 11м работает но при этом уровень генерации около 0.5в хотя с другим процом 1200 проблем не было (при остальных комбинациях бита вообше встает)
anton
Цитата(alt @ Jul 23 2004, 06:29 PM)
Но, переход с AT90S8535 на ATmega8535 так и не получился, все работает нормально, кроме АЦП. Почему-то ошибка измерений выросла
почти в два раза

Выборка АЦП производится при остановленой програме или в фоновом режиме (в последнем соответсвенно наводок больше). Попробуй небольшую емкость на землю от входа АЦП. Можеш также попробовать с L кристалом (низко скоросным).
alt
Выборка действительно идет в фонофом режиме. Но проблема не в шумах.
Скорость работы At90S8535 та же, что у Atmega8535, а ошибка измерений в случае Atmeg -и значительно больше.
COMA
Цитата(anton @ Aug 6 2004, 07:14 PM)
У меня мега8 с кристалом 11м работает но при этом уровень генерации около 0.5в

Было такое с мегой 128. В один прекрасный момент глюкнула. Перепробовал все возможные варианты, не запустилось. Пришлось выкинуть.
grumbler
Цитата(Дмитрий @ Jul 17 2004, 08:06 PM)
creator@bazarov.netГоспода, с появлением ATmega8 приобрел себе кучу проблем (на 4433 все работало безотказно). Проблема в том что я просто не могу запустить контроллер с кварца (кварц 8 Мгц, обвеска 2х22пф на "землю"), однако стоит прикоснуться отверткой (пинцетом, топором) до XTAL1, то вроде бы запускается, но естественно криво, но генерация присутствует. Пробовал вешать не reset разные дистрибьюторы.....но все тщетно. Кто подскажет в чем беда? Биты конфигурации как я думаю выставлены верно (в соответствии с даташитом).

Странно а нам удалось без проблем переползти с 2233 на atmega8,
всё делали по инструкции и проекта три перетащили...
Serjio
В Codevision ставим галочки
CKSEL0
CKSEL1
CKSEL3
SUT0
CKOPT
Пишем fuse, потом программу - работает от внутреннего RC на 8 мегагерц.
Редко (раза 2) наблюдался слет на внешний генератор. После перепрошивки Fuse все работало. Пишем в достаточно большом количестве. Иногда полезно прогнать программу в V*MLABе - бывают глюки, которые там отлавливали.
DimonD
Что-то похожее у меня было… помогло заземление корпуса кварца
Idler
Господа с негенерящими кварцами, а вы не забываете параллельно кварцу ставить резистор ~1М ?
Об этом почти во всех FAQ-ах написано. При 5в обычно и так работает, а при 3в без резистора очень ненадежно.
У многих других низковольтных процессоров этот резистор в доке есть.
Miron
Наверное ты зря ее выкинул.
Ели просто так тыкать fuse bit
то можно выйти на режим внешнего генератора
а потом она только с ним и будет работать
перешивать fuse bit тоже придется с внешним генератором
Sergio66
Сталкивался с подобной проблемой на Меге 16. Дело (у меня) оказалось в том, что изначально в загрузчике прошивались биты конфигурации для работы от ВНЕШНЕГО!!! RC генератора. Сдвинуть кристалл после этого можно только подцепив этот самый внешний RC генератор. В противном случае очень похоже на вашего больного.
Проверьте биты конфигурации CKSEL0, CKSEL1.,..
PowerF1
Ребята, подскажите есть ли методы определения неполадок в работе мк кроме как экспериментировать с ним.
У меня проблема- АТmega8 c внешним кварцем на 4 MHz не работает, хотя прошивается без проблем. Конф биты выставляю номально. Программка самая простая с использованием UART, без прерываний, на 30 срок, ошибок в ней нет. Ан не работает.
dch
Поставил ATmeg-у, подбатареил ее на случай пропадания сетевого питания,
включил detector падения напряжения. Питание пропало, батареи разрядились. И она у меня несколько раз ресетнулась. Типа - питание ниже
заданного уровня - ATMega отключилась, батареии както восстановились - питание поднялось - ATMega снова стартанула и через небольшое время опять батареии сдохли.

Плохо сделано, должна быть дельта. В результате несколько дней ставил эксперименты.
arttab
Увеличение напряжения на батареи при отключении нагрузки проблема известная. и дельта тут не поможет. нада самому думать что сделать: пробуждать мк после появления внешнего питания, отрубаться полностью от батареи до внешнего сброса или замены батарии,....
dch
В принципе да, просто дельта в несколько десятых V спасла бы в конкретной ситуации
Miron
А может на самом деле работает.
Попробуйте написать что нибудь коротенькое типа ногой подрыгать в цикле
это легко проконтролировать
Может у вас с UART проблеммы.
PowerF1
Уже работает. А все было из-за них. Как раз fuse биты выставлял неправильно. Интересно, кто вStudio догадался сброшенный бит обозначать галочкой, а установленный, наоборот, пустым. Я, как неопытный чел поддался провокации, и выставил значения fuse битов. Естествено они оказались прямо противоположными нужным. Потому и не работало. Но почитал доку и разобрался.
ATMELщики меня удивили и разозлили
PowerF1
Глупость сказал. И быстрей хочу поправиться. Конечно же не в Studio, а в PonyProg.
Атмелщики делают так. unprogrammed бит у них соответствует 1, programmed бит - 0. Казалось бы, должно быть наоборот.
В PonyProg лишь следуют решениям ATMELa. Поэтому установленный бит соответствует пустому окошку, сброшенный- с галчкой. Здесь и была путаница.
IgorKossak
Цитата(PowerF1 @ Mar 16 2005, 22:21)
Атмелщики делают так. unprogrammed бит у них соответствует 1, programmed бит - 0. Казалось бы, должно быть наоборот.
В PonyProg лишь следуют решениям ATMELa. Поэтому установленный бит соответствует пустому окошку, сброшенный- с галчкой. Здесь и была путаница.
*

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