Обсуждаем контроллеры компании Atmel.
Ответить

Re: Attiny85 : заблокирован при покупке

Пт фев 08, 2013 20:06:46

iev91 писал(а):Если нога Ресет используется, то подается +5 вольт на нее одновременно с питанием, а схема запуска сначала проверяет, нет ли на ноге лог.1, и если нет, идет на выполнение программы, а если есть, то переходит в программирование. Вот и всё решение.
!!!??? Это я не прав или это вы ошиблись? По вашим рассуждениям когда на Ресет стоит резистор к +5 вольт то схема уйдет в программирование?
Все схемы с AVR так построены. Может когда на ресет лог ноль, тогда переходит в программирование?
Или получается, что если ресет настроен на работу с портом, то его нельзя использовать как вход?

Re: Attiny85 : заблокирован при покупке

Пт фев 08, 2013 20:30:50

Не придирайтесь, я как пример написал. Можно придумать по-другому. Например, если подано питание не на Vcc, а на ногу Reset, то наступает режим прошивки. Кстати, атмеловские 51 сбрасывались лог.1, а не 0, и в этом случае было удобнее организовать режим программирования, подав на Reset +12v. Я понимаю, что иногда 8 ног это мало, но всё равно какой-то нормальный выход можно придумать.

Re: Attiny85 : заблокирован при покупке

Пт фев 08, 2013 20:37:58

iev91 писал(а):Правильное последовательное программирование надо сделать так:
Просто не понятно кому нужно делать правильное последовательное программирование пользователю, с уже существующим положением дел, или же производители МК должны были так сделать.
iev91 писал(а):Никаких запретов последовательного программирования там быть не должно.
В чем проблема с высоковольтным программированием? В том, что самоучки любители не смогут дома программировать? Так такие продукты делаются точно не для них, а для промышленных масштабов, иначе они бы стоили баснословных денег.
Тем более обойтись без запрета последовательного программирования не получится, представим себе ситуацию, что МК запрограммирован на датчик, который при подаче питания выходит высокий уровень, ну или низкий как в случае с AVR что делает мк? вместо предполагаемой работы входит в режим программирования? Бред.
Последний раз редактировалось vitalik_1984 Пт фев 08, 2013 20:49:43, всего редактировалось 1 раз.

Re: Attiny85 : заблокирован при покупке

Пт фев 08, 2013 20:47:26

Разве что это крик души... Что-то я не вижу чтобы у людей контроллеры портились пачками. На самом деле, все работает - нужно только все делать хотябы с минимальным вниманием и уж точно с пониманием что и почему ты делаешь. держать свой генератор только для того чтобы он был доступен в режме программирования - это ЛИШНЕЕ потребление энергии, которое не позволит контроллеру уменьшить потребляемый ток в спящем режиме. Не понимаю, в чем проблема с генератором? Всегда есть вход тактовых импульсов, если контроллер работает не на внутреннем генераторе и программатор может подавать туда импульсы - в любм режиме контроллер будет получать тактовые импульсы. И то это нужно в крайнем случае, если изначально делать все внимательно - вероятность оказаться в ситуации "X" стремится к нулю.

Re: Attiny85 : заблокирован при покупке

Пт фев 08, 2013 20:53:39

Понятно. Нет, я имел в виду производителя. Пользователю ничего не остаётся, как юзать Fusebit Doctor.
vitalik_1984 писал(а):В чем проблема с высоковольтным программированием? В том, что самоучки любители не смогут дома программировать? Так такие продукты делаются точно не для них, а для промышленных масштабов, иначе они бы стоили баснословных денег.

Но ведь Атмел поимел большой коммерческий успех именно благодаря тому, что позволил юзеру самому шить чип 5-ю проводками, а не покупать программатор. Высоковольтное программирование является единственным выходом для всех 8-ножек (и менее), и организовывается не слишком сложно. В промышленном масштабе выгоднее использовать 14 ног и более. В любом брелке сигнализации стоит. Размеры всегда подгоняются выбором меньшего корпуса. Мы в нашем производстве используем Мега8 и у нас нет проблем, хотя шьем последовательно.

