AVR. Учебный Курс. Конфигурация FUSE битPrint This Post

Автор DI HALT
Опубликовано 15 июля 2008 
Рубрики: AVR. Учебный курс
Метки: , , ,

В прошлых статьях я советовал тебе не лезть к этим битам. И на это были свои основания, так как неправильно выставив эти биты ты можешь наглухо заблокировать контроллер для дальнейшей перепрошивки или вообще какого либо использования.

Но без знания этой особенности контроллера далеко не уедешь. Так что распишу все по порядку. У разных версий контроллеров число FUSES разное, какие то могут отсутствовать, но основные есть всегда. Вот по ним и пройдемся.

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

Итак, главное:

В Atmel AVR принята следующая нотация: сброшенный в ноль fuse bit считается активным, т.е. включенным.

Пример Бит RSTDSBL, как можно догадаться из названия, это RESET DISABLE. Включил эту опцию и у тебя нога RESET превращается в порт ввода-вывода, но за это ты теряешь возможность перешить контроллер через ISP.

Так вот, чтобы выключить RESET (и получить большое западло с прошивкой в обмен на мелкую подачку в виде дополнительной ножки) в этот бит надо записать 0.

С одной стороны нелогично и криво. Как бы во всем мире принята нотация, что ноль это выключено, а тут, понимаешь, наоборот. С другой стороны, это их контроллер, что хотят то и делают. Один раз запомнить и все. Да и вообще, в электронике часто за сигнал берут ноль.


Однако контроллеры делают электронщики, а прошивающие программы — программисты. Как бы логично. И вот эти программисты взяли и заварили адскую путаницу с галочками. Нет бы им раз и навсегда принять за стандарт, что галочка это 1, а не ВКЛЮЧЕНО (что, напомню, является нулем). И поэтому в одних прошивающих программах галочка означает, что опция включена (в FUSE бит записывается 0),в других, обычно написанных электронщиками, галочка означает единицу. Т.е. с точностью до наоборот.

А что будет если перепутать? А будет ОЧЕНЬ плохо. Контроллер войдет в неправильный режим и может заблокируется наглухо. Т.е. раз прошил и все. Приехал.

Нет, спасти его можно, но для этого тебе потребуются дополнительные ухищрения в виде высоковольтного программатора, JTAG адаптера или генератора тактов. Все зависит от того в какой режим ты загонишь контроллер своими неправильными настройками.

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

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

За источник тактов отвечают биты CKSEL
Выставив их правильным образом можно выбрать частоту работы контроллера, а также источник тактового сигнала.

Т.е. на вход XTAL1 подаются прямоугольные импульсы. Такое иногда делают в синхронных системах, когда несколько контроллеров работают от одного генератора.

Техническое отступление
В этот режим часто попадают, когда пытаются выставить контроллер на работу от внешнего кварца (CKSEL=1111), но либо путают нотацию, либо из-за прикола с обратной нотацией битов во всяких извратских прошивающих программах. Раз и кристалл заблокировался. Но, на самом деле, наглухо, с помощью CKSEL, заблокировать кристалл нельзя. Обычно все решается напайкой кварца и запуском от этого кварца. Худшее же что может случиться - потребуется внешний генератор тактов. Который бы оживил кристалл. Делается он за пять минут из любой микросхемы ТТЛ логики, например из К155ЛА3 - схем в инете навалом. Или на таймере 555, либо можно взять второй МК и на нем написать простую программку, дрыгающую ножкой. А если есть осциллограф, то с него можно поиметь сигнал контрольного генератора - его клемма должна быть на любом осциле. Землю осцила на землю контроллера, а выход генератора на XTAL1.

Но что делать если зуд нестерпимый, контроллер залочен, а никакой микросхемы для реанимации под рукой нету? Тут иногда прокатывает метод пальца. Прикол в том, что на тело человека наводится весьма нефиговая наводка частотой примерно 50Гц. Всякий кто хватался за щупы осциллографа руками помнит какие шняги тут же возникают на экране - вот это оно! А почему бы эту наводку не заюзать как тактовый сигнал? Так что припаиваешь к выводу XTAL1 провод, хватаешься за него рукой, и жмешь на чтение или запись контроллера :) Предупреждаю сразу, метод работает через жопу, далеко не с первого раза, читает долго и порой с ошибками, но на перезапись FUSE битов в нужную сторону должно хватить. Пару раз у меня такой фокус получался.

CKSEL3…0 = 0100 – 8 MHz от внутреннего генератора(обычно по умолчанию стоят такие)
Для большинства AVR такая конфигурация CKSEL означает тактовку от внутреннего генератора на 8Мгц, но тут могут быть варианты. Так что в этом случае втыкай внимательно в даташит. В табличку Internal Calibrated RC Oscillator Operating Modes

Иногда нужно иметь внешний тактовый генератор, например, чтобы его можно было подстраивать без вмешательства в прошивку. Для этого можно подключить RC цепочку, как показано на схеме и подсчитать частоту по формуле f = 1/3RC, где f будет частотой в герцах, а R и С соответственно сопротивлением резистора и емкостью конденсатора, в омах и фарадах.

Данная табличка справедлива только для ATmega16 у других МК может отличаться. Уточняй в даташите!

Проблема у внутреннего генератора и внешних RC цепочек обычно в нестабильности частоты, а значит если сделать на ней часы, то они будут врать, не сильно, но будут. Поэтому иногда полезно запустить контроллер на кварце, кроме того, только на кварце можно выдать максимум частоты, а значит и производительности проца.

На несколько десятков килогерц.
Используется в низкоскоростных устройствах, особенно когда требуется точная работа и низкое потребление энергии.

Для обычных кварцев ситуация несколько иная. Тут максимальная частота кварца зависит также и от бита CKOPT когда CKOPT = 1 то:

А если CKOPT равен 0 то при тех же значения CКSEL можно поставить кварц от 1 до 16MHz.

Разумеется, кварц на 16MHz можно поставить только на Мегу без индекса ”L”. (Хотя, как показывает практика, Lку тоже можно неслабо разогнать. У меня ATMega8535L заработала на 16Мгц, но были странные эффекты в работе. Поэтому я не стал так извращаться и разгон снял). Опять же, все выше сказанное в точности соответствует только Меге 16, у других может незначительно отличаться.

