Ana Sayfa
Antrak Gazetesi
Eski Sayılar
Antrak Ana Sayfası
Yorumlariniz ve Sorularınız için mail adresimiz.


İnternette İlk 
Türk Amatör Telsiz Gazetesi

PIC 16F84 UYGULAMALARI - 7

 
Barbaros Aşuroğlu (TA2CBA)
TA2CBA Barbaros Aşuroğlu
E-Mail: ta2cba@www.antrak.org.tr
URL: http://www.antrak.org.tr/~ta2cba
 
 

 

PIC 16F84 uygulamalarında bu ay DTMF ton kodlama sistemini ele alacağız. 
DTMF Dual Tone Multi Frequency kelimelerinin baş harflerinden oluşur. 
Kelime anlamı çift tonlu çoklu frekans kodlama sistemidir. DTMF esas olarak 
Amerikan ordusu için Bell telefon laboratuvarlarında geliştirilmiş bir kodlama 
sistemidir. Daha sonra telefon şebekelerinde bilgi yollamanın güvenli yolu 
olarak tercih edilmiş ve telefon abonesinin santrala aradığı abone ile ilgili 
bilgileri ilettiği standart yöntem olarak günümüzde yaygın olarak kullanılmaktadır.

DTMF kodlama sistemi radyo amatörlüğünde yerini son yirmi yıl içinde yaygın 
olarak almıştır. Günümüzde telsiz cihazlarının çoğunda DTMF sinyallerini 
yollamaya ve almaya yarayan modüller ile tuş takımı bulunmaktadır. Bu imkan 
sayesinde telsiz yardımıyla DTMF kodlu mesajlar, çağrı kodları yollamak; 
uzaktan kumanda amaçlı rölelerin kontrolu gibi işler gerçekleştirilebilir. 
Örnek olarak ANTRAK rölelerini gösterebiliriz.

DTMF kodlama sisteminde temel olarak dört adet iki çift ton kulanılır. 
Bu iki ton kombinasyonu ile 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, #, *, A, B, C, D rakam 
ve sembolleri ifade edilir. 
 
1209 Hz
1336 Hz
1477 Hz
1633 Hz
697 Hz
1
2
3
A
770 Hz
4
5
6
B
852 Hz
7
8
9
C
941 Hz
*
0
#
D

Yukarıdaki DTMF Kod kombinasyon tablosundan görüleceği gibi dört adet 
frekans satır için, dört adet freakansta kolon için tahsis edilmiştir. 
Tablonun ortasındaki rakam ve semboller karşılarında bulunan satır ve 
sütundaki frekans çiftiyle ifade edilirler. Bir örnek vermek gerekirse 
4 rakamını 770 Hz ve 1209 Hz lik ton çiftiyle ifade ederiz. Bu ton çiftleri 
16 adet ton kombinasyonuna olanak tanır. Bu tonlardan sıra için adanmış 
olanlar 1 kHz ‘in altında, kolon için tahsis edilmiş olanlar ise 1 kHz ile 2 kHz 
arasındadır. Bu frekansların bu sınırlar dahilinde olmasının sebebi telefon ve 
telsiz sistemlerinde band geçiren filtreler kullanılır ve bu filtreler 
300 Hz – 3000 Hz arasındaki konuşma aralığı dediğimiz aralıktaki frekansları 
geçirirler. DTMF tonlarıda bozulma ve kesintilere uğramaması için bu frekans 
sınırları içinde kalacak şekilde tasarlanmışlardır.

Bu noktaya kadar bir DTMF ton kodunun üretilmesini ele aldık. Bu sinyallerin 
çözümlenmesi oldukça kritik ve karmaşık bir DSP – Digital Signal Processing – 
tekniği gerektirmektedir. Çözümleme için geçerli bir ton çifti ve zamanlama 
aralığı gereklidir. Bir konuşma esnasında DTMF sinyalinin çözülme gerekliliği 
işleri daha da karmaşık bir hale sokar.

Bir DTMF Kod Çözücü sistemi aşağıdaki işleri yapmalıdır:

      Her ton sinyalinin algılanması
      Geçerli ton çiftinin belirlenmesi
      Bir sembolun geçerli zaman dilimindeki varlığının tespiti
Bir DTMF alıcısı ton frekanslarını +/- %1.5 hata toleransı ile algılamalı ve 
vericiden gelen tonlar +/- %3.5 hata toleransı içinde kalmalıdır. DTMF sinyalleri
iki ton arasında bir şiddet seviyesi olduğunda dahi algılamada hata yapmamalıdır. 