Да, это крик души, после того, как насмотрелся на сообщения о залоченных чипах и когда сам залочил несколько,http://radiokot.ru/forum/viewtopic.php?p=1571578#p1571578 и не потому, что руки не оттуда и извилин мало, а потому что изначально идея ISP была испохаблена исполнением, а позже и исполнителями.

Это только на форумах все бьют себя пяткой в грудь "у меня всё пишется", а с глазу на глаз, если чел слышит слова SPIEN и RSTDISBL, то морщится, как будто у него болит зуб.

Re: Attiny85 : заблокирован при покупке

Сб фев 09, 2013 17:15:31

Специально для тех, кто верит, что, если делать всё правильно, то ничего страшного не может случиться, а если случилось - то руки кривые, привожу отрывок из документации по AtTiny2313.
Изображение

Перевожу: ребята, мы здесь маленько лоханулись, но ничего страшного, вы главное делайте всё аккуратно и не спешите, и у вас всё будет хорошо.

Помню, в своё время Intel отозвал несколько миллионов процессоров с плавающей точкой из-за обнаруженной в них ошибки. Из них девчонки ещё делали серьги. А тут - подумаешь, 8 баксов выкинул.

Re: Attiny85 : заблокирован при покупке

Сб фев 09, 2013 17:43:44

И где здесь правильность? отключили последовательный интерфейс, запретили вывод сброса - ожидаемо обрубили все возможности достучаться до контроллера. Вообще все эти ухищрения делались только с одной целью - съекономить выводы. Когда у тебя есть 100 выводов в корпусе, то даже 5 из них отведенных чисто под программирование по JTAG и отладку не сильно уменьшит количество портов контроллера. Другое дело когда у нас выводов контроллера всего 6, надо как-то использовать их по максимуму одновременно под порты и для программирования. Мегу вон тже залочить довольно легко - запретить вывод сброса и установить задержку включения в ноль. Все, контроллер не имеет возможности определить момент входа в режим программирования. Эти особенности кстати можно использовать с пользой - в прототипах которые уходят на сторону и где не надо давать возможность перепрограммировать прибор. Залил прошивку, залочил и даже возможности легкого считывания прошивки не будет... останется только электронный микроскоп, только хардкор.

Re: Attiny85 : заблокирован при покупке

Сб фев 09, 2013 17:55:38

А чтобы у юзера была больше вероятность угодить в ловушку, значение фьюзов инвертировано. "SPIEN установлен" можно понять как угодно - то ли он 1, то ли он "зашит". Правильно, без кучек по обочинам гулять не интересно.

Re: Attiny85 : заблокирован при покупке

Вт фев 12, 2013 20:50:24

Думаю полезно прочитать про фьюзы в AVR fuse и про программирование микроконтроллеров AVR в кратком курсе - www.proavr.narod.ru/07.htm :beer: и внести в закладки клавишами Ctrl+D :music:

Re: Attiny85 : заблокирован при покупке

Чт фев 14, 2013 07:32:52

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

Я проектировал небольшое портативное устройство (брелок). При нажатии кнопки он должен включиться, произвести некоторые действия и выключиться. Всё время, пока он не активен, он не должен потреблять энергию. Я придумал такую схему на AtTiny25 и двух транзисторах. Идея такая - в начале работы на порт выдается лог.1, открываются оба транзистора и схема встает на самопитание независимо от нажатия кнопки. Когда процессор всё сделал и надо выключиться, подается лог.0, в программе усыпляем процессор, запрешаем прерывания, циклим и т.п. Транзисторы закрываются и схема обесточивается. Всё замечательно.

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

Выход был найден в том, чтобы уменьшить напряжение на затворе VT1 на величину падения на открытом кремниевом диоде. Немного коряво, но ничего лучше я пока не придумал.
Вложения
samopit251.GIF
Работающая схема
(5.44 KiB) Скачиваний: 860
samopit25.GIF
Неудачная схема
(5.04 KiB) Скачиваний: 825

Re: Attiny85 : заблокирован при покупке

Чт фев 14, 2013 10:19:55

iev91 писал(а): Всё время, пока он не активен, он не должен потреблять энергию. Я придумал такую схему на AtTiny25 и двух транзисторах. Идея такая..

Сначала создали себе проблемы, потом героически их преодолели. В power-down mode потребление данного мк может быть 0.1 мкА. Что явно меньше тока саморазряда батареи. Но ваше решение можно применить, наверное, в тех устройствах, где нет возможности организовать спящий режим.

