** ПЭВМ АГАТ **

Ячейка звукового синтеза 5/2

Авторы: НГК им. М. И. Глинки. НКЛ. 1987 год.
Группа сайта просит вас связаться с нами! (ЗАЧЕМ ЭТО?)

Звуковая карта для АГАТа. Вариант ЯЗС 5/2 имеет 5 тональных и 2 ударных канала.

Послушать как звучит ячейка можно на странице с демонстрационным диском из комплекта устройства.

Такое исполнение (5/2), в основном, предназначено для использования в учебном процессе. Однако, неожиданно нашло применение среди начинающих музыкантов тех времён - например первый альбом группы e-gens.

В 2022 году Tronix сделал современную реплику ЯЗС, адаптированную для шины ISA, что позволило использовать её в старых IBM-совместимых компьютерах, а небезызвестный shiru8bit создал трекер для данного формата. Подробности на форуме.

На сайте "Проект создания реплик ПЭВМ Агат" выложен проект платы ЯЗС 5/2.

* * *

Конструкция

ЯЗС Состоит из следующих блоков:

Блоки тональных и ударных каналов обрабатывают сигналы, поступающий с таймеров/счётчиков и генератора шума и, таким образом, формируют выходной звуковой сигнал. Блоки управляются программно, однако программно можно лишь менять их состояние, считывать состояние нельзя.


Шинный интерфейс и блок управления прерываниями

кр580ви53 тактируется двумя источниками: с частотой 1.021 МГц (для тональных каналов) и 7980 Гц (для счётчика/таймера IRQ). Разрешение счёта для всех счётчиков одновременно может быть выдано или отозвано программно. Выход счётчиков/таймеров тональных каналов поступают на блок коммутации тональных каналов, выход счётчика/таймера IRQ - на блок управления IRQ. !RD таймеров/счётчиков всегда подключены на 1, таким образом читать их регистры невозможно.

Когда к555ид7 дрыгает одной из лап (во время выполнения процессором операции "запись" по адресам ячейки) одна из групп триггеров запоминает несколько младших бит шины данных. В дальнейшем эти биты заводятся в тональные каналы и в каналы ударных.

Блок прерываний позволяет программно запрещать и разрешать прерывания от счётчика/таймера и от внешних устройств (по сигналу, приходящему через задний разъём). Также позволяет программно читать состояние флагов, указывающих на источник прерывания. Сброс флагов IRQ программный ! (обработчик прерываний должен сам очистить флаги до своего завершения).


Тональные каналы (Channel 1...5)

На ячейке пять таких блоков. Входы "ВИ53" соединяются с соответствующими выходами таймеров/счётчиков. Выходы на полосовые фильтры всех пяти ячеек соединены параллельно. Входы управления ChX.n подключаются к соответствующим выходам блока регистров, где X - номер канала.

В качестве коммутаторов используются микросхемы к561кт3 (по одной на канал). В схеме изображены только их ключи с обозначениями номеров выводов.


Полосовой фильтр

Сигналы со всех пяти тональных каналов подключаются параллельно.

Как видно, фильтр доволно простой, так что полосы имеют не очень четкие границы. Я пробовал оценить границы полос спектроанализатором по уровню 1/2, но не уверен, что эта оценка достаточно точная. Для фильтра ВЧ верх полосы указан как 4 КГц, однако по схеме видно, что сам по себе фильтр не ограничивает сигнал сверху: эта цифра, вероятно, получается из-за ограничений финального усилителя. Однако и его АЧХ не резко ограниченная, поэтому сигналы от генераторов шума на выходе ячейки вполне могут простираться до 10 КГц и выше.


Канал ударных (Channel 6)

Можно послушать примеры звучания этого генератора:
На фоне тона:

Также внезапно: инверторы здесь - КМОП (к561лн2). Также и в канале 7.


Канал ударных (Channel 7)

Можно послушать примеры звучания этого генератора:

Обратите внимание: к561кт3 и некоторые другие аналоговые части схемы питаются от слегка фильтрованного напряжения +5в: именно на этой части схемы изображены резистор и конденсатор соответствующего фильтра.


Генератор шума


Финальный усилитель

Основан на сдвоенном операционном усилителе к157уд2. На входе получает сигнал от полосового фильтра и генераторов ударных (всё соединяется в одну точку без каких-либо делителей или согласователей), на выходе же имеется три версии сигнала: A7 - 0.1в, A5 - 0.1в (повышенной мощности), A9 - 0.25в.

В 80-е была такая модная тема - "псевдостерео". Монофонический сигнал подавался в один канал необработанным, а во второй канал - через фазовращатель. Получался эффект пространственного звука. Вот здесь то же самое - "линейный" выход имеет небольшой фазовый сдвиг, различающийся для разных частот. В этом случае, совместно с прямым выходом, они образуют два квази-стерео канала.

Распиновка заднего разъёма
C B A
10 D0 +5в Ground
9 D1 Ground Левый канал
8 D2 Ground Ground
7 D3 Ground Правый канал
6 D4 Ground Ground
5 D5 Ground Наушники
4 D6 Ground Not connect
3 D7 Ground Not connect
2 IRQ Ground Not connect
1 /Dreq Ground Not connect

* * *

Адреса регистров

Далее n - это номер слота + 8, по умолчанию первый (многие программы не проверяют номер слота, полагая его первым):

Чтение:

Важно: флаги прерываний считываются из CD/RS-триггеров. Причем линии сброса триггеров связаны с общесистемым сигналом RESET (т.е. будут сбрасываться при холодном старте машины и при нажатии УПР-СБР). Однако установка триггеров происходит по сочетанию двух сигналов: C-линия берётся от источника прерываний и D - от флага разрешения прерываний. Таким образом, при разрешенных прерываниях источник прерывания будет устанавливать флаг, при запрещенных - сбрасывать его.

Ещё раз: разрешили прерывания, источник (таймер или внешнее устройство) пискнуло - флаг взвёлся. Можно его сбросить программно после обработки события. Если не сбрасывать, а просто запретить прерывания, флаг останется взведённым. Но если источник сработает теперь вновь - флаг сбросится.

Запись:

Управление тональными каналами (частотные диапазоны приведены приблизительно, по уровню 0.5):

D5 = D4 = 0 или D0 = D1 = D2 = 0 дадут тишину в канале. Соотношение амплитуд при D5 != D4 не измерялось. D0-D3 влияют на звук без задержек.

Генератор ударных, канал 6:

D0 - D2 выбирают различные частоты тонального генератора (т.е. возможно 8 вариантов). Причём при D2 = 0 частота тонального генератора будет незначительно меняться генератором шума (на слух разницы почти нет). Кроме того, в выходной сигнал в любом случае подмешивается шум. Бит громкости (D3) меняет громкость и время звучания удара (примерно 0.5 секунды при D3 = 0 и 1.0 секунда при D3 = 1). Переключение бита D4 из 0 в 1 вызывает генерацию звука, атака резкая, спад постепенный. Если во время звучания сбросить бит - звук прекратится. Чтобы сгенерировать звук вновь, нужно сбросить D4. Хотя запускать канал можно как угодно часто, при большой частоте ударов времязадающий конденсатор не будет успевать полностью разрядиться. Из за этого громкость ударов будет падать. Поэтому, если нужно получить отчетливые громкие удары, между ними должна быть пауза.

Генератор ударных, канал 7:

Управление практически совпадает с каналом 6, генератор шума подключен постоянно и модулирует тональный генератор всегда.

Управление блоком прерываний:

Остальные биты во всех регистрах ни на что не влияют.

* * *

Так как работу этого устройства объяснить без примеров неинтересно, мы записали видео о конструкции этой ячейки, где вы увидите: рассказ об архитектуре устройства и пример работы небольшой программки, в которой по отдельности показана работа каналов ячейки.

Посмотреть можно на YouTube или RUTUBE.


* * *