|
Странное поведение ATTINY44A, После десятков перешивок |
|
|
|
Apr 8 2011, 11:28
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 11-01-06
Из: Украина Ровно
Пользователь №: 13 066

|
Коллега жалуется на сабж. Делает устройство с батарейным питанием, посему очень критично потребление. Пока отлаживал саму программу, потребление не измерял. Когда все отладил, померял. Оказалось в режиме Power down 200мка. Для CR2032 Это не есть хорошо. Никакие пляски с бубном не приводили к меньшему. Решил, что бракованный чип. Купил новый. Только прошил, замерил- 2мка. Это уже неплохо. Процесс отладки, вылизывания алгоритма... Короче, несколько десятков раз перепрошил. Опять проверил потребление. Те же 200мка. Поднял старую прошивку, с которой было 2. Прошил. - 200! Фьюзы не менялись! Проверено. Проверялось даже на голом контроллере, с полностью отключенным всем, что подключалось. А подключался только жки с контроллером, у которого все ноги только на вход. (TIC 5234) Остается только грешить на увеличение потребления после многократных перепрошивок. Шилось АВРЕАЛ_ом. Может ли такое быть?
|
|
|
|
|
Apr 8 2011, 12:37
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 11-01-06
Из: Украина Ровно
Пользователь №: 13 066

|
Цитата(zhevak @ Apr 8 2011, 14:17)  Есть болтающиеся в воздухе выводы, сконфигурированные на вход? (Сквозные токи входных цепей от наводок.) Разверните неиспользуемые выводы на выход и выведите на них ноль. На это обращалось внимание в первую очередь. Все сделано именно так. Цитата(prottoss @ Apr 8 2011, 14:06)  Логично, что нужно приобрести еще один чип в магазине Есть еще оин чип. Это будет уже третий. Скорее всего так оно и будет. Интересен сам принцип. Неужель процесс перепрограммирования так быстро приводит к деградации кристала с точки зрения потребления? Производитель ведь гарантирует очень болшое количество перепрограммирований и ничего о такой быстрой деградации не говорит! Как тогда работать кристалам с бутлоадером? Просто интересно, никто еще стаким явлением не сталкивался?
|
|
|
|
|
Apr 8 2011, 16:52
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 24-06-09
Из: Беларусь
Пользователь №: 50 607

|
Цитата(aleksey_g @ Apr 8 2011, 14:28)  Остается только грешить на увеличение потребления после многократных перепрошивок. Шилось АВРЕАЛ_ом. Может ли такое быть? По тини44 сказать ничего не могу, но на моей древней макетке с мега88 (ей года 3 точно, перешивается порой много десятков раз в день, суммарно тысяч 10 минимум) - токи потребления только чипа 1 мкА, с вачдогом 7 мкА, с БОДом 25 мкА. Т.е. все по документации В компараторе бит disable стоит? АЦП отключен?
|
|
|
|
|
Apr 8 2011, 18:33
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 11-01-06
Из: Украина Ровно
Пользователь №: 13 066

|
Цитата(niXto @ Apr 8 2011, 18:52)  В компараторе бит disable стоит? АЦП отключен? Стоит. Отключен. Чип распаян на макетку со штыряи. Вымыт спиртом. Эта макетка своими штырями вставляется в (не знаю как называется) приблизительно 15Х20см. другую макетку. Такая пластмассовая с огромным количеством дырочек, в которые вставляются перемычки, микросхемы и все такое. В этой пластмассовой макетке утечек по шинам питания нету. Проверено. Для прверки все из макетки вынималось. Оставался только чип и штыри для программатора. Сейчас уже сомневаюсь на счет резистора на ресете. Но по-моему 2мка было с этим резистором. Этот момент уточно в понедельник, поскольку колега уже ушел домой. Кстати, чип работает от внутреннего генератора. Так что кварца с кондюками тоже нету. Спрашивал, может электролит по питанию течет. Так говорит, что на макетку с чипом кондюков не ставил. Только чип. А потребление проверял на голой пластмассовой. Мистика какая-то. Если рискнет с третьим чипом, будем знать статистику. Но, думаю, он его побережет для единственной прошивки.
|
|
|
|
|
Apr 8 2011, 18:40
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(aleksey_g @ Apr 8 2011, 22:33)  Мистика какая-то.  Действительно мистика. Да, можно было бы предположить деградацию при прошивке, вот только что-то это слишком быстро происходит. И опыт с другими чипами такого не подтверждает (t44 я не использовал). Надо отделить лишнее - все порты на вывод с "0", компаратор отключить, powerdown разрешить, после инициализации портов уйти в sleep с закрытыми прерываниями. И посмотреть, сколько все это будет жрать (само собой, без WDT и BOR). Я вот в чудеса не верю...
|
|
|
|
|
Apr 8 2011, 19:30
|

