x86128: (Default)
[personal profile] x86128 posting in [community profile] besm6
Добавил возможность непрерывного счета для таймера и компаратор для выдачи PWM сигнала.
Для начала поиграл ноты на 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 бита. Всё таки, ПЛИС дает безграничные возможности для творчества! :)
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

Сообщество любителей БЭСМ-6

May 2026

S M T W T F S
     12
3456789
101112131415 16
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 28th, 2026 07:27 am
Powered by Dreamwidth Studios