Mikrokontroler vs Saluran Telephone

AN0011

Teknik Interfacing Saluran telephone ke Mikrokontroler AT89C5.

Perkembangan teknologi elektronika yang semakin maju saat ini mendorong para praktisi maupun peng-hobi elektronika untuk menghubungkan perangkat-perangkat elektronik ke saluran telephone baik sebagai media komunikasi antar perangkat elektronik, proteksi saluran maupun pencatat aktifitas telephone.

Sebagai media komunikasi pada aplikasinya saluran telephone digunakan sebagai media komunikasi data di mana data tersebut akan digunakan untuk mengendalikan peralatan-peralatan tertentu (pengendali peralatan listrik melalui saluran telephone) atau berupa laporan kondisi dan suatu tempat (data logger)

Untuk membangun perangkat-perangkat elektronik yang dapat berhubungan dengan saluran telephone maka terlebih dahulu harus diketahui kondisi-kondisi ataupun sinyal-sinyal yang terjadi pada saluran telephone yang terjadi pada saat:

Langkah-langkah Melakukan Panggilan

Sinyal-sinyal telephone

Pada saat ini kondisi atau sinyal-sinyal yang terjadi pada saluran telephone adalah :

  • Kondisi Off Hook
    saat handset telephone diangkat, Tegangan +/- 48VDC akan turun menjadi 6-12VDC karena saluran telephone mendapat beban +/- 600 ohm pada saat itu.
  • Sinyal Tone
    frekwensi 425 Hz dengan level DC 6-12 Vyang terdengar dan menunjukkan bahwa pesawat telephone telah terhubung dengan saluran telephone.

    Sinyal Tone

  • Sinyal DTMF
    Sinyal DTMF (Dual Tone Multi Frequency), yang terjadi saat pengguna telephone memutar nomor telephone tujuan. Sinyal ini berupa gabungan dua buah frekwensi dengan kombinasi sesuai tabel berikut 

    1209 Hz 1336 Hz 1477 Hz
    697 Hz 1 2 3
    770 Hz 4 5 6
    852 Hz 7 8 9
    941 Hz * 0 #

    Nada DTMF untuk tombol 1

    sinyal dtmf

  • Call Progress
    Nada Panggil (Call Progress), merupakan sinyal pemberitahuan status telephone yang dipanggil dalam keadaan sibuk atau tidak. Hal ini dapat dibedakan pada bagian periode.
  • Pemberitahuan status nada sibuk dilakukan oleh sentral jaringan telephone dengan mengirimkan sinyak tone 425Hz dengan periode 1/2 detik.
  • Pemberitahuan status nada sambung di lakukan oleh sentral jaringan telephone dengan mengirimkan sinyal tone 425Hz dengan periode 4 detik.

Langkah-langkah Menerima Panggilan

Sinyal Dering

Pada saat ini, kondisi atau sinyal yang terjadi pada saluran telephone adalah :

  • Sinyal Dering
    Berupa sinyal frekwensi 50 Hz dengan periode yang sama persis dengan nada panggil sambung dan amplitudo 4OVRMS. Sinyal nada sambung pada telephone pemanggil sebetulnya adalah merupakan duplikasi dan sinyal dering yang terjadi pada telephone yang dipanggil.

    Sinyal Dering

  • Kondisi Off Hook
    Pada saat mi beban +/- 600 ohm terdeteksi sehingga tegangan pada saluran telephone turun. Sentral Saluran Telephone yang mendeteksi kondisi ini langsung menghentikan pengiriman sinyal dering maupun sinyal nada sambung dan menghubungkan kedua pesawat telephone tersebut melalui saklar-saklar yang ada pada jaringan telephone.

Setelah kondisi-kondisi maupun sinyal yang terjadi pada saluran telephone diketahui, berikutnya bagaimana cara mikrokontroler membangkitkan atau mendeteksi kondisi ataupun sinyal-sinyal tersebut. Sebagian besar I/O mikrokontroler hanya mengenal kondisi logika 0 dan 1 saja, sehingga terlebih dahulu harus melalui bagian antar muka sebelum masuk ke saluran telephone yang membutuhkan atau dilalui sinyal-sinyal analog seperti dijelaskan sebelumnya.
Hook & Ring Detector

Hook and Ring Detector

Hook and Ring Detector

Dalam rangkaian ini, J1 terhubung ke jalur telephone dari luar rumah dan J2 terhubung ke jalur telephone yang menuju ke pesawat telephone. Pada saat gagang telephone diangkat (Off Hook) maka impedansi pesawat telephone akan turun menjadi 600 hingga 1K ohm sehingga arus akan mengalir dari J1 menuju J2 melalui opto coupler H11AA1 atau sebaliknya dari J1, J2 ke opto coupler H11AA1. Hal ini tergantung dari posisi TIP dan RING yang terhubung pada J1

Aliran Arus pada Hook Detector

Aliran Arus pada Hook Detector

Aliran arus ini akan menyebabkan opto coupler saturasi dan tegangan di titik hook akan turun menjadi 0 Volt yang menandakan bahwa posisi gagang telephone pada off hook.
Pada saat gagang telephone berada pada posisi on hook maka impedansi pesawat telephone akan kembali tinggi sehingga arus tidak akan mengalir melalui opto coupler. Hal ini menyebabkan opto coupler cut off dan tegangan pada titik hook berubah menjadi 5 Volt.

Pada saat sinyal dering masuk melalui J1, maka opto coupler H11AA1 akan mengubah sinyal tersebut menjadi gelombang kotak pada titik hook di mana besarannya dapat diukur oleh microcontroller

Deteksi Sinyal Dering

Deteksi Sinyal Dering

Simulasi Off Hook
On Hook adalah kondisi jalur telephone terhubung dengan impedansi 600 ohm – 1K. Microcontroler dapat membuat kondisi off hook secara otomatis dengan menghubungkan jalur telephone dari luar rumah ke resistor 1K secara parallel.

Rangkaian Simulasi Off Hook

Rangkaian Simulasi Off Hook

Transmit & Receive DTMF
Transmit dan receive DTMF dapat menggunakan IC MT8888 dengan Timing Bus Intel ataupun MT8880 dengan Timing Bus Motorola di mana IC tersebut berfungsi sebagai DTMF Transceiver

Rangkaian DTMF Transceiver

Rangkaian DTMF Transceiver

AT89C51 adalah microcontroller dengan Timing Bus Intel sehingga penggunaan MT8888 sebagai DTMF Transceiver lebih sesuai. Pada rangkaian di atas digunakan Transformer AX141 yaitu sebuah transformer dengan perbandingan 1:1 dan impedansi 600 ohm yang berfungsi sebagai matching impedance antara jalur telephone dan Interface DTMF Transceiver.
Capacitor C1 berfungsi untuk melakukan blocking tegangan DC dari jalur telephone sehingga rangkaian ini tidak membebani jalur telephone. Sinyal-sinyal DTMF baik dari jalur telephone menuju ke IC MT8888 ataupun sebaliknya dari IC MT8888 menuju ke jalur telephone yang merupakan Sinyal AC saja yang dapat melalui capacitor ini.

Call Progress Detector
Selain berfungsi sebagai DTMF Transceiver, MT8888 ataupun MT8880 juga dapat berfungsi sebagai Call Progress Detector. Sinyal Call Progress dideteksi dengan adanya frekwensi 425 Hz yang keluar pada kaki IRQ MT8888 dalam bentuk gelombang kotak.
Gelombang kotak frekwensi 425 Hz akan keluar pada kaki IRQ MT8888 setiap kali sinyal call progress yang berbentuk sinus masuk ke input MT8888 sehingga microcontroller dapat mengetahui adanya call progress dengan mendeteksi adanya gelombang kotak sebesar 425 Hz yang muncul pada pin IRQ.
Hubungan Microcontroller dengan MT8888

antarmuka dengan mt8888

D0…D3: Data Bus, merupakan jalur aliran data pada saat transmit, receive DTMF, inisialisasi control register maupun pembacaan status register

RD: Read, Logika low pada kaki ini akan mengalirkan isi Data Register (tempat data yang diterima atau yang dikirim oleh MT8888) bila kaki RS = 0 dan mengalirkan isi Status Register bila kaki RS = 1

WR: Write, Logika low pada kaki ini akan mengisikan data dari D0 hingga D3 ke Data Register bila kaki RS = 0 dan mengisikan data dari D0 hingga D3 ke Control Register bila kaki RS = 1

RS: Register Select, logika low berarti akses ke Data Register dan logika high berarti akses ke Control Register ataupun Status Register.

IRQ: Logika Low terjadi pada saat sinyal DTMF masuk ke Input MT8888 yang bekerja pada Mode DTMF. Gelombang kotak terjadi pada saat sinyal Call Progress masuk ke Input MT8888 yang bekerja pada Mode Call Progress

CS: Chip Select, logika low akan mengaktifkan IC MT8888 dan logika high akan menon-aktifkan IC MT8888 sehingga jalur data bus pada kondisi high impedance

Rangkaian di atas adalah merupakan hubungan antara MT8888 dan AT89C51 di mana D0…D3, WR dan RD tidak digunakan untuk keperluan yang lain. Namun bila kaki-kaki tersebut hendak digunakan untuk keperluan-keperluan yang lain maka rangkaian berikut ini dapat digunakan.
Pada rangkaian ini, CS dihubungkan ke sebuah decoder 74138 sehingga ke-aktifan MT8888 dapat diatur. MT8888 ataupun komponen-komponen lain yang berhubungan dengan data bus, RD maupun WR ditempatkan di alamat yang berbeda-beda. Pada saat AT89C51 meng-akses komponen lain, maka MT8888 akan non aktif sehingga tidak bertabrakan dengan komponen lain tersebut dan demikian pula sebaliknya bila AT89C51 meng-akses MT8888 maka komponen lain non aktif pula.

