PWM для таймера
May. 30th, 2019 10:42 pmДобавил возможность непрерывного счета для таймера и компаратор для выдачи PWM сигнала.
Для начала поиграл ноты на buzzer но там качество так себе. Да и не интересно.
Попробовал выдавать в buzzer сигнал PWM, но получалась ерунда. На слух АЧХ этого buzzer'а крайне плоха.
Далее решил выдать PWM на нормальный динамик. Для этого с помощью audacity подготовил из разных роликов с ютуб файлы 8-bit unsigned PCM с частотой дискретизации 11025.
Программа на питоне открывает 8-битный unsigned PCM и отправляет байты в UART порт на скорости 115200:
Далее эти байты встречает МЭСМ-6 и засылает в регистр компаратора таймера. При этом таймер настроен на непрерывный счет.
Всё это я подключил сначала к дешевым китайским колонкам.
В качестве первой мелодии чиптюн с ютуба:
Оборудование пришлось размещать на полу :)
Далее я подключил "механизм" к большим колонкам и продолжил исследования:
Качество звучания (на 11025Гц) как раз соответствует средним проигрывателям грампластинок на которых раньше слушали такие песенки. И даже и не подумаешь, что это достигается "шатанием" всего 1 бита. Всё таки, ПЛИС дает безграничные возможности для творчества! :)
Для начала поиграл ноты на buzzer но там качество так себе. Да и не интересно.
Попробовал выдавать в buzzer сигнал PWM, но получалась ерунда. На слух АЧХ этого buzzer'а крайне плоха.
Далее решил выдать PWM на нормальный динамик. Для этого с помощью audacity подготовил из разных роликов с ютуб файлы 8-bit unsigned PCM с частотой дискретизации 11025.
Программа на питоне открывает 8-битный unsigned PCM и отправляет байты в UART порт на скорости 115200:
from serial import Serial
ser = Serial('/dev/ttyUSB0', baudrate=115200)
# open music.raw unsigned 8-bit PCM audio
with open('music.raw','rb') as f:
b = f.read(16)
while(len(b)>0):
ser.write(b)
ser.flush()
b = f.read(16)
Далее эти байты встречает МЭСМ-6 и засылает в регистр компаратора таймера. При этом таймер настроен на непрерывный счет.
Всё это я подключил сначала к дешевым китайским колонкам.
В качестве первой мелодии чиптюн с ютуба:
Оборудование пришлось размещать на полу :)
Далее я подключил "механизм" к большим колонкам и продолжил исследования:
Качество звучания (на 11025Гц) как раз соответствует средним проигрывателям грампластинок на которых раньше слушали такие песенки. И даже и не подумаешь, что это достигается "шатанием" всего 1 бита. Всё таки, ПЛИС дает безграничные возможности для творчества! :)
no subject
Date: 2019-05-30 04:54 pm (UTC)Классно.