Zheka

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

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

ddenebb    0

что то я не пойму. как ето я включил внешний кварц, если по ДШ CKSEL=0110 - ето тактирование от сторожевого таймера?

только что пробовал на программаторе avr910. там есть вывод лед, на который выходит тактирующий сигнал с частотой 1 МГц. так вот его я водключал к ХТАL1 результат тоже безуспешный.

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

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


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

Тогда тебе в помощь высоковольтное программирование через паралельный программатор :)

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


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

Обьясните подробней какие фьюзы вы прошили!!! То что вы написал - я провери на калькулятору и у меня получилось что вы включил внешний кварц 3 аж 8 Мгц... Вот я и советовал... Если хотите точный ответ по задайте вопрос правильно и подробно опишите что и как вы сделали!!! Незапрограмированое это как ??? Или вы их скинул в 1 или вы их нетрогал???

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


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

ищу очень долго и до сих пор не понял.

В прилогаемом файле стоят единички и нули,а в програмах надо ставить галочку так объясните мне и многим другим, галочка это 0 или 1 заранее благодарю умных людей

post-95282-1250355631_thumb.jpg

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


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

:rolleyes:

Помогите расставить фьюзы.!!! в атмега48

Контроллер для програматора, тоесть подключается еще один контролеер к выходам 15,16 ,17.

на ножки 2 и 3 подается сигнал с maх232

внешний кварц к ножкам 9 и10 на 11Мгц

заранее спасибо

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

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


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

Тут посути тебя не кто не поймет. Напиши какой програматор, где схему взял?!!

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


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

Тебе я так понял нужно штоби мега 8 работала от вснешнего генератора?

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


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

на схемке изображена мега8, но в реалии стоит 48, это так афтар рекомедовал.

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


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

А разве можно програмером од сайпреса програмировать АВР? Какой софт используете для прошивки?

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


Ссылка на сообщение
Поделиться на других сайтах
dr_jenia    4
А разве можно програмером од сайпреса програмировать АВР? Какой софт используете для прошивки?

наоборот.

пс. так шо там с этими фьюзами??? :huh:

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

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


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

Ставьте нормально на внешний кристал - на 8 Мгц и выше. Каким софтом собираетесь шить мегу??? От этого зависит как наставить фьюзы.

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


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

Думаю CodeVisionAVR

если не прокатит (умня переходник 5проводков для com порта)

то наверно пони прог.

У них кажется разные понятия 1 и 0. так ли это?

Нацелен CodeVisionAVR!!!

пс.

Ставьте нормально на внешний кристал - на 8 Мгц и выше.
Так и планируется по принципиалке 11Мгц Изменено пользователем dr_jenia

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


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

Хочу вам сказать что вы или ленив и не умеете пользоваться поиском или не вниматерен - калькулятор выберете вам нужный МК и настройте из самого верхнего меню "Features" последний ряд и будет вам счастье... Проставте точно так же как на этой страничке галочки возле похожих названий....

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


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

А я Вам отвечу.:

с мк сталкиваюсь первый раз. и покаместь я их не понимаю.

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

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

пс. а для чего еще эта ветка нужна? ;)

Ещё раз упнете тему и забаню..

И куда уж конкретней ???? Я же сказал:

1. открываете клькулятор выбираете МК и выставляете частоту на максиму.

2. ищите точно такое же название фьюз у вас и ставите их так же как на калькуляторе!!!

Что вам не понятно??? Почему вы думаете чт тут будут всё делать за вас????

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


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

Привет всем! Сразу к делу: начал сибирать метелоискатель ( www.metdet.ru/FM.htm ) . Все спаял- дело осталось за малым- прошить ATTiny 2313. Но чето я никак не пойму, какие надо фьюзы выставлять????

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

CKSEL=F (1111)

CKDIV=1

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

Жду Вашей помощи!!

post-64218-1253806447_thumb.jpg

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


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

Привет всем. Хочу задать вопрос такого характера

Когда заливаются FUSE, после прошивки МК программой или они заливаются одновременно. И если они заливаются одновременно значит FUSE заносятся в МК выставленные по умолчанию, верно или нет.

И еще вопрос. Я хочу Т2 в ATmege48 включить в асинхронном режиме, тогда я должен FUSE выставить для что бы МК работал от внутреннего своего генератора.

Или еще есть способы.

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


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

Всем привет. Новички наломают дров и потом бегут к "бывалым" за советом, что же делать и я не исключение :unsure:

(каюсь - стыдно).

К делу:

Есть 2 мк ATtiny 2313 и mega8 - обе из CVAVR превратились в такие штуковины, которые на любой опрос выдают "AVRprog error entering ... дальше знаете". Я тут увидел, что это свидетельствует о том, что я прошил фьюзы тактового генератора как-то не так))). На моем программаторе есть выход _|_|_ (сигнал 1МГц). Если я его подсоединю к своим, выдающим ошибку мк, то они должны ожить? Или что делать?

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


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

Это сигнал надо подать на вход генератора атмеги.. Я накидывал просто проводком к кварцу..

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


Ссылка на сообщение
Поделиться на других сайтах
Это сигнал надо подать на вход генератора атмеги.. Я накидывал просто проводком к кварцу..

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

P.S. Прошу еще прояснить для меня 1 момент. Кварцевый генератор имеет 2 выхода. Один подается на вход XTAL1 а другой (в учебной литературе) на выход XTAL2. Но я встречал на форумах, что иногда XTAL2 не подсоединяют. Объясните назначение этих выходов и их необходимость включения. Согласен на ссылку, где понятно написана работа тактового генератора если он внешний. Спасибо.

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


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

В даташите это прекрасно нарисовано. Не ленитесь - читайте.

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


Ссылка на сообщение
Поделиться на других сайтах
В даташите это прекрасно нарисовано. Не ленитесь - читайте.

Читаю. Даже целую книжку купил по этому мк. Не ленюсь :) Вчера пробовал шить мк тини 2313 и опять та же ошибка после первой прошивки. Далее к мк вообще не могу обратиться. Т.е. программма работает, а перепрошить через последовательный программатор не могу. Есть у меня еще новая нешитая тини 2313, так вот я и боюсь ее трогать, пока не разберусь почему у меня после первой прошивки мк не реагирует на программатор. Предполагаю, что фьюз SPIEN снял и поэтому не коннектит. Но вот последнюю программил и ничего во фьзах не менял - в CVAVR снял галочку с поля Program Fuse. И согласно даташиту в заводской сборке этот фуз (SPIEN) прошит, чтобы можно было через последовательный программатор шить, но опять же при попытке стирания или чтения фьюзов выдает ошибку про недоступность программного режима. Вот с этим проблема.

Можно еще пользоваться калькулятором фьюзов.

За калькулятор фьзов спасибо. У меня была только англицкая ссылка. Эта даже поудобней пока в терминах разбираюсь.

Вот считал фьюзы с новой тини2313. SPMEN что за фьюз? в калькуляторе нет такого - есть SPIEN и он должен быть по умолчанию прошит (т.е. в CVAVR = `0`). Как мне поступить, чтобы мк снова был доступен для перепрограммирования через AVR910? (про внешний кварц с фьюзами понял) может я где еще упустил?

post-110605-1265188872_thumb.png

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

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


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

Помогите пожалуйста.

Прошиваю с помошью СVavr. AVR910. Раньше все было нормально. Потом вдруг начал автоматически програмировать все фьюзы и лок биты в 0!!!