Re: Attiny85 : заблокирован при покупке

Чт фев 14, 2013 11:03:37

Goodefine писал(а):В power-down mode потребление данного мк может быть 0.1 мкА. Что явно меньше тока саморазряда батареи.

А вы сначала померяйте, а потом говорите. Я намерял 2 мкА. И во-вторых, мне надо, чтобы он просыпался от кнопки, которая подает +питание - можно ли выводить его из power-down по любому из PB0...PB2 подачей питания на эту ногу? Я так понял, что нельзя, потому что, чтобы PCINT сработал, должен работать хоть какой-то тактовый генератор - а это значит, надо как минимум включать генератор WDT, а это еще +4.5 мкА, итого 6.5-7 мкА реального потребления постоянно. Плюс поиметь головняк, как сделать, чтобы WDT не сбрасывал проц. Не так-то всё просто.

Re: Attiny85 : заблокирован при покупке

Чт фев 14, 2013 11:56:42

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

Если у вас при заявленном потреблении 0.1мкА контроллер потребляет 2мка - надо ПОЧИСТИТЬ плату от флюса, очень тщательно. убедится что у конденсаторов по цепи питания нет утечек! 1мка - это утечка в 5МОм при 5 вольтах питания, не все приборы даже имеют такое входное сопротивление.
Ну и самое главное - убедится что параллельно контроллеру ничего больше не потребляет батарейку - например недозакрытый транзистор(опять же, речь идет о мегаомах), забытая подтяжка и т.п.

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

Re: Attiny85 : заблокирован при покупке

Чт фев 14, 2013 12:40:59

iev91 писал(а): Я намерял 2 мкА. ..

Ключевое слово "Я" ))) Я намерял, для (тини2313+ds1302) около 300 нА. Для того чтобы добиться 0.1 мкА, нужно грамотно поотключать лишнее в процессе перед сном, подтяжки, таймеры и т.д. Есть даже специальные рекомендации от производителя. Для интереса, поинтересуйтесь, сколько кушает один только BOD, будете приятно удивлены ))

Re: Attiny85 : заблокирован при покупке

Чт фев 14, 2013 14:26:16

Ну я понял, здесь собрались все грамотные специалисты, один я блуждаю. Я хоть схему нарисовал и рассказал, как делаю, а от вас одни полезные советы почитать учебник. Спасибо, друзья, вы мне очень помогли.

Re: Attiny85 : заблокирован при покупке

Чт фев 14, 2013 14:42:55

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

Re: Attiny85 : заблокирован при покупке

Пт фев 15, 2013 00:41:29

iev91 писал(а):которая подает +питание - можно ли выводить его из power-down по любому из PB0...PB2 подачей питания на эту ногу? Я так понял, что нельзя, потому что, чтобы PCINT сработал, должен работать хоть какой-то тактовый генератор.

Бред какой то пишете, неужели так обязательно плюсом управлять, когда встроенное внешнее прерывание по низкому уровню выводит Мк из любого режима сна.Если с кнопкой ничего нельзя изменить, то один транзистор на кнопку проще, чем ваша схема.
И вам уже написали, что нужно все лишние потребления отключить.
Есть много подводных камней. В даташите читал, что некоторые элементы могут остаться включенными, даже в режиме полного сна, если не соблюдаются некоторые условия.(хотя предполагается, что они выключены)
Все подробно можно там же в ДШ почитать.
27.2.4 Rev A
•Too high power down power consumption
•DebugWIRE looses communication when single stepping into interrupts
•PLL not locking
•EEPROM read from application code does not work in Lock Bit Mode 3
•EEPROM read may fail at low supply voltage / low clock frequency
1.Too high power down power consumption
Three situations will lead to a too high power down power consumption. These are:

    –An external clock is selected by fuses, but the I/O PORT is still enabled as an output
    –The EEPROM is read before entering power down.
    –VCC is 4.5 volts or higher.


Problem fix / Workaround

    –When using external clock, avoid setting the clock pin as Output.
    –Do not read the EEPROM if power down power consumption is important.
    –Use VCC lower than 4.5 Volts

Re: Attiny85 : заблокирован при покупке

Чт фев 08, 2018 14:13:39