İnsan bu kadar sert şartlarda görev yapan bir sistemin ne kadar karmaşık 
olduğunu kafasında kolay kolay canlandıramaz sanırım, ama bu iş sanıldığı 
kadar zor değildir. Son yıllarda hızla gelişen DSP- dijital sinyal işleme teknikleri - 
sayesinde DTMF alıcıları bir entegreye indirilmiş ve 1.5 US$ gibi fiyatlarla alıcı 
beklemektedir. Bu alıcılara bir örnek olarak national firmasının 
(http://www.nsc.com) TP8870 veya SAMSUNG firmasının KT3170‘ini 
söyleyebiliriz.

Bu ayki PIC 16F84 uygulamamız bu entegreleri PIC’e aplike ederek DTMF 
sinyallerini PC yardımıyla görmektir.

Şemamız her zaman olduğu gibi oldukça basittir. Bütün işi PIC 16F84 üzerine 
yazılım olarak yıktık. KT3170 veya muadili TP8870 telsiz hoparlör ucundan 
veya herhangi bir ses kaynağından gelen DTMF sinyali (telefon vs.) yukarıda 
açıkladığım prensipleri kullanarak çözer ve tablodaki karşılık sembolünü pic’in 
RB0…RB3 bacaklarına iletir. PİC bu kodu kabul etmeden evvel RB4 bacağına 
bağlı olan KT3170 ton geçerlilik bacağındaki sinyali kontrol eder. Eğer bu 
bacakta High yani +5V varsa kod geçerlidir aksi hallerde kod kabul edilmez. 
Bu ayrımı yapmak şarttır, eğer yapmazsak Porttaki kodun yenimi yoksa eski mi 
oldğunu PIC’in anlamasına imkan yoktur. Daha sonra PIC aldığı kodun yeni 
ve geçerli bir kod olduğuna karar verdikten sonra bu kodun binary karşılığı olan 
sembolü ASCII formatında 1200 Baud olarak PC de çalışan Terminal 
emülasyon programına iletir ve ekranda algılanan kod görülür.

Devreyi gerçekleştirirken DTMF.ZIP içindeki .hex dosyayı pic16f84’ü 
programlamakta kullanabilirsiniz. Programlayıcı için eski yazı dizilerindeki 
programlama sisteminden yararlanabilirsiniz.

Devreyi hatasız yapıp voltaj vermeden önce bazı ayrıntılara 
dikkatinizi çekmek istiyorum:

* PC RS232 (COM) portuna bağlantı konektörünü takarken PC ya da 
PIC'den en az birinin enerji almaması gerekir aksi halde RS232 portunun 
arızalanması işten bile değildir. 

* DB9 konnektör kullanırsanız COM1, DB25 konnektörünü kullanırsanız 
COM2 portunu işgal etmeniz gerekir. PIC için hangi COM portun kullanıldığının 
önemi yoktur, bu terminal programının sorunudur. 

* RS232 (COM) portun bacaklarının kesinlikle kısa devre olmasına izin 
vermeyin aksi takdirde port arızalanır.

Şimdi terminal programının SETUP’ına göz atalım:

* COM1 veya COM2 yi seçin. (Hangisini kullandıysanız) 

* 1200 baud ,8Bit,No parity,1 Stop bit seçeneklerini ayarlayın. 

* Terminal emülasyon tipini TTY olarak seçin. 

* Sistem Half duplex çalışacağından half duplex yada full duplex olması 
farketmez.

Önce Terminal programını çalıştırın daha sonra devreye +5Volt verin.

Eğer herşey düzgünse ekranda;

DTMF ---> RS232C

Barbaros ASUROGLU - ANTRAK

Mesajını görürsünüz.Bu noktaya geldiyseniz devre ve terminal sorunsuz 
çalışıyor demektir. Devrenin girişini telsiz veya herhangi bir alıcının hoparlör 
girişine bağlayıp bir başka telsizden gelen DTMF sinyallerini ekranda 
görebilirsiniz. 

Denemelerinizde telsiz kullanmak istemiyorsanız bir mikrofon ve mikrofon 
kuvvetlendiricisini hoparlör girişi yazan uca bağlayarak mikrofonun ucuna 
telefon ahizesini tutarak ve tuş takımına basarak yapabilirsiniz. Alternatif 
bir yöntemde telefon tuş takımına basıldığında çıkan DTMF tonları bir teype 
kaydedip bunu devreye teybin hoparlör çıkışı vasıtasıyla uygulamaktır.

Bu ay DTMF sinyallerini yakalayan bir PIC uygulamasıni inceledik, 
gelecek ay yeni bir uygulamada buluşmak dileğiyle…