attiny13 частота внутреннего генератора

kinesis
Offline
Зарегистрирован: 26.09.2014

всем привет!

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

прошиваю attiny13 через ArdoiniISP (Leonardo), прошивается исправно, но вот с частотами мне не понятно.

если выбираю в ArduinoIDE board: ATtiny13 @ 9.6MHz (internal 9.6 MHz clock), то вроде все хорошо (blink мигает примерно с частотой 1Гц, как и положено).

если же выбираю ATtiny13 @ 4.8MHz (internal 4.8 MHz clock), то тут уже что-то не так (blink работает примерно в 2 раза быстрее чем в предыдущем примере).

а если выбираю Attiny13 @ 128 KHz (internal watchdog oscillator), то тут вообще раза в 4 быстрее чем на 9.6МГц.

это мой boards.txt, вроде думал что дело в нем, но вроде все как нужно прописано:

attiny13.name=Attiny13 @ 128 KHz (internal watchdog oscillator)
attiny13.upload.using=arduino:arduinoisp
attiny13.upload.maximum_size=1024
attiny13.upload.speed=250
attiny13.bootloader.low_fuses=0x68
attiny13.bootloader.high_fuses=0xFF
attiny13.build.mcu=attiny13
attiny13.build.f_cpu=128000
attiny13.build.core=core13
 
 
###############################################################
 
attiny13at4.name=ATtiny13 @ 4.8MHz (internal 4.8 MHz clock)
attiny13at4.upload.using=arduino:arduinoisp
attiny13at4.bootloader.low_fuses=0x69
attiny13at4.bootloader.high_fuses=0xff
attiny13at4.upload.maximum_size=1024
attiny13at4.upload.speed=9600
attiny13at4.build.mcu=attiny13
attiny13at4.build.f_cpu=600000
attiny13at4.build.core=core13
 
###############################################################
 
attiny13at9.name=ATtiny13 @ 9.6MHz (internal 9.6 MHz clock)
attiny13at9.bootloader.low_fuses=0x7a
attiny13at9.bootloader.high_fuses=0xff
attiny13at9.upload.maximum_size=1024
attiny13at9.build.mcu=attiny13
attiny13at9.build.f_cpu=1200000
attiny13at9.build.core=core13

подозреваю что проблема в установке fuse-ов. не до конца их понимаю, как они прошиваются.

угробил одну tinny выбрав в меню пункт Burn Bootloader, теперь она не шьется :(

кто может подсказать, в чем тут дело?

ps. в моем первом тестовом проекте используется таймер на 5 минут, и он за эти 5 минут тормозит на 40 секунд (т.е. по факту не 5 минут, а 5:40 отсчитывает), это при работе на частоте 9.6МГц.

спасибо!

art100
Offline
Зарегистрирован: 09.03.2014

HWman-a спрашивай он фанат тинек

MaksMS
Offline
Зарегистрирован: 11.03.2013

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

kinesis
Offline
Зарегистрирован: 26.09.2014

MaksMS пишет:

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

спасибо!

видимо действительно это так, т.к. на частотах 4.8 и 9.6 МГц, все на самом деле работает, а вот на 128кГц она "лочится". или не лочится, но не прошивается.

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

Arduino IDE почему-то игнорирует настройку attiny13int.upload.speed=250 из файла boards.txt для 128кГц.

все прошивается по умолчанию на 19200

MaksMS
Offline
Зарегистрирован: 11.03.2013

upload.speed для программирования через uart ,а его в атинни13 нет.Т.е. нет бутлоадера.

axill
Offline
Зарегистрирован: 05.09.2011

MaksMS пишет:

upload.speed для программирования через uart ,а его в атинни13 нет.Т.е. нет бутлоадера.

правильнее сказать - нет бутлоадера в тини13, а потому на нем загрузка не возможна через бутлоадер ни через софтверный уарт (который возможен), ни через железный (которого нет)

даже если бы там был бутлоадер... минимальный бутлоадер (с железным уартом) порядка 512 байт. И смысл нам иметь бутлоадер если вся память 1024?

по мне ардуину програмировать в тини13 это искусство)) ардуина процентов на 30 требует больше програмной памяти чем обычный Си, а тут еще и памяти всего кило

MaksMS
Offline
Зарегистрирован: 11.03.2013

Загрузки нет через бутлоадер, но как-то давали ссылки тут на извращенский сбособ все же использовать его..

axill
Offline
Зарегистрирован: 05.09.2011

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

если програмировать исключительно через бутлоадер, то он может на програмном уровне обеспечить сохранность своего кода, а управление после перезапуска всегда получать на себя не меняя нулевой вектор при заливке скеча

технически это все возможно и нормально

практически я все равно не пойму зачем)

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

axill пишет:

практически я все равно не пойму зачем)

Я вот тоже не пойму таких извращений. Если уж так хочется кодить ATtiny в Arduino IDE - воткнуть USBasp или другую ардуину и прошить по SPI.

Zahar
Zahar аватар
Offline
Зарегистрирован: 16.11.2013
Здравствуйте.
Когда я прошиваю attiny13 стандартным Blink_ом на 1.2Mhz то задержка вместо одной секунды 1.4Sec.
Если я прошиваю на 4.8Mhz то задержка 5.5sec.
Если я прошиваю на 9.6Mhz то задержка 11.1sec.
Подскажите пожалуста почему это происходит?
Причем я пробовал управлять портом напрямую. Таже фигня.

