Atmega8. Работа от генератора на 12 МГц
Atmega8. Работа от генератора на 12 МГц
Добрый день!
Припаял к Атмеге8 внешний кварц, на 12 МГц, с конденсаторами по 22 пФ. Фьюзы вроде выставил по науке, CKOPT=0, CKSEL3...0=1110 (см. приложение), однако, работает она явно с гораздо большими задержками, чем от внутреннего на 8 МГц. Подскажите товарищи, в чем может быть дело?
Припаял к Атмеге8 внешний кварц, на 12 МГц, с конденсаторами по 22 пФ. Фьюзы вроде выставил по науке, CKOPT=0, CKSEL3...0=1110 (см. приложение), однако, работает она явно с гораздо большими задержками, чем от внутреннего на 8 МГц. Подскажите товарищи, в чем может быть дело?
- Вложения
-
- fuse.jpg
- (97.27 КБ) 975 скачиваний
- Реклама
- ИС-пытатель
- Вымогатель припоя
- Сообщения: 577
- Зарегистрирован: Ср июн 19, 2013 08:10:48
- Откуда: Москва, СПб, Липецк, Рязань
Re: Atmega8. Работа от генератора на 12 МГц
Попробуй кондеры подобрать. поменьше/побольше
Re: Atmega8. Работа от генератора на 12 МГц
Мне в принципе не нужен высокочастотный кварц, впаял, что под руокй было, просто УАРТ нестабильно работает от внутреннего. Может часовой запаять, не скажется это сильно на производительности?
-
Alkul
- Держит паяльник хвостом
- Сообщения: 933
- Зарегистрирован: Ср апр 13, 2011 11:09:20
- Откуда: Екатеринбург
Re: Atmega8. Работа от генератора на 12 МГц
Я с кодевижном не работал, поэтому не знаю, инверсно там устанавливаются фьюзы, или нет.kushman писал(а):Добрый день!
Припаял к Атмеге8 внешний кварц, на 12 МГц, с конденсаторами по 22 пФ. Фьюзы вроде выставил по науке, CKOPT=0, CKSEL3...0=1110
CKOPT лучше запрограммировать, но тогда у Вас неверно выставлены CKSEL
Фьюзы должны быть такими:
CKSEL3...0=0001, CKOPT=0. Если программатор требует инверсной записи, то CKSEL3...0=1110, CKOPT=1
И конденсаторы поставьте емкостью 15 или 16 пФ, 22 пФ многовато.
Re: Atmega8. Работа от генератора на 12 МГц
Похоже доигрался с фьюзами, поставил CKSEL3…0 = 1001, и все пишет avrprog error entering programming mode.
- Реклама
Re: Atmega8. Работа от генератора на 12 МГц
Подразумевая, в соответствии с DS, под 1 - Незапрограммированный(нет галки) бит, 0-Запрограммированный(галка) бит, Вы перевели mega8 в режим тактирования от часового кварца.
Если наоборот, то mega8 ожидает подключения внешней RC-цепочки.
CKSEL3...0 1111 CKOPT=0.
Спойлер
Спойлер
Для кварца 12МГц биты должны быть выставлены такkushman писал(а):Фьюзы вроде выставил по науке, CKOPT=0, CKSEL3...0=1110
CKSEL3...0 1111 CKOPT=0.
Спойлер
- ИС-пытатель
- Вымогатель припоя
- Сообщения: 577
- Зарегистрирован: Ср июн 19, 2013 08:10:48
- Откуда: Москва, СПб, Липецк, Рязань
Re: Atmega8. Работа от генератора на 12 МГц
В последнем вложении Вы обвели для внутреннего генератора. Для кварца верхние строчки
Re: Atmega8. Работа от генератора на 12 МГц
Нет. В последнем вложении красным обведен вариант с кварцем, верхние строчки для керамики, а это не одно и то же.
- ИС-пытатель
- Вымогатель припоя
- Сообщения: 577
- Зарегистрирован: Ср июн 19, 2013 08:10:48
- Откуда: Москва, СПб, Липецк, Рязань
Re: Atmega8. Работа от генератора на 12 МГц
А, точно! Прошу прощения. Я че-то посчитал, что Crystal - это сам камень, микросхема. )
Re: Atmega8. Работа от генератора на 12 МГц
В том и дело, я припаял часовой кварц, и на фьюзы поставил галочки на CKSEL2 и CKSEL1. В CodeVision, галочки означают нули. Т.е. CKSEL3...0 = 1001.
Но контроллер теперь вообще отказывается программироваться.
Но контроллер теперь вообще отказывается программироваться.
Re: Atmega8. Работа от генератора на 12 МГц
Программатор нужно настроить на максимально низкую частоту обмена. Это возможно?
Re: Atmega8. Работа от генератора на 12 МГц
Вот, блин, спецов развелось. А западло даташит сначала почитать, прежде чем схему паять?kushman писал(а):Мне в принципе не нужен высокочастотный кварц, впаял, что под руокй было, просто УАРТ нестабильно работает от внутреннего. Может часовой запаять, не скажется это сильно на производительности?
И заголовок сменить надо. Ведь речь идёт не о том, как запустить Atmega8 от генератора, а о том, почему неустойчиво работает UART!
А в топике вообще речь идёт не о работе от генератора, а запуске Atmega8 от кварцевого резонатора.
Одно название топика сбивает с толку.
Открываем даташит и читаем раздел по UART. Конкретно - какие значения загрузить в регистры конфигурации. Примеры расчётов там даны.
И ещё один совет - для работы с UART лучше всего подходят кварцы с частотой, кратной 1.8432.
В этом случае UART будет работать идеально.
И ещё одно замечание - Atmeg'и прекрасно запускаются и без кондёров у кварца.
Re: Atmega8. Работа от генератора на 12 МГц
Уверяю Вас, что настроенный на работу от 12МГц UART работает не менее идеально. 
Re: Atmega8. Работа от генератора на 12 МГц
А не надо уверять, Вы ведь не гадалка?akl писал(а):Уверяю Вас, что настроенный на работу от 12МГц UART работает не менее идеально.
Расчёт нужен для выбранной скорости обмена.
Для кварца, кратного 1.8432 связь будет идеальной на любой скорости обмена, а вот для 12 МГц необходимо проверить, удастся ли уложиться в допуск.
Re: Atmega8. Работа от генератора на 12 МГц
Там даны не только примеры расчета, но даже код, который в зависимости от скорости обмена и частоты кварца автоматом расчитывает значения регистров конфигурации, и код этот вполне работает. Но вот незадача в том, что при изменении температуры, UART отказывается корректно работать, и приемное устройство команды не переваривает.
Отсюда и пошла мысль, что в связи с нестабильностью RC-генераторов, неплохо было бы попробовать запустить МК от внешнего кварца. Однако, тут я приплыл
Отсюда и пошла мысль, что в связи с нестабильностью RC-генераторов, неплохо было бы попробовать запустить МК от внешнего кварца. Однако, тут я приплыл
Re: Atmega8. Работа от генератора на 12 МГц
Решение правильное. UART от встроенного RC это не серьезно.kushman писал(а):Отсюда и пошла мысль, что в связи с нестабильностью RC-генераторов, неплохо было бы попробовать запустить МК от внешнего кварца. Однако, тут я приплыл
Идеально - кварц из серии 1.8432*К, но можно использовать и кварцы других частот. Только связь будет не на всех скоростях.
Тактовая частота микроконтроллера должна быть, как минимум, в 4 раза выше тактовой частоты программатора.
МК у Вас программируется?
Re: Atmega8. Работа от генератора на 12 МГц
Нет, МК программироваться отказывается, пишет ошибку (см. выше).
Re: Atmega8. Работа от генератора на 12 МГц
Вернуть кварц 12 МГц на место. Сначала надо оживить МК.kushman писал(а):Нет, МК программироваться отказывается, пишет ошибку (см. выше).
Если МК не запускается с кварцем 12 МГц, подайте через резистор примерно 3кОм на вход XTAL1 внешний тактовый сигнал. Хватит 1 МГц. Можно и выше.
Главное - запустить МК.
- ИС-пытатель
- Вымогатель припоя
- Сообщения: 577
- Зарегистрирован: Ср июн 19, 2013 08:10:48
- Откуда: Москва, СПб, Липецк, Рязань
Re: Atmega8. Работа от генератора на 12 МГц
Прошу прощения, а можно поподробнее? Насколько уходит частота внутреннего генератора контроллера при изменении температуры на 1 градус и на 10 градусов?kushman писал(а):Но вот незадача в том, что при изменении температуры, UART отказывается корректно работать, и приемное устройство команды не переваривает.
Просто я сейчас работаю над одной темой, в которой так же используется UART. Я настаиваю на том, чтобы подключить внешний резонатор (не только для UARTA, а вообще для общей более-менее стабильности временных параметров), но вот мои вышестоящие коллеги рогами упираются в землю - что это, дескать, лишнее. Хотя тема военная и копеечный кварц заметно улучшил бы ее характеристики.
Re: Atmega8. Работа от генератора на 12 МГц
У Ваших коллег проблемы с головой? Тут даже думать нечего. В комнатных условиях не прокатывает.ИС-пытатель писал(а): Хотя тема военная и копеечный кварц заметно улучшил бы ее характеристики.
И изучение чужих мнений только навредит. Не мнения надо собирать, а открывать даташит и рассчитывать (просчитывать) нестабильноть температурную и пр.
Это необходимо делать не только для промышленного применения, а даже для собственного. А тут - военка! Ну, блин, "разработчики".


