Zheka

Начинающим О Фьюзах (Fuse Bits)

325 сообщений в этой теме

Zheka    1

Что же такое FUSE биты? Слова вроде бы знакомые, но многие толком и не знают их предназначение, ставят галочки и прошивают, работает устройство да и ладно. Я вам хочу рассказать немного про эти FUSE биты.

FUSE биты (фьюзы) – ну если по простому, то они настраивают определенные параметры микроконтроллеров, это некий инструмент для их тонкой настройки Фьюзы включают или настраивают такие параметры как:

- частота генератора, внешний или внутренний генератор

- запрет на чтение прошивки микроконтроллера

- включение или выключение таймеров

- деление частоты кварцевого генератора

- защита EEPROOM от стирания

…и так далее. У каждого микроконтроллера выставляются свои фьюзы, у разных микроконтроллеров разный список фьюзов, например в ATmega8 нет фьюза CKOUT, но он присутствует в ATtiny2313. В даташитах к микроконтроллерам все эти фьюзы расписаны.

Читать далее: Фьюзы микроконтроллеров AVR – как и с чем их едят

post-1-0-55914800-1424087566.png

Устройство оживления микроконтроллеров Atmel

Исправление фузов AVR

SinaProg + ATmega328P исправляем прошивку фьюзов

Темы на форуме:

Fuse Doctor не определяет пациентов

Lock Bit или что может быть хуже


Начал собирать металлоискатель. Все спаял - дело осталось за малым - прошить ATTiny 2313. Но чего-то я никак не пойму, какие надо фьюзы выставлять?

Для тактирования от внешнего генератора, я так понимаю, надо выставить:

CKSEL=F (1111)
CKDIV=1

Вот то, что программатор считывает с контроллера.

Теперь вопрос: где нужно выставить/убрать галочки? (программа - UNIPROF)

post-64218-1249225815_thumb.jpg

Изменено пользователем admin
Добавлена шапка темы
  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
Jozik    1

Вот калькулятор фьюзов чтоб не заморачиваться...http://www.engbedded.com/fusecalc/

только не знаю как в юннипрофе у тебя, но например по ссылке: Галочка - фьюз=0 (то есть запрограммирован!)

и поидее тебе нужно наоборот все фьюзы запрограмить то есть не F a 0000 поставить на всех CKSEL галочки

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
wowa    4

Я обычно делаю так: Считываю настройку фьюз и смотрю как оно работало перед этим. Потом включаю выше приведённый калькулятор и по нему розщитываю что и кде надо настроить.. Считать всегда полезно - чтобы сравнить с товарной настройкой...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Zheka    1

Че-то я не понимаю ничего в этом калькуляторе( я в этом деле новичек). Может кто-нибудь сможет мне рассчитать фьюзы- все необходимые параметры дам, если нужно.

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

Изменено пользователем Zheka

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Jozik    1

можешь собрать сам генератор.. или просто к программатору кварц прицепи...если сам паял

"программка" в каком смысле? там на ножку должны приходить импульсы... разьве только на другом мк напиши себе генератор и прицепишь к тому пину и будет тебе "программка"

ну кароч скажи "параметры", фьюзы скажем тебе...

а вообще можешь спаять себе программатор например ЭТОТ он норм работает

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Zheka    1

А какие параметры??? Кварц-10Мгц. что еще надо?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SSam    1

Zheka, так тебе надо что?

1.

...Для тактирования от внешнего генератора, я так монимаю, надо выставить...

2.

А какие параметры??? Кварц-10Мгц. что еще надо?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Zheka    1

Короче, мне надо выставить фьюзы для тактиования от внешнего кварца, часстотой 10 МГц.

Изменено пользователем Zheka

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SSam    1

думаю так:

post-37607-1249234670_thumb.jpg

Изменено пользователем SSam

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Zheka    1

На другом форуме сказали что надо выставить так

post-64218-1249278112_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    547

Тему переименовал и поднял. Теперь про конфиги только в этой теме !!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Krik99    0

Для внешнего тактирования можно использовать и CKSEL3...0 = 1111, только вот CKDIV8 надо убрать, так как он делить тактовую частоту на 8.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Zheka    1

Включенный FUSE - это FUSE без галочки( в моем программаторе). Я так понимаю что мне нужно убрать все галочки на юьюзах CKSEL3...0???

А что с фьюзами CKOUT и SUT1 ? Ставить окло них галочки или нет?

Можете ли Вы на моей картинке нарисовать , где нужно ставить галочки???

Изменено пользователем Zheka

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Krik99    0

Я под этим программатором никогда не работал, я постоянно работаю с Pony prog, скажу как в Pony Prog, CKSEL3...0 должны быть сняты галочки и с CKDIV8 надо убрать. По поводу SUT0 можно тож поставить галочку, но тут я не уверен :ph34r: Так как писал по даташиту, можно посчитать онлайн http://www.engbedded.com/fusecalc/...

Изменено пользователем Krik99

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Zheka    1

Включенный FUSE - это FUSE без галочки(так в описании программы написано), значит надо убрать галочки с этих фьюзов? Вот картинка, пожалуйста, обведите те фьюзы, около которых должна стоять галочка!!!!! Help!!!

post-64218-1249298177_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Krik99    0

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

Изменено пользователем Krik99

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    547

А Вам всю жизнь на форуме будут рисовать галочки ? Может Вы всётаки почитаете ДШ ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Krik99    0

По скрину видно что тут галочки стоят инверсно от Pony prog, по стандартному МК настроен на тактирование от внутреннего генератора на 8мгц (CKSEL3...0 = 0100) и деление на 8 и в итоге получаем 1мгц

Вот скрин если что перепроврте кто работал с этим программатором, при прошивке кварц должен быть подсоеденён.

PS если я всё правельно понял, то если галочка снята, тогда этот бит = 0

А вообще то надо читать даташит, а то получается Atmel его даром написал. Там по фьюзам всё норм расписано.

post-13943-1249325599_thumb.jpg

Изменено пользователем Krik99

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Zheka    1

Так, все ясно! Ща буду пробовать. а может ктонито схему скинуть генератора (1-10МГц)?Желательно самый простой. Жругой контроллер надо оживить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Krik99    0

Отпишись о результатах установки фьюзов. :) Можно сделать генератор на другом МК. Я сам так делал, брал Тини13 выставлял 9.6мгц и писал простенькую прогу мигалки без задержки, потом это всё подключал на XTAL1 и прошивал.

Код:

while(1){
PORTB.0=1;
PORTB.0=0;
}

Изменено пользователем Krik99

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Zheka    1

А схема генератора на логических элемантах есть???

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
wowa    4

да самый обыкновенный на ЛА3 - тут нужно от 600 кГц до 4 Мгц генератор...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ddenebb    0

как то я нечаяно при прошивке тини 2313 запрограмировал фюзы (CKSEL0, CKSEL3, SUT0) все остальные незапрокрамированные, после чего програмка говорит "avrprog error entering programming mode" .програмировал через CVAVR. что делать. неужели без паралельного програматора ничего нельзя сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
wowa    4

