General Instrument AY-3-8910

Układ scalony AY-3-8912, obudowa DIP 28-pin
Układ scalony AY-3-8910 w obudowie DIP 40
GI AY-3-8910A na płycie komputera MSX2 Daewoo CPC300E
GI AY-3-8912 na płycie komputera Oric-1
Wyprowadzenia układu AY-3-8910

General Instrument AY-3-8910 – 3-kanałowy programowalny generator dźwięku zaprojektowany przez firmę General Instrument, początkowo do współpracy z ich 16-bitowym procesorem CP1610 lub z jednym serii 8-bitowych mikrokomputerów PIC1650.

Układ 8910 i jego warianty stały się popularnymi elementami automatów do gry, m.in. konsoli do gier wideo Intellivision i Vectrex oraz mikrokomputerów MSX, Atari ST, Amstrad CPC, Oric 1, Colour Genie, Elektor TV Games Computer i Sinclair ZX Spectrum 128/+2/+3, a także kart dźwiękowych Mockingboard do komputerów z rodziny Apple II. Do starszych modeli ZX Spectrum oraz ZX Spectrum+ dostępne były karty rozszerzeń instalowane na szynie krawędziowej komputera oparte na tym układzie. Przystawki te były chętnie kupowane przez właścicieli tych mikrokomputerów z uwagi na ubogie możliwości dźwiękowe standardowych wersji. Układ był także produkowany na licencji przez firmę Yamaha (z drobnymi modyfikacjami) jako YM2149. Układy nie są już produkowane ale ciągle zmniejszający się zapas jest nadal dostępny w serwisach maszyn z tamtego okresu. Został stworzony opis VHDL, który może zostać użyty do odtworzenia automatów do gier lub maszyn wspomnianych wyżej. Kod źródłowy VHDL jest dostępny w internecie i po skompilowaniu wypełnia około 10% układu Xilinx XC2S300 FPGA.

Opis

Układ 8910 jest w istocie automatem stanowym, posiadającym generator obwiedni, który jest konfigurowany za pomocą szesnastu 8-bitowych rejestrów. Rejestry te można programować poprzez 8-bitową szynę, która pełni rolę zarówno szyny danych jak i szyny adresowej (w zależności od ustawienia odpowiedniego sygnału sterującego na wejściu układu). Przykładowo, typowy cykl programowania układu polega na przełączeniu szyny w tryb adresów i wybraniu rejestru do zapisu. Następnie szyna przełączana jest w tryb danych i właściwe informacje przesyłane są do wybranego wcześniej rejestru.

Warianty układu

Układ 8910 był sprzedawany w 3 różnych rodzajach obudów.

Wersja AY-3-8910 posiada dwa porty równoległe We/Wy ogólnego przeznaczenia (oznaczane jako A i B) i jest dostępna w obudowie 40-pin.

Model AY-3-8912 jest tym samym układem, dostępnym w obudowie 28-pin z portem B niepodłączonym do żadnych wyprowadzeń. Ta wersja była najbardziej rozpowszechniona.

Model AY-3-8913 jest tym samym układem, dostępnym w obudowie 24-pin. W tej wersji oba porty równoległe A i B nie były wyprowadzone na zewnątrz układu. Niewielka redukcja liczby wyprowadzeń w stosunku do modelu 8912 czyniła go mniej interesującym.

Model Yamaha YM2149 posiadał taki sam rozkład wyprowadzeń jak AY-3-8910 z tą różnicą, iż pin 26 mógł służyć do dzielenia na pół częstotliwości taktowania układu (w przypadku gdy pin był wysterowany niskim poziomem sygnału). W przypadku niepodłączania pinu 26, YM2149 mógł zastępować układ AY-3-8910, częstotliwość taktowania pozostawała w takim przypadku niezmieniona.

Model Yamaha Y3439-F – wersja układu w obudowie QFP 44 pin, kompatybilny z YM2149

Opis rejestrów

Poniższa tabela zawiera opis rejestrów układów z rodziny AY-3-8910:

RejestrFunkcjaLiczba bitów (Zakres)
0Wysokość tonu w kanale A (mniej znaczące bity)8-bit (0-255)
1Wysokość tonu w kanale A (bardziej znaczące bity)4-bit (0-15)
2Wysokość tonu w kanale B (mniej znaczące bity)8-bit (0-255)
3Wysokość tonu w kanale B (bardziej znaczące bity)4-bit (0-15)
4Wysokość tonu w kanale C (mniej znaczące bity)8-bit (0-255)
5Wysokość tonu w kanale C (bardziej znaczące bity)4-bit (0-15)
6Częstotliwość (wysokość) szumu5-bit (0-31)
7Rejestr sterujący (mikser)8-bit (0-255, uwagi poniżej)
10Poziom głośności w kanale A5-bit (0-15, uwagi poniżej)
11Poziom głośności w kanale B5-bit (0-15, uwagi poniżej)
12Poziom głośności w kanale C5-bit (0-15, uwagi poniżej)
13Czas obwiedni (mniej znaczące bity)8-bit (0-255)
14Czas obwiedni (bardziej znaczące bity)8-bit (0-255)
15Rodzaj obwiedni4-bit (0-16)
16Port "A" (We/Wy)8-bit (0-255)
17Port "B" (We/Wy)8-bit (0-255)

Uwagi:

  • rejestry 10, 11 i 12 są 4-bitowe z punktu widzenia sterowania głośnością generowanej przez układ fali prostokątnej lub szumu, natomiast 5 bit w tych rejestrach pełni funkcję sterującą. Jeśli jest ustawiony, to odpowiedni kanał używa obwiedni określonej w rejestrze 15. Głośność zdefiniowana na bitach 0-3 jest w tym przypadku ignorowana, a układ może generować fale o przebiegu piłokształtnym lub trójkątnym.
  • funkcje poszczególnych bitów w rejestrze sterującym (nr 7):
    • bit 7 – określa czy port "B" pracuje jako wejście (0) czy wyjście (1)
    • bit 6 – określa czy port "A" pracuje jako wejście (0) czy wyjście (1)
    • bit 5 – określa czy kanał C ma odtwarzać szum (0 = tak)
    • bit 4 – określa czy kanał B ma odtwarzać szum (0 = tak)
    • bit 3 – określa czy kanał A ma odtwarzać szum (0 = tak)
    • bit 2 – określa czy kanał C ma odtwarzać ton (0 = tak)
    • bit 1 – określa czy kanał B ma odtwarzać ton (0 = tak)
    • bit 0 – określa czy kanał A ma odtwarzać ton (0 = tak)
  • nazewnictwo bitów w rejestrze nr 13, który jest odpowiedzialny za rodzaj obwiedni przedstawia się następująco:
    • bit 0 – Hold
    • bit 1 – Alternate
    • bit 2 – Attack
    • bit 3 – Continue

Poniższa tabela przedstawia graficzne odwzorowanie obwiedni oferowanych przez układ w zależności od poszczególnych bitów w rejestrze 15 ("x" oznacza, że wartość bitu jest dowolna):

BityKształt obwiedni
3210
00xxAY 3 8910 obwiednia 00xx.svg
01xxAY 3 8910 obwiednia 01xx.svg
1000AY 3 8910 obwiednia 1000.svg
1001AY 3 8910 obwiednia 00xx.svg
1010AY 3 8910 obwiednia 1010.svg
1011AY 3 8910 obwiednia 1011.svg
1100AY 3 8910 obwiednia 1100.svg
1101AY 3 8910 obwiednia 1101.svg
1110AY 3 8910 obwiednia 1110.svg
1111AY 3 8910 obwiednia 01xx.svg

Zobacz też

Linki zewnętrzne

Media użyte na tej stronie

REF new (questionmark).svg
Autor: Sławobóg, Licencja: LGPL
Icon for missing references
AY-3-8910 pinout.JPG
Autor: Maria Nowak, Licencja: CC0
Pinout AY-3-8910
AY 3 8910 obwiednia 00xx.svg
Kształt obwiedni dźwięku w układzie AY-3-8910
AY 3 8910 obwiednia 1110.svg
Kształt obwiedni dźwięku w układzie AY-3-8910
AY 3 8910 obwiednia 01xx.svg
Kształt obwiedni dźwięku w układzie AY-3-8910
Oric1 mbd.jpg
Details of principal chips in the Motherboard of a Oric 1 computer
AY-3-8910.jpg
General Instrument AY-3-8910 Sound Chip
YM2149 01.jpg
(c) Baz1521 z japońskiej Wikipedii, CC BY-SA 3.0
AY-3-8910 compatible YM2149(SSG) made by yamaha. The package type of DIP
AY-3-8910A Sound Chip.png
Микросхема звукогенератора AY-3-8910A производства Microchip (Тайвань) на плате компьютера MSX2 Daewoo CPC300E
AY 3 8910 obwiednia 1010.svg
Kształt obwiedni dźwięku w układzie AY-3-8910
AY 3 8910 obwiednia 1100.svg
Kształt obwiedni dźwięku w układzie AY-3-8910
AY 3 8910 obwiednia 1011.svg
Kształt obwiedni dźwięku w układzie AY-3-8910
AY 3 8910 obwiednia 1000.svg
Kształt obwiedni dźwięku w układzie AY-3-8910
AY 3 8910 obwiednia 1101.svg
Kształt obwiedni dźwięku w układzie AY-3-8910