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 бита. Всё таки, ПЛИС дает безграничные возможности для творчества! :)

Date: 2019-05-30 04:54 pm (UTC)
vak: (Default)
From: [personal profile] vak
Лучше бы имперский марш из «Звёздных войн». :)
Классно.

Profile

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

May 2026

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

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 27th, 2026 10:58 pm
Powered by Dreamwidth Studios