Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Mega88 и BOD
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
demiurg_spb
У меня есть стабильно повторяющаяся проблема с BOD Mega88.

Судя по datasheet определены следующие варианты BOD
BODLEVEL[2:0] fuses:
111 {BODLEVEL=7} Disabled
110 {BODLEVEL=6} 1.8 V
101 {BODLEVEL=5} 2.7 V
100 {BODLEVEL=4} 4.3 V
011 {BODLEVEL=3} Reserved
010 {BODLEVEL=2} Reserved
001 {BODLEVEL=1} Reserved
000 {BODLEVEL=0} Reserved

Напряжение питания MCU строго 5V.
Программирую avreal'ом (v1.25rev5) с ключём BODLEVEL=X.
Все зашивается правильно.

При BODLEVEL=4 MCU не стартует вовсе.
При BODLEVEL=5 всё работает.

Я никак не пойму почему Mega88 при питании 5В и BODLEVEL=4 (4.3 V) отказывается работать.
С другими контроллерами M8, M16, M32, M64, M128, M1281 таких проблем никогда не возникало.
Я на AVR собаку съел за ~10 лет, а тут просто тупик.
Может какя особенность есть, о которой я не в курсе.
У кого есть возможность повторите этот эксперимент.
Благодарю за помощь.
Вот выход avreal:
Цитата
Command:
-p1 +mega88 -o1.0000MHz -as -ew -v -fBODLEVEL=4,CKDIV8=ON,CKOUT=OFF,SUT=2,CKSEL=2,BLB1=3,BLB0=3,RSTDISBL=OFF,DWEN=OF
F,WDTON=ON,EESAVE=OFF,BOOTSZ=3,BOOTRST=OFF
Device connected, MEGA88 detected
Chip locked - reading and programming disabled
Device erased
Device connected, MEGA88 detected
....
Programming fuses
New fuses value
OSCCAL = A6
CKDIV = 0
CKOUT = 1
SUT = 2
CKSEL = 2
BLB1 = 3
BLB0 = 3
RSTDISBL = 1
DWEN = 1
WDTON = 0
EESAVE = 1
BODLEVEL = 4
BOOTSZ = 3
BOOTRST = 1
Verifying fuses
passed
gormih
У некоторых атмег есть проблемы с BOD, это известно...
Будем ждать выхода ATMEGA88A - там должны исправить этот баг, если он действительно есть...
SasaVitebsk
Цитата(gormih @ Oct 29 2008, 17:59) *
У некоторых атмег есть проблемы с BOD, это известно...
Будем ждать выхода ATMEGA88A - там должны исправить этот баг, если он действительно есть...

Честное слово кони забирают.
Вчера отгрузили 70 устройств. Давече 110. Мега88 с BOD еа 4.3

Програмировалось тем же AVREALом. Какие баги с BOD????

Что, кое у кого тут есть баги, то это бесспорно. Только 88 тут причём? Сто лет уже выпускается.
defunct
Цитата(demiurg_spb @ Oct 29 2008, 16:59) *
Напряжение питания MCU строго 5V.
Я никак не пойму почему Mega88 при питании 5В и BODLEVEL=4 (4.3 V) отказывается работать.

Чем питаете?
Предлагаю проделать сл. эксперимент.
Запитатать от 3-х пальчиковых батареек (4.5V) с BOD 4.3.
Если заработает - очевидно проблема в пульсациях источника питания.
demiurg_spb
Цитата(defunct @ Oct 29 2008, 19:28) *
Чем питаете?
От компьютера.
У меня STK200 с шинными формирователями и питанием от USB.
Таргет питается от программатора.
Уже много лет так пишу проги для AVR.
И никаких проблем с питанием не возникало.
Цитата(SasaVitebsk @ Oct 29 2008, 18:38) *
Програмировалось тем же AVREALом. Какие баги с BOD????
Напишите пожалуйста Вашу строчку параметров Avreal для настройки fuse bytes.
delamoure
ATmega88V-10AU, питание 3V и BOD 2,7V. Проблем нет.
demiurg_spb
Цитата(delamoure @ Oct 29 2008, 23:03) *
ATmega88V-10AU, питание 3V и BOD 2,7V. Проблем нет.
C BOD 2.7V и у меня проблем нетsmile.gif
delamoure
Я наверное сильно тонко намекнул, что для эксперимента стоит указать полное название чипа.
gormih
Цитата(demiurg_spb @ Oct 29 2008, 22:59) *
Уже много лет так пишу проги для AVR.

За много лет кое что всетаки меняется в схемах формирования питания... Ничто не вечно. Так что совет с батарейным питанием весьма дельный.

Цитата(demiurg_spb @ Oct 29 2008, 22:59) *
От компьютера.
У меня STK200 с шинными формирователями и питанием от USB.

И где все таки у STK200 USB?

Нажмите для просмотра прикрепленного файла
Stanislav_S
Сам сколько раз М88 использовал с разными настройками проблем не было, вернее однажды была проблема с 4,3в ( питание 5В), при очень медленном нарастании питания мега стопорилась. Но правда это было на макетке на соплях и в ненормальном режиме smile.gif
Огурцов
Цитата(SasaVitebsk @ Oct 29 2008, 15:38) *
Програмировалось тем же AVREALом. Какие баги с BOD?

Запрограммироваться с багами BOD может, а работать нет. На режим программирования BOD не влияет. У меня так было - долго по этим граблям прыгал, пока не понял, почему программируется, но не работает.
SasaVitebsk
Цитата(demiurg_spb @ Oct 29 2008, 22:59) *
Напишите пожалуйста Вашу строчку параметров Avreal для настройки fuse bytes.


avreal32 -ab +mega88 -e -w -v -l2 -o1000 -%% hartext.hex -fckdiv=1,cksel=7,bodlevel=4 -p1

Да всё у вас нормально с вашей строчкой. Если посмотреть таблицу уровней, то разброс достаточно сильный. От 4.1 до 4.5. Возможно ножка где-то подкорачивает и проваливает питание.

У меня было на м640 время от времени на перезагрузку шла. Осциллографом не видно было провалов. А изменение BOD сразу устранило проблему. После этого переработали источник и всё исчезло. Видимо очень тонкие выбросы были, которые пролазили и вызывали рестарт.

Чудес не бывает. Разбирайтесь с питанием.
demiurg_spb
Цитата(SasaVitebsk @ Oct 30 2008, 03:59) *
Чудес не бывает. Разбирайтесь с питанием.

Разобрался. AVCC не был запитан - это и была причина.
Спасибо.

И в овет на "И где все таки у STK200 USB?"
У меня STK-200 совместимый программатор собственного изготовления с питанием от USB.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.