Частый гость
 
Группа: Участник
Сообщений: 78
Регистрация: 8-12-09
Пользователь №: 54 138

|
Цитата(rx3apf @ Apr 8 2011, 21:40)  Я вот в чудеса не верю... +1 Чудес не бывает. Может индеец Зоркий Глаз не замечает отсутствия 4-й стены? Внимательно посмотрите на свой проект. Када-то ток у Вас течет, и это, скорее всего, не ядро AVR. Советую пойти таким путем: 1. Отключите все внешние цепи. Если это помогло, то найдите порт через которой "утекает" ток. Если нет утечки, то 2. Проверьте PULL-UP на портах включен или нет? Ну, не бывает чудес, чесслово
|
|
|
|
|
Apr 10 2011, 02:28
|
Частый гость
 
Группа: Участник
Сообщений: 97
Регистрация: 24-07-08
Из: Иркутск
Пользователь №: 39 180

|
Цитата(prottoss @ Apr 8 2011, 21:54)  Вы сначала попробуйте, проверьте, потом можно уже грешить на производителя. с atmega88 была нехорошая история, 10шт из одной партии, рабочих только парочка. программатор самодельный avr910 на tiny2313. как проявлялось, у нескольких микросхем не читалось ID, часть не хотела программироваться. и были несколько, ID нормально, программирование, верификацию проходит все в порядке. А устройство не работает, нет признаков жизни. Проверял как рабочей программой, так на короткой тестовой "просто машем ногами". Сами платы в порядке. PS. грешить на Атмел?. микросхемы были россыпью в коробочке. может брак, а может к примеру статикой побили.
Сообщение отредактировал e-serg - Apr 10 2011, 02:38
|
|
|
|
|
Apr 10 2011, 03:07
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(e-serg @ Apr 10 2011, 05:28)  PS. грешить на Атмел?. нет. грешить на это Цитата программатор самодельный avr910 на tiny2313. В свое время насмотрелся на разные чудеса, в виде стертых ID, фузов расставленных случайным образом и тому подобное. Как стал пользоваться исключительно фирменными STK500, JTAG ICEII и AVR Dragon'ом - ни одной проблемы, ни с одним чипом. Автору: вылизывать программы лучше с помощью AVR Dragon'а хотя бы, debugWire рулит. По проблеме - совсем банальную ситуацию рассматривали - может у вас мерялка не так меряет, переключили шкалу на два порядка вниз да забыли случайно, дурное дело нехитрое особенно если используется стрелочный амперметр. LPT программатор - тоже еще одно зло, что-то пожечь шанс очень высок. В процессе программирования страницы флеш достаточно испортить один байт, чтобы ID чипа перестало читаться навсегда.
|
|
|
|
|
Apr 10 2011, 03:33
|
Частый гость
 
Группа: Участник
Сообщений: 97
Регистрация: 24-07-08
Из: Иркутск
Пользователь №: 39 180

|
Цитата(defunct @ Apr 10 2011, 12:07)  нет. грешить на это === его тогда проверил всеми возможными способами, в том числе тиньки в AVR910 менял. Сейчас у меня свой АВР Драгон, а тогда, в той фирме в программаторе отказали, "слишком дорого". Вот и принес домашнюю самоделку. Она, до сих пор у меня рабочая, и иногда тоже помогает.
|
|
|
|
|
Apr 10 2011, 05:45
|

Частый гость
 
Группа: Участник
Сообщений: 78
Регистрация: 8-12-09
Пользователь №: 54 138

|
Уж что-что, а программатор тут точно не виноват. Платы от флюса отмыли? У меня была давно проблема, еще в советские времена - заказали мы с нашего завода на другом партию плат с метализацией. О защитном покрытии (зеленке) тогда мы слышали, но ни разу не видели  Так вот, в этих платах местами соседние дорожки "звонились", как-будто между ними резистор впаян. Мы их и мыли, и процарапывали - нифига не помогло. Такой себе недиэлектрический диэлектрик  Пришлось выбросить. И еще одна история, правда не моя лично. У нас работал товарисч, разрабатывал какие-то усилители на полевиках. Так вот, книфоль оказалась проводником, пока не отмыли тщательно оцетоном, не заработало. Я к тому, что если вы за микроамперы боретесь, то тут все мелочи надо учесть.
|
|
|
|
|
Apr 10 2011, 06:31
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(nk@ @ Apr 10 2011, 08:45)  Уж что-что, а программатор тут точно не виноват. Я бы не был так в этом уверен, особенно если программатор LPTшный и поблизости есть источник помех, например, UPS переключающийся на Boost. Мы также ничего не знаем об адаптере программатора - может его вовсе нет и двухметровый шнур от компа подключаяется непосредственно к МК, тогда испортить МК дело пары-тройки перепрошивок. Пока причина не найдена - ни один вариант нельзя отбрасывать, каким бы нереальным он не казался. Выжимка первого поста: 1. Обнаружена утечка. 2. Смена МК, разовая прошивка - норма. 3. Подгонка программы ( аппартная часть без изменений) - утечка. 4. Возврат на исходную программу из п.2 - утечка.
|
|
|
|
|
Apr 10 2011, 07:12
|

Частый гость
 
Группа: Участник
Сообщений: 78
Регистрация: 8-12-09
Пользователь №: 54 138

|
Цитата(defunct @ Apr 10 2011, 09:31)  Пока причина не найдена - ни один вариант нельзя отбрасывать, каким бы нереальным он не казался. Т.е. Вы предполагаете, имеет место деградация чипов из-за количества перепрограммирования некачественным программатором? Но как это возможно? В чем физика процесса? Все-же, кмк, проблема в чем-то другом.
|
|
|
|
|
Apr 10 2011, 09:06
|

Частый гость
 
Группа: Участник
Сообщений: 78
Регистрация: 8-12-09
Пользователь №: 54 138

|
Меня зацепило и я провел маленький эксперимент. Из стола извлечена плата, над которой производятся отладочные издевательства. Плата с mega16, импульсным стабилизатором 12V->5V, LCD1602, всякая мелочевка... Через TWI подключена QTouch клавиатурка. Все запитано 5V. Контроллер получает питание через ферритовый фильтрик, который отпаян, и вместо него включен тестер. Т.о. мы меряем потребления только контроллера. Чип на этой плате перешивался, думаю не меньше 1000 раз - тк на этой плате отлаживался достаточно большой проект, да еще и не один  Ладно, пусть будет 500. Программатор - честный ATAVRISPmkII. Взял одинн из старых проектов, достаточно увесистый (использовано 82% flash). После инициализации всего железа, в цикле ожидания нажатия клавиши, (при нажатии генерится INT0) вставлен такой код CODE DDRA = 0; All ports - input DDRB = 0; DDRC = 0; DDRD = 0; SFIOR |= 1<<PUD; //disable pull-ups
set_sleep_mode(SLEEP_MODE_PWR_DOWN); sleep_enable(); sei(); sleep_cpu(); sleep_disable();
Теперь результаты: При переходе в слип - ток потребления оказался порядка 30mкA! WTF? Оказалось, ток кушал программатор, при его отключении, ток сразу стал 0,9-1mkA  Может у топикстартера такая-же проблема? Достал из коробки старенький ByteBlasterII - самопальный, LPT. Сделал 50 перепрошивок с помощью avrdude, с полным стиранием. Результат не удивил 0,9-1mkA. Вывод - деградация от количества перепрограммирований не обнаружена.PS: Еще нюанс замечен. При поднесении руки к плате ток начинает расти до 1.2 - 1.3 мкА - очевидно, сказываются наводки на "висящие в воздухе" ноги.
Сообщение отредактировал nk@ - Apr 10 2011, 09:15
|
|
|
|
|
Apr 11 2011, 04:22
|

Частый гость
 
Группа: Участник
Сообщений: 78
Регистрация: 8-12-09
Пользователь №: 54 138

|
Цитата(defunct @ Apr 11 2011, 01:12)  Вывод немного другой. Вот такой: ваш "environment" был свободен от помех и с лично вашим программатором вроде бы проблем нет. Не буду этого отрицать  Плохо, что топикстартер молчит, как рыба об лёд. Гадаем на кофейной (чайной) гуще И все-же никто не отписался о подобной проблеме, значит она не носит массовый характер. Интересно, где-же все-таки собака порылась?
|
|
|
|
|
Apr 11 2011, 07:11
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 11-01-06
Из: Украина Ровно
Пользователь №: 13 066

