реклама на сайте
подробности

 
 
> вопрос по CodeVisionAVR, как изменить частоту контроллера
wwweider
сообщение Apr 10 2008, 09:52
Сообщение #1


Местный
***

Группа: Validating
Сообщений: 301
Регистрация: 5-07-07
Пользователь №: 28 894



есть такая минюшка -- коде CodeWizard там вроде бы и нужно менять частоту я меняю, но светодиод быстрее не стал моргать. атмега16+программка

горит диод,
пауза на пустом цикле,
погас диод.



интересует как задавать частоту от внутреннего и от внешнего рц генератора.
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 24)
Палыч
сообщение Apr 10 2008, 09:58
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Wizard генерит правильную программу для указанной частоты. Переключение внутренний RC-генератор/внешний кварц устанавливаются программированием fuses микроконтроллера. Это, конечно, если вопрос был об этом...

Р.S. Поправочка: Wizard генерит правильный исходный текст программы для работы устройств микроконтроллера, который (текст) Вы можите использовать.
Go to the top of the page
 
+Quote Post
Polaris
сообщение Apr 10 2008, 10:06
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964



Цитата(wwweider @ Apr 10 2008, 12:52) *
есть такая минюшка -- коде CodeWizard там вроде бы и нужно менять частоту я меняю, но светодиод быстрее не стал моргать. атмега16+программка

горит диод,
пауза на пустом цикле,
погас диод.
интересует как задавать частоту от внутреннего и от внешнего рц генератора.

В менюшке частота меняется исключительно для расчета пауз для функций задержки (delay_ms) и, грубо говоря, для расчета внутренних частот там, где они нужны (UART, ADC, таймеры, SPI). Частота же реальная задается кварцем, фьюзами, регистром настройки внутреннего осциллятора - зависит от режима работы и конкретной модели микроконтроллера. Предыдущий товарищ уже говорил об этом.
Go to the top of the page
 
+Quote Post
wwweider
сообщение Apr 11 2008, 13:39
Сообщение #4


Местный
***

Группа: Validating
Сообщений: 301
Регистрация: 5-07-07
Пользователь №: 28 894