int led = 4;
void setup() {                
  pinMode(led, OUTPUT);     
}
void loop() {
 //PORTB |= 1<<4;
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);// wait for a second
 // PORTB &= ~(1<<4);
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
 delay(1000);// wait for a second
}

 

 

Sandr
Offline
Зарегистрирован: 14.01.2015

А я вот бьюсь который час над прошивкой ATttiny13A-20 через Leonardo
Мануалов о том как - куча

-подключить Core для ATTINY
-залить в Arduino скетч ArduinoISP
-выбрать плату Attiny13, и програматор Arduino as ISP
-залить Загрузчик в Attiny
-залить Скетч (например тестовый Blink)

Пробовал подключение через ICSP разъем,
и пробовал  PB2-pin13,PB1-pin12,PB0-pin11, PB5-pin10

Пробовал разные Core

1) В http://https://code.google.com/p/arduino-tiny/ нет поддержки Attiny13

2)  https://arduinodiy.wordpress.com/2015/04/26/installing-attiny13-core-files-in-arduino-ide-1-6-x-and-1-7-x/ 
результат - "avrdude: stk500_recv(): programmer is not responding"

3) http://forum.arduino.cc/index.php/topic,89781.0.html 
Файл загрузчика указан но не существует: E:\Work\Arduino\hardware\attiny13\avr\bootloaders\empty
результат - "avrdude: stk500_recv(): programmer is not responding"
 
Может автор темы или кто еще, дать ссылку на рабочий Core для Attiny13 для 1.6.6

и дать описание схемы включения и процедуры....

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

ЗЫ: Такое впечатление что проблема не софтверная а аппаратная - но в чем, не могу найти!

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Sandr, в эту тему заглядовали? Видимо нет. Там же ссылка и на свежие ядра http://sourceforge.net/projects/ard-core13/files/ и на то как шить

Sandr
Offline
Зарегистрирован: 14.01.2015

указанная мною ссылка №3 ведет на тему именно по этой библиотеке
Бьюсь именно над ней последние 2 часа! :(

И вот основной мой вопрос - а Attiny13A-PU (20МГц), шьется на какой частоте?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Sandr, что тут биться? Какие там вообще могут быть проблемы, ума не приложу. Зашиваете скетч ардуино isp, подсоединяете тиню на 6 проводках, затем в новом окне ардуино isp выбираете программатор -arduino ISP, выбираете плату тини13 9,6 МГц, вставляете скетч для тини, жмёте кнопку "вгрузить", и готово!   ARDUINO ISP шьёт не быстро, клоки порядка 125kHz.

Sandr
Offline
Зарегистрирован: 14.01.2015

Кратко - все дело в "avrdude: stk500_recv(): programmer is not responding"

Как оказалось Leonardo и протокол stk500v1 несовместимы ....

А более подробно - поеду в предложенную Вами параллельную тему

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

Здравствуйте.

Я буду питать Attiny13 от 18650, то есть 3,7 - 4,2 Вольт.

Мне частоты в 1,2 МГц будет достаточно.

Что мне делать с питанием? Подключать напрямую или через DC-DC уменьшать? 

 

 

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Irinka пишет:

Что мне делать с питанием? Подключать напрямую или через DC-DC уменьшать? 

я бы подключил напрямую...ядро microCore?

Green
Offline
Зарегистрирован: 01.10.2015

Смотря какие цели. Если потребление, то я бы выбрал 4,8 или 9,6 и слип.

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

ua6em пишет:

Irinka пишет:

Что мне делать с питанием? Подключать напрямую или через DC-DC уменьшать? 

я бы подключил напрямую...ядро microCore?

Нет. Ядро другое. Даже не помню откуда брала.

Установила и MicroCore (в ней смотрю функционал больше)

Можете подсказать про эти пункты?

Зачем выбирать напряжение? BOD  

Что там про еепром и что за расчёт времени

 

 

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

Green пишет:

Смотря какие цели. Если потребление, то я бы выбрал 4,8 или 9,6 и слип.

При входном сигнале моргание с определённой периодичностью.

В идеале спать до наступления прерывания", выполнить алгоритм моргания и опять уйти в сон.

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

EEPROM option

If you want the EEPROM to be erased every time you burn the bootloader or upload using a programmer, you can turn off this option. You'll have to connect an ISP programmer and hit "Burn bootloader" to enable or disable EEPROM retain. Note that when uploading using a bootloader, the EEPROM will always be retained.

 

Стирать EEPROM при прошивке retained

 

Brown out detection, or BOD for short lets the microcontroller sense the input voltage and shut down if the voltage goes below the brown out setting. These are the available BOD options:

  • 4.3V
  • 2.7V
  • 1.8V
  • Disabled
  •  


В моём случае выбираю 2,7 Вольт

Green
Offline
Зарегистрирован: 01.10.2015

Если моргать из powerdown, тогда частота без разницы.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

2.7 нормально но литий ниже 3 вольт аккумулятор на выброс

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Irinka пишет:

Нет. Ядро другое. Даже не помню откуда брала.

видимо отсюда ядро брали

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

Да, точно.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

так что измерение напряжения питания придётся делать, при 3.3 вольта - обесточивать, но перед этим как-то сообщить о пороговом напряжении

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

microCore в протеусе почему-то таймер не работает.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Irinka пишет:

microCore в протеусе почему-то таймер не работает.

а фактически?

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

Фактически работает, только не засекала точность, а то у меня была проблема такая, уже обсуждали на форуме)