|
Цитата(nk@ @ Apr 11 2011, 07:22)  Плохо, что топикстартер молчит, как рыба об лёд. Да, действительно, совсем непонятная ситуация. Мне не очень удобно выстуапать от второго лица. Дабы не было "испорченного телефона", предложил коллеге зарегистрироваться и вести диалог от первого лица. Ждем_с.
|
|
|
|
|
Apr 11 2011, 07:55
|
Группа: Новичок
Сообщений: 5
Регистрация: 11-04-11
Пользователь №: 64 284

|
Ребята привет, это я собственно виновник торжества. По возникшим вопросам: программатор на LPT типа ByteBlaster, проблем за ним раньше не замечалось, измерительные приборы брались разные, предел измерений правильный. Питание 3v от батарейки cr2032. Зашит только один фуз для работы от внешнего кварца 8 МГц. Чип голый - кварц да 10к на resetе. Потребление в power down 120мка. Порты пробовал на вход без подтяжки, на вход с подтяжкой, на выход с 0, сути кардинально не меняет. Тестовая программа: CODE #include <stdio.h> #include <inavr.h> #include <iotiny44.h> #include "delay.h"
int main( void ) { PORTA=0x00; DDRA=0xFF;
PORTB=0x00; DDRB=0x0F;
TCCR0A=0x00; TCCR0B=0x00; TCNT0=0x00; OCR0A=0x00; OCR0B=0x00;
TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;
MCUCR=0x00; GIMSK=0x00;
TIMSK0=0x00; TIMSK1=0x00;
USICR=0x00;
ACSR=0x80; ADCSRB=0x00; MCUCR = (1<<SE)|(1<<SM1)|(0<<SM0);
ADCSRA=(0<<ADEN);
delay_s(5);
__sleep(); }
|
|
|
|
|
Apr 11 2011, 18:44
|
Группа: Новичок
Сообщений: 5
Регистрация: 11-04-11
Пользователь №: 64 284

|
Цитата(rx3apf @ Apr 11 2011, 17:46)  Power down ? Ню-ню.... Ребята я в этом деле человек новый, можно сказать случайный, можно по-подробней, что не так. Ткните носом я не обижусь
|
|
|
|
|
Apr 11 2011, 20:09
|
Группа: Новичок
Сообщений: 5
Регистрация: 11-04-11
Пользователь №: 64 284

|
Цитата(ILYAUL @ Apr 11 2011, 22:06)  Найдите таблицу в DS , изучите, и прочтите NOTE10. И потом про fuse Таблицу нащел, ничего нового не увидел, note заканчиваются на 8 (DS doc8183), про фузы говорил выше.
|
|
|
|
|
Apr 11 2011, 21:57
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(vsalex @ Apr 11 2011, 22:44)  Ткните носом я не обижусь  Пардон, это я привык, что указываются только биты, включаемые в "1". Все верно, SM1:SM0 = 10, powerdown (я как-то воспринял это как 11, что уже standby, и очень, кстати, похоже по величине потребления). Так что извиняюсь, поторопился... Цитата(vsalex @ Apr 12 2011, 00:09)  Таблицу нащел, ничего нового не увидел, note заканчиваются на 8 (DS doc8183), про фузы говорил выше. Ревизия "C" ? в 8183С примечания к 20-1 заканчиваются пунктом 10, намекают на BOD. Мимо, пожалуй - там потребление на порядок меньше. Да, и все же - а тактовый генератор реально останавливается ?
Сообщение отредактировал rx3apf - Apr 11 2011, 22:02
|
|
|
|
|
Apr 12 2011, 04:15
|
Группа: Новичок
Сообщений: 5
Регистрация: 11-04-11
Пользователь №: 64 284

|
Цитата(rx3apf @ Apr 12 2011, 00:57)  Да, и все же - а тактовый генератор реально останавливается ? останавливается реально, проверено.
|
|
|
|
|
Apr 13 2011, 05:05
|
Группа: Новичок
Сообщений: 5
Регистрация: 11-04-11
Пользователь №: 64 284

|
Fuses OSCCAL = 84 _LOW = 0x6D CKDIV = 0 CKOUT = 1 SUT = 2 CKSEL = D _HIGH = 0xDF RSTDISBL = 1 DWEN = 1 WDTON = 1 EESAVE = 1 BODLEVEL = 7 _EXT = 0xFF SELFPRGEN = 1
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|