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

 
 
> Изучаю архитектуру процессора AVR, Вопросы чайника о принципах работы процессора.
Буратино
сообщение Mar 22 2010, 08:08
Сообщение #1


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

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Разбираюсь с ШИМ у Меги88. Настроил режим "Fast PWM" на таймере 0, по аналогии сделал и на таймере 2, но

на выводе "ОС2B" частота выше в два раза, чем на "ОС0B" и "ОС0A" sad.gif
На "ОС2A" совсем нет ШИМ, уж не знаю с чем это связано, возможно с тем что этот вывод (PB3) имеет альтернативную функцию "MOSI"?

Код
void Timer0_Init(void) {
    TCCR0A |= (1<<COM0B0)|(1<<COM0B1)|(1<<COM0A0)|(1<<COM0A1)|(1<<WGM01)|(1<<WGM00);    /*Инициализация таймера "0" в режим Fast PWM (non-inverting)*/
    TCCR0B &= (1<<WGM02);
    
    TCCR0B |= (1<<CS02);
    TCCR2B &= ~((1<<CS00)|(1<<CS01));
    
    TCNT0 = 0x00;        
    OCR0A = 0x20;
    OCR0B = 0x20;
}

void Timer2_Init(void) {
    TCCR2A |= (1<<COM2B0)|(1<<COM2B1)|(1<<COM2A0)|(1<<COM2A1)|(1<<WGM21)|(1<<WGM20);    /*Инициализация таймера "2" в режим Fast PWM (non-inverting)*/
    TCCR2B &= (1<<WGM22);

    TCCR2B |= (1<<CS22);
    TCCR2B &= ~((1<<CS20)|(1<<CS21));

    TCNT2 = 0x00;        
    OCR2A = 0x20;
    OCR2B = 0x20;
}



Посмотрите всевидящим оком, в чем может быть причина?

Еще я подметил что на 157й страничке даташита "ATmega48/88/168" ошибки в таблице 17-8 "Waveform Generation Mode Bit Description". Там, в шапке, биты странно названы, не так как в том месте где указывается их расположение в байте конфигурации. Ну или я что-то не так понял?

Спасибо!


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
smk
сообщение Mar 28 2010, 07:40
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Скажите, а Вам удалось скачать и почитать книжки Евстифеева "Микроконтроллеры Mega..." ? Если нет, то почитайте, очень рекомендую.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
Буратино
сообщение Mar 28 2010, 07:58
Сообщение #3


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

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Цитата(smk @ Mar 28 2010, 10:40) *
Скажите, а Вам удалось скачать и почитать книжки Евстифеева "Микроконтроллеры Mega..." ? Если нет, то почитайте, очень рекомендую.


Да, удалось. Даже распечатал.
Вопрос в другом, как теперь всем тем, что там написано воспользоваться!? smile.gif

Вот у меня сл. ситуация. Я хочу сделать частотный привод для шпинделя на Меге88. Там есть особенности в схемотехнике ну если не вдаваться в подробности то необходимо получить три синусоиды сдвинутые по фаза на 120гр. и один медленный сигнал (герцы) но с высокой разрядностью.
В книге Евстифеева решений таких проблем нет, именно поэтому я и советуюсь с знающими людьми.

---
Вот немного подумал и пришла в голову мысль о том, чтобы сделать 4й сигнал программным ШИМом (ен же медленный) ,а таймер 1 приспособить для формирования первых трех сигналов (в смысле загружать в регистры PWM новые значения) Остается только вопрос с формированием временных задержек для "Делеев", вот думаю можно аль нет использовать для этого прерывания переполнения 0,2 таймеров в ШИМ режиме?


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 08:26
Рейтинг@Mail.ru


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