Форум myROBOT.ru » Шаг за шагом » С чего начать? » Опят ATMega16, вешний кварц и FUSE

Страниц (1): [1]
 

1. yTo4kO - 11 Января, 2009 - 00:24:51 - перейти к сообщению
Здравствуйте. Спасибо, что помогли разобраться с питанием Улыбка всё работает стабильно, но ... Произошла одна неприятность. Хотел подключить внешний кварц на 12 Mhz, сделал опять же как в примере про мигающий светодиод.
Взял 2 конденсатора по 30 пкФ, всё подключил. Через Uniprof поменял FUSE - с CKSEL3..0 - убрал галочки, и кажется поставил CKOPT. Отключил от программатора. Включаю - тишина ... При подключении обратно к программатору конечно же ничего не выходит - Uniprof не видит МК. Я уже расстроился и решил просто посидеть попроверять вольметром питание на разых узлах схемы. После недолгого "тыканья" по плате - лампочка, подключенная к порту D вдруг загорелась. Не мигала. Я выключил из питания схему. Включил снова - опять тишина. Опять "потыкал", но уже более конкретно - по ножкам конденсаторов, которые возле кварца - через 2-3 "тыканья" лампочка опять загорелась. И это теперь всегда так - "потыкаешь" - загорается ... Но при подключении к программатору как не тыкай - нифига Грустный вот теперь сижу и думаю - чего делать ...
Не то чтобы было жалко МК ... Но просто выбрасывать - не хочется. К тому же присутствует интерес - разобраться в этом Улыбка Чтобы если что - помочь кому то с подобной проблемой. (Насчёт питания кстати помог одному хорошему другу - он тоже в программирование МК погрузился Улыбка )

Ой, извиняюсь за слово "Опят" в названии темы. Не дописал Грустный Поздно ужо и жутко утомился с этим кварцем и мегой Грустный
2. Белый Волк - 11 Января, 2009 - 07:39:42 - перейти к сообщению
Похоже, Вы поставили Fuses в микроконтроллере в режим тактирования внешним источником сигнала. Чтобы вновь запустить микроконтроллер от кварцевого резонатора, либо от внутреннего генератора необходимо перепрограммировать Fuses. Однако микроконтроллер теперь не войдёт в режим программирования без внешнего тактирующего сигнала. Вас мог бы выручить генератор прямоугольных импульсов с частотой 1-8 МГц. Его можно собрать на другом контроллере, использовав, например, такой код:

CODE:

DDRB = 1;
while(1)
{
PORTB = 1;
asm volatile ("nop"::);
asm volatile ("nop"::);
PORTB = 0;
}


Частота, выдаваемая контроллером на ножке PB0 будет в 3 раза меньше частоты генератора, от которого он работает.

Соедините земли этих двух микроконтроллеров. PB0 ведущего МК подключить к XTAL1 ведомого. Включить оба МК. Запрограммировать ведомый МК через SPI.
3. бот_м_16 - 11 Января, 2009 - 19:19:46 - перейти к сообщению
А я ведь говорил что не надо трогать фьюзы пока не будеш знать назначение каждого бита
4. Squirrel - 13 Января, 2009 - 14:11:25 - перейти к сообщению
Здравствуйте, господа роботостроители!

Я тоже совсем недавно заинтересовался микроконтроллерами, и, несмотря на советы умных людей (в частности Белого Волка) вывел свой ATMega8 фьюзами на режим внешнего тактового генератора (с помощью PonyProg) Естественно всё погасло и больше зажигаться не хотело Смущение .
Ранее мне попадалась статья о том, что делать в таких случаях. Там среди прочих был весёлый метод решения с помощью наводки от собственного тела на провод, соединённый с XTAL1.
Это, наверное, была шутка такая, но второго контроллера, а тем более генератора частоты под рукой не было, так что решил попробовать.
Чудо! Действительно, контроллер явно распознаёт эту наводку!!! PonyProg начал видеть контроллер! Но частота настолько нестабильна, что прошить не получилось.
Помог мобильный телефон. В режиме разговора он даёт неслабую и достаточно стабильную наводку. Телефон разместил около провода (и руки, за него хватающейся) - в результате прошил фьюзы обратно и спас контроллер.

Кстати, информацию про фьюзы я нашёл здесь:
http://www.scienceprog.com/progr...llator-settings/
Накосячил воспользовавшись рекомендацией для внешнего кварца на 8MHz в конце статьи.
Буду благодарен, если кто-небудь скажет что же я не так сделал?? Или в статье ошибка??

Спасло то, что перед тем как шить, я считал и отскриншотил состояние фьюзов своего ATMega8. (картинка приложена к статье, на случай если кто прошил не глядя)

Всем успехов !
5. yTo4kO - 13 Января, 2009 - 14:22:19 - перейти к сообщению
Белый Волк, спасибо тебе огромное! Улыбка сегодня достал ATTiny2313, прошил её твоей прогой, сделал всё как ты сказал - и ATMega16 определилась Улыбка точнее uniprof попросил уточнить что это за МК. Выбрал ATMega16, поменял FUSE и всё теперь отличноУлыбка Ещё раз спасибо!