astral_ 0 17 августа, 2022 Опубликовано 17 августа, 2022 · Жалоба Я решил стабилизировать частоту МК кварцевым резонатором, т.к. она со временем уменьшается, в программе указал частоту 4МГц, выставил фьюзы как указано для этой частоты 1110, в протеусе схема не работает при подключении кварца (в настройках МК я выбрал работу от внешнего кварца и указал частоту), программатор прошивает, но схема также не работает, в чем может быть причина? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 140 18 августа, 2022 Опубликовано 18 августа, 2022 · Жалоба 10 часов назад, astral_ сказал: программатор прошивает, но схема также не работает, в чем может быть причина? Например, вы забыли повесить на кварц конденсаторы. Или ваш программатор воспринимает галочку как ноль, а ее отсутствие - как 1 (PonyProg этим страдал, чуть ли каждую неделю лет пятнадцать назад тут кто-нибудь плакался) и вы вместо 1110 записали 0001, что соответствует внутреннему RC-генератору на 1 МГц. К тому же CKSEL=0 рекомендован для керамического резонатора, для кварца производитель рекомендует CKSEL = 1. А вообще "схема не работает" слишком неконкретно. Рассказывайте подробнее - что вы хотите получить, что наблюдаете, что за программу вы заливаете, какой программатор используете и т.п. Программатор прошивает только один раз? Если бы вы правильно запрограммировали CKSEL на кварц и кварц не работал бы - после сброса последовательный программатор больше не смог бы подключиться к процессору. Или вы используете высоковольтный параллельный программатор? Пока будем по-умолчанию предполагать последовательный программатор, значит либо вы неправильно прошиваете CKSEL и контроллер у вас продолжает работать от внутреннего RC, либо кварц работает и дело в вашей программе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
astral_ 0 18 августа, 2022 Опубликовано 18 августа, 2022 · Жалоба 27 minutes ago, Сергей Борщ said: Конденсаторы висят, фьюзы прямые, 1111 я тоже пробовал, использую программатор ISP, мк Atmega8. Программа работала, но частота была не стабильна, я просто добавил кварц на 4МГц и в программе изменил частоту. Я слышал, что если выставить фьюзы для внешнего кварца, а кварц не подключить к МК, то при попытке его прошить будет ошибка, у меня же программа нормально записывается, МК ничего не выдает, также не работает и в протеусе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 140 18 августа, 2022 Опубликовано 18 августа, 2022 · Жалоба 1 час назад, astral_ сказал: программатор ISP А программа какая им управляет? 1 час назад, astral_ сказал: если выставить фьюзы для внешнего кварца, а кварц не подключить к МК, то при попытке его прошить будет ошибка, у меня же программа нормально записывается Я все-таки недопонял - вы прошили CKSEL для кварца и после этого, с физически отключенным кварцем он у вас все равно прошивается? Значит CRSEL не прошились или прошились неправильно - у вас идет тактирование от внутреннего RC. Или вы не пробовали с отключенным кварцем? Так попробуйте - отпаяйте его или просто замкните его ноги пинцетом. Чудес же не бывает. Прочитайте CKSEL - в них действительно то, что вы хотели записать? 1 час назад, astral_ сказал: МК ничего не выдает Значит программа где-то зацикливается. Может не успевает что-то сделать и его сбрасывает сторожевая собака (watchdog timer). Может вы вместе с CKSEL прописали WDTON и не сбрасываете собаку - тогда через 16 мс она сработает и все начнется с начала. Телепатировать можно до бесконечности. 1 час назад, astral_ сказал: также не работает и в протеусе С протеусом не работал, но этого не понимаю - как программа может не работать? Контроллер не работает только в трех случаях - когда нет питания, когда снаружи прижата нога сброса и когда на него не подается тактирование. В симуляторе ни одно из этих условий не выполняется, он в любом случае должен исполнять какие-то ассемблерные команды. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
astral_ 0 18 августа, 2022 Опубликовано 18 августа, 2022 · Жалоба 27 minutes ago, Сергей Борщ said: А программа какая им управляет? Я все-таки недопонял - вы прошили CKSEL для кварца и после этого, с физически отключенным кварцем он у вас все равно прошивается? Значит CRSEL не прошились или прошились неправильно - у вас идет тактирование от внутреннего RC. Или вы не пробовали с отключенным кварцем? Так попробуйте - отпаяйте его или просто замкните его ноги пинцетом. Чудес же не бывает. Прочитайте CKSEL - в них действительно то, что вы хотели записать? Прошиваю с помощью AVRDUDE. Я не прошивал без кварца, я хотел сказать, что если прошивка прошла без ошибок, то значит МК видит кварц и как-бы схема должна работать. Я замкнул контакты кварца и при попытке прошить была ошибка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 140 18 августа, 2022 Опубликовано 18 августа, 2022 · Жалоба 11 минут назад, astral_ сказал: Я замкнул контакты кварца и при попытке прошить была ошибка. Воооот. Значит таки ваш контроллер работает от кварца, но пока непонятно, чем занимается. Тогда читайте, что я написал про WDTON. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
astral_ 0 18 августа, 2022 Опубликовано 18 августа, 2022 · Жалоба 26 minutes ago, Сергей Борщ said: Воооот. Значит таки ваш контроллер работает от кварца, но пока непонятно, чем занимается. Тогда читайте, что я написал про WDTON. WDTON установлен в 1, как и раньше, когда МК работал без кварца. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 140 18 августа, 2022 Опубликовано 18 августа, 2022 · Жалоба Тогда что-то в программе. Протеус позволяет выполнять программу по ассемблерным командам? Скорее всего - да, вот и пройдите начиная от вектора сброса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bvn123 0 23 августа, 2022 Опубликовано 23 августа, 2022 · Жалоба On 8/18/2022 at 1:26 PM, Сергей Борщ said: Воооот. Значит таки ваш контроллер работает от кварца, но пока непонятно, чем занимается. Тогда читайте, что я написал про WDTON. или продолжает работать от внутреннего генератора, если фьюзы, как Вы писали, воспринялись некорректно. напишите простую тестовую программу - изменение состояния на каком-то выводе МК, чтобы можно было контролировать его визуально, подключив светодиод с резистором или тестер, например, около раза в секунду при состоянии фьюзов по умолчанию - тогда работает внутренний RC генератор, тактовая частота 1МГц. убедитесь в работе МК со светодиодом, подключите кварц, измените фьюзы при той же программе - с работающим кварцем 4МГц светодиод замигает вчетверо чаще; если частота мигания прежняя - продолжает работать RC-генератор, смотрите правильность фьюзов, если светодиод не мигает, но программируется - проверяйте подключение кварца, его целостность уверены ли, что кварц не треснул при ударе/не повредился при пайке и т.д? для уверенности кварц на длинных выводах можно проверить в другом устройстве и впаять для начала на длинных выводах и если сомнения в восприятии фьюзов, старший байт не трогайте - там запрет последовательного программирования по SPI, можно вогнать МК в режим, из которого выход только через параллельное программирование; в нем же WDT - если в программе пока отказаться от управления WDT, он и сбрасывать не будет при ознакомлении с новым МК или программатором полезно считать состояние фьюзов до их изменения, записать их, сравнить с состоянием по умолчанию из документации, убедиться, как именно программатор их отображает. при работающем кварце на выводе XTAL2 сигнал можно смотреть осциллографом, проверять хлопотно, но думаю, при неверно выбранных фьюзах генератор не запустится. то же при дефекте пайки или кварца. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 140 23 августа, 2022 Опубликовано 23 августа, 2022 · Жалоба 1 час назад, bvn123 сказал: или продолжает работать от внутреннего генератора, если фьюзы, как Вы писали, воспринялись некорректно. Он закорачивал кварц пинцетом, контроллер при этом перестает прошиваться. Значит работает от кварца. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
codenamehawk 0 24 августа, 2022 Опубликовано 24 августа, 2022 · Жалоба Выложите все(проект протеуса и исходники), протеус установлен, посмотрю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
astral_ 0 24 августа, 2022 Опубликовано 24 августа, 2022 · Жалоба On 8/23/2022 at 9:04 AM, bvn123 said: напишите простую тестовую программу - изменение состояния на каком-то выводе МК, чтобы можно было контролировать его визуально, подключив светодиод с резистором или тестер, Тестовую программу я попробую и проверю сигнал осциллографом, когда сделаю отдельную плату для тестов. Но пока программа не работает даже в Протеусе, с ассемблерными командами я еще не разобрался и непонятно в каком месте ошибка. Схема не работает при подключении кварца, него работает, значит в самой программе не должно быть ошибки. 6 hours ago, codenamehawk said: Выложите все(проект протеуса и исходники), протеус установлен, посмотрю. программа.zip Proteus.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
codenamehawk 0 31 августа, 2022 Опубликовано 31 августа, 2022 · Жалоба Я вам написал, какие файлы надо выложить, а вы что выложили? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
codenamehawk 0 31 августа, 2022 Опубликовано 31 августа, 2022 (изменено) · Жалоба Вас не смущает #define F_CPU 1000000UL ? Все используемые порты надо настроить. Кнопки подключили, а настройки на вход не сделали. В свойствах резисторов поменяйте Analog на Digital, будет быстрее симулировать. Изменено 31 августа, 2022 пользователем codenamehawk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
astral_ 0 31 августа, 2022 Опубликовано 31 августа, 2022 · Жалоба 3 hours ago, codenamehawk said: Вас не смущает #define F_CPU 1000000UL ? Все используемые порты надо настроить. Кнопки подключили, а настройки на вход не сделали. В свойствах резисторов поменяйте Analog на Digital, будет быстрее симулировать. В программе, которую я выложил, частота почему-то 1 МГц, но я заливал в мк и в Протеус ту, где 4МГц, не работало. Без кварца работает, т.е. дело не в настройках портов, свойства резисторов я поменял, эффекта нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться