БИС AY-3-8912 и AY-3-8910 Трехканальный музыкальный таймер AY-3-8912 может генери- ровать музыкальные тона и шумовые эффекты, а также управлять последовательными портами с интерфейсом RS232/MIDI и KEYPAD. Микросхема содержит 16 регистров, доступ к которым осуществляет- ся посредством записи номера регистра в порт адреса (в "Синкле- ре" FFFDH), а затем чтением или записью данных в порт данных (BFFDH). Можно осуществлять последовательно несколько обраще- ний к одному и тому же регистру без перезаписи его номера в порт адреса. Таблица 1 Описание внутренних регистров микросхемы AY-3-8910/8912 ┌─────────────────────┬────┬────┬────┬────┬────┬────┬────┬────┐ │ Регистр │ B7 │ B6 │ B5 │ B4 │ B3 │ B2 │ B1 │ B0 │ ├────┬────────────────┼────┴────┴────┴────┴────┴────┴────┴────┤ │ R0 │ Частота тона │ Точно 8 бит │ ├────┤ в канале A ├───────────────────┬───────────────────┤ │ R1 │ │ │ Грубо 4 бита │ ├────┼────────────────┼───────────────────┴───────────────────┤ │ R2 │ Частота тона │ Точно 8 бит │ ├────┤ в канале B ├───────────────────┬───────────────────┤ │ R3 │ │ │ Грубо 4 бита │ ├────┼────────────────┼───────────────────┴───────────────────┤ │ R4 │ Частота тона │ Точно 8 бит │ ├────┤ в канале C ├───────────────────┬───────────────────┤ │ R5 │ │ │ Грубо 4 бита │ ├────┼────────────────┼──────────────┬────┴───────────────────┤ │ R6 │ Период шума │ │ Период 5 бит │ ├────┼────────────────┼─────────┬────┴─────────┬──────────────┤ │ │ Управляющий │ IN/OUT │ Шум │ Тон │ │ R7 │ регистр ├────┬────┼────┬────┬────┼────┬────┬────┤ │ │ │п.B*│п.A │ C │ B │ A │ C │ B │ A │ ├────┼────────────────┼────┴────┴────┼────┼────┼────┼────┼────┤ │ R8 │ Ампл.-канал A │ │ *M │ L3 │ L2 │ L1 │ L0 │ ├────┼────────────────┼──────────────┼────┼────┼────┼────┼────┤ │ R9 │ Ампл.-канал B │ │ *M │ L3 │ L2 │ L1 │ L0 │ ├────┼────────────────┼──────────────┼────┼────┼────┼────┼────┤ │R10 │ Ампл.-канал C │ │ *M │ L3 │ L2 │ L1 │ L0 │ ├────┼────────────────┼──────────────┴────┴────┴────┴────┴────┤ │R11 │ Огибающая - │ Точно 8 бит │ ├────┤ период ├───────────────────────────────────────┤ │R12 │ │ Грубо 8 бит │ ├────┼────────────────┼───────────────────┬────┬────┬────┬────┤ │R13 │ Огиб. - форма │ │ E3 │ E2 │ E1 │ E0 │ ├────┼────────────────┼───────────────────┴────┴────┴────┴────┤ │R14 │ Регистр порта A│ Ввод/вывод 8 бит │ ├────┼────────────────┼───────────────────────────────────────┤ │R15 │ Регистр порта B│ Ввод/вывод 8 бит │ └────┴────────────────┴───────────────────────────────────────┘ *M=1 - амплитуда устанавливается генератором огибающей. *M=0 - амплитуда устанавливается битами B0-B3. п.B* - бит не используется в AY-3-8912. Для AY-3-8910: 1-IN, 0-OUT. R15 - в AY-3-8912 не используется. Тактовая частота, подаваемая на вход CLC микросхемы должна составлять 1.7734 МГц (с точностью 100 Гц). Выходная частота канала получается делением основного тона на двенадцатибитовый коэффициент деления, заданный значением D3..D0 "грубых" регистров и D7..D0 "точных" регистров. Основной тон есть частота, подаваемая на вход CLC таймера, деленная на 16 (т.е. 110.83 кГц). При этом могут быть получены частоты от 27 Гц до 110 кГц. Период огибающей задается шестнадцатибитовым значением, за- данным регистрами R11 и R12. Длина периода получается умножением этой величины на 1.444 мс (соответствует частоте тактовых им- пульсов, подаваемых на вход CLC, деленной на 256). Диапазон пе- риодов огибающей от 1.444 мс до 9.5 с. (от 6.9 кГц до 0.1 Гц). Таблица 2 Формы огибающей ┌────┬────┬────┬────┬────────────────────────────┐ │ E3 │ E2 │ E1 │ E0 │ Графическое изображение │ ├────┼────┼────┼────┼────────────────────────────┤ │ │ │ │ │ \ │ │ 0 │ 0 │ X │ X │ \ │ │ │ │ │ │ ---------------------- │ ├────┼────┼────┼────┼────────────────────────────┤ │ │ │ │ │ /| │ │ 0 │ 1 │ X │ X │ / | │ │ │ │ │ │ --------------------- │ ├────┼────┼────┼────┼────────────────────────────┤ │ │ │ │ │ \ |\ |\ |\ |\ |\ |\ |\ | │ │ 1 │ 0 │ 0 │ 0 │ \| \| \| \| \| \| \| \| │ │ │ │ │ │ │ ├────┼────┼────┼────┼────────────────────────────┤ │ │ │ │ │ \ │ │ 1 │ 0 │ 0 │ 1 │ \ │ │ │ │ │ │ ---------------------- │ ├────┼────┼────┼────┼────────────────────────────┤ │ │ │ │ │ \ /\ /\ /\ /\ /\ / │ │ 1 │ 0 │ 1 │ 0 │ \/ \/ \/ \/ \/ \/ │ │ │ │ │ │ │ ├────┼────┼────┼────┼────────────────────────────┤ │ │ │ │ │ --------------------- │ │ 1 │ 0 │ 1 │ 1 │ \ | │ │ │ │ │ │ \| │ ├────┼────┼────┼────┼────────────────────────────┤ │ │ │ │ │ /| /| /| /| /| /| /| /| │ │ 1 │ 1 │ 0 │ 0 │ / |/ |/ |/ |/ |/ |/ |/ | │ │ │ │ │ │ │ ├────┼────┼────┼────┼────────────────────────────┤ │ │ │ │ │ ---------------------- │ │ 1 │ 1 │ 0 │ 1 │ / │ │ │ │ │ │ / │ ├────┼────┼────┼────┼────────────────────────────┤ │ │ │ │ │ /\ /\ /\ /\ /\ /\ │ │ 1 │ 1 │ 1 │ 0 │ / \/ \/ \/ \/ \/ \ │ │ │ │ │ │ │ ├────┼────┼────┼────┼────────────────────────────┤ │ │ │ │ │ /| │ │ 1 │ 1 │ 1 │ 1 │ / | │ │ │ │ │ │ --------------------- │ └────┴────┴────┴────┴────────────────────────────┘ Таблица 3 Режимы работы таймера ┌───────────────────────────┬──────┬─────┬──────┐ │ Режим работы │ BDIR │ BC1 │ BC2 │ ├───────────────────────────┼──────┼─────┼──────┤ │ Микросхема неактивна │ 0 │ 0 │ 1 │ │ Чтение данных из регистра │ 0 │ 1 │ 1 │ │ Запись данных в регистр │ 1 │ 0 │ 1 │ │ Выбор регистра │ 1 │ 1 │ 1 │ └───────────────────────────┴──────┴─────┴──────┘ При программировании заносят все необходимые значения в регистры R0..R12, а затем задают форму огибающей (R13), что является началом работы таймера. Назначение выводов БИС AY-3-8912, AY-3-8910 18 ┌────┬───┬───┐ 3 │+5V 27 ┌────┬───┬───┐ 21 BDIR ─────┤BDIR│ │Vcc├────┤ BDIR ────┤BDIR│ │PA0├──── 20 │ │ │ __│ 17 │ 29 │ │ │ │ 20 BC1 ─────┤BC1 │ │ ENo────┤ BC1 ────┤BC1 │ │ ░ │ 19 15 │ │ │ │ 19 │ 22 │ │ │ ░ │ 18 1.7734 ─────┤CLC │ A │BC2├────┘ 1.7734 ────┤CLC │ A │ ░ │ 17 MHz ├────┤ Y │ │ MHz ├────┤ Y │ ░ │ 16 28 │ │ | │ │ 37 │ │ | │ ░ │ 15 D0 ─────┤ D0 │ 3 │ │ D0 ────┤ D0 │ 3 │ │ 14 27 │ │ | │ │ 36 │ │ | │PA7├──── D1 ─────┤ D1 │ 8 │ │ D1 ────┤ D1 │ 8 │ │ 26 │ │ 9 │ │ 35 │ │ 9 │ │ 13 D2 ─────┤ D2 │ 1 │ │ D2 ────┤ D2 │ 1 │PB0├──── 25 │ │ 2 │ │ 34 │ │ 0 │ │ 12 D3 ─────┤ D3 │ │ │ D3 ────┤ D3 │ │ ░ │ 11 24 │ │ │ │ 33 │ │ │ ░ │ 10 D4 ─────┤ D4 │ │ │ D4 ────┤ D4 │ │ ░ │ 9 23 │ │ │ │ 32 │ │ │ ░ │ 8 D5 ─────┤ D5 │ │ │ D5 ────┤ D5 │ │ ░ │ 7 22 │ │ │ │ 31 │ │ │ │ 6 D6 ─────┤ D6 │ │ │ D6 ────┤ D6 │ │PB7├──── 21 │ │ │ │ 30 │ │ │___│ 24 D7 ─────┤ D7 │ │ │ 5 D7 ────┤ D7 │ │ENBo───┐ ├────┤ │ A ├──── A ├────┤ │ │ ┴ ___ 16 │___ │ │ │ 4 ___ 23 │___ │ │ │ 4 RES ─────oRES │ │ B ├──── B RES ────oRES │ │ A ├──── A 6 │ │ │ │ 1 28 │ │ │ │ 3 ┌───┤GND │ │ C ├──── C ┌───┤BC2 │ │ B ├──── B ┴ │ │ │ │ │25 │ │ │ │ 38 └────┴───┴───┘ +5V ─┼───┤ENB │ │ C ├──── C Рис. 1a │40 │ │ │ │ 1 └───┤Vcc │ │GND├───┐ │ │ │ │ ┴ └────┴───┴───┘ Рис. 1b Схема дешифрации адресов портов таймера при подключении к "Синклеру" __ 8 ┌────┐ WR ──────────────────────────────────┤ 1 │ 10 9 │ o────────────── BDIR ┌───┤D2.3│ ____ 2 ┌────┐ ┌────┐ │ └────┘ IORQ ─────┤ 1 │ 1 1 │ 1 │ 2 │ D1 К555ЛН1 3 │ o──────┤ o───────┤ A1 ─────┤D2.1│ │D1.1│ │ D2 К555ЛЕ1 └────┘ └────┘ │13 ┌────┐ 5 ┌────┐ └───┤ 1 │ 11 A14 ─────────────────┤ 1 │ 4 12 │ o────────────── BC1 6 │ o───────────┤D2.4│ ┌────┤D2.2│ └────┘ ┴ └────┘ Рис. 2 Схема получения псевдостереофонического эффекта звучания 1 K 2 K 2 A ───────────▒▒▒▒▒▒────┬────▒▒▒▒▒▒─────┐ │ ┴ 2 K 2 │ 0.1 ┌───▒▒▒▒▒▒────┴───────┤├──────────── Левый B ───────┤ 2 K 2 0.1 └───▒▒▒▒▒▒────┬───────┤├──────────── Правый │ 1 K │ 2 K 2 C ───────────▒▒▒▒▒▒────┴────▒▒▒▒▒▒─────┐ ┴ Рис. 3 При подключении к компьютеру "Синклер" на вход CLC БИС подается сигнал частотой 1.75 МГц, снимаемый со счетчиков на плате компьютера. Для получения псевдостереофонического эффекта звучания подключение БИС к усилителю осуществляется по схеме, приведенной на рис. 3. Между шинами питания микро- схемы устанавливается блокировочный конденсатор емкостью не менее 0.1 мкФ.