Смотрите выше :) Вы включил внешний генератор - подайте частоту на МК и перепрошейте фьюзы

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: polych
      Здравствуйте.
      У меня возникла проблема в прошивке микроконтроллера Atmega8.
      Задача заключается в том чтобы сравнивалось опорное на напряжение АЦП с подаваемым на вход АЦП напряжением и далее результат выводился на дисплей. У меня возникли сложности с настройкой АЦП, как я думаю оно находится в спящем режим так как когда я загружаю hex файл в Proteus и запускаю пошаговую отладку, то мои условия не выполняются и в переменной в которую я прописываю значение подаваемого напряжения постоянно находится значение опорного напряжения.
      Код пишу в Atmel Studio 6 на С
      Симуляцию делаю в Proteus
      Очень нужна помощь
      Спасибо!
      Примерный код в Atmel,не судите строго только начинаю изучать микроконтроллеры
      #define F_CPU 1000000UL
      #include <avr/io.h>
      #include <avr/interrupt.h>
      #include <util/delay.h>
      static volatile int u = 0;
      static volatile float v;
      int main(void)
      {
       DDRB=0xFF;
       PORTB=0x00;
       DDRC=0x00;
       PORTC=0xFF;
       
       //настройка АЦП//
       ADCSRA |=(1<<ADEN)//включение ацп
       |(1<<ADPS1)|(1<<ADPS0)|(1<<ADFR);//ADPS2-ADPS0-тактовая частота АЦП???
       //ADCRA=0x83
       ADMUX |= (0<<REFS1)|(1<<REFS0)//внешний ИОН
       |(0<<MUX0)|(0<<MUX1)|(0<<MUX2)|(0<<MUX3); //вход PC0
       //ADMUX=0x00
          while(1)
          {ADCSRA |=(1<<ADSC);//начинаем преобразование
           while ((ADCSRA&(1<<ADIF))==0);//ждём флага окончание преобразование
          _delay_ms(5);
           u=ADCW;// считываем ADC
          
           v = (float) u*0.0048828;
           if (v>=2.1){
            PORTB=0x01;
           }
           else{
            PORTB=0xFF;
           }
           _delay_ms(5);
      Также начальный проект в протеус, опять же не судите строго)
      micro.pdsprj
    • Автор: paulb
      Есть задумка собрать вольтметр постоянного напряжения (до 1000В) на ГРИ, использовав за основу популярную схему часов. Либо на базе микросхемы ICL7107, если это возможно. Знающих прошу помочь.
    • Автор: admin
      Сайт Паяльник открывает обучающий видеокурс по AVR-микроконтроллерам.
      В этой теме "обратной связи" будем постепенно добавлять новые видеоролики с нашего канала. Здесь можно задавать вопросы, давать рекомендации, критиковать, оставлять отзывы и пожелания, а также запросы на тему будущих видеоуроков.
      Ведет видеокурс наш форумчанин kobzar.
      Профиль пользователя на сайте cxem.net. Там же финансовые реквизиты для тех, кто пожелает финансово отблагодарить автора данного видеокурса
      Подписка на YouTube канал
      Краткий обзор сред разработки для различных микроконтроллеров на сайте: http://cxem.net/software/soft_mcu.php
      Внимание начинающим! Перед тем, как задавать вопросы не по теме видеоуроков, прочитать:
      Статьи по МК для начинающих
      Книга по программированию микроконтроллеров AVR
      Также, здесь же на форуме рядом с этой темой смотрите прикрепленные темы: для начинающих, по языку Си и т.д. Все вопросы не по видеокурсу задавайте только там. С этой темы подобные вопросы удаляются
      Кракозябры вместо русских букв
      Ребята - спешу сообщить что найден метод борьбы с кракозябрами вместо русских символов, при работе с ЖК. Дело в том, что у некоторых из вас, проект создается в кодировке UTF-8, а наша библиотека работает только с ср1251
      Фикс:
      1.Открываем проект
      2. File - Advanced Save Options
      3. Вместо кодировки UTF-8 выбираем Cyrillic(Windows) - cp1251
      Сохраняем, сохраняем проект - компилируем!
      Добавлено 12.01.16 :
      Изменённые версии библиотеки lcd_5110 :
      От Alex - http://forum.cxem.ne...20#comment-2287906
      От COKPOWEHEU - http://forum.cxem.net/index.php?showtopic=136229&st=1840#comment-2373820
       
    • Автор: ruhi
      Меня тут порадовали задачкой для АВР (я когда то очень много таких порешал, на практике - напомнили молодость ):
      http://cxem.net/mc/mc446.php
      сформулирована так: Нужно два быстрых элемента "И" и одновибратор. Можно использовать серию 155 у которой время срабатывания даже меньше получается, но не подходит по энергопотреблению. Хотелось бы сделать это на Attiny13.
      Остановимся пока на 
      Я, соответственно, предложил реализацию:
      Можожно сделать так:
      loop1:
      in reg1, pina; 1-tick
      in reg2, pinb; 1-tick
      and reg1, reg2; 1-tick
      LSR reg1; 1-tick
      out portB, reg1; 1-tick
      rjmp loop1; 2-tick

      Это код на ассемблере , который реализует два «элемента И» на АВР со временем срабатывания около 1мкс, в зависимости от тактовой частоты МК.
      На частоте 16 MHz это 7/16 мк-секунды(7 ticks, на самом деле +4 = 11тиков максимум время срабатывания, позже поясню), входы элемента-И должны быть на одинаковых пинах условных портов A and B, а выходы следующие по старшинству биты-пины. Вообще говоря перед выводом в порт, скорее всего, нужно будет еще маску добавить это еще +1 тик!

      Цикл можно переделать на использование только одного порта. Мой вариант в закодированном архиве приатачен, ключ выложу через неделю!
      Мне интересно можно ли сделать быстрее чем у меня получилось! Сможет кто нибудь предложить вариант решения?
      В общем, похоже что, на ассемблере можно написать «два элемента И» со временем срабатывания около 1.5мкс даже на 10МГц при произвольном расположении ног на одном порту.
      bestAvrCodeForAnd.7z
    • Автор: paulb
      Прошу помочь изменить прошивку из проекта http://cxem.net/mc/mc187.php
      Часы будут содержать 4 индикатора
      1) управление функционалом без изменений (время, дата, температура). 
      2) убраны индикаторы отвечающие за секунды, т.е. нужно вырезать функции 
      отображения секунд и года.
      3) отображение температуры без десятых градуса (индикатор №3 и №4).
      Схема:


  • Сообщения

    • Пока здесь все это порастыкивал разобрался в распиновке, в любом случае может кому пригодится...
    • Вчера был уверен, что 100 кгц, теперь сомневаюсь. приду сегодня с работы посмотрю, нажата кнопка на осцилографе микросекунды /миллисекунды или нет.
    • Всех приветствую.
      Есть задача заменить механический 100 к потенциометр на  X9C103 его предел до 100 к.
      Хочу построить на нем управление к DC/DC конвертеру на  сенсорных кнопок PTT223 вместо встроенного обычного регулятора .
      Автор одного буржуйского ресурса утверждает что его можно подключить таким вот образом:

      Я выбрал вариант на 2 кнопки, увеличение и уменьшение.
      Согласно автора
       
      Data sheet выглядит так

      Помогите,  кто в теме,  разобраться с распиновкой, т.к. возникло разночтение в обозначениях пинов.
      Могу ли я доверять авторской распиновке?
       
    • @Крашер вы посылайте по этому АДРЕСУ или по ЭТОМУ.
    • Доброго времени суток. Похожую тему на форуме находил, но какого-то внятного ответа здесь и в интернете к сожалению не нашел вообщем решил собрать себе паралельный прогромматор для Avr (ссылка), выбор пал на ParaProg. нашел статью со схемой и печаткой под usb версию. закупился деталями, вытравил печатку, спаял схему, прошил МК и при подключении к ПК фигушки - USB устройство не опознано((( Менял сам FT232 на новый, переделывал печатку три раза - все без результатов. просьба помочь кто собирал и у кого это все работало...
    • Доброй ночи! Корпус на днях забрали, увы... 817-е стабилитроны посмотрю, что осталось...
    • Откуда ж мне знать на что расходы. У каждого свое. Но на вскидку - пару раз за месяц пивка не попить или курить завязать, вот и примерно такая же экономия будет и в деньгах и в здоровье. Тут дело не в конкретном способе с экономить, а в том что величина будет такая ничтожная, что достаточно на тариф интернета или мобильного оператора чуть дешевле перейти и то на то выйдет. Чем 1.5 тонны аккумуляторов себе в квартиру тащить. Придумают же.