attiny13 частота внутреннего генератора
- Войдите на сайт для отправки комментариев
всем привет!
я правда не уверен что вопрос задаю куда нужно, но надеюсь умные люди подскажут.
прошиваю 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МГц.
спасибо!
HWman-a спрашивай он фанат тинек
Burn Bootloader как раз прошивает фьюзы необходимые для данного пункта меню.. А тинька не заблокировалась,а просто не хочет работать на высокой скорости прошивания т.к. не упевает из-за установленной частоты -надо эту скорость тоже занижать..
Burn Bootloader как раз прошивает фьюзы необходимые для данного пункта меню.. А тинька не заблокировалась,а просто не хочет работать на высокой скорости прошивания т.к. не упевает из-за установленной частоты -надо эту скорость тоже занижать..
спасибо!
видимо действительно это так, т.к. на частотах 4.8 и 9.6 МГц, все на самом деле работает, а вот на 128кГц она "лочится". или не лочится, но не прошивается.
что бы восстановить я использовал схему высоковольтного программирования на Ардуино, и соответствующий скетч.
Arduino IDE почему-то игнорирует настройку attiny13int.upload.speed=250 из файла boards.txt для 128кГц.
все прошивается по умолчанию на 19200
upload.speed для программирования через uart ,а его в атинни13 нет.Т.е. нет бутлоадера.
upload.speed для программирования через uart ,а его в атинни13 нет.Т.е. нет бутлоадера.
правильнее сказать - нет бутлоадера в тини13, а потому на нем загрузка не возможна через бутлоадер ни через софтверный уарт (который возможен), ни через железный (которого нет)
даже если бы там был бутлоадер... минимальный бутлоадер (с железным уартом) порядка 512 байт. И смысл нам иметь бутлоадер если вся память 1024?
по мне ардуину програмировать в тини13 это искусство)) ардуина процентов на 30 требует больше програмной памяти чем обычный Си, а тут еще и памяти всего кило
Загрузки нет через бутлоадер, но как-то давали ссылки тут на извращенский сбособ все же использовать его..
ясно) хотя, что такое бутлоадер на AVR - это условно защищенная область памяти програм с приоритетным запуском после ресета
если програмировать исключительно через бутлоадер, то он может на програмном уровне обеспечить сохранность своего кода, а управление после перезапуска всегда получать на себя не меняя нулевой вектор при заливке скеча
технически это все возможно и нормально
практически я все равно не пойму зачем)
практически я все равно не пойму зачем)
Я вот тоже не пойму таких извращений. Если уж так хочется кодить ATtiny в Arduino IDE - воткнуть USBasp или другую ардуину и прошить по SPI.
А я вот бьюсь который час над прошивкой 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"
Файл загрузчика указан но не существует: E:\Work\Arduino\hardware\attiny13\avr\bootloaders\empty
и дать описание схемы включения и процедуры....
Заранее спасибо
ЗЫ: Такое впечатление что проблема не софтверная а аппаратная - но в чем, не могу найти!
Sandr, в эту тему заглядовали? Видимо нет. Там же ссылка и на свежие ядра http://sourceforge.net/projects/ard-core13/files/ и на то как шить
указанная мною ссылка №3 ведет на тему именно по этой библиотеке
Бьюсь именно над ней последние 2 часа! :(
И вот основной мой вопрос - а Attiny13A-PU (20МГц), шьется на какой частоте?
Sandr, что тут биться? Какие там вообще могут быть проблемы, ума не приложу. Зашиваете скетч ардуино isp, подсоединяете тиню на 6 проводках, затем в новом окне ардуино isp выбираете программатор -arduino ISP, выбираете плату тини13 9,6 МГц, вставляете скетч для тини, жмёте кнопку "вгрузить", и готово! ARDUINO ISP шьёт не быстро, клоки порядка 125kHz.
Кратко - все дело в "avrdude: stk500_recv(): programmer is not responding"
Как оказалось Leonardo и протокол stk500v1 несовместимы ....
А более подробно - поеду в предложенную Вами параллельную тему
Здравствуйте.
Я буду питать Attiny13 от 18650, то есть 3,7 - 4,2 Вольт.
Мне частоты в 1,2 МГц будет достаточно.
Что мне делать с питанием? Подключать напрямую или через DC-DC уменьшать?
Что мне делать с питанием? Подключать напрямую или через DC-DC уменьшать?
я бы подключил напрямую...ядро microCore?
Смотря какие цели. Если потребление, то я бы выбрал 4,8 или 9,6 и слип.
Что мне делать с питанием? Подключать напрямую или через DC-DC уменьшать?
я бы подключил напрямую...ядро microCore?
Нет. Ядро другое. Даже не помню откуда брала.
Установила и MicroCore (в ней смотрю функционал больше)
Можете подсказать про эти пункты?
Зачем выбирать напряжение? BOD
Что там про еепром и что за расчёт времени
Смотря какие цели. Если потребление, то я бы выбрал 4,8 или 9,6 и слип.
При входном сигнале моргание с определённой периодичностью.
В идеале спать до наступления прерывания", выполнить алгоритм моргания и опять уйти в сон.
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:
В моём случае выбираю 2,7 Вольт
Если моргать из powerdown, тогда частота без разницы.
2.7 нормально но литий ниже 3 вольт аккумулятор на выброс
Нет. Ядро другое. Даже не помню откуда брала.
видимо отсюда ядро брали
Да, точно.
так что измерение напряжения питания придётся делать, при 3.3 вольта - обесточивать, но перед этим как-то сообщить о пороговом напряжении
microCore в протеусе почему-то таймер не работает.
microCore в протеусе почему-то таймер не работает.
а фактически?
Фактически работает, только не засекала точность, а то у меня была проблема такая, уже обсуждали на форуме)