Запорола уже 3 кристала, с чем это может быть связано (Atmega8, ATmega88)

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

    • Автор: Николай Зубий
      Как сделать  устройство, выводящие на индикатор время, прошедшее с момента последней перезагрузки контроллера?
    • Автор: forestdozor
      Здравствуйте!

      Мне нужно измерить длительность импульса. Для этого сначала применял внешнее прерывание, а теперь перешел на режим захвата таймера в Atmega 328.
      Однако сейчас происходит странное: Через определенное таймер просто останавливается. Гугл результатов не дает, ни у кого захват таймера 1 не останавливается.
      Подскажите пожалуйста, что делать?
      Среда разработки CodeVisionAVR v3.12. Сейчас попробовал версию 3.3, толку нет. Не работает. Код максимально упростил, но по прежнему толку ноль.
      Переполнение таймера 0 так же работает отлично, до тех пор, пока что-то не произойдет с прерыванием по захвату. Как только что-то произошло - мк останавливается...
      Может немножко подождать, и увеличить значение счетчика current_timp еще на пару значений... Совсем не знаю что делать.
       
       
      interrupt [TIM1_OVF] void timer1_ovf_isr(void)
      {
      TCNT1H = 0x00;
      TCNT1L = 0x00;
      }
      // Timer1 input capture interrupt service routine
      interrupt [TIM1_CAPT] void timer1_capt_isr(void)
      {
       
             TCNT1H = 0x00;
             TCNT1L = 0x00;           // Это уже уровень танцев с бубном "авось поможет" - не помогает.
         
              current_timp++;          // Все упрощено до максимума. Мне бы он хоть количество периодов для начала...
              
        //  }
      }
      // Прерывание по переполнению первого таймера
      interrupt [TIM0_OVF] void timer0_ovf_isr(void)
      {
      // Обнуление счетного регистра.
      TCNT0=0x00;

          
          counter ++;
          if (counter > 10)
          {
                  lcd_clear();
                  sprintf(buffer,"%d us", current_timp);
                  lcd_gotoxy(0,0);
                  lcd_puts(buffer);
                  counter = 0;
          }
          
          
      }

      // Главный цикл программы
      void main(void)
      {

      #pragma optsize-
      CLKPR=(1<<CLKPCE);
      CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);
      #ifdef _OPTIMIZE_SIZE_
      #pragma optsize+
      #endif

      // Port B initialization
      // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
      DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
      // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
      PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
      // Port C initialization
      // Function: Bit6=In Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
      DDRC=(0<<DDC6) | (1<<DDC5) | (1<<DDC4) | (1<<DDC3) | (1<<DDC2) | (1<<DDC1) | (1<<DDC0);
      // State: Bit6=T Bit5=1 Bit4=1 Bit3=1 Bit2=1 Bit1=1 Bit0=1
      PORTC=(0<<PORTC6) | (1<<PORTC5) | (1<<PORTC4) | (1<<PORTC3) | (1<<PORTC2) | (1<<PORTC1) | (1<<PORTC0);
      // Port D initialization
      // Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
      DDRD=(1<<DDD7) | (1<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
      // State: Bit7=1 Bit6=1 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
      PORTD=(1<<PORTD7) | (1<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);
      // Делители таймера 0 рассчитаны таким образом , что его тактовая частота = 15,625 КГц. Расчет был на применение в схеме семисегментников, но с LCD индикатором будет информативнее.
      TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00);
      TCCR0B=(0<<WGM02) | (1<<CS02) | (0<<CS01) | (1<<CS00);
      TCNT0=0x00;
      OCR0A=0x00;
      OCR0B=0x00;
       
      // Настройка таймера 1
      TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
      TCCR1B=(1<<ICNC1) | (1<<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;
      // Разрешение прерывания по переполнению таймера 0
      TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (1<<TOIE0);
      // Timer/Counter 1 Interrupt(s) initialization
      TIMSK1=(1<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (1<<TOIE1);
    • Автор: voltex
      Всем привет! Подскажите, пожалуйста, как правильно считать данные с внешней eeprom по шине spi, в данном случае 25LC256.
      Написал код ссылаясь на даташит. Собрал схему в протеусе, подключил spi отладчик и вот что получил в итоге. Так же не могу проверить получается записать данные в память или нет. Весь код прикрепил.
       

      main.c
    • Автор: CUBE
      Не могу запустить асинхронный режим. 
      Ниже будет представлен код которым пытаюсь отладить. Там в 1 коде идёт работа от внутреннего источника таков (стоит 1МГц).  После 5 миганий таймер должен перейти в асинхронный режим и мигать с частотой в 1 Гц. У меня происходит 5 миганий потом ничего. Фьюзы менять пробовал, ничего не дало, сейчас дефолт. Корпус кварца к земле тянуть пробовал - безрезультатно. 
      Возможно что-то в подключении накосячил, если не видно на фото ниже, спрашиваете, нужно будет - нарисую схему. 
      Компилятор Atmel Studio 7
      Шью через Sind Prog 2.1.1 + USBasp 2.0
      Вот код: 
      .macro outi 
       ldi r16, @1 
       out @0, r16 
      .endm 
      .org $000 
      rjmp reset 
      .org $001 
      reti 
      .org $002 
      reti 
      .org $003 
      reti 
      .org $004 
      rjmp timer2_ovf 
      .org $005 
      reti 
      .org $006 
      reti 
      .org $007 
      reti 
      .org $008 
      reti 
      .org $009 
      reti 
      .org $00A 
      reti 
      .org $00B 
      reti 
      .org $00C 
      reti 
      .org $00D 
      reti 
      .org $00E 
      reti 
      .org $00F 
      reti 
      .org $011 
      reti 
      .org $012 
      reti 
      .ORG INT_VECTORS_SIZE 
       
      reset: 
      .equ portout=portd 
      .equ ddrout=ddrd 
      .def led=r17 
      .def mask=r18 
      .def counter=r19 
       outi spl,low(ramend) 
       outi sph,high(ramend) 
       
       outi ddrout, 0xff 
       
       outi tccr2, 0b00000111 
       outi timsk, 1«toie2 
       
        
       
        
       ldi led,1«5 
       ldi mask,1«5 
       sei 
      cycle: 
      cpi counter, 10 
      breq offtim 
       rjmp cycle 
       
      timer2_ovf: 
      inc counter 
       out portout, led 
       eor led, mask 
      reti 
        
      offtim: 
      outi timsk, 0«toie2 
      rjmp asinxron 
       
      asinxron: 
       outi assr, 0b00001000 
      back: 
       in r16, assr 
       cpi r16, 0b00001000 
       brne back 
       
        outi tccr2, 0b00000101 
        outi tcnt2, 0 
        outi ocr2, 0 
        outi timsk, 1«toie2 
       
       
      m1: 
      rjmp m1


      Верх меги на фото слева. 
    • Автор: TheCoolKuid
      Здравствуйте.
      Часто прошивал МК, в один из моментов по программе должна была выставляться единица на 5Б пин. После этого убрал эту функцию, но теперь при включении к питанию МК на любой прошивки пин уходит в ноль и МК не отвечает ни на UART, ни на I2C. Пин не уходит в ноль только на чистом кристалле. Даже если в новой прошивке и слома нет про включение этого пина, он в единице. Может ли это означать, что программная память посыпалась?
      Спасибо.
  • Сообщения

    • Понятно, что ничего путного нетвыйдет, другого питания там нет, только аккумулятор . Конечно можно преобразователь сделать и получить +- 30-35 но это для меня пока сложно. Попробуем , что получится дальше можно будет посерьёзнее схемы пробовать.
    • Да, вроде, всё правильно. Если, конечно, карта откалибрована на 1 Vrms. Т.е. не "1 Вольт амплитуды делим на четыре Ома...", а 1 Вольт эффективного (среднеквадратичного - rms), так как "амплитуда" - это максимальное значение полуволны (т.е. от нуля и в любую сторону - в плюс или в минус).
    • Добрый день. Задался целью определить усилитель какой мощности мне нужен. (тк тот, что я сейчас использую однозначно избыточен) Провёл некоторые манипуляции и результат меня прямо-таки озадачил. Условия: вход карты откалиброван с делителем, таким образом, что при подаче на делитель 1 вольта rms,  уровень пика касается линии 0 дб. Тестовый сигнал  для калибровки подавал железным генератором и проверял осциллографом. (Так же проверял осциллографом и вольтметром уровень выходного сигнала на делителе уже подключенном к усилителю, нагруженному эквивалентом нагрузки. При показаниях 1 вольт rms пик соответствовал 0 дб. Сопротивление АС 4 ом. Трехполоска на старых японских динамиках Sansui  (нч заменены на новые Sonido 4 ом). Источник - сначала другой компьютер с внешним ЦАП, потом CD плеер  на всякий случай.   Итак, делитель подключил уже  к выводам правой акустической системы, поставил галочку "пик холд" и включил музыку. Выставил уровень громкости, который был несколько даже избыточным. На таком я почти никогда не слушаю. Погонял пару тройку любимых песен минут 15 (доброе утро соседи, как говорится ) и вот чего вышло.   Я правильно понимаю, что самый большой уровень мощности от усилителя в этом эксперименте составил 0,25 Ватт на канал? (1 Вольт амплитуды делим на четыре Ома и умножаем на 1 Вольт). Или я что-то делаю не так? Сразу оговорюсь, что при измерении THD на эквиваленте нагрузки я без проблем загонял уровни гораздо выше 10 дб без перегрузки входа и тд.  
       
    • М.б., уже было.
      "Решила скинуть к Новому Году 10 кг. Осталось скинуть всего 15."
    • Думаю, оно все из концентрата
    • Ну не знаю как послушать. Чтобы слушать нужен хороший источник например качественный винил и хорошая акустика. Выход с компьютера с низкой частотой дескритизации и непонятным битгрейтом не вариант. Но если это еще и мп3.... Но тут есть и другая сторона. При питании от 12 вольт выходное напряжение делится пополам. Тоесть на динамики пойдет за вычетом падения напряжения и КПД где то 4 вольта. На 4 Омах получим 4 ватта. Но и это еще не все. Нам нужно обеспечить динамический диапазон для воспроизведения пиков мощности на низких частотах. Иначе низы на пиках будут просто резаться. Тоесть на выходе получим доли вата. Не зря же в автомобилях используют мостовые схемы. Только так с низкого напряжения можно выжать хоть что то.
    • Добрый день. А какова цена на данный момент готового УМ?