Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Тема закрыта

ATMega16: не работает

Пт янв 13, 2006 12:13:13

Собрал сам платку с атмегой16, прицепил кварц на 16MHz и 2 Кондёра по 22pF (ну такие в даташите 12-22pF). Запрограммил тестовой прошивочкой (на эмуляторе писал - на нём же и работала).
Подцепил это дело к MAX232 и к COM2. Запускаю и нифига! :)
Как отловить причину? Работает ли кварц? И ваще где реакция!? :)

ЗЫ. кондёры на 22pF снял со старой 386 мамы, стояли около карца. На них так и написано 22. Жёлтенькие и плоские такие.

Пт янв 13, 2006 14:10:53

При прошивке фьюзы прописал для работы от внешнего кварца?
Поищи по форуму. Этот вопрос как минимум три раза звучал уже. Фьюзы, они же - фузы, они же fuses :)

Пт янв 13, 2006 14:29:28

Вот что янашёл:
...
For resonators, the maximum freq 8Mhz with CKOPT unprogrammed and 16Mhz with CKOPT programmed.
...
Из этого я сделал вывод, что не надо поставить галочку напротив CKOPT.
Вотом там что-то про Freq Range втирают. И идёт табличка с 4мя строками, где видать диапозоны частот до 8.0MHZ включительно. Чё с ними делать не понимаю :)
А потом ещё страшнее. Время пуска кристала... Ну у меня я так понимаю "кристал" (металический такой :) ) Тут я ваще не понимаю чё ставить :) HELP!! :o

Пт янв 13, 2006 18:58:19

Всё, господа кошаки, доигралси :(
Игрался с битами фусса этого и теперь проц не реагирует ни на что...
В последний раз он ещё что-то говорил при:
CKOPT = 1
CKSEL (3-2-1-0) =1
SUT0 = 0
SUT1 = 1
когда выставил всё в 1 оно даже не доработалось до конца, сказала проц не отвечает. Сам проц не греется, и вообще ничего. Я один спалил уже перепутав питание - так тот грелся, а этот ничего. Просто нет реакции :(((( Это лечится?

Пт янв 13, 2006 19:02:41

Ты другие фузы не трогал кроме перечисленных? Просто, там есть вроде как фуза запрещающая последовательное программирование :)
Если ты ее задел - придется шить контроллер на параллельном программаторе. :lol:

Пт янв 13, 2006 19:54:10

Тока перечисленные и трогал. Как бы у меня "программатор" сложно таковым назвать. 5 проводков до LPT порта + PonyProg :) Завтра конечно схожу на работу, там есть "божеский" программатор.
Каков шанс что проц труп? програмно можно его убить?

Пт янв 13, 2006 19:56:57

Убить низя. Мона его ввести в состояние, когда он не захочет шиться по SPI (последовательному интерфейсу).

Блок питания какой? Не импульсник часом?

Пт янв 13, 2006 19:59:12

Авреалем попробуй прошить. У нас в обучалке ссылочка.
Я так понял у тебя программатор типа STK. Авреал его поддерживает, надо тока задать соответствующий ключ при запуске.

Пт янв 13, 2006 20:00:27

Блок питания на 12V от свитча 8ми портового елайна, Кренка на 5V (в действительности 4,95) кондёр на 22mF и на 100nF, диод для сигнализации питания (которsй кстати светится вполнакала когда питания нет, но подключен LPT)

Пт янв 13, 2006 20:05:10

Слушайте, у вас там сложные ещё схемы. У меня ваще просто проводки в порт :)

Пт янв 13, 2006 20:07:21

То есть, импульсник?
Боюсь, ты попал. Коросе, померяй напряжение между общим проводом схемы и дырками розетки питающей сети (Ф и 0 по очереди). Очень может быть, что проц убился высоким напряжением. Тогда его уже ничто не спасет. Я сам сжег две 8535 меги пока не понял в чем дело и не отказался от импульсника

Пт янв 13, 2006 20:28:23

Кто такой импульсник? Там Трансворматор+диодный мост+кондёр.

Command:
+MEGA16 -! -p1 -as -ew -% simple.hex
% LPT base port 0x378
% assume that LPT data writes not faster then 1uS
% Atmel adapter for STK*00 found
% STK mode
% osc = 800kHz -> setup=3, hold=3,2
% Reset
% PgmOn reply 0xFFFFFFFF
% Try 1 to resync by reset pulse % PgmOn reply 0xFFFFFFFF
% Try 2 to resync by reset pulse % PgmOn reply 0xFFFFFFFF
% Try 3 to resync by reset pulse % PgmOn reply 0xFFFFFFFF
% Try 4 to resync by reset pulse % PgmOn reply 0xFFFFFFFF
Can't resync
Reset pin released
Adapter disabled

Пт янв 13, 2006 20:37:30

Хм... Чет он у тебя не хочет синхриться. Ты че-нить делал с ним кроме перепрошивки фьюзов? А какова частота кварца на плате? Кварц должен быть задан верно в строке запуска программы.

Пт янв 13, 2006 20:47:02

Ну в нём прошивка ещё какая-то, которая на UART шлёт бесконечно "Spider's Test" (которая кстати похоже не пашет, проверить не могу в любом случае, и не пахала даже когда шился).
Кварц стоит на плате 16Mhz и 2 кондёра по 22pF как я уже говорил. Только он шился и без них...

Сб янв 14, 2006 09:26:01

Буржуйские кондёры маркируются не совсем привычным с советских времён способом (да и наши сейчас тоже) 22 значит 200 т.е. первые одна/две щифры число, последняя количество нулей. Так что на 22p на нём дожно быть написана 220 иногда точку в углу ставят чтобы отличить, наши последнию цифру в разрыве пишут я недавно на 22p покупал там ораньжевым по жолтому так и написано
220 только нолик из двух половинок.

Сб янв 14, 2006 15:25:25

Короче купил я сегодня новенькие кондёрчики на 22pF - жёлтые капельки с надписью 220. Ещё купил на 27p (на всякий сулчай).
ААА а толку?! Я уже второй проц прибил :) На этот раз ATMega8. Решил попрововать , а что же я сделал когда тот загнулся?! :) ну и попробовал... и попал сразу в току :) в общем я выставил CKSEL = 0100, а CKOPT = 0. И всё. У меня теперь 2 проца в комме.
ПОМОГИТЕ!!!! Какую схему собирать, чтобы их оживить и чтобы такого больше не было?!
http://www.lancos.com/siprogsch.html
это поможет?!