antarmuka dengan mt8888

Contoh-contoh Program

Program Pengiriman DTMF
Program berikut adalah pemutaran nomor telephone Mode DTMF secara otomatis termasuk kondisi off hook yang harus dilakukan sebelum pemutaran.

.CODE
Delay_100mS EQU 016EH

;DF-88 Routines
Init_MT8888 EQU 0682H
Kirim_DTMF EQU 0695H
Alamat_DF88 EQU 6000H

Org 2000H                ;Reset Vector
Ajmp Start ;
Org 2003H ;External Interrupt 0 Vector
Reti ;
Org 200BH ;Timer 0 Interrupt Vector
Reti ;
Org 2013H ;External Interrupt 1 Vector
Reti ;
Org 201BH ;Timer 1 Interrupt Vector
Reti ;
Org 2023H ;Serial Interrupt Vector
Reti ;

Start:

Clr P1.1                                      ;Off Hook
Mov DPTR,#Alamat_DF88           ;Reset_MT8888
Lcall Init_MT8888 ;

Mov DPTR,#Nomor_Telephone  ;Data Pointer menuju ke
;alamat tabel nomor
;telephone

LoopPutar_Nomor:

Movx A,@DPTR                          ;Ambil nomor telephone
;yang ditunjuk
;oleh Data Pointer
Cjne A,#0FH,Putar_Nomor         ;Data <> 0F, putar nomor
;berikutnya
Ajmp * ;

Putar_Nomor:

Push DPH ;Simpan DPTR ke SP
Push DPL ;
Mov DPTR,#Alamat_DF88           ;DPTR = Alamat DF88
Lcall Delay_100mS                     ;Delay 100mS
Lcall Kirim_DTMF                        ;Konversi nomor
;telephone ke DTMF

Pop DPL                                       ;Ambil DPTR dari SP
Pop DPH                                      ;
Inc DPTR                                     ;Tunjuk ke tabel nomor
;telephone berikut
Ajmp LoopPutar_Nomor ;

Nomor_Telephone:

DB ‘502′,0FH

Program Deteksi Nada DTMF dan Mengirimkan Hasilnya ke Serial Port

.CODE

Delay_100mS EQU 016EH
Delay_500mS EQU 0165H

Serial_Out EQU 01C8H
Init_Serial EQU 01B8H

;DF-88 Routines
Init_MT8888 EQU 0682H
Alamat_DF88 EQU 6000H
Org 2000H ;Reset Vector
Ajmp Start ;
Org 2003H ;External Interrupt 0 Vector
Reti ;
Org 200BH ;Timer 0 Interrupt Vector
Reti ;
Org 2013H ;External Interrupt 1 Vector
Reti ;
Org 201BH ;Timer 1 Interrupt Vector
Reti ;
Org 2023H ;Serial Interrupt Vector
Reti ;

Start:

Lcall Init_Serial ;Inisial Serial 9600 Bps
Mov DPTR,#Alamat_DF88 ;Reset IC MT8888
Lcall Init_MT8888 ;

Loop:

Jb INT0,* ;Tunggu sinyal DTMF
Mov DPTR,#Alamat_DF88 ;Ambil dari Data Register MT8888
Movx A,@DPTR ;
Anl A,#0FH ;Hapus Bit ke 4 … 7
Cjne A,#10,TidakKonversi_Nol        ;Bila ditekan 0,
;konversi ke 0

Mov A,#00H ;
TidakKonversi_Nol:

Clr C ;Tampilkan dalam ASCII”
Add A,#30H ;
Lcall Serial_Out ;
Inc DPH ;Baca Status Register untuk
Movx A,@DPTR ;mengembalikan Pin IRQ High
Jnb INT0,* ;Tunggu IRQ High
Ajmp Loop ;Kembali deteksi DTMF

Kedua program di atas menggunakan subroutine-subroutine berikut ini:

Delay_100mS EQU 016EH
Delay_500mS EQU 0165H
Serial_Out EQU 01C8H
Init_Serial EQU 01B8H
Init_MT8888 EQU 0682H
Kirim_DTMF EQU 0695H

Komponen pendukung


AN0014


Detail dari  register MT8888

Rutin Software pendukung

Assembly dengan ALDS 3.11 ke atas

Assembly dengan ASM51

Software Assembler ASM51

Software IDE DSTTools.zip

Modul pendukung

  • DF-88 DTMF/Pulse Transceiver + Call Progress Detector
  • DST-51 Sistem Minimum AT89S51 + Downloader

Tags: , , , , ,

Leave a Reply

301 Moved Permanently

301 Moved Permanently