ugashet писал(а):по измерению длительности внешнего импульса, прерывание по захвату
попробуйте с SPL (в примерах есть папка "TIM1_Input_Capture"), если заработает - можно будет сделать проект без SPL.
ugashet писал(а):по измерению длительности внешнего импульса, прерывание по захвату
Alexeyslav писал(а):... который следует со скоростью 2048Кбит/сек. Иначе нужный звук не закодировать!
У вас какая-то каша в голове с этими битами и байтами.
Speech regeneration is accomplished by using a Capture/Compare/PWM (CCP) module of the PIC18F67J10. The PWM module is configured for a
period of 16 kHz. This allows each sample of the speech signal to be output for two PWM periods for an oscillator frequency of 32 MHz.
...
A PWM duty cycle with close to 10 bits of resolution may be used with a period of 16 kHz. The upper 9 bits of each speech sample are used to set the
PWM duty cycle (CCPR1L = sample<15:9>, CCP1CON<5:4> = sample<8:7>). This PWM speech signal is passed through a 4th order Butterworth low-pass filter with a corner frequency of 4 kHz. The low-pass filter converts the PWM into an analog voltage level. Finally, the analog voltage level is amplified by a National Semiconductor LM4853 before entering the speaker.
Every 125 μs (8 kHz), one ADPCM code must be converted into a speech sample for output to the PWM. This frame of 125 μs relates to 1000 instruction cycles for an internal 8 MHz oscillator with PLL enabled for a frequency of 32 MHz (125 nS). The ADPCM decode routine, Flash program memory reads, conversion of binary to ASCII and writes to the PWM must be accomplished within 1000 instruction cycles.
• Hardware used:
- CCP1 configured for PWM (9-bit duty cycle, 32 kHz period speech output)
- Timer2 to set the 8.0 kHz output sample rate
- 59527 bytes of program memory to store compressed voice data files
oleg110592 писал(а):Здесь частота шима одна (по возможности максимальна)
Kinder_Surprise писал(а):Для STM8 и STM32 можно безболезнено поднять частоту сэмплирования
oleg110592 писал(а):Тут например вообще фильтра нет:
http://elm-chan.org/works/sd8p/report.html
When connect the audio outputs to the amplifier
a5021 писал(а):STM32 сюда примешивать не надо, а вот насчет "безболезненно поднять" я бы не был столь оптимистичен. Семплирование ведется тем же камнем в то же самое время.
Alexeyslav писал(а):Что тут непонятного? Мы имеем с АЦП выход 8бит на 8Ксемплов/сек илого поток у нас получается 8*8К = 64Кбит/сек
Этот поток поступает на ШИМ и разворачивается в поток 256*8К = 1 бит * 2048Ксемплов, нам же 8 бит надо развернуть? А значит период сигнала ШИМ будет иметь ширину в 256 тактов. От математики не спрячешься.
2048К - это необходимая частота тактирования ШИМ, чтобы мы могли получить поток 8Ксемплов при 8 битах.
Alexeyslav писал(а):Что тут непонятного? Мы имеем с АЦП выход 8бит на 8Ксемплов/сек илого поток у нас получается 8*8К = 64Кбит/сек
Этот поток поступает на ШИМ и разворачивается в поток 256*8К = 1 бит * 2048Ксемплов, нам же 8 бит надо развернуть?
А значит период сигнала ШИМ будет иметь ширину в 256 тактов.
2048К - это необходимая частота тактирования ШИМ, чтобы мы могли получить поток 8Ксемплов при 8 битах.
Но если взять частоту семплирования в 32кгц
oleg110592 писал(а):Можно и на одном сделать