Бит CKOPT задает размах тактового сигнала. Т.е. амплитуду колебаний на выходе с кварца. Когда CKOPT = 1 то размах маленький, за счет этого достигается меньшее энергопотребление, но снижается устройчивость к помехам, особенно на высоких скоростях (а предельной, судя по таблице выше, вообще достичь нельзя. Точнее запуститься то он может запустится, но вот надежность никто не гарантирует). А вот если CKOPT активизировать, записать в него 0, то размах сигнала сразу же станет от 0 до питания. Что увеличит энергопотребление, но повысит стойкость к помехам, а значит и предельную скорость. При оверклокинге МК тем более надо устанавливать CKOPT в 0.

Также стоит упомянуть бит SCKDIV8 которого нет в Atmega16, но который часто встречается в других контроллерах AVR. Это делитель тактовой частоты. Когда он установлен, т.е. в нуле, то частота выставленная в битах CКSEL0…3 делится на 8, на чем в свое время прилично застрял Длинный, долго пытаясь понять чего это у него западло не работает. Вся прелесть в том, что этот делитель можно отключить программно, записав в регистр CLKPR нужный коэффициент деления, например один. Весь прикол в том, что SCKDIV8 активен по дефолту! Так что внимательней!

Биты SUT задают скорость старта МК после снятия RESET или подачи питания. Величина там меняется от 4ms до 65ms. Мне, за всю практику, пока не довелось эту опцию использовать — незачем. Так что ставлю на максимум 65ms - надежней будет.

Бит RSTDISBL способен превратить линию Reset в одну из ножек порта, что порой очень нужно когда на какой-нибудь крошечной Tiny не хватает ножек на все задачи, но надо помнить, что если отрубить Reset то автоматически отваливается возможность прошивать контроллер по пяти проводкам. И для перешивки потребуется высоковольтный параллельный программатор, который стоит несколько тысяч и на коленке сделать его проблематично, хотя и возможно.

Второй заподлянский бит это SPIEN если его поставить в 1, то у тебя тоже мгновенно отваливается возможность прошивать по простому пути и опять будет нужен параллельный программатор. Впрочем, успокаивает то, что сбросить его через SPI невозможно, по крайней мере в новых AVR (в старых, в AT90S*** было можно)

WDTON отвечает за Собачий таймер, он же Watch Dog. Этот таймер перезагружает процессор если его периодически не сбрасывать – профилактика зависаний. Если WDTON поставить в 0, то собаку нельзя будет выключить вообще.

BODLEVEL и BODEN - это режим контроля за напряжением. Дело в том, что при определенном пороге напряжения, ниже критического уровня, контроллер может начать сильно глючить. Самопроизвольно может запортачить, например, EEPROM или еще что откосить. Ну, а ты как думал, не покорми тебя с пару недель — тоже глючить начнешь :)
Так вот, для решения этой проблемы есть у AVR встроенный супервизор питания. Он следит, чтобы напруга была не ниже адекватного уровня. И если напруги не хватает, то просто прижимает RESET и не дает контроллеру стартовать. Вот эти два фуза и рулят этой фичей. BODEN включает, а BODLEVEL позволяет выбрать критический уровень, один из двух. Какие? Не буду раскрывать, посмотри в даташите (раздел System Control and Reset).

JTAGEN - Включить JTAG. По умолчанию активна. Т.е. JTAG включен. Из-за этого у MEGA16 (а также 32 и прочих, где есть JTAG) нельзя использовать вывода порта C, отвечающие за JTAG. Но зато можно подключать JTAG отладчик и с его помощью лезть контроллеру в мозги.

EESAVE - Защита EEPROM от стирания. Если эту штуку включить, то при полном сбросе МК не будет стерта зона EEPROM. Полезно, например, если в EEPROM записываются какие-либо ценные данные по ходу работы.

BOOTRST - перенос стартового вектора в область бутлоадера. Если эта галочка включена, то МК стартует не с адреса 00000, а с адреса бутсектора и вначале выполняет бутлоадер. Подробней про это было написано в статье про прошивку через лоадер.

BOOTSZ0..1 - группа битов определяющая размер бут сектора. Подробней смотри в даташите. От контроллера к контроллеру они отличаются.

Lock Bits
Это, собственно, и к фузам то отношения не имеет. Это биты защиты. Установка этих битов запрещает чтение из кристалла. Либо флеша, либо ЕЕПРОМА, либо и того и другого сразу. Нужно, только если ты продаешь свои устройства. Чтобы злые конкуренты не слили прошивку и не заказали в китае более 9000 клонов твоего девайса, оставив тебя без штанов. Опасности не представляют. Если ты заблокируешь ими кристалл, то выполни полное стирание и нет проблемы.

Характерной особенностью установленных лок битов является считываемая прошивка — в ней байты идут по порядку. Т.е. 00,01, 02, 03, 04… FF, 00… Видел такую срань? Значит не судьба тебе спереть прошивку - защищена =)

Техника безопасности
И главное правило при работе с FUSE битами - ВНИМАНИЕ, ВНИМАНИЕ и ЕЩЕ РАЗ ВНИМАНИЕ! Не выставляйте никогда FUSE не сверившись с даташитом, даже если срисовываете их из проверенного источника.

Мало ли в какой нотации указал их автор, в прямой или инверсной. Так что если повторяете какую-либо конструкцию, то перед тем как ставить фузы, проверьте то ли вы вообще ставите!

Обязательно разберитесь что означает галочка в прошивающей программе. Ноль или единицу. Включено или выключено! Стандарта нет!!!

Если фуз биты задаются двумя числами - старший и младший биты, то выставляются они как в даташите. Где 0 это выключено.

Неплохой FUSE калькулятор

Второе, железное, правило работы с FUSE. Запомните это навсегда и не говорите, что я не учил.

ВНАЧАЛЕ ЧИТАЕМ ТЕ ЧТО ЕСТЬ, ПОТОМ ЗАПИСЫВАЕМ ТЕ КОТОРЫЕ НАДО НАМ

Чтение - модификация - запись. ТОЛЬКО так. Почему? Да просто часто бывает как - открыл вкладку FUSE, а программатор попался тупой и сам их не считал. Как результат - у тебя там везде пустые клеточки. Довольный, выставил только те, что тебе надо SKSEL, а потом нажал WRITE. Тут то и наступает, Обычно, кабздец. Т.к. в контроллер записываются не только те, что ты изменишь, а ввобще вся секция. С теми самыми пустыми клеточками. Представь какой трешняк там будет. То то же! А потом бегут жаловаться по комментам и форумам, мол я ничего такого не трогал — оно само. Ага, щаз!

Так что, еще раз — Чтение, Модификация, Запись!

