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

 
 
> Помогите с ШИМ на ATmega48
sergeus
сообщение Mar 19 2009, 20:21
Сообщение #1


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

Группа: Участник
Сообщений: 157
Регистрация: 11-12-07
Из: Москва
Пользователь №: 33 174



Мужики, делаю вывод wav звука, бьюсь несколько часов, не могу найти баг в исходнике. Почему-то не работает ШИМ на ATmega48. Частота тактирования - внутр. осциллятор 8МГц. Может есть какая новая фича, до этого без проблем работал с ШИМ на 8й меге. Прерывание Таймер2 работает с частотой - 8кГц, - такова частота дискретизации WAV файла. ШИМ, за него отвечает таймер1, работает на частоте СК/1 - частота выходного шим сигнала - 31кГц. На выходе ножки OC1A стоит НЧ цепочка-фильтр. На ножке ничего нет - ни малейшего дрыганья. При симуляции в AVR Studio - есть сигнал на ножке PB1, а в реалии на железе нет, в чем дело?


Вот сам код на WinAVR:

CODE
...

ISR(TIMER2_OVF_vect){

OCR1A = music[num_byte];
num_byte++;

if (num_byte>959) num_byte=1; // stop timer1

TCNT2 = 224; // bitrate - 8 kHz

}

...

int main(void)
{

DDRD |=(1<<4)|(1<<3)|(1<<1)|(1<<6)|(1<<7); // LED OUT
PORTD |=(1<<6)|(1<<3); // LOW SEGMENT

DDRC = 0xFF; // all outputs
PORTC = 0xFF;

DDRB |=(1<<1); //OC1A - output


TCCR2B |=(0<<CS22)|(1<<CS21)|(1<<CS20); // CK/32 - 8kHz
TIMSK2 |=(1<<TOIE2); // interrrupt OVF 8kHz
TCNT2 = 224; // bitrate - 8 kHz


TCCR1A |=(1<<COM1A1)|(0<<COM1A0)|(1<<WGM10); //---___, 8 bit fast PWM
TCCR1B |=(1<<WGM12)|(0<<CS12)|(0<<CS11)|(1<<CS10); //CK/1 - PWM - 31kHz

OCR1A=0x66;

sei();

while(1);
}
Причина редактирования: Уменьшение видимого размера цитаты исходника.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
777777
сообщение Mar 20 2009, 07:07
Сообщение #2


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

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(sergeus @ Mar 19 2009, 23:21) *
Мужики, делаю вывод wav звука,

С помощю ШИМ? Ни фига себе, а какой диапазон звука? При 8 Мгц частота ШИМ будет около 8 кГц, хреновенькое подавление его можно беспечить при частоте среза на порядок меньше, т.е. 800 Гц. Это что ж за звук можно передать на такой частоте?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Mar 20 2009, 07:18
Сообщение #3


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(777777 @ Mar 20 2009, 10:07) *
Это что ж за звук можно передать на такой частоте?


Нижний ряд DTMF smile.gif
Go to the top of the page
 
+Quote Post
777777
сообщение Mar 20 2009, 07:34
Сообщение #4


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

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(_Pasha @ Mar 20 2009, 10:18) *
Нижний ряд DTMF smile.gif

??? Это меня послали или как?
Go to the top of the page
 
+Quote Post



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

 


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


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