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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> вопрос по 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
Палыч
сообщение 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

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

 


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


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