где взять фьюзы? в дш нету(
Go to the top of the page
 
+Quote Post
Abckur
сообщение Apr 11 2008, 13:55
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 57
Регистрация: 14-03-08
Пользователь №: 35 904



Цитата(wwweider @ Apr 11 2008, 17:39) *
где взять фьюзы? в дш нету(


Именно в даташите они и описаны - номера таблиц там и пример - http://tinyurl.com/ypslqk

Fuse биты AVR - скриншоты установок фьюзов AVR - лучше один раз увидеть.

Сообщение отредактировал Abckur - Apr 11 2008, 13:57
Go to the top of the page
 
+Quote Post
wwweider
сообщение Apr 11 2008, 14:27
Сообщение #6


Местный
***

Группа: Validating
Сообщений: 301
Регистрация: 5-07-07
Пользователь №: 28 894



интересно как люди раньше жили когда авр123 небыло? нехочу я лазить по этой свалке.

спасибо всем, сейчас скачал другой дш, а тот какойто укороченый, подстава вобщим(((

я непонял для чего BOOTSZ фуз

Сообщение отредактировал wwweider - Apr 11 2008, 14:00
Go to the top of the page
 
+Quote Post
Палыч
сообщение Apr 11 2008, 14:40
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



BOOTSZ - длина области памяти, отводимая для Boot Loader'а. Если свой Boot Loader не впихиваете в контроллер, то и не замарачивайтесь.
Go to the top of the page
 
+Quote Post
wwweider
сообщение Apr 11 2008, 14:55
Сообщение #8


Местный
***

Группа: Validating
Сообщений: 301
Регистрация: 5-07-07
Пользователь №: 28 894



спасибо,
теперь такая ситуация.
вывожу на ножку порта а 1 и 0 по очереди...

и что я вижу на осцилографе.. частоту в 8-10 раз меньшую чем я задаю фузами.. а я думал увижу на ноге частоту кварца 1-8мГц.
атмел вроде уверяют что у них за 1 такт одна команда выполняется!
а а получается за 8 тактов(((
Go to the top of the page
 
+Quote Post
Палыч
сообщение Apr 11 2008, 15:14
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Ну - не каждая команда. В даташите есть раздел Instruction Set Summary. в таблице графа - #Clocks. Но, даже если бы и 1 такт - то частота была бы не более F/2. Реально же
OUT =1 - 1 такт
OUT =0 - 1 такт
JMP - 2 такта
итого минимум 4 такта.
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 11 2008, 22:17
Сообщение #10


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(wwweider @ Apr 11 2008, 16:55) *
атмел вроде уверяют что у них за 1 такт одна команда выполняется!

Да, так и есть. Большинство команд за один такт и выполняется.

Цитата
а а получается за 8 тактов(((

Громкие заявления делать не нужно. 99% ошибок - из-за невнимательности.
Перепроверьте свою программу и настройки фузов.
Среди фузов есть такой, который отвечает за деление частоты на 8.
Go to the top of the page
 
+Quote Post
GDI
сообщение Apr 14 2008, 06:22
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Цитата
Среди фузов есть такой, который отвечает за деление частоты на 8

В атмега16 нет такого фьюза.
Цитата
и что я вижу на осцилографе.. частоту в 8-10 раз меньшую чем я задаю фузами.. а я думал увижу на ноге частоту кварца 1-8мГц.

А вы посмотрите ассемблерный листинг который вам сгенерил Кодевижон, там видно какими командами он это сделал и можно прикинуть время выполнения программы, а еще можете попробовать применить оптимизацию по скорости.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
wwweider
сообщение Apr 14 2008, 06:58
Сообщение #12


Местный
***

Группа: Validating
Сообщений: 301
Регистрация: 5-07-07
Пользователь №: 28 894



подскажите как поставить фьюзы для работы уонтроллера на 16МГц с внешним кварцевым резонатором, я припаял 16МГЦ-вый правильно?
Go to the top of the page
 
+Quote Post
Axxel
сообщение Apr 14 2008, 07:30
Сообщение #13


Частый гость
**

Группа: Новичок
Сообщений: 140
Регистрация: 31-01-07
Из: Челябинск
Пользователь №: 24 896



Цитата(wwweider @ Apr 14 2008, 12:58) *
подскажите как поставить фьюзы для работы уонтроллера на 16МГц

Это фьюзы CLKSEL 0...3 и CKPOT.
Страницы 23 и 24 в ДШ


--------------------
Если боишься - не говори. если сказал - не бойся. ©
Go to the top of the page
 
+Quote Post
GDI
сообщение Apr 14 2008, 07:42
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Точные значения надо смотреть в ДШ, но на память скажу, вроде надо все галочки CKSEL в кодевижоне поставить(по умолчанию они все сняты, т.е. настроено на внешний генератор - не вздумайте прошить те что там стоят изначально)


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
wwweider
сообщение Apr 14 2008, 08:33
Сообщение #15


Местный
***

Группа: Validating
Сообщений: 301
Регистрация: 5-07-07
Пользователь №: 28 894



да я это понимаю всё дш читал. но точных данных там не нашёл.
Go to the top of the page
 
+Quote Post
Axxel
сообщение Apr 14 2008, 08:51
Сообщение #16


Частый гость
**

Группа: Новичок
Сообщений: 140
Регистрация: 31-01-07
Из: Челябинск
Пользователь №: 24 896



Цитата(wwweider @ Apr 14 2008, 14:33) *
точных данных там не нашёл.

А это?
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Если боишься - не говори. если сказал - не бойся. ©
Go to the top of the page
 
+Quote Post
wwweider
сообщение Apr 14 2008, 08:56
Сообщение #17


Местный
***

Группа: Validating
Сообщений: 301
Регистрация: 5-07-07
Пользователь №: 28 894



поставил все галочки CKSEL
при первой попытке прошить выдал ошибку
потом першил как были галочки назад заработало
потом поставил опять все галочки прошилось но теперь больше не прошивается!(

да видел я эту таблицу, там опытным путём чтоли одну из трёх комбинаций ставить)
Go to the top of the page
 
+Quote Post
Axxel
сообщение Apr 14 2008, 09:08
Сообщение #18


Частый гость
**

Группа: Новичок
Сообщений: 140
Регистрация: 31-01-07
Из: Челябинск
Пользователь №: 24 896



Цитата(wwweider @ Apr 14 2008, 14:56) *
да видел я эту таблицу, там опытным путём чтоли одну из трёх комбинаций ставить)

Вот так и про CKOPT не забудьте, и про "0"-programmed, "1"-unprogrammed
В общем не должно у вас птичек там стоять ни в CKSEL, ни в CKOPT

Сообщение отредактировал Axxel - Apr 14 2008, 09:13
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Если боишься - не говори. если сказал - не бойся. ©
Go to the top of the page
 
+Quote Post
wwweider
сообщение Apr 16 2008, 07:03
Сообщение #19


Местный
***

Группа: Validating
Сообщений: 301
Регистрация: 5-07-07
Пользователь №: 28 894



поставил, плюс ещё в паралельном програматоре бит spien выставил.
всё заработало но!
кварц поставил 16 мГц, программа:
while(1)
{
PORTA.1=!PORTA.1;

}
выдаёт 1МГц на ножке, что то нето? хотябы 4-8 увидеть бы. получается конроллер неработает на 16 мег? в даташите я вообще понял чтобы на 16 частоту выставить нужно внешний генератор?
Go to the top of the page
 
+Quote Post
vet
сообщение Apr 16 2008, 07:14
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



смотрите ассемблерный листинг, считайте время выполнения всех команд цикла, исходя из известного числа тактов на каждую.


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
Палыч
сообщение Apr 16 2008, 07:26
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(wwweider @ Apr 16 2008, 10:03) *
кварц поставил 16 мГц, ... выдаёт 1МГц на ножке, что то нето? хотябы 4-8 увидеть бы.
Хороший результат! Ваш цикл выполняется всего за 8 тактов. Зачем Вам 4-8 МГц частота? Просто - хочется? Какая конечная цель (задача)? Может, микроконтроллер для Вашей задачи не подходит...
Go to the top of the page
 
+Quote Post
wwweider
сообщение Apr 17 2008, 07:23
Сообщение #22


Местный
***

Группа: Validating
Сообщений: 301
Регистрация: 5-07-07
Пользователь №: 28 894



ну если хороший тогда ладно я спокоен) хотел убедится что выставил на 16мГц

задача брать данные с ацп и писать на флешку по spi желаельно не менее 100кБитперсек

или может другой шустрый процессор посоветуете? что бы я его стк200 мог запрограмить и корпус дип обязательно! люблю сам паять.
Go to the top of the page
 
+Quote Post
vet
сообщение Apr 17 2008, 07:48
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



в любой меге есть аппаратный SPI, работающий на половине тактовой частоты. АЦП - тоже почти во всех.


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
GDI
сообщение Apr 17 2008, 07:56
Сообщение #24


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Цитата
хотел убедится что выставил на 16мГц

Осциллографом посмотрите частоту на кварцевом резонаторе, если бы вы работали от внутреннего генератора, как мега настроена по-умолчанию, то генерации на кварце не было бы.
Цитата
может другой шустрый процессор посоветуете? что бы я его стк200 мог запрограмить

посмотрите, например, на мега168, да и все новые меги работают на частотах до 20МГц


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
wwweider
сообщение Apr 18 2008, 03:45
Сообщение #25


Местный
***

Группа: Validating
Сообщений: 301
Регистрация: 5-07-07
Пользователь №: 28 894



не ну 16 и 20 мГерц небольшая разница, хотелось на парядок ускориться)

а насчёт посмотреть на кварце вообще проблемма осцилограф как то влияет на кварцевый резонатор что контроллер перестаёт работать, причём нетолько на моей схеме, вроде бы и заземление осцилографа убрал. не помогло.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 09:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.016 секунд с 7
ELECTRONIX ©2004-2016