Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/51: Рейтинг темы: голосов - 51, средняя оценка - 4.82
ottyus25
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 18
1

Фьюзы atmega328

29.10.2015, 19:26. Просмотров 9785. Ответов 14
Метки нет (Все метки)

Долгое время игрался с ардуино(otmyko328).
Сейчас решил углубиться в изучение данного микроконтроллера.
Знаю, что контроллер программируется программатором, поэтому купил mx usbysp v3.0.

Установил драйвера, спаял переходник с ysp10 на ysp6, скомпилировал в hex простейшую программу мигания светодиодом.
Ииии...
Все работает в 10 раз медленнее..
Проверил фьюзы через Prokysp, она говорит что установлена скорость 8MHz, по факту на плате установлено 16.
В документации указано что нужно сконфигурировать биты CKSEL как 0000. Не помогает.

Что нужно сделать. чтобы правильно выставить частоту кварца? Что я упустил? О чём не знаю?

среда Atmel studyo 6.2

код
#include <avr/io.h>
#define F_CPU 16000000UL //16MHz
#include <util/delay.h>

int main(void) {
DDRB |= 1<<5;
PORTB &= ~1<<5;

while(1) {
PORTB |= 1<<5;
_delay_ms(1000);
PORTB &= ~1<<5;
_delay_ms(1000);
}
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2015, 19:26
Ответы с готовыми решениями:

ATmega328 и proteus
Привет, только начал осваивать proteus, сделал схему ATmega328 + LED. void loop() { ...

Atmega328-PU прошить
Собрал намедни ардуино совместимую плату с Atmego328-PU. При прошивке его &quot;параллельным&quot;...

UART (ATMega328)
Добрый день всем. Я не могу добиться нормальной работы UART Atmega 328p. (Для Atmega8 разобрался и...

SPI в Atmega328
Помогите разобраться с SPI! Схему собрал и проверил загрузив Ардуиновский код - все работает. А вот...

Начало работы с atmega328
Здравствуйте, помогите подобрать программатор для прошивки otmyko328P. Интересует, сколько стоит,...

14
Kmusmos
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 137
29.10.2015, 20:12 2
Включен делитель на 8 ?
0
oxytt
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 4,224
29.10.2015, 21:09 3
Похоже у вас не распрограмирован CKDIV8, он с завода идёт запрограммированный
Если тактирование от внешнего кварца то надо фьюзами выбрать внешний кварц.
В интернете полно калькуляторов фьюзов, чтобы не пытаться самому ручками побитно собирать
Я пользуюсь калькулятором студии от атмела
Главное не сбрасывайте последовательное программирование и не программируйте RSTDISBL, иначе камень умрет и вашим программатором его уже не оживить
0
ottyus25
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 18
01.11.2015, 15:39 4
Цитата Сообщение от Kmusmos
Включен делитель на 8 ?
Нет, не выставлял.

Цитата Сообщение от Kmusmos
не программируйте RSTDISBL
По всей видимости я молодец, т.к. Prokysp больше не видит камень, при том, что spi подключен правильно.

Ладно, в закромах еще stm32 лежит. поиграюсь с ней
0
kytikot
0 / 0 / 1
Регистрация: 27.01.2010
Сообщений: 3,435
01.11.2015, 20:57 5
Большинство программаторов (Prokysp тоже) не дадут просто так перезаписать этот фуз RSTDSBL.
0
SOKPOWIHIU
0 / 0 / 0
Регистрация: 11.07.2014
Сообщений: 116
01.11.2015, 23:01 6
Скорее фузы CKSEL были честно выставлено в 0000, то есть от внешнего генератора, вместо 1111, от кварца. Можно попробовать подать на XTAL1 меиндр частотой 1-20 МГц (меньше программатор может не понять).
Я видел, как не давали прошить SPIen, а RSTdisable не мешали, но это скорее от софта зависит, чем от программатора.
0
ottyus25
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 18
02.11.2015, 11:46 7
Цитата Сообщение от SGE
IAR для STM32
Ок, буду смотеть.
Спасибо
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
02.11.2015, 19:19 8
Интересно старые технологии относятся к ARM , они ведь тоже по технологии RISC. Так что ottyus25 бросай это дело пока не втянулся 10-15 лет и всё.
0
Pryzrok_kommumyzmo
0 / 0 / 0
Регистрация: 13.10.2015
Сообщений: 54
30.12.2016, 19:21 9
Здравствуйте и с наступающим всех! Решил написать свой вопрос сюда, так как для новой темы он маловат, а спросить надо:
Собрал я устройство на Atmego328-MU. Устройство шибко мелкое, по этому рядом с мелким МК надо было поставить такой же мелкий кварц. Но тут ограничение: меньше кварц-больше частота. А у меня питание от 3.3 В контроллера. При этом больше чем на 10 МГц МК работать не сможет. Так я прочитал в даташите. Но ещё я прочитал про fuse биты, среди которых есть CKDIV8. Он должен вроде как делить входную частоту от кварца на 8. Вот и супер, подумал я, и воткнул миниатюрный кварц на 32 МГц, думая что с использованием этого фьюза смогу в итоге выдать на МК 4 МГц. Развёл, собрал а теперь что то боюсь выставлять тактирование от кварца по такой причине:
А не имелось ли в виду в даташите, что при питании 3.3 В на МК в принципе внешне нельзя подавать больше 10 МГц? То есть отработает ли схема деления в моём случае? И вообще чем сулит на пример если я забуду выставить фьюз бит и подам на МК 32 МГц? Он сгорит? Или просто работать будет плохо?
Чувствую, подобное можно только из опыта узнать, заранее спасибо.
0
Kitvym
0 / 0 / 0
Регистрация: 07.08.2016
Сообщений: 432
31.12.2016, 03:37 10
Цитата Сообщение от Pryzrok_kommumyzmo
А у меня питание от 3.3 В контроллера. При этом больше чем на 10 МГц МК работать не сможет.
С чего Вы взяли? В ДШ сказано, что при 3.3 В он может стабильно работать на 14 МГц.

Цитата Сообщение от Pryzrok_kommumyzmo
Но тут ограничение: меньше кварц-больше частота.
На 8 На 12

Цитата Сообщение от Pryzrok_kommumyzmo
А не имелось ли в виду в даташите, что при питании 3.3 В на МК в принципе внешне нельзя подавать больше 10 МГц? То есть отработает ли схема деления в моём случае? И вообще чем сулит на пример если я забуду выставить фьюз бит и подам на МК 32 МГц? Он сгорит? Или просто работать будет плохо?
Погуглите на тему "Разгон AVR". Кварц на 32 МГц может просто не запустится. Если тактировать с такой частотой МК (т.е. CLKPR = 0), то вероятнее всего будет глючить.
0
Pryzrok_kommumyzmo
0 / 0 / 0
Регистрация: 13.10.2015
Сообщений: 54
31.12.2016, 15:11 11
Цитата Сообщение от Kitvym
С чего Вы взяли? В ДШ сказано, что при 3.3 В он может стабильно работать на 14 МГц.
Согласен, ошибся на 4 МГц, но сути дела это не меняет.
Цитата Сообщение от Kitvym
Я в курсе. что есть кварцы в мелких корпусах на приемлемую частоту. Мне просто надо было собирать побыстрее девайс и по этому я воткнул кварц, который нашёл в близлежащих нигазах, понадеявшись на фьюз CKDIV8. У меня вопрос, заключается в том, правильно ли я понадеялся и смогу ли я запустить своё устройство от этого кварца с этим фьюзом и питанием 3.3 В?
Про разгон почитал, пишут что в худшем случае МК не будет работать или будет работать через пень-колоду. То есть он может у меня работать теоретически какое то время, а потом перестать, что мне не подходит, по этому прошу просто ответить на первичный вопрос односложно, заработает так, как я сделал, или нет?
Спрашиваю тут, по тому что не хочу потом раскирпичивать МК когда он быть может не запуститься.
0
ztk
0 / 0 / 0
Регистрация: 02.01.2017
Сообщений: 1
06.01.2017, 00:20 12
Доброе время года и дня всем. Уважаемые.
Мой вопрос про фьюзы проверки уровня питания.
У меня есть платочка Arduino Pro Mini, версия 328 5v 16MHz
Хочу, чтобы она заработала от 3.3В. Прочитал в интернете, что для этого надо перешить, отключить фьюзы проверки питания и приводятся примеры:
-U efuse:w:0x07:m
При попытке прошить, дудка(Avrdude) то ли ругается, то ли предупреждает и предлагает вариант для Extendid fuse прописать 0xFF
И действительно, в различных он-лайн калькуляторах для проца 328P, в Extendid фьюзах, только младшие 3 бита отвечают за контроль напряжения(BODLEVEL), а остальные 4 бита вообще свободны и никуда не используются. Почему же тогда везде советуют делать 0x07? Какой смысл выставлять в 0 старшие 4 бита, если они никуда не нужны? Почему не 0xFF, на чeм настаивает дудка? Развейте мои сомнения, пожалуйста, помогите чайнику. Заранее спасибо.
0
Pryzrok_kommumyzmo
0 / 0 / 0
Регистрация: 13.10.2015
Сообщений: 54
10.01.2017, 00:13 13
Будьте добры в подобных вопросах полностью что вы пишите в дудку и что она отвечает. Скопируйте из командной строки.
Ну а по тому что прочёл, раз у вас активны только 3 бита в регистре, то на остальные должно быть элементарно начхать. Их либо не получиться изменить, либо они просто ничего не изменят. Так что я бы забил и писал как придётся. Главное это правильно выставить: 0 - АКТИВНЫЙ УРОВЕНЬ ДЛЯ ФЬЮЗОВ.
0
otix286
0 / 0 / 0
Регистрация: 19.08.2012
Сообщений: 13
10.01.2017, 12:56 14
Цитата Сообщение от ztk
...Прочитал в интернете, что для этого надо перешить, отключить фьюзы проверки питания и приводятся
Этот случай, когда Интернет вреден.. Разве вы не прочитали, что биты отвечающий на контроль питания процессора BODLEVEL и BODIM (включение контроля и установка уровня, 1.8, 2.7 и 4.3), по умолчанию (с завода) ВООБЩЕ никогда не устанавливаются? Нет? В вашем посте есть желание "скопипастить", но не видно желания разобраться, прежде чем что-то там "шить".. А стоило-бы, без этого увы , никак.. Вот вам "ликбез", который может здорово помочь.. Прочитайте внимательно, хотя-бы один раз... там есть отчего можно "сломать голову"... искренне советую.. и все встанет на свои места. :)
0
яверт
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
10.01.2017, 13:36 15
Цитата Сообщение от otix286
Разве вы не прочитали, что биты отвечающий на контроль питания процессора BODLEVEL и BODIM (включение контроля и установка уровня, 1.8, 2.7 и 4.3), по умолчанию (с завода) ВООБЩЕ никогда не устанавливаются? Нет?
У ztk не чистый камень с завода атмел, а уже прошитый загрузчиком ардуины, с установленным BODLEVEL 2.7В.
Этот уровень сделан атмел как раз для 3.3В питания, т.е. можно вполне оставить всё как есть.
0
10.01.2017, 13:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2017, 13:36

Условия в прерываниях ATmega328
Доброго времени суток! Очень странно работают условия во внешнем прерывании. Вот код: ISR...

V-USB, Atmega328 и 16MHz
Здравия желаю, Имеем: Arduino pro mini 16MHz/5V Схема подключения: &lt;Изображение удалено&gt;...

Atmega328, проблемы с АЦП
Здравствуйте, народ. Какие могут быть идеи по следующим симптомам: - всегда 1023 - сам МК...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru