Перейти к содержанию
    

Помогите с ШИМ на ATmega48

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

 

 

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

 

...

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);
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... в чем дело?
Наверное, нужно проверить правильность установки Fuses.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мужики, делаю вывод wav звука,

С помощю ШИМ? Ни фига себе, а какой диапазон звука? При 8 Мгц частота ШИМ будет около 8 кГц, хреновенькое подавление его можно беспечить при частоте среза на порядок меньше, т.е. 800 Гц. Это что ж за звук можно передать на такой частоте?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Народ, ШИМ на 8кГц я выбрал для отладки, как заработает установлю тактирование МК на 16MHz и сделаю частоту дискретизации 16кГц или еще больше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот скапчуренный образчик звука Roman Black'овского PICSound'а (www.romanblack.com) с тиньки если вдруг.

sample_captured.mp3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...