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

 
 
> Измерение рабочей частоты микроконтроллера, Как увидеть осциллографом или измерить тактовую частоту микроконтрол
Diaskop
сообщение Feb 25 2008, 14:59
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 15-11-07
Из: Винница, Украина
Пользователь №: 32 361



ATtiny13 при программировании установлены "Divide clock by 8", "Clock option CKSEL=10, SUT=10", и CLKPS0=1,CLKPS2=1. Т.е. частота 9,6 мГц : на 8 =1,2мГц и 1,2мГц : на 36=37,5 кГц. Как мне увидеть осциллографом или измерить тактовую частоту микроконтроллера? При программировании в режиме ШИМ (PWM - CTC) и установке OCR0A=0x0, т.е. срабатывание без задержки, выходная частота =~7 кГц.
Спасибо

Сообщение отредактировал Diaskop - Feb 25 2008, 15:02
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Diaskop
сообщение Feb 26 2008, 15:00
Сообщение #2





Группа: Новичок
Сообщений: 3
Регистрация: 15-11-07
Из: Винница, Украина
Пользователь №: 32 361



Вопрос решен, все чудесно работает. Естественно XTAL отсутствует, а измерят частоту надо все же через ШИМ и вести подсчет определенного числа импульсов в T0. Всем спасибо, тема закрыта.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Feb 26 2008, 15:09
Сообщение #3


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(Diaskop @ Feb 26 2008, 15:00) *
Вопрос решен, все чудесно работает. Естественно XTAL отсутствует, а измерят частоту надо все же через ШИМ и вести подсчет определенного числа импульсов в T0. Всем спасибо, тема закрыта

Надо бы объяснить общественности, где ошибка, чтобы будущие читатели могли понять, где была собака зарыта, в смысле, где была ошибка, а уж потом закрывать тему. Кстати, какой подсчёт импульсов в T0, о чём вы говорите?


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Diaskop
сообщение Feb 27 2008, 07:46
Сообщение #4





Группа: Новичок
Сообщений: 3
Регистрация: 15-11-07
Из: Винница, Украина
Пользователь №: 32 361



Цитата(=GM= @ Feb 26 2008, 18:09) *
Надо бы объяснить общественности, где ошибка, чтобы будущие читатели могли понять, где была собака зарыта, в смысле, где была ошибка, а уж потом закрывать тему. Кстати, какой подсчёт импульсов в T0, о чём вы говорите?


Таймер T0 обладает тремя режимами ШИМ (Normal, CTC, Fast PWM ). В режиме СТС тактовые импульсы подаются напрямую на таймер и значение регистра таймера непрерывно сравнивается с значением записанным программно в регистр OCR0A. При достижении счетчика таймера значения регистра OCR0A изменяется значение на выходе, таймер сбрасывается и все начинается сначала. Программно надо разрешить выход таймера на PB0 ( OC0A-это и есть прямой выход таймера). Практически получается делитель тактовой частоты на значение записанное в OCR0A.

У меня была проблема в том, что я видел и мог программно менять выходную частоту, но она была очень низкой. ОШИБКА сидела в программаторе. Я использую ELNEC и в рабочих опциях не стояла птица в клеточке "Device configuration (Lock & Fuses)", т.е. контроллер работал на низкой частоте, которая еще и делилась.

Некоторые предлагали простой на первый взгляд вариант: вкл. и выкл. в цикле выход (дергать выход). Напишите эту прогу на С и затем посмотрите её вид в ассемблере, там компилятор встраивает ещё кучу переходов, т.е. частоту не измерить.
Go to the top of the page
 
+Quote Post
aleksey_g
сообщение Feb 27 2008, 08:16
Сообщение #5


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

Группа: Свой
Сообщений: 151
Регистрация: 11-01-06
Из: Украина Ровно
Пользователь №: 13 066



Цитата(Diaskop @ Feb 27 2008, 09:46) *
Некоторые предлагали простой на первый взгляд вариант: вкл. и выкл. в цикле выход (дергать выход). Напишите эту прогу на С и затем посмотрите её вид в ассемблере, там компилятор встраивает ещё кучу переходов, т.е. частоту не измерить.


Да пусть он хоть миллион переходов вставляет, аврстудия точно покажет кол-во тактов от любого до любого места в программе, если не хотите сами посчитать по асм-листингу. А зная кол-во тактов и время их выполнения по осциллографу или частотомеру - простой арифметикой узнаете частоту тактирования.
Неужели это так сложно для понимания?

Естественно, если эта программа без ветвлений, зависящих от внешних воздействий или прерываний...
Go to the top of the page
 
+Quote Post



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

 


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


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