Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/56: Рейтинг темы: голосов - 56, средняя оценка - 4.86
moxruti
1

Atmega16 и внешний сброс

02.02.2014, 11:33. Показов 11586. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
добрый день, помогите разобраться. Есть отладочная плата для Atmega16A с разъемом SPI , светодиодами (+резисторы), кварц 16 МГц (с кондерами 22pF), 7805 с обвязкой и схема сброса - risit подтянут на питание резистором 10КОм, на землю идет кнопка в параллель с конденсатором (керамика, 0,1 мкФ). Плата шьется, запускается, вообщем все работает. На данный момент залита прошивка для мигания светодиодами, проблема вот в чем - включаю питание - светодиоды мигают, нажимаю кнопку для risit - мигание светодиодов пропадает (это и понятно - начинается перезагрузка), а вот потом - тишина, т. е. прошивка заново не стартует, запустить ее удается только перезагрузкой по питанию. Вопрос вот в чем, почему не стартует прошивка после внешнего сброса ?

P.S.
прошу сильно не пинать, т.к. навичек, спасибо.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2014, 11:33
Ответы с готовыми решениями:

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

Сброс настроек / Архивация и Сброс
Samsung Galaxy Note 3 ОС и прошивка: Android 5.0 Описание проблемы: Добрый вечер дамы господа,...

СМА whirlpool awt2288 проц atmega16 прошить, проц atmega16 прошить
есть ли защита от считывания? То есть могу ли я слить прошивку процессора и записать на другой?

нет интернета на компьютере через внешний приёмник внешний wifi
На компьютере стоит RangeBooster USB Adapter внешний приёмник wifi , Windows XP.Сигнал приёма...

Что такое внешний / внешний ключ?
Что такое внешний / внешний ключ? А. Внешний / внешний ключ - это первичный ключ отношения,...

22
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 491
02.02.2014, 12:20 2
Может косяк в кнопке, заедает? Попробуй без неё замкнуть risit на землю.
0
moxruti
02.02.2014, 12:24 3
делал, та же история...
при чем заметил одну особенность - прошиваю новый МК - кнопка сброса работает как надо - прошивка рестартует, далее оставляю плату без питания часа на 2, потом снова включаю питание - получаю вышеописанную проблему - бред конечно, но как есть.........
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,044
02.02.2014, 12:32 4
Попробуйте выпаять кнопку и померить сопротивление между контактами. Это частая проблема тактовых кнопок. Контакты залипают или набивается грязь, и проводит. Отсюда проблемы. Есть еще проще проверка. Берем панельку для МК, на макетку или навесным, самый минимум. Питание, светик, резистор, резистор-конденсатор на ресет. Кварц (хотя можно и внутренним генератором обойтись). У меня как-то был случай. Не заводится с кварца. С внутреннего пожалуйста. Перенес МК на другую плату (макетную, с минимальным обвесом). Выяснилось, что, походу, перегрел кондеры на кварце при пайке. Со временем сдохли.
То есть, если что-то не работает, начинаем проверку с минимума. Например, как в ПК. Убираем все с материнки, последовательно все подключаем и выясняем, что не работает.
0
moxruti
02.02.2014, 12:37 5
попробую с кнопкой.......
по кварцу - хоть с кварцом, хоть с внутренним генератором - все едино - не отрабатывает перезагрузка....
moxruti
02.02.2014, 12:41 6
хотя проблема не в кнопке точно, т.к. при рабочей программе (следовательно кнопка точно не залипла) закорачивал непосредственно ножку RESIT на землю, после этого, диоды гасли, но прошивка не стартовала.
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,044
02.02.2014, 12:47 7
Цитата Сообщение от moxruti
хотя проблема не в кнопке точно, т.к. при рабочей программе (следовательно кнопка точно не залипла) закорачивал непосредственно ножку RESIT на землю, после этого, диоды гасли, но прошивка не стартовала.
Причины:
Аппаратные. Например, смотрим, что на ресете вольтметром мультиметром, осциллом. На кварце не мешало бы поглядеть осциллом. Во фьюзах SCOPT может нужно установить.
Программные: например, вы пользуетесь переменными из ОЗУ. Дело в том, что после включения питания нужно делать очистку ОЗУ. Если этого не делать, после ресета в ОЗУ может быть любое значение. А в программе, скажем, вы исходите из того, что в ОЗУ скажем 0xFF. Ессно, после ресета, при другом значении начнется чехарда.
0
moxruti
02.02.2014, 12:58 8
переменным в программе присваиваю каждый раз значения, например PORTB=0b00000001 или DDRB=0b00000001. Больше никаких переменных нет. SCOPT установлен (в него записан "0"). вопрос как очистить ОЗУ?
По поводу проверок напряжения - нужно посмотреть конечно, доберусь до дома посмотрю.
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 9
02.02.2014, 13:06 9
При отключении программатора ситуация изменяется?
0
moxruti
02.02.2014, 13:09 10
проблема появляется и при:
1. подключен программатор.
2.подключен программатор и блок питания.
3. подключен только блок питания
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
02.02.2014, 13:18 11
странная проблема, конечно, попробуйте ещё с внешним генератором.

ощущение, что всё-таки тактовый генератор не стартует, хотя вы пишете, что от внутреннего тоже не работает.

а на кварце осцилляции есть? осциллограф есть под рукой?
0
moxruti
02.02.2014, 13:18 12
вот схема, может кто, что подскажет (sprymt-layout). это печатная плата, но элементы подписаны.


./styles/iosyitistromyss/imageset/icon_topys_attach.gif" width="14" height="18
[128.09 Кб]
moxruti
02.02.2014, 13:19 13
осцилографа нет
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
02.02.2014, 13:25 14
Цитата Сообщение от moxruti
помогите разобраться.
... ...
включаю питание - светодиоды мигают, нажимаю кнопку для risit - мигание светодиодов пропадает (это и понятно - начинается перезагрузка), а вот потом - тишина, т. е. прошивка заново не стартует, запустить ее удается только перезагрузкой по питанию.
Попробуйте включить контрольный светодиод ДО входа программы в "мигательный" цикл. То есть сразу после инициализации светодиодного порта. А лучше - два светодиода в противофазе, один включИте, другой одновременно выключите. После этого в программе вставьте пустой цикл while(1); .
0
moxruti
03.02.2014, 02:30 15
итак, при нормальной работе напряжение между RESIT и GND - 4.98 В. При сбросе (нажатие на кнопку) - напряжение между RESIT и GND плавно падает (примерно 0.7 секунда) до 0.01 В, после отпускания кнопки плавно (примерно 0.7 сек) нарастает до 4.98 в.
Обвязка L7805CV - кондер на входе (керамика) - 0,33 mkF, на выходе - та же карамика - 0,1 mkF.

выпаял внешний кварц, выпаял его кондеры, перенастроил на работу внутреннего генератора (1 МГц) -все равно на risit не реагирует - так же не стартует прошивка. Стартует только если перезагружаешь по питанию....
moxruti
03.02.2014, 03:03 16
еще одно замечание, если выставить SUT10:00, то при risit один раз моргает (тускло тускло) светодиод, но дальше тишина (а должен моргать непрерывно, как после перезагрузки по питанию)
moxruti
03.02.2014, 03:35 17
УРА !!!!! Победил. Итак проблема была в max232 (см. вложенную плату выше), а именно:
я не замыкал питание на микросхему (есть перемычка) и и не замыкал порты RXD и TXD (тоже есть перемычки). Как только все перемычки поставил - все заработало.
Мои думки: MAX232 все время висела на земле (без питания и без RXD и TXD) - вот это и влияло (скорее влияло именно отсутствие питания). Надо было просо предусмотреть перемычку между землей и max232 (чтобы ее млжно было отключить полностью)
moxruti
03.02.2014, 04:19 18
всем, кто со мной возился тут - огромное спасибо
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
03.02.2014, 12:58 19
Цитата Сообщение от moxruti
Мои думки: MAX232 все время висела на земле (без питания и без RXD и TXD) - вот это и влияло (скорее влияло именно отсутствие питания).
Да ну, фантастика это. Если микросхема всего одной земляной точкой была присоединена - не могла бы она наделать такого переполоха.
0
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 21
03.02.2014, 21:56 20
Цитата Сообщение от moxruti
напряжение между RESIT и GND плавно падает (примерно 0.7 секунда) до 0.01 В, после отпускания кнопки плавно (примерно 0.7 сек) нарастает до 4.98 в.
Слышал, что МК при таком плавном нарастании сигнала на ресете может даже не стартануть. Может здесь причина?
0
03.02.2014, 21:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.02.2014, 21:56
Помогаю со студенческими работами здесь

Atmega16 + SD
Дорогие форумчане! Помогите, подскажите пожалуйста с данной задачей. Дино: 1. Плата...

Atmega16
изучаю прерывания, помогите понять что значит в начале памяти программ и в области загрузчика? ...

Atmega16
помогите пожалуйста! есть микроконтроллер atmega16. через ассемблер на PORTC подаем комбинацию...

ATMega16
Привет обитателям данного портала! Я имею микроконтроллер с ATMEGA 16. Также знаю язык C#, но увы я...

UART и atmega16
Здравствуйте. Весь день бодаюсь с такой проблемой. Решил поуправлять мегой с компа. В качестве...

Atmega16 и SSI
Требуется подключить к Atmega16 абсолютный энкодер AS5040 который имеет SSI интерфейс. Подскажите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru