Jump to content
Zheka

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

Recommended Posts

Шью через avrdude. Если явно не давать задачу шить фьюзы - он в них не пишет вообще. Поэтому, если фьюзы менять не надо - вероятность что-то испортить равна нулю :)

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Говорят же вам!!! Пользуйте AVRDUDE - он быстрей работает чем стандартная фишка в СВАВР и запороть фьюзы с ним сложнее.

Share this post


Link to post
Share on other sites

Вебинар STM32G0 – новый лидер бюджетных 32-битных микроконтроллеров от STMicroelectronics

Компания Компэл приглашает вас 25 сентября принять участие в вебинаре, который посвящен новому семейству микроконтроллеров STM32G0. Вебинар рассчитан на технических специалистов и тех, кто хорошо знаком с семейством STM32. На вебинаре будут освоены современные методы тестирования производительности микроконтроллеров на примере самых бюджетных 32-битных семейств общего назначения STM32G0 и STM32F0 и проведено их подробное сравнение.

Подробнее

Народ помогите пожалуйста! Шил мегу 8-ю командой "program" (pony Prog). короче запорол (ошибка 24)! Пробовал внешний генератор 6мгц - не помогло, кварц 11,059 - тоже самое! Как можно попробовать оживить без параллельного программатора? ....Или ставить свечку за упокой?(((((

Share this post


Link to post
Share on other sites

Добрый день всем.

У кого-нибудь получилось писать Attiny2313 UPA-USB-программатором?

Если да, то подскажите, в какой последовательности пишется Flash, Lock bit и Fuse bit.

Ведь в УПЕ, я так понимаю, можно писать и стирать Flash, Lock bit и Fuse bit отдельно.

Что означает при установке Fuse bit - True и False?

Правильно ли я понимаю True-вкл. функции, а False-откл? Если да, то Lock bit должны быть False?

И если мне нужно CKSEL0=V, SUTO=V, SPIEN=V, то я ставлю CKSEL0=True, SUTO=True, SPIEN=True, а

остальные False? Эксперементировать особо нет желания т.к. при неверной установке Fuse bit микроконтролер перестает программироваться, а за новым Attiny2313 100км.

Считал УПОЙ Fuse bits новой ATtiny2313.

CKSEL0--False

CKSEL1--False

CKSEL3--False

SUT0--False

CKDIV8--False

SPIEN--False

остальные--True и Lock bits: LB1,LB2--True.

Получается наоборот? И если мне нужно CKSEL0=V, SUTO=V, SPIEN=V, то я ставлю CKSEL0=False, SUTO=False, SPIEN=False, а

остальные True?

Спасибо за помощь.

Share this post


Link to post
Share on other sites
                     

Литиевые батарейки Fanso в беспроводных датчиках пожарно-охранной сигнализации

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

Подробнее...

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

Спасибо.

Edited by SAN777

Share this post


Link to post
Share on other sites

Оказалось все просто:галочки(False для UPA-USB- программатора) на

CKSEL0, SUT0, SPIEN .

На остальные фьюз биты и лок биты снимаем галочку(True для UPA-USB- программатора).

УПОЙ фьюз и лок биты пишутся и читаются отдельно от флеш.

Share this post


Link to post
Share on other sites

Выкладываю неплохой калькулятор FUSов (сам пользуюсь).Там ещё пара книжек для начинающих.Может кого заинтересует.Есть неплохая подборка книг по AVR,кому надо пишите.

http://depositfiles.com/files/c6cvb8teq

Share this post


Link to post
Share on other sites

Приветствую!

Я установил фюзы CKSEL0 - CKSEL3 в не запрограммированное состояние (везде стояли птички), сделал это для того, чтобы МК работал от внешнего кварца, но после этой процедуры он перестал отвечать компу и работать. Скажите, как его можно вернуть в былое состояние, и возможно ли это вообще.

МК - ATMega8

Софт - Code Vision AVR

Share this post


Link to post
Share on other sites

Насколько я знаю AVReal умеет задавать частоту, надо только правильно его подключить, с пятью проводами это возможно или надо собирать нормальный программатор? Если надо собирать, тогда я могу подать на XTAL 12 мегагерц от любого генератора, даже если это будет отдельное устройство? И последнее, вычитал где-то что можно через ШИМ подать частоту,есть ATMega8515, подскажите схемку и прогу для этих целей, можно ссылками.

Заранее благодарен

Edited by dsx

Share this post


Link to post
Share on other sites

Помогите с Фьюзами, один камень ужо запарол, второго портить не хочу.

Надо настроить камень на работу от внешнего кварцевого резонатора 8МГц, в файлике с прошивкой было написано

Fuse bits для процессора ATMega8l надо поставить 0xD9EF
, подскажите какие галки поставить в ПониПрог чтоб контроллер прошить без вреда? Зарание спасибо

Share this post


Link to post
Share on other sites

Вот пытаюсь выставить Фузы так:

Это окно калькулятора фузов

03d1f3550c6ft.jpg

Требуется выставить 0хD9EF, как понимаю D9- Hidh, а EF-Low.

Вот какие галки в ПониПрог поставил

a5a8f2980161t.jpg

Правильно иль опять запорю камень?

Share this post


Link to post
Share on other sites

Читал мануалы и рыскал по форумаи, вроди разобрался с фьюзами, чтоб камень работал с кварцем 8мгц, то программируется в ПониПрог SUT1, BODEN (ставятся глки). А все остольные галки убираются кроме двух которые закрашены серым RSTDISBL и SPIEN, если у них убрать галки то как понял камень можно будет перепрошить только с помошью параллельного программатора, первый отключает сброс а второй возможность прошивки по SPI?

Share this post


Link to post
Share on other sites
А все остольные галки убираются кроме двух которые закрашены серым RSTDISBL и SPIEN, если у них убрать галки то как понял камень можно будет перепрошить только с помошью параллельного программатора, первый отключает сброс а второй возможность прошивки по SPI?

Совершенно верно. Только параллельный программатор необязательно юзать. Есть еще спец девайсы вроде этого http://www.rlocman.ru/shem/schematics.html?di=65084

Share this post


Link to post
Share on other sites

Доброго времени суток!

Решил собрать устройство на ATmega8 буду первый раз шить AVR.

Есть два вопроса.

Первый касается серого фьюза SPIEN, серый он то серый но галочка под ним не просматривается

post-91507-1280763742,09_thumb.jpg

это нормально?? не переведется МК на параллельное программирование, после установки фьюзов?

Второй вопрос - мне надо чтоб МК работал от внутреннего генератора 8МГц

Правильно ли я выставил фьюзы??

post-91507-1280763746,31_thumb.jpg

Программа Понипрог2000

Edited by PESOK

Share this post


Link to post
Share on other sites

Ну если галка это запрограммированный бит в этой проге,то правильно.Число 0100.А вот CKOPT выключи.

Раз тактируешь от внутреннего RC.SPIEN похоже от дурака спрятан.

Share this post


Link to post
Share on other sites

Если нужно низкое энергопотребление то CKOPT лучше выключить но увеличиваются шансы ловить глюки :) - это "усилитель" тактового генератора - доводящий его амплитуду до напряжения питания. Так же опасный фьюз - RSTDISBL, он отключает пин RESET превращая его в порт ввода\вывода - вследствии чего перепрошить можно только паралелльным программатором. RSTDISBL и SPIEN лучше вообще не трогать - если нет паралелльного программатора

Edited by G1KuL1N

Share this post


Link to post
Share on other sites

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

Edited by evgesha53

Share this post


Link to post
Share on other sites

Всем доброго времени суток. Есть вопрос по фьюзам этой схемы (таблица там же,на форуме). Согласно таблицы, в CVAVR поставил галочки на CKSELL все и SUT 0, контроллер совсем перестал работать. Сбросил все фьюзы,запустил,работает но медленно. Подскажите,какие фьюзы надо программировать.

Edited by qazaq

Share this post


Link to post
Share on other sites

В атмегу8, во фьюзах CKSEL0…CKSEL3 случайно выставил значение 1011. После чего МК притворился что умер. В описании посмотрел, и как бы вообще нету такой комбинации фьюзов для настройки частоты. Ни от внутреннего ни от внешнего генераторов. Как лечить в этом случае? Генератор подключать?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Вячеслав_НС
      Здравствуйте ! подскажите , какую лучше библиотеку использовать (и где ее взять) для управления i2c atmega8 в atmel studio 7  .  задача - управлять atmega8 по i2c ,  цап  PCF8591T .
      понимаю , в интернете много примеров и библиотек , но хотелось бы пример максимально простой и точно рабочий . т.к. пока что все мои попытки не привели к успеху ... то Atmel Studio 7 при компиляции ругается на несуществующий файл ( к примеру - "stream.h") при использовании библиотеки i2c , то еще какие то грабли .
    • By Антон Плюшкин
      В общем есть небольшая тривиальная задача - сделать свитюльку. Контроллер управляет светодиодиками, цвета меняются, людишки довольны.
      Схема проста: Attiny44a -> 2n3904 x3 -> RGB-светодиод.
      Собрал, протестил, всё норм, но!
      Как только в коде я использую функцию задержки - _delay_ms (util/delay.h) - контроллер повисает!
      #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { // Input/Output Ports initialization // Port A initialization // Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(1<<DDA7) | (1<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0); // State: Bit7=0 Bit6=0 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); // Port B initialization // Function: Bit3=In Bit2=Out Bit1=In Bit0=In DDRB=(0<<DDB3) | (1<<DDB2) | (0<<DDB1) | (0<<DDB0); // State: Bit3=T Bit2=0 Bit1=T Bit0=T PORTB=(0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Phase correct PWM top=0xFF // OC0A output: Non-Inverted PWM // OC0B output: Non-Inverted PWM // Timer Period: 0,031875 ms // Output Pulse(s): // OC0A Period: 0,031875 ms Width: 0 us // OC0B Period: 0,031875 ms Width: 0 us TCCR0A=(1<<COM0A1) | (0<<COM0A0) | (1<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (1<<WGM00); TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (1<<CS00); TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Ph. correct PWM top=0x00FF // OC1A output: Non-Inverted PWM // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer Period: 0,031875 ms // Output Pulse(s): // OC1A Period: 0,031875 ms Width: 0 us // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(1<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (1<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (1<<CS10); TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 0 Interrupt(s) initialization TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0); // Timer/Counter 1 Interrupt(s) initialization TIMSK1=(0<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (0<<TOIE1); // External Interrupt(s) initialization // INT0: Off // Interrupt on any change on pins PCINT0-7: Off // Interrupt on any change on pins PCINT8-11: Off MCUCR=(0<<ISC01) | (0<<ISC00); GIMSK=(0<<INT0) | (0<<PCIE1) | (0<<PCIE0); // USI initialization // Mode: Disabled // Clock source: Register & Counter=no clk. // USI Counter Overflow Interrupt: Off USICR=(0<<USISIE) | (0<<USIOIE) | (0<<USIWM1) | (0<<USIWM0) | (0<<USICS1) | (0<<USICS0) | (0<<USICLK) | (0<<USITC); // Analog Comparator initialization // Analog Comparator: Off // The Analog Comparator's positive input is // connected to the AIN0 pin // The Analog Comparator's negative input is // connected to the AIN1 pin ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); ADCSRB=(0<<ACME); // Digital input buffer on AIN0: On // Digital input buffer on AIN1: On DIDR0=(0<<ADC1D) | (0<<ADC2D); // ADC initialization // ADC disabled ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); unsigned char VL_OCR0A = 0, VL_OCR0B = 0, VL_OCR1A = 0; OCR0A = 0; OCR0B = 0; OCR1A = 0; while(1) { _delay_ms( 100 ); VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } } Т.е. если указать задержку в начале цикла, то светодиод не светится вообще.
      Если задержку убрать - светодиод немного подсвечивает всеми цветами.
      while(1) { _delay_ms( 100 ); // <--- ЗАДЕРЖКА --- VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } Где я накосячил?
      З.Ы.: Замечаний по поводу оптимизации кода, излишних переменных и п.р. прошу не писать - изощряюсь как могу ибо не пойму почему не работает
    • By LegionKC
      Добрый день.
      Экспериментирую с платой TP4056 и MK ATmega8, конкретнее - пытаюсь собрать простенькое зарядное устройство с выводом параметров при зарядке/разрядке на АЦП МК. Для измерения тока нашел ACS712. Думаю, что получится выводить ток при зарядке (т.е. когда идет питание на TP4056 и нагрузка отключена) и при разрядке (питание выключено, нагрузка подключена). Нагрузка - резистор. Возникла проблема с измерением напряжения на АКБ. Вернее, проблема с отсутствием идей как это сделать. Может какую-нибудь схему делителя напряжения нужно сделать? Прошу помочь советом. Схему из пэинта прилагаю.
      Спасибо.
       

    • By Cheshire Cat
      Здравствуйте, только начинаю изучать программирование мк. Я уже задавал этот вопрос в моих прошлых схемах мне отвечали что-то типа "любой стабилизрованый источник постоянного напряжения", или кидали схему такого источника. Можно назвать мне конкретное устройство? В общем то что я смогу забить в гугл и приписать купить. 

      Я уже больше двух месяцев жду пока мне придут с aliexpress детали для маленького лабараторного блока, но этот вариант может разбиться о кривизну моих рук.  Хочу просто купить такой источник и наконец заняться непосредственно МК. 
    • By Cheshire Cat
      Здравствуйте, только начал изучать программирование микроконтроллеров. В учебнике есть схема, но она не учитывает питание и землю. Скажите правильно ли я её дополнил.
      И еще дополнительный вопрос. Что можно использовать как источник постоянного питания на 5В? Из не дорогого и того, что можно купить в Казани. Знаю, что лучший вариант - лабораторный БП, но они дорогие.

  • Сообщения

    • BQ25601 где стоит: Xiaomi Redmi 5A;
    • Актуально. На цену по ссылке смотреть не нужно. ) Будет более чем в десять раз дешевле.
    • Так переразвел уже. Дорожки пока что рисую кредитной карточкой рейсфедером из иглы шприца и стержня гелевой пасты, заполненной битумным лаком. Провода к индикатору потом уложу поровнее) Соединять управляющие выходы контроллера с силовой частью решил при помощи кабелей КММ 0,12.
    • В данной теме вопросов не будет. Она предназначена для "юных дарований", как информация для проектирования схем на ОУ. Нередко возникает задача получить выходное напряжение ОУ от 0 В. При нынешнем разнообразии ОУ, применить Rail-to-Rail, в принципе, особого труда не составляет. Единственный сдерживающий фактор - их "кусючая" цена. Широко распространенные LM358, строго говоря, тоже не совсем R-2-R. порядка 50...100 мВ до действительно нуля не "дотягивает". Да и те дорогие ОУ, что позиционируются, как R-2-R, тоже имеют остаточное ненулевое выходное напряжение, хотя и всего несколько (до десятка) мВ. Описанная ниже схема, при определенных условиях, способна превратить ОУ "широкого применения", т.е., с выходным напряжением, не дотягивающим потенциала минусового питания на целых 1,5...2 В (например, "древний" 741/К140УД6/7), в аналог R-2-R по минусу питания. Схема, в принципе, известная, но почему-то всё равно неизвестная (тавтология, конечно) . Суть ее заключается во включении междду выходом ОУ и точкой снятия ООС стабилитрона, в качестве которого выступают несколько диодов, включенных в прямом направлении. Резистор R1 является не просто нагрузочным, он принципиально необходим для стока выходного тока через цепочку диодов, которых должно быть минимум три. "Осц2иллограмма" сигнала в контрольных точках этой схемы (все треки смещены в минус на 2 В, чтобы максимально использовать разрешение "экрана" виртуального осциллографа): Синий трек - входной сигнал (немного заходит в минус относительно потенциала общей шины), зеленый - выход ОУ, красный - выходной сигнал. При двух диодах картинка "впритык", а при одном - совершенно неудовлетворительная: Попытался смоделировать с использованием TL431 поже получил фигню: выходной сигнал не полностью повторяет входной. В "железе" эту схему не "щупал", т.к. симулировал ее в свободное время, в качестве "игры ума". Но надеюсь что кому-нибудь она пригодится.
    • А Вы прочтите полностью всё предложение.  Я написал что "нужно знать", а не я знаю.   Вы различаете эти два понятия?  Методики есть и измерения тоже. Как у Вас написано, "гуглите и обрящете".  Мне это не интересно, а искать лично для Вас не вижу смысла. Тем более что Вам судя по всему нужен совершенно обратный результат...
    • Так я и не понял, что Вам в итоге нужно? Печать в негативе для фоторезиста или сделать просто всё чёрным с помощью одноимённой функции (ну или самому сверху в панели выбора цветов слоёв)?
    • Кокорина и Мамаева освободили по УДО https://rsport.ria.ru/20190917/1558757455.html  
×
×
  • Create New...