DESKRIPSI PRODUK

SN76489 Digital Complex Sound Generator(DCSG) adalah IC dengan level TTL yang dapat diprogram untuk membangkitkan suara yang kompleks. Di dalamnya terdapat 3 pembangkit nada (tone) dalam bentuk gelombang digital (square wave) dan satu pembangkit suara derau (white noise), masing-masing mampu memproduksi suara dalam berbagai frekuensi pada 16 tingkat kelantangan suara (volume level).

Aplikasi utamanya adalah sebagai pembangkit efek suara dan sintesis musik, banyak digunakan dalam permainan konsol (contoh: Sega Game Console) dan komputer pribadi genereasi awal (contoh: IBM PCjr).

Seri "A" (SN76489A) memproduksi gelombang suara dengan fasa normal (seri SN76489 tanpa "A" memiliki fasa terbalik / inverted waveform).  Pada seri "A" ini juga ditambahkan pin masukan suara (Audio In) pada pin#9 untuk melakukan pencampuran suara (audio mixing) secara terintegrasi.

Seri "N" (SN76489xN) menunjukkan tipe DIP ramping (narrow DIP packaging).


FITUR PRODUK


KONFIGURASI PIN

Catatan: Pada datasheet orisinal dari insinyur Texas Instruments yang asli (tahun 1983), penamaan pin masukan digital tidak menggunakan konvensi yang lazim di mana susunan bit diberi nomor secara terbalik dari biasanya (bit #0 dinamakan D7, dst.). Untuk menghindari kebingungan, pada diagram di atas penamaan pin sudah dimodifikasi untuk mengikuti konvensi lazim, dengan demikian D0 adalah bit#0 dari data masukan.


TEORI PEGGUNAAN

Setiap pembangkit nada memiliki bagian sintesa frekuensi dan bagian atenuasi.

Frekuensi dari gelombang digital yang dihasilkan diturunkan dari dua faktor: kecepatan eksternal clock (fclk) dan nilai yang diprogramkan pada register kendali (control register) masing-masing kanal (variabel N).

Sintesa frekuensi memerlukan 10-bit informasi (NF9:0) untuk menentukan setengah perioda dari frekuensi yang diinginkan. F9adalah bit terbesar (MSB, most significant bit) dan F0 adalah bit terkecil (LSB, least significant bit). Informasi ini dimuat ke penghitung internal (internal 10 stage tone counter) yang nilainya menurun dengan kecepatan fclk/16. Ketika penghitung internal ini mencapai nilai nol, sebuah flip-flop akan dibalik dan penghitung dimuat ulang dengan nilai N. Dengan demikian, periode dari frekuensi yang diinginkan adalah dua kali dari nilai dari nilai N.

Kesimpulannya, frekuensi dapat dihitung dengan rumus: ffclk / 32 x N
di mana: fclk = frekuensi clock yang digunakan (dalam Hertz) dan N= angka biner 10-bit (desimal 0 - 1023), atau rumus kebalikannya untuk mendapatkan nilai N dari frekuensi yang diinginkan adalah:

Nfclk / (32 x f)

Contoh: Bila kita menggunakan clock dengan frekuensi 4 MHz, untuk membangkitkan nada C4 (middle-C; "do" pada oktaf ke-4) dengan nilai frekuensi 261,63 Hz (referensi: tabel konversi not musik dalam frekuensi), Ndiisi dengan nilai 4.000.000 / (32 x 216,63) = 577 (dibulatkan ke nilai integerterdekat).

Keluaran dari flip-flop frekuensi menjadi masukan untuk penirus (attenuator) 4 tingkatan. Nilai atenuasi ini bersama dengan posisi bit dalam data word ditunjukkan dalam tabel berikut ini:

A3:0Atenuasi (dB)
0001
2
0010
4
0100
8
1000
16
1111
off

Untuk menggunakan pembangkit suara derau, sumber suara dibangkitkan berdasarkan nilai dari shift-register internal dengan rangkaian umpan balik XOR (eXclusive OR). Rangkaian umpan balik ini memiliki pelindung untuk menghindari kemungkinan penguncian dalam kondisi nol.

Ada dua macam derau yang dapat dipilih melalui nilai T pada register kendali derau: "Periodic" noise (T=0) dan "White" noise(T=1). Ketika nilai dari register kendali berubah, shift-register akan dikosongkan.

Shift-register akan diingsut pada kecepatan tetap yang ditentukan oleh indeks kekerapan R(2 bit, desimal 0-3) sbb.:
Untuk < 3 berlaku: ffclk / (512 x 2R)
Untuk R = 3 berlaku: f= keluaran dari pembangkit nada ke-3

Keluaran dari pembangkit derau ini juga menjadi masukan untuk bagian penirus, sama seperti pada pembangkit nada.

Keluaran akhir adalah gabungan dari ketiga pembangkit nada dan keluaran dari pembangkit derau, sama seperti pada rangkaian penggabung opAmpkonvensional. Output buffer ini akan membangkitkan arus hingga 10 mA.


PETUNJUK PENGGUNAAN

SN76489AN memiliki 8 register internal yang mengendalikan ketiga pembangkit nada dan satu pembangkit derau. Chip diprogram dengan mengirimkan data (lewat pin D7:0) dengan format sbb.:

Bit memulai (start bit) di D7, bernilai 1

Dua bit untuk memilih pembangkit yang ingin diakses di (D6:5) untuk memilih pembangkit yang akan diakses:
Bit selanjutnya (D4) untuk memilih tipe register yang akan diakses:
Selanjutnya tergantung dari tipe data yang akan dikirimkan:

Untuk frekuensi, 4 bit MSB dari N (F9:6) dikirimkan di D3:0, diikuti satu byte tambahan dengan format:
sehingga total byte yang dikirimkan untuk memprogram frekuensi adalah 2 byte.
Untuk register kendali derau, tipe derau (T) dipilih di D2 (D3 dapat berisi apa saja, nilainya akan diabaikan) dan indeks kekerapan derau (R) sepanjang 2-bit dikirimkan melaui D1:0.

Untuk nilai atenuasi sepanjang 4-bit (A3:0) dikirimkan melalui D3:0.

Data yang akan dikirimkan diset melalui pin data D7:0, kemudian pin  WE ditarik ke ground.
Untuk memulai transfer data, chip diaktifkan dengan menarik pin CE(active low) ke ground.
Pada saat proses memuat dimulai, pin READY akan ditarik ke ground(bernilai LOWsaat data dimuat).
Chip ini memerlukan tepatnya 32 siklus clock untuk menyelesaikan memuat data ke register tujuan. Saat selesai dimuat, pin READY akan dikembalikan bernilai HIGH (ditarik ke VCCmelalui pull-up resistor eksternal).