Всем котам привет. Времени прошло много, но возможно для кого то еще актуально. т.к. решения на просторах инета так и не нашел...
Собственно по теме: Attiny85 : заблокирован при покупке. Все дело в SinaProg! У меня две версии (2.1 и 1.5.5.10) выдают тот же результат что и у автора топика. Есть три программатора для AVR и все три в этой программе не видят фьюзы у Attiny85. Однако фьюзы у Attiny85 без проблем читаются и шьются этими же программаторами в программе ChipBlasterAVR. Любопытно... Запустил AVRDUDEPROG 3.3, который тоже (естественно) является графической оболочкой к AVRDude, и он тоже видит этот чип, его фьюзы и программирует их без проблем. Стало понятно, что дело в конфигурационных файлах SinaProg. В общем сравнив файлы avrdude.conf этих программ - нашел 2 решения.

Решение 1:
в файле avrdude.conf вашей SinaProg с помощью блокнота, а лучше какого нить редактора типа AkelPad, с помощью поиска (в поиск вводим attiny85) находим следующее:

# ATtiny85 has Signature Bytes: 0x1E 0x93 0x08.
memory "signature"
size = 3;
read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
"x x x x x x a1 a0 o o o o o o o o";
;
memory "lock"
size = 1;
write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
"x x x x x x x x 1 1 i i i i i i";
min_write_delay = 9000;
max_write_delay = 9000;
;
перед строками:
min_write_delay = 9000;
max_write_delay = 9000;

вставляете следующее:

read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
"0 0 0 0 0 0 0 0 o o o o o o o o";

То есть весь блок должен выглядеть так:

# ATtiny85 has Signature Bytes: 0x1E 0x93 0x08.
memory "signature"
size = 3;
read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
"x x x x x x a1 a0 o o o o o o o o";
;
memory "lock"
size = 1;
write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
"x x x x x x x x 1 1 i i i i i i";
read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
"0 0 0 0 0 0 0 0 o o o o o o o o";
min_write_delay = 9000;
max_write_delay = 9000;
;

Все. Фьюзы на Вашей 85-й тиньке будут определятся и прошиваться. Но есть и другой вариант ,возможно даже более правильный. Итак,

Решение2:
Скачиваем более свежий AVRDude с сайта разработчика. Я вроде взял последний, 2016 года: http://ftp.acc.umu.se/mirror/gnu.org/sa ... ingw32.zip
Распаковываем архив, там 2 файла: avrdude.exe и avrdude.conf. Находите в папке своей SinaProg эти же файлы, бэкапите их, сменив расширение или переместив в другое место, папку. Скаченные же перемещаете вместо старых в то же место. Будьте внимательны, чтобы ваш архиватор не создал лишних папок. В этой версии конф файла AVRDude этой ошибки нет и все работает нормально с 85-й тинькой. Если кому пригодилось - буду рад) Всем удачи!

Re: Attiny85 : заблокирован при покупке

Пн мар 05, 2018 04:23:58

Спасибо тебе добрый человек!!!
Я весь лоб себе разбил о эту стену. "Фуз-доктор" собрал, USBISP на Атмеге8 в дип корпусе собрал, китайскому ISP прошивку поменял. TL866CS вообще меня послал, отказался читать чип. Смахну "пыль веков с "G540" - он такого контроллера не знает и поддержки производителя давно нет. И ни какие "стирания" не помогали.
А тут такое счастье и всего то третью ночь сижу.


Изображение

Re: Attiny85 : заблокирован при покупке

Чт июл 16, 2020 11:49:13

В общем, пришлось скачать свежую??? дудку и пофиксить её конфиг-файл касательно 85 тиньки "магическим словом". Как только буржуи додумались до такого? Но дальше без казамы програмить пришлось. :(. Потому как она хоть и является по сути дудкиной ГУИ, но не даёт воможности залезть в файл конфигурации avrdude. Ниже ссылка с инфой, что и где поправить нужно. http://magicalworldofdata.tumblr.com/po ... an-arduino У меня рецепт сработал.


Товарищи, та же проблема. Заказал на алике 85. При чтении фьюзов пишет:
avr_read(): error reading address 0x0000
read operation not supported for memory "lock"
avrdude: failed to read all of lock memory, rc=-2

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

Заранее спасибо за ответы
Ответить