Сб янв 14, 2006 17:05:41

Кошаки, ну помогите же :) Я тут читаю кучу форумов в инете, анткнулся на один умерший форму (гугль созраннную версию показывает тока) там у чувака похожая проблема, все ссылаются на то, что фьюзы у него выставленны для кварца, и шиться не бущет пока этот кварц не поставишь. А КАКОЙ мне кварц стваить? Я как-то туго понимаю этот DS. Ибо когда проц работал, CKSEL было равно 1110 (т.е. 3 галки и нет галки), а в DS написано, что проц поставляется с 1Mhz, который должен быть равен 0001, а SUT = 10, а у меня галки были точно наоборот :)
(The device is shipped with CKSEL = “0001” and SUT = “10” (1 MHz Internal RC Oscillator, slowly rising power)
Так вот может галочка это 0? Странно тогда как-то :) Ладно условились, что галки = 0. Тогда чтоже у меня сейчас там?
я выставил 0100, хотел сделать 8Mhz на внутренем RCO, как написано на 28 старнице DS. Если взять во внимание причуду с галочками, то у меня там сейчас 1011, что можно подставить только под 25ую страницу DS плавно переходящую в 26.

Если я прав. Что мне делать?! Котики, милые. Помогите. С меня вискас и молоко.

Сб янв 14, 2006 18:56:36

Ты авреалем шьешь?
В нем фузы задаются в шестнадцатеричном формате. То есть, SUT = 10 будет SUT = 2.

Для кварца надо :
CKSEL = 10...15
SUT = 0

Я ж тебе сказал: у нас по форуму поищи. Этот вопрос поднимался, и не один раз :) По моему тоже чуть ли не 8-ю мегу шили

Сб янв 14, 2006 19:38:35

Да мне до фьюзов далеко... МНЕ БЫ ХОТЬ ЧТО-НИТЬ ТУДА ЗАШИТЬ он не видится ваще никак...

Сб янв 14, 2006 20:09:22

Ну я те на будущее. Когда третий контроллер будешь шить - шоб и его не прикончить. :)))

Вообще, фуза считается прошитой, когда она равна 0. То есть, может быть с галочками именно так как ты предполагаешь. А чем шьешь-то? Понипрогом чтоль?
Короче говоря, шей авреалем, еще раз говорю. Авреаль лечит много того, что для других прог неизлечимо.

Я так понял, ты поставил SUT = 3. Короче, надо уменьшить скорость прошивки.
Значицо так: шьешь авреалем, в строке запуска прописываешь ключик -ai100

То есть, строка запуска будет примерно выглядеть так:

d:\avr\avreal\avreal32.exe +mega16 -! -p1 -ab -ai100 -o16Mhz -ew output\hexfile.hex -n -fCKSEL=A,SUT=0
Тема закрыта