Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ATmega16/ATmega16A FuseBits
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Potter
Несколько дней бьюсь не могу разобраться в чем дело.

Прошил фьюзы: CKOPT, JTAGEN, BOOTSZ1, BOOTSZ0, SPIEN (который всегда 0). Остальные фьюзы единицы.

К контроллеру подключен кварц на 16 мГц.

ATmega16A с этим набором фьюзов работает, а ATmega16 нет.

Где я ошибся?
kovigor
Цитата(Potter @ Apr 8 2013, 10:00) *
К контроллеру подключен кварц на 16 мГц.

При каком напряжении питания МК ? В даташите написано, каким должно быть напряжение питания для этой частоты. Посмотрите.
И еще, насколько я помню, на 16 МГц могут работать не все AVR ...
P.S. Посмотрел даташит. Для нормальной работы на частоте 16 МГц нужно подать минимум 4В.
Potter
Цитата(kovigor @ Apr 8 2013, 10:31) *
При каком напряжении питания МК ? В даташите написано, каким должно быть напряжение питания для этой частоты. Посмотрите.
И еще, насколько я помню, на 16 МГц могут работать не все AVR ...
P.S. Посмотрел даташит. Для нормальной работы на частоте 16 МГц нужно подать минимум 4В.


Напряжение питания 5,02 В. Питается через стабилизатор 7805.
zhevak
Цитата(Potter @ Apr 8 2013, 14:58) *
Напряжение питания 5,02 В. Питается через стабилизатор 7805.

Уточняющий вопрос: в каком смысле -- "не работает"? На основании каких данных Вы пришли к этомузаключению?

Дело в том, что внутри АВР-ки достаточно много всяких периферийных устройств... Какое из периферийных устройств Вы задействовали? Возможно это устройство в M16 и в M16A имеет различия в наборе регистров или назначением битов в этих регистрах. (Я не утверждаю, я просто выношу это как вариант. С Мегами да-авно не работаю. Детали забываются помаленьку.)

Не пробовали прошить и M16 и в M16A простецкую прогу типа моргания светодиодом?
Potter
Цитата(zhevak @ Apr 8 2013, 12:12) *
Уточняющий вопрос: в каком смысле -- "не работает"? На основании каких данных Вы пришли к этомузаключению?

Дело в том, что внутри АВР-ки достаточно много всяких периферийных устройств... Какое из периферийных устройств Вы задействовали? Возможно это устройство в M16 и в M16A имеет различия в наборе регистров или назначением битов в этих регистрах. (Я не утверждаю, я просто выношу это как вариант. С Мегами да-авно не работаю. Детали забываются помаленьку.)

Не пробовали прошить и M16 и в M16A простецкую прогу типа моргания светодиодом?


Не работает это значит - что после прошития этих фьюзов в PonyProg контроллер ATmega16 перестал определяться вообще. Выдает ошибку "-24".
arttab
могу предположить что ошибка из-за несовпадения сигнатуры меги16а с сигнатурой меги16
Палыч
Цитата(arttab @ Apr 9 2013, 05:01) *
из-за несовпадения сигнатуры...

Нет, не может - сигнатуры у них абсолютно совпадают.
Можно предположить, что у ТС вовсе не mega16, а mega16L, которая на 16МГц работать не может...
arttab
если сигнатура другая, то программаторы могут не шить и могут ругаться, а могут просто выдавать ошибку с не понятным кодом или молчать.

и питание может маловато...
SergeBS
Цитата(Potter @ Apr 8 2013, 14:39) *
Не работает это значит - что после прошития этих фьюзов в PonyProg контроллер ATmega16 перестал определяться вообще. Выдает ошибку "-24".

Самое частое - банально не заводится кварцевый генератор: грязная плата, нет или не те конденсаторы, просто дохлый или малоактивный (подбирать С) кварц. У меня такое было...
Подать внешний такт и еще раз попытаться прочитать. Другой вопрос - откуда подать. Не на всех программаторах есть.

Ежели есть хороший осциллограф - посмотреть выход генератора - есть там что или нет. Как способ самодиагностики - тест-вывод на светодиод на любой лапе меандра. Тогда при ступоре генератора светодиод либо горит ярче, чем положено (постоянно), либо не горит вообще. Замыкаем кварц - срываем генерацию. Если свечение не изменилось - генератор стоял и до закоротки. Если стал гореть ярче или потух - с генератором ОК. Если и не светил, то и мерять не надо - ступор генератора.
Potter
Разобрался.

Я программирую через LPT порт. Шлейф длиной полтора метра. Почти метр шлейфа был скручен по маленькому диаметру спиралькой (для уменьшения длины).

Что самое интересное - ATmega16A прекрасно программируется. ATmega16 перестает работать после прошивания фьюзов (два контроллера прошил). Раскрутил шлейф – ATmega 16 начала нормально работать и программироваться в PonyProg.

Вот такие дела.
ILYAUL
У Вас там не полнолуние случайно? Это бы всё объяснило.
SergeBS
Цитата(Potter @ Apr 16 2013, 08:21) *
Разобрался.
Я программирую через LPT порт.
...
Вот такие дела.

Пресловутые 5 проводков? Ничего удивительного. А еще эта система на диво оригинально себя ведет если тиристором нагрев паяльника регулировать с отсечкой фазы.
Mik174
Цитата(Potter @ Apr 16 2013, 09:21) *
Разобрался.

Я программирую через LPT порт. Шлейф длиной полтора метра. Почти метр шлейфа был скручен по маленькому диаметру спиралькой (для уменьшения длины).

Что самое интересное - ATmega16A прекрасно программируется. ATmega16 перестает работать после прошивания фьюзов (два контроллера прошил). Раскрутил шлейф – ATmega 16 начала нормально работать и программироваться в PonyProg.

Вот такие дела.


Лучше так делать:
Купить удлинитель LPT (он как правило экранированныей и наводок на проводки намного меньше, сигнал лучше сохраняется) и к нему подключить Ваш программатор.
А от него шлейф длиной не более 10-15 см.

Работать будет на порядок надежнее.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.