Ay 8910 распиновка

Каталог радиолюбительских схем

SINCLAIR RESEARCH LTD.

Программируемый генератор звуков AY-3-8910, AY-3-8912

1. 3 независимых музыкальных канала

2. Генератор «белого шума»

3. 2 (или 1) параллельных порта ввода/вывода

4. 16 градаций амплитуды

5. 16 форм волнового пакета

6. Основная частота 1.7734 МГц

7. Диапазон воспроизводимых частот :
от 27 Гц до 110 КГц

8. Частоты волнового пакета :
от 0.1 Гц до 6 КГц

9. Частота генератора шума :
от 3 КГц до 110 КГц

Программируемый генератор звуков AY-3-8910, AY-3-8912.

Программируемый генератор звуков (ПГЗ) представляет собой БИС, позволяющую воспроизводить широкую гамму сложных звуковых эффектов, и легко сопрягается с любым 8/16 — разрядным процессором.

Он имеет 3 программно независимых звуковых канала и два ( для 8912 — один ) 8-разрядных универсальных порта ввода/вывода. ПГЗ может выдавать звуковые сигналы в диапазоне 8 октав, кроме этого к любому из звуковых каналов можно добавить «порцию» шума.

Назначение выводов ПГЗ 8910 и 8912 показано на рисунках 1 и 2 соответственно.

DA0 — DA7 — Данные/адрес (двунаправленные), используются для об- мена данными с микропроцессором в режиме данных, и в сочетании с CS1, CS2 и BC1, BC2 номер выбираемого ре- гистра при помощи DA) — DA3 в адресном режиме.

___
CS1 — CS2 — Входы выбора микросхем; разрешает обмен данными при подаче на них «1» и «2» соответственно.

_____
RESET — При подаче «0» вся регистровая область памяти сбрасы- вается в ноль. Снабжен внутренним подпорным резисто- ром на +5 В.

BDIR — (BUS DIRECTION) Определяет направление обмена данными по шинам DA0 — DA7. «0» — чтение, «1» — запись.

BC1 и BC2 — (BUS CONTROL 1, 2) Используется для управления всеми шинными операциями в ПГЗ.

Таблица 1. «Функции»

BDIR BC1 BC2 Функции 0 0 1 Неактивен 0 1 1 Чтение из ПГЗ 1 0 1 Запись в ПГЗ 1 1 1 Фиксация адреса

Аналоговые каналы
A, B, C — Выход соответствующего ЦАП, формирующего составной звуковой сигнал с двойной амплитудой до 1 В.

IOA0-IOA7 и
IOB0-IOB7 — Параллельные двунаправленные порты ввода/вывода, снабженные подпорными резасторами на +5 В.

TEST1 и
TEST2 — Выводы предназначенные только для тестирования генератора. В реальных схемах не используются и должны быть всегда свободны.


Рис. 1 «Назначение выводов ПГЗ AY-3-8910»

Подключение ПГЗ к компьютеру ZX Spectrum.

Многие программы для ZX Spectrum поддерживают ПГЗ. Для использо- вания всех их звуковых возможностей необходимо подключить ПГЗ к системной шине компьютера. Простейшая схема подключения показана на рис. 2 (На примере AY-3-8910)


Рис. 2. «Схема подключения ПГЗ AY-3-8910 к ZX Spectrum»

Программирование ПГЗ AY-3-8910/8912

ПГЗ является регистрово-ориентированным генератором звуков. Его функции выполняются посредством 16 внутренних регистров. Номер регист- ра задается 4 младшими разрядами при подаче команды «фиксация адреса» и остается действительным до получения команды о смене этого адреса.

В таблице приведены функции регистров и допустимые значения для этих регистров.

Таблица 2. «Функции регистров и допустимые значения для этих регистров»

N регистра Назначение или содержание Значение
0, 2, 4 Нижние 8 бит частоты голосов А, В, С 0 — 255
1, 3, 5 Верхние 4 бита частоты голосов А, В, С 0 — 15
6 Управление частотой генератора шума 0 — 31
7 Управление смесителем и вводом/выводом 0 — 255
8, 9, 10 Управление амплитудой каналов А, В, С 0 — 15
11 Нижние 8 бит управления периодом пакета 0 — 255
12 Верхние 8 бит управления периодом пакета 0 — 255
13 Выбор формы волнового пакета 0 — 15
14, 15 Регистры портов ввода/вывода 0 — 255

Основным при работе ПГЗ является регистр 7. Его главное назначение — определять какие каналы должны участвовать в образовании звука и определять направление обмена портов ввода/вывода.

Его структура показана в таблице 3. «0» соответствует включению определенной позиции, а «1» — выключению.

Таблица 3. «Регистр смешивания и выбор канала»

7 6 5 4 3 2 1 0
порт В порт А шум С шум В шум А тон С тон В тон А
управление
вводом/выводом
выбор канала для шума выбор канала для тона

Подключение принтера с интерфейсом CENTRONICS к ПГЗ AY-3-8910

Использование микросхемы AY-3-8910 дает возможность подключить параллельный принтер, благодаря наличию двух портов ввода/вывода. Схема подключения ПГЗ к компьютеру остается прежней. Поддержка принтера с данным интерфейсом требует специального программного обеспечения, в которое входят: TLW2-AY, ART STUDIO-AY, LLIST/LPRINT-AY.


Рис. 3. «Схема подключения принтера к ПКЗ»

Для тех, кто не знает где взять 1.7734 МГц журнал «BAJTEK» N 11 за 1989 г. рекомендует следующую схему генератора :


Рис. 3. Схема генератора

Источник

Ay 8910 распиновка

Оставалось только произвести гравировку.

Звук

  • Поддерживаются одновременно чипы AY-3-8910 (и аналоги в корпусе DIP-40) и AY-3-8912 (и аналоги в корпусе DIP28) (на момент написания статьи программно поддерживается один чип. В очень скором времени добавится второй для одновременного воспроизведения).
  • В качестве микшера используются 2 цифровых потенциометра AD5204, обеспечивающие изменение громкости звучания каждого канала обоих чипов (A, B, C, A1, B1, C1).
  • В качестве усилителя для наушников использована микросхема MCP6022, обеспечивающая хорошие качество и громкость при относительно низких шумах.
  • Аудио-часть отвязана от цифровой отдельной «землей».
  • Выходной сигнал выведен к выводам ADC микроконтроллера (что может быть использовано как для «черновой» записи звука, так и для построения состояния спектрального анализатора).

Логическая часть

  • На плате установлен микроконтроллер STM32F205RGT6 (32-хбитная шина, 1 МБайт Flash, 120 МГц CPU, 128 КБ RAM), считающий в себе низкое энергопотребление в режиме плеера (на низкой частоте) и высокую производительность в режиме аналогового синтезатора (работа по USB, UART, MIDI).
  • Микроконтроллер тактируется от внешнего кварцевого резонатора. Это нужно для формирования точной частоты тактирования AY/YM чипов (в будущем можно будет выбирать любимую частоту из предложенного списка. На момент написания статьи, установлена частота тактирования 2 МГц).
  • На плате установлено 2 разъема под micro-sd карты. Один из них планируется использовать для системных нужд, а вторая — для пользователя. Системный разъем подключен по SPI, пользовательский по SDIO (на момент написания статьи программно поддерживается только системный разъем).
  • Чипы AY/YM подключаются к микроконтроллеру через сдвиговые регистры, что обеспечивает одновременное обновление регистров обоих чипов.
  • На плате имеется гальванически-развязанный MIDI вход. Что позволит в будущем (на момент написания статьи программно не реализовано) использовать устройство как аналоговый синтезатор, конспирируемый по MIDI.
  • Устройство аппаратно поддерживает экраны как со светодиодной подсветкой, так и OLED (конфирмуемой по SPI). В зависимости от запеваемых элементов можно выбрать, какой LCD будет использоваться. В данной реализации поддерживается LCD на базе контроллера ST7565R с внешней светодиодной подсветкой, работающей от 3.3 вольт (управление катодом подсветки).
  • Имеется качелька громкости и кнопка включения устройства после полного отключения (полное отсоединение всей цепи от аккумулятора).
  • В качестве порта коммутации с внешним миром был выбран DB-9. На него выведены следующие контакты.
    1. SWD разъем + Reset (для программирования и отладки).
    2. Питание с устройства (для внешнего анализа) и земля.
    3. MIDI интерфейс
    4. Интерфейс прошивки по UART/командной строки UART (на момент написания статьи программно не реализовано).

Питание:

  • Плата рассчитана на питание от li-ion аккумулятора емкостью более 1000 мач (мною использовался аккумулятор на 4000 мач).
  • Логическая часть и подсветка питаются от 3.3 вольт, получаемые напрямую от LDO NCP551.
  • Чипы AY/YM, усилитель и потенциометры питаются от DC-DC преобразователя PT1301.
  • Имеется возможность отключать всю цепь 5 вольт (DC-DC), а так же каждый из чипов AY/YM, оставляя при этом усилители и потенциометры включенными.
  • Аккумулятор заряжается с помощью установленного на плате контроллера заряда li-ion TP4056 при подключении USB зарядки. Ток потребление не более 1 ампера.
  • В режиме воспроизведениея двух чипов потребление 0.13 ампера при 4 вольтах на входе (аккумуляторе).

Так как с аппаратной частью было закончено буквально вчера, то с программными характеристиками все не так радужно.

  • Большая часть кода — собственные библиотеки. Исключение составляют библиотека графического интерфейса MakiseGUI, операционная система реального времени FreeRTOS 0.9.0, библиотека работы с FAT FatFS от Chan-а и библиотеки тулчейна arm-none-eabi-gcc (все выше перечисленные являются полностью бесплатными и открытыми).
  • Большая часть кода написана на C++ (достаточно часто применяются constexpr выражения и шаблоны). В связи с этим размер кода значителен, но выполняется быстрее аналогов на HAL.
  • Вся оперативная память размечается статически. Динамическое выделение (динамическое создание/удаление сущностей), в угоду скорости и надежности, отсутствует.
  • Графический интерфейс состоит из 2-х окон: главное окно воспроизведение трека, окно-список треков. В будущем графический интерфейс будет значительно доработан.
  • Имеется общая шторка состояния.
  • Поддерживаются PSG файлы на один чип (в скором времени будет добавлена поддержка PSG для 2-х чипов).
  • Поддерживается переключение треков из каждого окна, имеется перемотка вперед, пауза (с отключением на время паузы чипа).

Проект активно развивается и все изменения можно наблюдать на github-е. Основной проект, называемый chiptune_player_2.22, содержит в себе множество субмодулей. Среди которых хотелось бы выделить исходный код самого устройства и проект со всей аппаратной частью (исходники печатных плат, gerber файлы изготовления, схемы в pdf, сборочные чертежи), называемый ayplayer_board.

Для сборки программного обеспечения проекта необходим тулчейн arm-none-eabi не старее версии 6-2017-q2-update. Сборку выполнять из под Linux машины (в будущем доработаю makefile, чтобы можно было собирать и из windows).

Так же в скором времени в основном репозитории появится папка doc, в которой будут более подробные инструкции по изготовлению, прошивке, пусконаладке, тестированию, сборке, использованию.

Вот и все. Следите за обновлениями. Удачи!

Спасибо:

  • Петру Шаршавину за то, что много раз пересматривал мою схему и печатную плату и советовал, как сделать лучше.
  • Егору Крылову за разработку и помощь в изготовлении корпуса финальной версии устройства.
  • Александру Маркову за длительную критику и помощь по всему ходу развития проекта.

Источник

Ay 8910 распиновка

AY-3-8910 — трёхканальный программируемый генератор звука (также называемый музыкальным сопроцессором). AY-3-8910 применяется в Spectrum-совместимых компьютерах и игровых приставках для синтеза звука.

  • Три программируемых генератора тонов (аналоговые выходы)
  • Генератор амплитудной огибающей
  • Программируемый генератор белого шума
  • Логический микшер (смешивает выход генераторов шума и огибающей с одним или несколькими каналами тона)
  • Программируемое усиление
  • Два 8-разрядных порта ввода-вывода общего назначения
  • Тактовая частота 1,7734MHz
  • Питание +5V.
  • Аналоги: AY38910A,

YM214F, Расположение выводов микросхемы AY-3-8910:

AY-3-8910 представляет собой конечный автомат, состояние которого задаётся с помощью шестнадцати 8-разрядных регистров. Они программируются через 8-разрядную внешнюю шину, использующуюся как для передачи данных, так и для задания адреса регистра — режим переключается сменой уровня на специальном выводе микросхемы. Типичный цикл передачи значения: шина переключается в режим задания адреса, передаётся адрес, шина переключается в режим передачи данных, передаются данные.

Шесть регистров R0..R5 управляют частотой звука, генерируемой тремя основными каналами, с помощью задания значения делителя входной тактовой частоты. Делитель хранится в двух 8-разрядных регистрах для каждого из каналов, однако реальная разрядность счётчика-делителя — 12 разрядов, что даёт 4096 вариантов значения частоты звука.

Регистр R6 задаёт 5-разрядное значение периода для псевдослучайного генератора шума.

Регистр R7 представляет собой логический микшер, содержащий по два бита для каждого канала, в зависимости от которых к каналам подмешивается сигнал генератора шума, либо генератор огибающей. Также в регистре R7 находятся два бита управления портами ввода-вывода общего назначения.

Три регистра R8..R10 управляют громкостью трёх основных каналов (16 уровней), а также имеют бит разрешения использования огибающей.

Три регистра R11..R13 управляют частотой (два регистра, 16-разрядное значение) и формой (один регистр, 16 вариантов) сигнала генератора ADSR-подобной огибающей. В отличии от большинства систем, 8910 использует фиксированные значения времени для фаз плато и затухания, и повторяющуюся последовательность фаз атаки и спада. Для примера, генератор может постоянно повторять цикл атаки-спада, или наоборот, начиная с максимального уровня, постепенно понижая его, без фазы атаки.

Регистры R14 и R15 управляют состоянием входных-выходных линий портов ввода-вывода общего назначения.

Более подробные параметры микросхемы AY-3-8910 с режимами работы и вресенными диаграммами находятся в файле документации ниже (Datasheet на английском языке).

Источник

Adblock
detector