Подсказка:
Как с одного взгляда определить какого типа (прямые или инверсные) fuse биты в незнакомой прошивающей проге?
Дедуктивный метод: Нажмите чтение Fuses и посмотрите на состояние бита SPIEN Этот бит всегда активен, а если он будет сброшен, то программатор контроллер даже определить не сможет. Если SPIEN в 1 - значит фьюзы инверсные, как в PonyProg. Если ноль - значит по нотации Atmel.

Комментарии

102 комментариев на «AVR. Учебный Курс. Конфигурация FUSE бит»


  1. arkamax 18 Окт 2008 11:38

    Во-первых, респект за фокус с тактовой наводкой с тела!

    > Второй заподлянский бит это SPIEN

    На случай отключения этой заразы есть JTAGEN, который обычно активен по умолчанию - хотя надо признать, джитаговые средства тоже не так просты, как СПИ.

    По поводу установки фузов вообще. В AVR Studio есть отличное окошко, где можно натыкать фузы визуально, а потом проверить байтовые значения - и наоборот, ввести байтовые значения, и посмотреть, что из этого получилось.

    А вообще, дома очень полезно иметь вот такую штуку - STK500

    Она работает со всеми AVR в DIP корпусах, и решает следующие из вышеописанных проблем:

    1. Имеет разводку для высоковольтного программирования - чип практически невозможно залочить насмерть (если конечно вообще его не убить)

    2. Имеет встроенный и управляемый генератор тактовых импульсов от 0 до 3.6864 МГц - неважно, что ты натворил с битами тактования, вариант запуска чипа найдется. Есть также набортный слот для внешнего кварца.

    Из вкусностей:

    1. Имеет встроенный управляемый источник питания чипов - любой вольтаж от минимума питания до 5 с лишним вольт. Причем референсный вольтаж для ADC может управляться отдельно, или вообще отсоединяться.

    2. Цепляется к компу по СОМ-порту, и управляется из бесплатно доступного AVR Studio - включая установки вольтажа питания чипа, все его фузы (причем визуально, через чекбоксы), настройки бортового тактового генератора, итп.

    3. Встроенная защита от КЗ по питанию - ага, ее можно перемкнуть, и оно просто начнет мигать лампочкой (сам не пробовал, но документация говорит, что можно).

    4. Восемь лампочек и восемь кнопок, которые цепляются проводком на любой порт чипа по выбору.

    5. Набортная разводка чипового UARTа на отдельный СОМ-разъем, ессно через МАХ.

    Стоит все это счастье что-то в районе 2500 руб, и обычно доступно вот тут

    Они принимают оплату только по безналу (что элементарно решается через Сбербанк), зато доставляют в любой регион России. Пишется письмо на shop@efo.ru с указанием, чего надо, в каком количестве, и куда отправить (надо еще указать, что заказ на физ. лицо). Получаешь счет, оплачиваешь его в сбере или еще где, и ждешь железку. Ребята работают ультра-надежно, и у них к слову обычно в наличии масса вкусного Атмеловского добра, включая чипы, которые в том же ЧиД ни за что не найти. Я там не работаю - просто это чуть ли не единственная контора, которая продает отладочные комплекты по вменяемым ценам.

    Как человек, который в свое время намаялся без СТК-шки, рекомендую всем - вместо очередной мобилы потратьте 2.5-3 тысячи, и облегчите себе жизнь на порядок. Минус только один - после этого захочется уйти и дальше - тогда прямая дорога на отладчик JTAG ICE MkII, и когда он вам наконец придет, все башевские баяны про линейку ночами и проваленную сессию будут вам попросту смехотворны :)

    DI HALT

    Вот только я не нашел это в студии. Похоже без родного девайса (STK500 или других атмеловских) добраться до этого фуз калькулятора нельзя.

    arkamax

    Да, добраться туда можно только через то, что поддерживает хотя бы протокол STK500 - но он открыт для всех, и я видел наколенные программаторы, которые поддерживают этот протокол. Чипы для них тоже надо прошивать, но это можно сделать через Pony Prog и иже с ним. Вот пример:

    http://www.obdev.at/products/avrusb/avrdoper.html

    Но конечно проще и надежнее потратиться один раз на СТК.

    arkamax

    Блин, я совсем забыл, что в Студии есть такая кнопочка “Disconnected mode”. Tools->Program AVR->Connect, потом ту кнопку, и получаем тот же калькулятор на вкладках Fuses и Security, только без возможности считывания/прописывания этих битов в чип. Не забыв выбрать нужный чип на первой вкладке, натыкиваем нужную конфигурацию на своей вкладке, и смотрим значение байт внизу окна.

    DI HALT

    Ух ты. Не знал.

    serg

    Штука в самом деле классная,но денег мне на нее жалко-о-о

    alexandr

    а может ли кто-нибудь помочь как стереть мегу 8 в программаторе стк500?
    настройки студии и самого стк?

    DI HALT

    НАсчет студии ХЗ, я никогда не пользовался совместимымыми со студией программаторами. Но тот же AvrDude должен знать Стк500

    arkamax

    А в чем собственно проблема? Если стирать по ISP, то всех коннектов - только 6-ногий кабель подцепить. Если ISP отключен или вылетел, то HVSP - там сходу не опишешь, но в доке на стк500 все есть весьма подробно. PDF доки есть на Atmel.com. В студии просто открывается интерфейс программатора, выбирается чип, способ общения с ним (ISP или HVSP), кликается Verify Signature (чтобы проверить, что студия его видит), потом кликается Erase Memory. Все :)

    alexandr

    ну там определенным образом нужно провода подсоединить
    я вроде делаю все правильно но эффекта нет
    в режим программирования не входит грит failed
    вот думаю где я ошибся
    насчет сигнатуры он считать ее не может
    пишет одни 00


  2. phil_sx 18 Окт 2008 16:55

    У нас народ делает и продает в треть цены от STK500 вот такие штуки:

    Тот же STK500 но без слотов с FTDI’евским чипом и без возможности HV программирования. Т.е. они просто самым наглым образом содрали кусок STK500 и добавили опторазвязку + usb. Логично, что прошивается он той же прошивкой, что и STK500.

    https:me.yahoo.coma770uZqM_y9ul8SjKtXbXVDqaYTo-#a68f1

    Не зря. Вот такая вот штука лежит передо мною))))) У меня не было другого выхода - ноутбук, соответственно никаких LPT, COM. А прошивать у друга с “возможностью” спалить порт я не рискую. Думаю для новичка который вообще ничего не прошивал - купить такой программатор правильный выбор!

    DI HALT

    Тогда уж лучше сразу Arduino и не мучаться :))))))


  3. serg 18 Окт 2008 20:14

    Кстати, есть неплохой программатор(и очень простой),позволяющий в AVRках восстанавливать RSTDSBL,SPIEN(т.н.высоковольтное программирование).Я себе сделал,проверил.Работает,несколько раз выручал.Особенно АTTiny2313.Главное ,что он мегу8 поддерживает.Для начинающих - самое то .Автору- почет и уважение.
    Ссылка:pol-sem.narod.ru/paraprog/paraprog.htm
    А может этот программатор уже всем известен…тада звиняйте


  4. Michael 19 Окт 2008 6:08

    “В Atmel AVR принята следующая нотация: сброшенный в ноль fuse bit считается активным. С одной стороны нелогично и криво”

    Это как раз логично. Что такое fuse? это как проволока. Когда бит не запрограммирован, то проволока целая и проводит (единица). Как только ее разорвали, то значение переходит в 0.

    Так работают все фьюзы, с которыми мне приходилось иметь дело.

    Кстати, NAND Flash работает на таком же принципе (erase state = 1)

    DI HALT

    Согласен, технологической точки зрения тут все верно. Я совсем и забыл про методику стирания флеша.

    Но Мы же рассматриваем конфигурацию кристалла, а в таком деле все должно быть логично с точки зрения человеческого восприятия, а тут оно как раз наизнанку. И если нельзя изменить способ стирания флеша, то вполне можно было изменить его отображение. Например, назови фуз SPIEN наоборот - SPIDSBL и смысл был бы сразу иным - поставил галку, заблокировал spi. Что видим то и получаем. А так имеем противоречие того что видим - галки нет и того что есть - SPIEN. Все юзеринтерфейсы, всех компов к которым мы привыкли построены на этом принципе - 1 это включено, 0 выключено. Это окружает нас с детства, от выключателей на стене до навороченного софта и тут такая подстава.

    А по поводу проволочки… тут мне вообще аналогия непонятна. Почему FUSES? Это ведь не предохранитель, как они его назвали, а биты конфигурации! Они самопроизольно же не меняются и ни от чего кристалл не предохраняют. ПОчему не CONFIG?

    Никто же не называет предохранитель в телевизоре конфигурацией включения.

    Michael

    Согласен что с человеческой точки зрения это не логично и вполне можно было или назвать эти биты по-другому или поставить внутренние инверторы.
    А насчет FUSEs - есть технология (мы ее тоже используем) по которой транзистор физически пережигается. Это много дешевле и эффективнее флеша. А так же более отвечает требованиям security.

    DI HALT

    Надо же, я думал эта технология архаизм и давно забыта.

    0ffh

    все кто занимается цифровой электроникой долгие годы - что называется с молоком матери всосали -
    отсутствие сигнала - ЕСТЬ 1.
    в ТТЛ логике даже нормой считалось - оставлять входы не подключенными - в них по умолчанию 1 была.
    когда пришла ТТЛШ - начали подтягивать резисторами.
    так что это для новичков нет сигнала значит 0.
    а для ветеранов нет сигнала значит 1.
    даже линии связи так - 1 долго значит линия свободна , ноль долго - обрыв линии.

    arkamax

    Вообще это и сейчас используется в какой-то мере… тот же ввод с кнопок на МК обычно делается “active low” - т.е. если 0 - то активен. Опять же UART так работает (на TTL уровне), линии стробов на LCD экранах, итп.


  5. Michael 19 Окт 2008 8:11

    Как раз нет. Технология embedded flash очень медленная и объемная (большой размер транзисторов). Что приводит к существенному удорожанию продукта.


  6. big_nik 19 Окт 2008 11:48

    Афтору мега-респект за происходящее на этом сайте и за логи киберсатаниста!!

    Поделюсь своим опытом. Я всегда путаюсь с PonyProg, немогу запомнить всегда мозг напрягаю неподецки, у меня ещё плюс ко всему планар идёт. Ща работаю с Мегой 128 в Студио. Непомню правда но помоему там по человечески, галку ставишь значит активный, а так ежели чё ориентируюсь на галку Джитаг (он по умолчанию активен) от этого отталкиваюсь. не есть гуд канешна.
    Пони падла, мозг запудрила. У меня в серию идут тиньки 23-и я сделал распечатку где какие галки стоят в Пони и храню как синицу ока.
    Не знаю мож поможет кому, ведь когда микрухи “голые” в них записано $FF (1111 1111 B) програмная память и расширенная(если есть). Также и фузы 1 - неактивен, 0 - активен.


  7. Cluster 19 Окт 2008 16:22

    Лучше всегда указывать фьюзы в HEX формате :) Обычно подсчитаю их один раз, укажу в avrdude и не парюсь.


  8. arkamax 19 Окт 2008 18:54

    Раз пошла такая пьянка, расскажу про еще одну штуку, мимо которой могли пройти уважаемые коллеги - Atmel AVR Dragon

    Стоит около 50 уе, преспокойно программирует большинство чипов с размером флэша до 32Кб - причем как по SPI, так и по High-Voltage, а кроме этого - еще и по JTAG с debugWire. Да-да, это самый что ни на есть форменный эмулятор/отладчик! Работает с AVR Studio, и минус у него только один - нет никаких кроваток, так что приходится руками кидать все проводки для программирования/отладки. Но за такую цену… :) Я юзал его для отладки ATmega16. Искать можно тут:

    http://shop.efo.ru/cgi-bin/shop.pl?category=&description=AVRDragon&mh=50&a=1


  9. nwanomaly 19 Окт 2008 19:12

    я в своей жизни эти фьюзы юзал только смены частоты )

    у меня много знакомых, которые “около программирования”. все говорят “будь осторожен с фьюзами!”.
    а когда я начинаю в шутку расспрашивать про это, то сразу никто ничего не знает )

    зы! кстати, я забыл пароль, а новый мне на почту не приходит ( пишет “функция mail не действительна”. как бы его снова поиметь для удобства? )


  10. 0ffh 19 Окт 2008 20:13

    я долго работал с байт бластером - он работает через командную строку. поэтому для каждого проекта я создавал свою папку со всеми прогами и один раз тщательно прописав фузы в командную строку - забывал о них.
    сейчас подумываю преходить на усб программатры.
    но большие заводские программаторы не приемлю.
    они тока для новичков хороши. в осталном я на макетке сразу распаиваю схему и мне практически
    только шнурок к процу и нужен. а дальше методом раскрутки - вначале проверям адресацию всего подключенного. потом по частям запускаем модули и на последок самое сладкое и мучительное как все это работает в куче не мешает ли друг другу.
    смысла в больших программаторах не вижу абсолютно


  11. vanchester 21 Окт 2008 8:23

    DI HALT, я хотел у меги8535 выставить частоту работы от кварца 12 МГц. Пользовался uniprof. Считал fuse-биты, SPI был снят (как ты и учил :) )… нашел в даташите, что 0 - programming. Т.е. сделал вывод - по даташиту 0 - снята галочка, 1 - стоит… В даташите нашел External Crystal/Ceramic Resonator 1111 - 1010 (для CKSEL3..0)
    Далее нашел таблицу, в которой написано было CKSEL3..1. Для частоты 1-16МГц стояли занчения 111, 110, 101. И CKOPT 0. Изначально галочка CKOPT стояла. Я снял ее, и выставил CKSEL3, CKSEL2. CKSEL0 трокать не стал. В результате МК перестал видеться прогой uniprof.
    Подскажи, пожалуйста, где я накосячил и как это теперь исправить. Пробовал танцы с бубном типа припаивания на XTAL1 проводка и держась за него - не помогает…

    DI HALT

    Эээ чет не понял что ты там куда выставил? Напиши четко какие галки на CKSEL ты выставил.

    Для унипрофа, на 12мгц кварц выставить надо было так:
    CKSEL=1111 (или 1110 монопенисуально, так запускаться будет чуть быстрей на пару милисекунд, но нужен более качественный кварц)

    CKOPT=0 хотя я никогда ее не трогал у меня и на CKSEL=1111 CKOPT=1 Lмодификация Меги8535 (8мгц максимум) запустилась на 16МГЦ %)

    Теперь о косяках. Какие ты выставил конденсаторы? Рекомендуется от 12-22pF

    Флюс смыл? Дело в том, что если ноги кварца загажены остатками флюса, то он может и не запуститься. Тщательно промой плату. ПРоверь все пайки.

    У тебя может попасться голимый кварц (бывают кварцы на разные гармоники к тому же). Попробуй поставить другой кварц или кварц на более низкую частоту, скажем на 3мгц.

    vanchester

    Фузы выставил так:
    CKSEL3 - галка
    CKSEL2 - галка
    CKSEL1 - нет галки
    CKSEL0 - по умолчанию (не помню, кажется там была галка)
    CKOPT - нет галки

    По поводу кондеров и кварца. Я прошивал МК в простяцком программаторе на COM-порт с твоего сайта, а в нем нету ниче “лишнего”. Т.е. втыкаю МК в панельку программатора, подключаю к компу, запускаю uniprof, а тот мне выдает, что ничего не видит на COM1 (до этого все виделось)… Попробую прошить в устройстве, там стоит кварц на 12МГц и кондеры по 22пФ. Просто получается, что если я выставил внешний источник тактовых импульсов (ну RC цепочку или Кварц), то в программаторе я им уже рулить не смогу без этого источника импульсов?

    DI HALT

    Странно. ПО идее должен был завестись. Попробуй поставить для пробы кварц на 3мгц.

    vanchester

    Поставил кварц на 4 МГц и кондеры на 22пФ, микроконтроллер увиделся :) Пасиб.


  12. Piro 21 Окт 2008 23:41

    жду с нетерпением обещщаный простой оживлятор на К155ЛА3
    Мега16 в коме….


  13. Piro 23 Окт 2008 7:30

    Люди!
    Те,кто ПОНИМАЕТ….
    посмотрите вот эту програмку для LPT
    http://valery-us4leh.narod.ru/dlpt.html
    …там, на вкладке TEST есть 50Гц генератор от ножки LPT
    как вы думаете,можно ли его попробовать в качестве оживлятора,а?
    …. это ж всё-таки не палец….
    хотя…..
    пальцев у нас 20(у некоторых 21),а LPT чаше всего один….
    вдруг сгорит ещё….

    DI HALT

    Да, потянет. Частота правда сильно мала. Будет меееееееееедлееееенно. Но зато стабильней пальца :) Главное питание возьми с компа, а землю возьми от LPT порта. Вообще у меня в компе земля везде одна, но тут товарищи говорят, что это не всегда так. Поэтому лучше не рисковать.


  14. Piro 24 Окт 2008 1:30

    Нет,неполучается у мну ничё((
    Окошко Fuses & Lock серое как дверь…
    ни прочитать,ни записать((


  15. Spirit 31 Окт 2008 23:12

    Я с AVR не работал, но вот как думаю по поводу фьюзов и их активного уровня. Тут ведь всё зависит от описания. Вообще fuse по-английски - это предохранитель или, если более точно, то “плавкая вставка”. Соответственно если в описании написано (а что там написано я не знаю), что такой-то фьюз отрубает к чертям такую-то фичу, то вполне логично, что активный уровень у него ноль. Ведь если предохранитель выдернули (ноль), то то, что через него включено и не должно работать. А если он на месте (единица), то и оборудование (фича) функционирует.

    А вот если в описании написано, что по нулю фича наоборот включатся, тогда действительно не логично.

    Но это так, мысли вслух…

    DI HALT

    ТАк в том то и дело, что по официальной нотации нулем врубаем :)


  16. YuriyM 01 Дек 2008 20:20

    Приветствия всем присутствующим

    Я, почитав все заметки, убежден что повторюсь, но дабы убедиться полностью что я понимаю суть вопроса и быть уверенным что я мыслю правильно всеже спрошу

    у меня SPIEN и RSTDISBL в сером состоянии тоесть не меняются и галочка отсутствует (пользуюсь PonyProg и LPT прошивателем )

    как сказано в о-писании отсутствие галочки соответствует активному состоянию тоесть бит=1 , тоесть как надо.
    Но я не знал о свойствах PonyProg и воспользовался кнопной выделить все что привело к расстановке галочек везде даже в “серых местах”
    в итоге устройство не видится больше программатором - но при втыкании говорит что он USBasp хотя прога для его юзания сее устройство не узнает даже после скармливания ей дров.
    я выковырял из панельки контроллер и вставил туда другой чистый - но программатор не узнал его
    - каков диагноз????????????????
    1) выбросить порт или прошиватель и сваять другой
    2) вылечить кривые руки и таки оживить незаслуженно удаленный из устройства зашитый контроллер
    3) Ваш вариант

    DI HALT

    В понипроге нотация “через жопу” в смысле активное состояние это не 0, а 1 (за это их убить надо, счет залоченных контроллеров изза этой самодеятельности PonyProg идет на сотни тысяч)

    Если ты в понипроге выставил все галочки, то скорей всего ты 1) выставил SPIEN в 1 (он и так был в единице, по Поневской нотации) и отрубил RESET, а вот это ЖОООПА! и тут тебе тока высоковольтный программатор поможет.
    2) скорей всего ты спалил порт. Раз чистый МК не видится.

    Вот зря народ ведется на легкость 5ти проводков. Крайне вредный программатор.

    3) можешь поменять пины в LPT порту и прошить UniProf ом.


  17. vpashko 28 Фев 2009 15:48

    С помощью (метода пальца) удалось запустить Attiny 2313, после неправильной прошивки фуз…, а от Atmega 8 и 16 не получается, думаю что с помощью генератора получится, может кто схемку подкинет???

    DI HALT

    Позырь у меня в готовых устройствах регулятор скорости вращения вентилятора на 555 таймере. Оторви силовой транзистор, запитай от 5 вольт и поставь скважность 50% - вот тебе и генератор.


  18. LightStar 10 марта 2009 0:33

    Доброго времени суток)
    По своей невнимательности поставил в 1 второй заподлянский бит - SPIEN. И теперь через SPI (по простому) не могу прошить свою 16-ти МГц-ную 8-ую мегу.
    Кто что скажет по этому поводу? - Есть ли способ реанимировать мк?
    Заранее спасибо :)

    DI HALT

    Отложи его пока в коробочку до лучших времен. Для реанимации этого МК нужен высоковольтный программатор. Схему его я все же наверное скоро выложу. МОжешь сам поискать в инете пока. Зовется HVprog и Paraprog


  19. Ridik911 06 Апр 2009 9:33

    в тему stk500
    http://www.der-hammer.info/hvprog/index_en.htm Advanced version (v0.5)
    просьба оценить ибо посоветовали собрать именно его а не например парапрог
    объясните пожалуйста чем отличается от реального стк500 чем лучшехуже, чего нехватает в отличии от оригинала стк500


  20. RMiSe 16 Апр 2009 23:38

    Доброго времени суток
    Нечайно выставил CKSEL3…0 = 1000
    Подскажите что делать?
    “Пальцевым методом” не помогло.
    Контроллер Mega 8535. Смотрел даташит, CKSEL биты выставляются так же, как и в табличке выше.
    Если надо RC генератор делать, то не подскажите что куда цеплять?

    DI HALT

    Какой прогой шил?

    RMiSe

    UniProf

    nwanomaly

    кстати у меня похожая траббла с тини2313.
    висит на кварце 16МГц. ошибся с этими фьюзами, шил естессно такой, где всё “наоборот” с пони - uniprof )

    за все годы работ с аврами - реально первый такой случай )
    как это на самом деле лечится?

    DI HALT

    Тоже “Штуку” поставил? Ну так повесь RC внешнюю и будет тебе счастье

    nwanomaly

    что поставил - не помню, т.к. отвлекли.
    вроде 0101.

    размеры маленькие, поверх ничего вставить не получается. пока что с отпаянным и запаянным кварцем - не пашет. про RC - ещё не ставил.

    DI HALT

    И не поможет.

    А в даташит поглядеть на предмет того что же ты там выставил не судьба? У тебя щас “External RC Oscillator” вешай вместо кварца RC цепочку и будет тебе счастье. В даташите все есть на этот счет.

    RMiSe

    Спасибо за совет! МК проснулся!


  21. Obormot 18 Апр 2009 15:18

    Мужики покупайте программатор “WizardProg77USB” горя знать небудете.И извращайтесь с фузами как вам угодно.Стоимость около 3500р.Дорого! ,но он того стоит.С ним идёт диск с собственным ПО .

    DI HALT

    Парапрог обойдется намного дешевле :)


  22. Obormot 20 Апр 2009 20:27

    значит я поторопился с покупкой программатора.Просто в нашем маленьком городе выбора нет ,што было то и купил.

    DI HALT

    Штука полезная, но крайне редко пригождающаяся. Кстати, а он ISP умеет? Или только через свою панельку?

    Obormot

    только через свою панельку .А вообще зверь машинка умеет прошивать несколько сотен видов МК,Пзу,тестировать стандартную логику.

    DI HALT

    Это для ремонтников хорошо.
    Обычно из этих сотен видов МК ты в продаже найдешь только самые популярные, а они шьются запросто и схемами аля 5 резисторов да один диод. Кстати, он умеет шить семейство микроконтроллеров ST7 ?

    Obormot

    умеет шить,семейства 87с.AT.DS.SST.STC.SM.MSU.GMS.I87.P87.W78.PIC.MDT.V87.CR80.T80.IS89.

    DI HALT

    Черт, ну вот так всегда. :( А единственный программатор сампальный на ST7 который я нашел - собран на базе той же ST7

    Obormot

    DI HALT если тебе нетрудно расскажи о фузах в ATtini15.

    DI HALT

    Чет сайт Атмела зажал полный даташит на 15тиню и словно никогда ее не делал.


  23. alewka 25 Апр 2009 15:09

    Ребята помогите оживить 16 мегу! беда в том что не помню фьюзов CKSEL3-0 :)
    Помню дерево! и мужик) вобщем трогались только эти 4 фьюзы, CKOPT по умолчанию. А эти в uniprof были сняты галки. (теоретически) :)
    Контроллер видится методом пальца через раз, изменить фьюзы не удается, читает их один раз из 10 и то все врем по разному :) вобщем лагает. Пробовал кварц на 10мгц, на 16 мгц, внешний такт от тестера (кстати когда одну ногу тестера на ноль а генерирующую частоту на XTAL1 и подаешь питание - тестер умерает :) ) Помагает только метод пальца и то в очень редких случаях.. кто знает варианты - помогите плз.. Походу еще не пробовал режим 3-8 мгц.. но разве на 10 не запустилось бы? еще RC цепочка.. как рассчитывать 1/(3RC) ? какие порядки, герц = 1 / 3*Омы*нанофорады? Тыкните в схему генератора простого на счетчике..
    Спасибо!

    DI HALT

    Если 0000 то это внешний генератор. Тем более пальцем заводится хоть и через раз. Что подтверждает это.

    Генератор можно сделать на чем угодно хоть на 555 таймере, хоть на К155ЛА3 была тема про создание ШИМ наиболее простым способом.
    http://easyelectronics.ru/prakticheskaya-zadachka.html

    там в комментах генераторов вагон.


  24. alewka 25 Апр 2009 16:27

    Благодарю, еси заведется - отпишусь ) Если стоит режим 3-8мгц, от кварца 10мгц стартануть должно? (спрашиваю для уменьшения вариантов) :) Еще по поводу РЦ цепочки, все правильно с определением частоты? резюк и кондер расчитываются в омах и нанофарадах и получаем частоту в герцах?

    DI HALT

    Должен завестись. Расчет RC цепочки приведен в даташите. считается ЕМНИП в омах и фарадах.


  25. RA3VIE 15 июня 2009 12:53

    Доброго времени суток всем присутствующим! Мужики, помогите пожалуйста!
    По “незнанке” забил в свою Мегу8-16PU фузы как для PonyProg2000, забивал с помощью UniProf (Соответственно получилось всё с точностью до наоборот), в итоге программатор (5 проводов) не видит Мегу!Внешний кварц на 8МГц не помог! Подскажите пажалуйста реально ли её оживить? Что такое “Метод пальца” и RC цепочка и как их реализовать?

    DI HALT

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

    Метод пальца - это когда касаешься этой ножки пальцем и наводок 50гц хватает для того, чтобы прошить фуз биты.

    RA3VIE

    Спасибо за быстрый ответ! Т.е. нужно просто к ноге XTAL1 подпаять проводок, вставить Мегу в программатор и дотронуться до провода рукой? В итоге программатор должен увидеть Мегу? я правильно Вас понял?

    DI HALT

    Может увидит, а может нет. Метод пальца это экстремальный способ. Не факт что получится, работает через раз и очень медленно.

    У меня таким способом удается вернуть обратно фуз биты один раз из 10 случаев.

    Лучше собери генератор из другого контроллера который просто будет выдавать на ножку сигнал с частотой где то 1мгц.

    Если же у тебя зашилось на RC цепочку то в даташите есть подробное описание какие номиналы резистора и конденсатора тебе надо будет поставить, а также как это все подключить. Раздел даташита. ЕМНИП Clock Sources

    RA3VIE

    Спасибо за пояснение! На счёт “генератора из другого контролёра” - у меня в наличие только эта Мега8, за другим контролёром надо на “Митино” пилить, а туда 150км (Раз уж всё равно придётся ехать, проще новую Мегу купить и не заморачиваться с генератором).

    DI HALT

    Ну в любом случае купишь. Вначале собери из нее генератор и оживи старую мегу - будет у тебя две :)

    RA3VIE

    На “Митино” съездить не удалось (Машину “Хлопнул”), заказал две Меги8 по почте - первую из них благополучно “убил” почти тем же способом - при попытке задать 8МГц от внутреннего генератора отключил бит “SCOPT”(=1), а биты CKSEL3…0 выставил 0100. После чего контроллер перестал определяться 5-ю проводками.
    Подскажите как его теперь запустить, внешним кварцем или другим генератором, если генератором, то киньте ссылку на тот что полегче!


  26. k0ldbl00d.livejournal.com 04 июля 2009 22:48

    DI HALT, спасибо за совет. Воспользовался методом синхронизации “от руки”. Оживил мегу

    DI HALT

    С какой попытки получилось?

    k0ldbl00d.livejournal.com

    С первой. ATMega8. Но пришлось второй рукой “прихватить” AT-корпус компа. Без этой манипуляции, видимо, наводок не хватало.


  27. Lighter 24 июля 2009 12:33

    Неужели никто не пробовал воспользоваться avreal32 с ключом -o?
    Восстановил свою atmega32 именно этим способом.
    Ссылка для интересующихся http://www.ln.com.ua/~real/avreal/index.html


  28. skadi.exe 09 Окт 2009 22:56

    Ди, то что ты написал CKSEL=1111 - это значит в юнипрофе галочки Должны стоять?
    если это так - добавь в статью, так как я например не понял связи между “запрограммирован/не запрограмиирован “, галочкой и битом, который указыватеся.
    н-да, залочил-таки мегу.

    skadi.exe

    снял все cksel и ckopt
    пальцем не получается :(

    DI HALT

    А зачем снимал не разобравшись наверняка как надо?

    Я всегда говорю, что беру биты по даташиту. Т.е. в точности как там. Т.к. даташит это святое. Мог бы и сравнить с даташитом, т.к. у разных мег по разному биты CSEL выставляются на одну и ту же опцию. А в унипрофе с даташитом совпадают галки.

    skadi.exe

    Да у меня был скриншот с унипрофа и готовая схема, и я толком не врубился, что нужно врубать, а что нет.. спасибо
    /me ушел собирать генератор

    DI HALT

    Это значит так в даташите. А как в унипрофе это надо читать инструкцию к унипрофу. Да, должны стоять, т.к. нотация у них совпадает.


  29. Xandr 18 Окт 2009 17:47

    Отличный сайт, всегда находил ответы на все вопросы, которые у меня возникали! Но тут до меня чего то не доходит(
    А что делать если кварц нужен на частоту большую, чем 16 МГц?
    Мне например требуется запустить Мегу 16 от кварца 19,6608МГц (официально она поддерживает 20 вроде), как мне правильно выставить фюзы? Если не трудно, можно сразу в хексе и пнуть туда где написано как программировать эти фюзы через avrdude.

    DI HALT

    Кварц бывает двух типов - медленный и быстрый :) Все что выше 1мгц это быстрые, так что для своих 20мгц ставь фузы точно также как ставил бы для 16ти

    Xandr

    Я так понял что надо писать во так:
    avrdude -c nikolaew -P com1 -p m16 -u -U hfuse:w:0×9F:m -u -U lfuse:w:0xDF:m -U flash:w:tutorial.hex???
    не хотелось бы запороть кристал…


  30. SAWushka 21 Окт 2009 17:56

    Сдуру прошил тини2313 (неродной батник запустил)
    CKSEL=0111
    в даташите написано что
    External Clock - 0000
    Calibrated Internal RC Oscillator 4MHz -> 0010
    Calibrated internal RC Oscillator 8MHz -> 0100
    Watchdog Oscillator 128kHz -> 0110
    External Crystal/Ceramic Resonator -> 1000 - 1111
    Reserved -> 0001/0011/0101/0111
    Принудительное тактирование непомогает, все остальные фьюзы по дефолту.

    Есть советы кроме выбросить? =)


  31. ivansid.myopenid.com 29 Ноя 2009 23:55

    Что-то случилось, и мой программатор Громова сдулся. Сначала начал подвисать на прошивке, на 41%(debian/avrdude)
    Раза с десятого прошивался, но грохался на верификации. Пробовал setserial’ом скорость ком порта до 9600 урезать(меньше не дает) - не помогло. В итоге, аврдьюд мне сказал - оппа, чето не так с lfuse, вернуть как было? Я тыкнул йес, но не помогло. Теперь мк вобще не определяется, с флагом -F кодовое число 0×0000
    Пробовал другой мк, тотже 0×0000.
    До этого все было норм. Что могло случится? Программатор весь прозвонил, на десять раз проверил на непропаи, вроде все ок. Так и не успел для USBAsp мк прошить:)
    Вобщем нужна помощь, что мне в этом случае делать? Может я компорт спалил? И если да, то как проверить?


  32. Prodigy 28 Дек 2009 2:52

    Приветствую всех!Не знаю точно,фьюзы это или нет ,но - у меня МК работает как то криво.Первый раз такое -не работает кварц! Вообще.Как ни тыкай CKSEL в uniprof-e ,CKOPT -пофиг.На случай рядом генератор всегда стоит (4 Мгц) если чего не так- тыкаю его в XTAL2 и оживляю. Но не работает внешний кварц.А это и смешно и грустно-есть две меги 16 и 32,и парочка at90s2313.Есть также макетка для них со всем необходимым.Пишу прогу-но (!!!) работает как то не так,как нужно.Т.е. программлю таймер 1 (и нулевой пробовал) пишу в cvavr-таким образом ,что делитель максимум ,вызывающий прерывание - 11 с лишним кГц.Код таков
    —начало прерывания таймера—
    {
    X++;
    PORTB=X++;
    }
    получаем простое приращение,и младший разряд должен мигать с частотой в 2 раза меньшей чем 11 кГц (Кварц кстати - 12 Мгц).мигает…на глаз где то три раза в секунду,что ну НИКАК не килогерцы!
    на всех МК такая же картина
    по поводу этой программы. делал еще напрямую,без предделителя таймера- получается неизвестно что,кГц 2-8,не больше.ступор…
    менял конденсаторы,ставил другие кварцы - не помогает.причем интересно так работает-кварц вытаскиваешь - программа останавливается.вставляешь - поехала дальше.на кандеры не реагирует ну никак.Скорость ее работы не зависит от номинала кварца - пробовал 14,10,8,5,1 мГц - абсолютно также все.Конденсаторы выпаиваешь - работает.кварц выпаиваешь-остановилось.А УАРТ почему-то работает нормально хоть и асинхронник,с компом туда-обратно без ошибок идет на 19200.Осцилом меряю на обоих XTAL - 3.5 вольта постоянки,вообще тупо стоит на месте.Перепробовал и кондеры разные - от 15 пф до 30 - нифига!Не пашет и все тут.И фьюзы не помогают.сижу 3 день…
    Разозлился и сделал ВТОРУЮ такую ж макетку-может,емкости проводников или ошибка монтажа,в общем самые короткие проводники на xtal1,2 и все заоптимизировал ,чтоб емкости минимальные были,все тестером тщательно промерил на предмет ошибок-идеально все.Впаиваю(на этот раз новый кварц на 12 и кондеры на 22 пф) и светодиод с резистором 300 ом на порт(дабы видеть работу).Также!И кварцы опять менял потом и кандеры,и даже Мк новых пару мег16 купил…Что бы это могло быть,а?Фузы???

    DI HALT

    Напиши программу на ассемблере. Простейшую, чтобы ногу вверх ногу вниз. И одном цикле. Тыкнешь осцилом и сразу узнаешь на какой частоте у тебя что завелось.

    На хтал ты осциллографом ничего не увидишь. Разве что у тебя не тектроникс с активными щупами. От касания обычного осцила генерация срывается.

    Prodigy

    Спасибо,буду пробовать.

    Prodigy

    От касания щупа генерация _кажется_ не срывается.Счетчик как считал так и считает(т.е. прога видимо пашет).А активный щуп из какой нибудь буферной микрухи можно самому сделать?В ДШ прописано,что можно через буфер забирать с xtal тактовый сигнал куда нибудь для других целей.

    Prodigy

    что то вроде 155тл1

    DI HALT

    Возможно прокатит. Я не проверял.


  33. rulet 05 Янв 2010 2:30

    А как фузы то выставить в UniProf? — я нажимаю в меню программы на FUSE и просто пустое окно всплывает в котором ничего нет и ничего нельзя записать…

    DI HALT

    Так бывает когда унипроф не понял что за контроллер перед ним. Он должен сначала опознать тип МК (название МК загорится возле окна с хексами)

    ANL

    Подскажите плиз!
    По умолчанию в меге8 фьюзы стоят (CKSEL3…0=0100)т.е.8мгц от внутреннего
    генератора).Мне собственно нужно то же самое.Вопрос в УНИПРОФЕ при прошивке
    нужно выставлять фьюзы или будет работать с заводской установкой???
    И всетаки в УНИПРОФЕ совпадает 0 и галка с даташитом при установке фьюзов
    а то я чот совсем запутался (если мне нужно =0100 то выствлять =0100 ,а не
    =1011 в хелпе Унипрофа толком не нашел)

    DI HALT

    ЕМНИП в меге8 по умолчанию (CKSEL3…0=0010) - 1мгц внутренний.

    Если не трогать то будет так. А В унипрофе галка это ноль!


  34. ANL 14 Янв 2010 19:57

    СПАСИБО понял разобрался прошил РАБОТАЕТ
    Хоть здесь можно задать вопрос и получить ответ безо всякого умничания


  35. medwed 15 Апр 2010 14:45

    Спасибо огромное, вчера целый вечер мудохался с UART в Proteus, в терминале какой то бред, сверял скорость, стоп биты и т.п. по 500 раз, а дело в SCKDIV8. Сенкью вери мач!


  36. dima_m 29 июня 2010 9:47

    А у меня вопрос. Допустим я делаю коммерческое устройство. И хочу чтобы никто не мог выдрать прошивку из МК. Я выключаю spi интерфейс. Но ведь кто то может высоковольтным программатором оживить МК и выдрать прошивку? Ножки что ли MISO и MOSI отламывать? Это ж по варварски. Может есть метод более щадящий?

    dima_m

    На одной плате видел как микросхема сверху стерта вместе с маркировкой. Чтоб не догадались что за чип. Тоже интересный метод.

    DI HALT

    Фуз биты поставить. Все, в том числе и на запись/чтение разных бут секторов. Также отключить dw и jtag интерфейсы

Оставьте свой отзыв

Вы должны войти, чтобы оставлять комментарии.


Материалы сайта являются авторскими. Копирование и публикация материалов без активной ссылки на первоисточник запрещено.

Реклама: