Oтвет пpо AY-3-8910 [1/2]

ZXNet эхоконференция «real.speccy»

От Kirill Frolov Кому All 20.09.1998

Однажды 15-09-98 в 10:17:01 некто Yan Zagorskih писал к All
по поводу Вопpос пpо AY-3-8910 и я решил вмешаться.

├┤i Yan & All !

[...]

YZ> САБЖ. После тpагичной смеpти одного из Спектpумов, у меня

Вырежь и прибей на стенку.


==================== cut line ====================

Музыкальные процессоры AY-3-8912/AY-3-8910 фирмы General
Instruments (GI) и YM2149F фирмы YAMAHA (аналог AY-3-8910).
Характеристики.
1. Програмное управление генератором.
2. Три програмно независимых аналоговых выхода.
3. Два (один для AY-3-8912) 8-разрядных универсальных порта ввода/
вывода.
Описание.
Программируемый генератор звуков (ПГЗ) позволяет воспроизводить
широкий спектр звуковых эффектов большого диапазона.
Он совместим с 16-разрядными микропроцессорными контроллерами типа
связного процессора CP1600/1610 и с 8-разрядным программируемым
интерфейсным контроллером PIC1650.

Каждый из трех аналоговых каналов ПГЗ воспроизводит звуковую кар-
тину путем декодирования двоичного кода по логарифмической шкале.

Все сигналы управления ПГЗ являются цифровыми и вырабатываются не-
посредственно в микропроцессоре, что дает возможность обойтись без
изменения в схемотехнике.

Для связи ПГЗ с микропроцессором в AY-3-8910 имеется два универ-
сальных 8-разрядных порта ввода/вывода, а его корпус имеет 40 вы-
водов. В AY-3-8912 имеется один порт и 28 выводов.

Hазначение выводов микросхем.
DA7-DA0 - шина данные/адрес с тремя состояниями.
Выводы 30-37 в AY-3-8910.
Выводы 21-28 в AY-3-8912.
Это 8-разрядная двунаправленная шина предназначена для пересылки
адресов и данных процессором и самим ПГЗ. В режиме данных DA7-DA0
соответствует разрядам B7-B0 регистровой области генератора. В ад-
ресном режиме DA3-DA0 занимают номер выбираемого регистра (0-17),
а DA7-DA4 в сочетании с адресными входами A8 и /A9 формируют старшую
часть адреса.

A8 (вход) - вывод 25 (17) AY-3-8910 (AY-3-8912).
/A9 (вход) - вывод 24 AY-3-8910, в AY-3-8912 не поддерживается.
Адресные шины A8 и /A9.
Область памяти ПГЗ состоит из 16 8-разрядных слов, входящих в сос-
тав общей 1024-словной памяти системы @KOM=. Как раз с помощью этих
адресных шин и происходит расширение адресации памяти ПГЗ с 256
(DA7-DA0) 1 до 1024 слов.
Если же размер памяти реальной системы "ПГЗ-компьютер" не позволяет
использовать эти шины, то они не подсоединяются при монтаже системы
т.к. каждый из них снабжен внутренним подпорным (для A8) или гася-
щим (для /A9) резистором. При неиспользовании же этих шин в "шумя-
щих" средах, необходимо, чтобы они были соединены с общей шиной
"+5В" и "ЗЕМЛЯ", соответственно.

/RESET (вход) - вывод 23 AY-3-8910, вывод 16 AY-3-8912.
Используется для инициализации ПГЗ и установки его блоков в исход-
ное состояние путем подачи на вывод логического нуля. При этом вся
регистровая область памяти ПГЗ сбрасывается в ноль. Вывод снабжен
внутренним подпорным резистором.


┌──────┬─┬──────┐
ЗЕМЛЯ ─┤ 1 └─┘ 40├─ +5V
не исп. ─┤ 2 39├─ TEST 1
аналог. канал B ─┤ 3 AY-3-8910 38├─ аналог. канал C
аналог. канал A ─┤ 4 YM2149F 37├─ DA0
не исп. ─┤ 5 36├─ DA1
IOB7 ─┤ 6 35├─ DA2
IOB6 ─┤ 7 34├─ DA3
IOB5 ─┤ 8 33├─ DA4
IOB4 ─┤ 9 32├─ DA5
IOB3 ─┤10 31├─ DA6
IOB2 ─┤11 30├─ DA7
IOB1 ─┤12 29├─ BC1
IOB0 ─┤13 28├─ BC2
IOA7 ─┤14 27├─ BDIR
IOA6 ─┤15 26├─ TEST 2
IOA5 ─┤16 25├─ A8
IOA4 ─┤17 24├─ /A9
IOA3 ─┤18 23├─ /RESET
IOA2 ─┤19 22├─ CLOCK
IOA1 ─┤20 21├─ IOA0
└───────────────┘

CLOCK (вход) вывод 22 AY-3-8910, вывод 15 AY-3-8912.
Используется для подачи тактовой частоты, задающей временные пара-
метры генераторов шума, тона и генератора огибающей.
Вход TTL-совместимый.

BDIR, BC2, BC1 (входы) выводы 27, 28, 29 AY-3-8910,
выводы 18, 19, 20 AY-3-8912.

Управляющие шины - BUS DIRECTION, BUS CONTROL 1,2.
Используются для управления всеми внешними и внутренними шинными
операциями в ПГЗ. Сигналы для этих шин вырабатываются не-
посредственно связным процессором типа CP1600.
При использовании другого процессора, эти сигналы должны формиро-
ваться аналогичными шинными сигналами используемого процессора или
имитироваться на шинах ввода/вывода главного микропроцессора
системы. Декодирование управляющих сигналов приведено в таблице.

┌─────┬─────┬─────┬──────────────┐
│BDIR │ BC2 │ BC1 │Функция CP1600│
├─────┼─────┼─────┼──────────────┤
│ 0 │ 0 │ 0 │ NACT │
├─────┼─────┼─────┼──────────────┤
│ 0 │ 0 │ 1 │ ADAR │
├─────┼─────┼─────┼──────────────┤
│ 0 │ 1 │ 0 │ IAB │
├─────┼─────┼─────┼──────────────┤
│ 0 │ 1 │ 1 │ DTB │
├─────┼─────┼─────┼──────────────┤
│ 1 │ 0 │ 0 │ BAR │
├─────┼─────┼─────┼──────────────┤
│ 1 │ 0 │ 1 │ DW │
├─────┼─────┼─────┼──────────────┤
│ 1 │ 1 │ 0 │ DWS │
├─────┼─────┼─────┼──────────────┤
│ 1 │ 1 │ 1 │ INTAK │
└─────┴─────┴─────┴──────────────┘
Для использования всех возможностей генератора по созданию звуко-
вых картин достаточно иметь только четыре комбинации сигналов
BDIR, BC1, BC2. Это достигается путем подключения BC2 к шине пита-
ния +5V.

┌─────┬─────┬─────┬──────────────┐
│BDIR │ BC2 │ BC1 │Функция CP1600│
├─────┼─────┼─────┼──────────────┤ │
│ 0 │ 1 │ 0 │не активен │ от │──>BDIR
├─────┼─────┼─────┼──────────────┤ процессора <─────BC2(+5V)
│ 0 │ 1 │ 1 │чтение из ПГЗ │ к ПГЗ │──>BC1
├─────┼─────┼─────┼──────────────┤ │
│ 1 │ 1 │ 0 │запись в ПГЗ │
├─────┼─────┼─────┼──────────────┤
│ 1 │ 1 │ 1 │фиксац. адреса│
└─────┴─────┴─────┴──────────────┘

Аналоговые каналы A, B, C (выходы) выводы 4, 3 ,38 AY-3-8910
выводы 5, 4, 1 AY-3-8912
Используются для формирования составного звукового сигнала с
двойной амплитудой вплоть до одного вольта. Являются выходными
сигналами соответствующих цифро-аналоговых преобразователей (ЦАП).

IOA7-IOA0 (вход/выход) выводы 14-21 AY-3-8910,
выводы 7-14 AY-3-8912.

IOB7-IOB0 (вход/выход) выводы 6-13 AY-3-8910
в AY-3-8912 не поддерживаются.

Ввод/вывод A7-A0, B7-B0.
Являются параллельными портами ввода/вывода. Используются для
обмена данными с внешними устройствами, подключаемым к контактам
IOA или IOB, по шине "генератор-процессор". Все выводы снабжены
внутренними подпорными резисторами, поэтому в режиме ввода будет
читаться нормальный высокий уровень.
┌──────┬─┬──────┐
аналог. канал C ─┤ 1 └─┘ 28├─ DA0
TEST 1 ─┤ 2 27├─ DA1
+5V ─┤ 3 AY-3-8912 26├─ DA2
аналог. канал B ─┤ 4 25├─ DA3
аналог. канал A ─┤ 5 24├─ DA4
ЗЕМЛЯ ─┤ 6 23├─ DA5
IOA7 ─┤ 7 22├─ DA6
IOA6 ─┤ 8 21├─ DA7
IOA5 ─┤ 9 20├─ BC1
IOA4 ─┤10 19├─ BC2
IOA3 ─┤11 18├─ BDIR
IOA2 ─┤12 17├─ A8
IOA1 ─┤13 16├─ /RESET
IOA0 ─┤14 15├─ CLOCK
└───────────────┘

TEST 1 вывод 39 AY-3-8910, вывод 2 AY-3-8912.
TEST 2 вывод 26 AY-3-8910, в AY-3-8912 не поддерж.

Предназначены для тестирования генератора и поэтому в реальных
схемах не используются. Особенность состоит в том, что эти выводы
должны быть всегда свободными.

Блок-схема подключения генератора.

┌─────────┐ ┌─────────┐
│ │ │ ПГЗ │ ┌─────┐
│ │ шина │ │ │ │
│микропро-│<──────────>│ │>───────────>│ │
│цессорная│ адр./дан. │ │ ввод адреса │ П │
┌──>│система │<──────────>│ │>───────────>│ А │
│ │ │ шина │ │ │ М │
│ │ │<──────────>│ │ │ Я │
│ │ │ управления │ │>───────────>│ Т │
│ └─────────┘ │ │ ввод данных │ Ь │
│ │ │>───────────>│ │
│ │ │ │ │
│ │ │ └─────┘
│ │ │
│ │ │ ┌─────┐
│ ┌─────────┐ │ A│────────────>│ │
│ │тактовый │ │ B│────────────>│ УHЧ │
└───│генератор│───────────>│ C│────────────>│ │
│системы │ │ │ └─────┘
└─────────┘ └─────────┘

Архитектура.
Взаимодействие между AY-3-8910/8912 и процессором основано на
принципе ввода/вывода снимков памяти. Hабор команд, предназначен-
ных для ПГЗ записывается в шестнадцатирегистровый участок памяти.
Микропроцессор может прочитать содержимое любого из 16 регистров с
изменением их состояния или без него. Все регистры программируются
за один раз и ПГЗ начинает формировать звук, освобождая процессор
для выполнения других операций.

Область регистров.
Шестнадцать восьмиразрядных регистров ПГЗ рассматриваются процес-
сором как блок памяти, расположенный за максимальным адресом памя-
ти, состоящей из 1024 байт. Десять адресных разрядов декодируются
следующим образом:

┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│/A9│ A8│DA7│DA6│DA5│DA4│DA3│DA2│DA1│DA0│
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
│ 0 │ 1 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │
└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘

┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│ 0 │ 1 │ 0 │ 0 │ 0 │ 0 │ 1 │ 1 │ 1 │ 1 │
└───┴───┴───┴───┴───┴───┼───┴───┴───┴───┘
старшая часть │ младшая часть
(селектор чипа) │(номер регистра)

Четыре разряда младшей части адреса задают номер одного из 16 ре-
гистров, а 6 разрядов старшей части адреса представляют собой се-
лектор и управляют тремя состояниями двунаправленных буферов (при
ошибке в старшей части адреса буфера переводятся в состояние высо-
кого сопротивления). Разряды DA7-DA4 старшей части адреса могут
выполнять роль маски, содержащей четырехразрядный код, доступный
модификации. Если их использование не предусматривается, то они
должны быть в состоянии "0000".
Если в старшей части адреса ошибок нет, то в регистр фиксации
адреса блока дешифратора помещается адрес управляющего регистра.
Адрес регистра фиксируется и операции с выбранным регистром про-
изводятся до получения генератором сигнала о смене адреса.
Данные, поступающие от регистра фиксации адреса/дешифратора адреса
и состояние двунаправленных буферов, задают функцию генератора:
неактивен, фиксация адреса, чтение или запись данных. Эти
состояния формируются блоком дешифрации сигналов управления.

Блоки звукового генератора.
Основными блоками являются:
- тональные генераторы, формирующие для каждого канала основную
тональную чпстоту;
- генератор шума, формирующий для каждого канала
последовательность импульсов псевдослучайной длительности;
- смесители, осуществляющие обьединение выходных сигналов то-
нальных генераторов и генератора шума для каждого из каналов;
- регулятор амплитуды-вырабатывает управляющие сигналы для
цифро-аналогового преобразователя (ЦАП), задающие образец ам-
плитуды сигнала, выдаваемого генератором в данный момент време-
ни;
- генератор огибающей-вырабатывает образец огибающей, используемый
для амплитудной модуляции выходных сигналов каналов;
- ЦАП каждого из каналов-формируют выходной звуковой сигнал с 16
уровнями амплитуды, задаваемых регулятором амплитуды.

Порты ввода/вывода.
В составе ПГЗ два порта ввода/вывода (A и B). Процессор
посредством их производит обмен данными с ПГЗ, не вызывая при этом
генерации звуков. В AY-3-8912 порт B не поддерживается.

Функционирование ПГЗ.
Шестнадцать регистров разбиты на группы, задающие
последовательность выполнения функций генератора и их параметры. В
таблице, приведенной ниже, показаны блоки генератора и со-
ответствующие им управляющие регистры.
Таблица.
┌───────────┬───────────┬─────────────────────────────────┐
│блоки гене-│управляющие│ функции регистров │
│ратора │регистры │ │
├───────────┼───────────┼─────────────────────────────────┤
│тональные │ R0-R5 │программирование периода │
│генераторы │ │основного тона │
├───────────┼───────────┼─────────────────────────────────┤
│генератор │ R6 │программирование периода шума │
│шума │ │ │
├───────────┼───────────┼─────────────────────────────────┤
│смесители │ R7 │программирование очередности │
│ │ │подачи тона и/или шума на один из│
│ │ │выбранных каналов A, B или C │
├───────────┼───────────┼─────────────────────────────────┤
│регулятор │ R10-R12 │программирование порядка измене- │
│амплитуды │ │ния амплитуды выходного сигнала │
├───────────┼───────────┼─────────────────────────────────┤
│генератор │ R13-R15 │программирование периода и фор- │
│огибающей │ │мы огибающей выходного сигнала │
└───────────┴───────────┴─────────────────────────────────┘

==================== cut line ====================


Продолжение следует...

Reply to: Kirill_Fro...@zxnet.spb.ru

От Yan Zagorskih Кому All 25.09.1998

Пpиветствую, Kirill!

KF> Вырежь и прибей на стенку.

Вай! Какое огpомое описалово =)
Спасибо.

KF> A8 (вход) - вывод 25 (17) AY-3-8910 (AY-3-8912).
KF> /A9 (вход) - вывод 24 AY-3-8910, в AY-3-8912 не
KF> поддерживается.
KF> Адресные шины A8 и /A9.
KF> Область памяти ПГЗ состоит из 16 8-разрядных слов,
KF> входящих в сос-
KF> тав общей 1024-словной памяти системы @KOM=. Как раз с
KF> помощью этих
KF> адресных шин и происходит расширение адресации памяти ПГЗ
KF> с 256
KF> (DA7-DA0) 1 до 1024 слов.

А что там за память ? Hу, та котоpая этими А8 и /А9
адpесуется ?

KF> Для использования всех возможностей генератора по
KF> созданию звуко-
KF> вых картин достаточно иметь только четыре комбинации
KF> сигналов
KF> BDIR, BC1, BC2. Это достигается путем подключения BC2 к
KF> шине пита-
KF> ния +5V.

А зачем тогда ВС2 ? Буpжуи бы его не делали этот ВС2 ;)

До встpечи. Ян Загоpских.