Son
Yüklenen
Resimler
»

Toplam
Ziyaretçi
Sayısı:
12108



Analog-Dijital Dönüştürücüler

Analog-Dijital Dönüştürücüler (Analog-Digital Converters - ADC)



Dış dünyadaki fiziksel büyüklüklerin çok büyük bir kısmı analog değerlerdir. Örneğin ısı, sıcaklık, ağırlık, nem oranı, ışık şiddeti, ses şiddeti vs. gibi büyüklükler hep analog olarak değişirler. Dijital sistemlerin dış dünya ile bağlantılarını sağlamak için; ölçülen fiziksel büyüklüklerin dijital sistemin anlayabileceği sayısal değerlere dönüştürülmeleri gerekir. Çeşitli transdüserlerle (ısı sensörü, ışık sensörü, basınç sensörü, sıcaklıkla değeri değişen direnç, fototransistör vs.) gerilime dönüşen fiziksel büyüklükler analog sistemlerde direkt olarak kullanılabilirler (işlenebilirler). Fakat bu gerilim değerlerinin dijital sistemlerde kullanılabilmeleri için 1 (VAR) ve 0 (YOK) değerlerinden oluşan ikili sayı formatına dönüştürülmeleri gerekir. Çünkü dijital sistemlerdeki bilgiler sadece VAR veya YOK değerlerinin kombinasyonlarından meydana gelir. Bu VAR veya YOK değerleri de gerilimin çeşitli değer aralıkları ile temsil edilir. Mesela TTL (Transistör-Transistör Logic) tabanlı sistemlerde +2Volt ile +5Volt arası gerilim değerleri lojik 1; 0Volt ile 0,8Volt arası gerilim değerleri de lojik 0 olarak kabul edilir. Oysa bir dijital haberleşme standardı olan RS-232 sisteminde ise (Şekil-1); +3Volt ile +25Volt arası değerler 0 (YOK), -3Volt ile -25Volt arası değerler ise 1 (VAR) değerine karşılık gelir. Görüldüğü gibi dijital sistemlerde, analog gerilim büyüklüklerinin belli gerilim aralıklarıyla temsil edilen lojik 1 veya 0 değerlerine dönüştürülmeleri gerekir. İşte bu işi yapan sistemlere ‘Analog-Dijital Çevirici’ler (Analog-Digital Converter, ADC) denir.


Şekil-1: TTL ve RS-232’de lojik değerlerin gerilim karşılıkları

Analog-Dijital Çeviricilerde analog gerilim değeri, karşılık gelen binary sayıya çevrilir ve ADC’nin çıkışında binary bir sayı olarak görülür. ADC’nin çıkışındaki dijital değerin bit sayısının fazla olması analog değerin temsil edilme doğruluğunu artırır. Mesela 4-bitlik bir ADC, analog bir değer aralığını 24=16 parçaya bölerken, 8-bitlik bir ADC aynı değer aralığını 28=256 parçaya böler. Bu da çözünürlüğün artması demektir.(Şekil-2) Hassas işlemlerde bit sayısı fazla olan ADC’ler kullanılmalıdır.


Şekil-2: n-bitlik ADC’nin temel şeması

Analog GirişDijital Çıkış
[Volt]D3D2D1D0
[0,0 - 0,2)0000
[0,2 - 0,4)0001
[0,4 - 0,6)0010
[0,6 - 0,8)0011
[0,8 - 1,0)0100
[1,0 - 1,2)0101
[1,2 - 1,4)0110
[1,4 - 1,6)0111
[1,6 - 1,8)1000
[1,8 - 2,0)1001
[2,0 - 2,2)1010
[2,2 - 2,4)1011
[2,4 - 2,6)1100
[2,6 - 2,8)1101
[2,8 - 3,0)1110
[3,0 - 3,2)1111
Şekil-3: 4-bitlik bir ADC’de 0 ile +3,2 Volt arasındaki giriş gerilim değerlerine karşılık gelen çıkıştaki binary sayılar

Şekil-3’teki tabloda analog giriş [0Volt, 3,2Volt ] aralığı 2n=24=16 parçaya bölünmüştür. Her parça 0,2Voltluk bir aralıktır. Eğer ADC 8-bitlik olsaydı her aralık (3,2) / (28)=0,0125Voltluk daha hassas bir değerde olurdu. Ayrıca tablodan anlaşıldığı gibi binary 0000 değerine karşılık gelen aralık [0Volt; 0,2Volt) aralığıdır. O halde 0,1Volt değeri de bu aralıkta olduğu için çıkışta yine aynı binary değer görünecektir. Yani 0Volt; 0,00001Volt; 0,0999Volt; 0,1005Volt; 0,15Volt; 0,1999Volt vs. bu aralıktaki herhangi bir gerilim değerinin çıkıştaki karşılığı yine (0000) aynıdır. Bu olay bir nevi yuvarlamadır. Bu da gösteriyor ki, dijital sistemler analog değerleri belli bir hata ile sayısallaştırır. Bu hataya kuantalama hatası (quantization error) denir. Bu yuvarlama bit sayısı ayarlanarak (çözünürlük artırılarak) sistemi etkilemeyecek duruma getirilebilir. Onun için kullanılacak ADC’nin seçimi önemlidir. Şekil-4’te 2-bitlik bir ADC’nin 0-4Voltluk analog aralıkta transfer fonksiyonu verilmiştir.


Şekil-4: 2-bitlik bir ADC’nin 0-4Volt için transfer karakteristiği

Analog-Dijital çeviricilerde diğer bir kritik parametre ise, Çevirim Süresi’dir (conversion time). Çevirim süresi, bir analog sinyali sayısal bir çıkışa çevirmek için gereken toplam süredir. Bu değer, seçilen çevirim tekniğine ve elektronik devreler içindeki gecikmeye bağlıdır.
Ardışıl Yaklaşımlı Analog Dijital Çevirici
Ardışıl yaklaşımlı ADC üç ana elemandan oluşmaktadır:

1- Dijital-Analog çevirici (DAC)
2- Ardışıl yaklaşım saklayıcısı (Successive Approximation Register-SAR)
3- Karşılaştırıcı (Comparator)

Ardışıl yaklaşımlı Analog-Dijital çevirim tekniği, DAC çıkışı olan V0 ile analog giriş sinyali Vin'in karşılaştırılmasına dayanır. DAC'ın sayısal girişleri, aşağıda anlatılan, ardışıl yaklaşım yöntemiyle üretilir. DAC çıkışı analog sinyale eşit olduğunda, DAC'ın girişi analog sinyalin sayısal değerini verir. Bu değer çıkış saklayıcısı yoluyla dışarı okunur.


Şekil-5: Ardışıl yaklaşımlı Analog-Dijital Çevirici’nin blok diyagramı

Ardışıl yaklaşım yöntemi: DAC'a giriş için üretilen bu teknik, ağırlığı bilinmeyen bir maddenin (örneğin 1 gramdan daha az) 1/2gr, İ/4gr, 1/8gr,..., gibi kesirli ağırlıklarla bir terazide tartılmasına benzer. Tartma işlemi, en ağır (l/2gr) ile başlar ve denge bozulana kadar daha alt ağırlıklar (azalan sırada) eklenir. Dengeyi bozan ağırlık çıkartılır, ve işlem en küçük ağırlık kullanıncaya kadar devam eder.

Şekil-5’teki 4-bit ADC'ye yukarıda anlatılan ardışıl yaklaşımı uygularsak, önce D3 bit'i aktif (lojik 1) edilir ve DAC çıkışı analog giriş ile karşılaştırılır. Eğer karşılaştırıcı durumunu değiştirirse, bu, D3 tarafindan üretilen çıkışın analog sinyalden büyük olduğunu gösterir. SAR'daki D3 bit'i pasif ve D2 biti aktif edilir. İşlem, giriş D0 bit'ine varıncaya kadar devam eder. Sırasıyla ardışıl bitler aktif edildiğinde, çıkış, yaklaşık olarak analog sinyale eşit hale gelir.

Ardışıl yaklaşımlı çevirim, yazılım veya donanın tekniği kullanılarak yapılabilir. Yazılım tekniğinde, bir Analog-Dijital çevirici, bir Dijital-Analog çevirici kullanarak tasarlanır. Mikroişlemci, bu yöntemde sayıcı ve SAR görevini yerine getirir. Donanım tekniğinde ise, SAR, DAC, karşılaştırıcı ve ayrıca bir 3-durumlu buffer içeren bir ADC, tek bir tümdevre (entegre) üzerinde bulunur. Yani, ayrık bir tümdevre kullanılır. Genelde mikroişlemcili ve mikrodenetleyicili sistemlerde bu ikinci donanım yöntemi kullanılmaktadır.

Bir ADC’nin bir İşlemci, Mikrodenetleyici (veya Bilgisayar) ile Arabirimi
Bir entegre olarak, pek çok ADC, daha önce bahsedilen ve Analog-Dijital çevirim için gerekli olan üç elemanı SAR, DAC ve karşılaştırıcı entegre üzerinde içerir. Bunlara ek olarak, bir 3-durumlu çıkış buffer'ına da sahiptir. Bu sayede, 3-durumlu çıkışlara sahip bir ADC, mikroişlemci veri yoluna doğrudan bağlanabilir. Tipik olarak bir ADC, iki veya üç tane kontrol hattına sahiptir:

1- Çevirime başla (Start ya da Convert)
2- Veri hazır (Data Ready, End Of Conversion-EOC- veya Busy)
3- Çıkış aktif (Output Enable-OE)

Bu sinyaller TTL uyumlu ve ADC'ye bağlı olarak, aktif düşük veya aktif yüksek sinyallerdir.

ADC'nin Start girişine gelen bir darbe, Analog-Dijital çevirim işlemini başlatır ve 3-durumlu çıkış buffer’ını yüksek empedans durumuna getirir. Çevirim boyunca, çevirim durumunu dış lojiğe belirten sinyal (Data Ready veya diğer gösterimler) pasif olur. Çevirim süresi sonunda, Data Ready aktif olur ve sayısal çıkış, OE girişi aktif yapılarak, çıkış buffer'ı üzerinden okunur.

Bir ADC'nin bir işlemci (mikroişlemci veya mikrodenetleyici) ile çalışmasında; işlemcinin şunları yapması gerekir:

1- İşlemci, Start girişine uygun bir darbe göndermelidir. ADC'nin Start kontrolü, mikroişlemcinin bir adresine (çıkış veya hafiza) yerleştirilebilir. Bu durumda, bir kod çözücü ile, mikroişlemcinin üretmiş olduğu, adres ve WR gibi, sinyallerin kodu çözülerek, Start darbesi üretilebilir. Yani bu darbe için, mikroişlemcinin çıkış veya hafiza adres alanından bir adres bu işleme ayrılır. Mikrodenetleyicili bir sistemde ise, bu darbeyi üretmek için bir çıkış ucu ayrılır. Bu durumda bir kod çözücüye gerek kalmaz. Start darbesi işlemci tarafindan üretildikten sonra, ADC Analog-Dijital çevirime başlar.

2- İşlemci, A/D çevirimin sonuna kadar beklemelidir. Analog-Dijital çevirimin sonu, durum kontrol (status checking veya polling) veya kesme (interrupt) yöntemleri kullanarak anlaşılır.

Durum kontrolü yönteminde, işlemci, ADC'nin Veri Hazır sinyali üzerinde meşgul bekleme (busy wait) durumuna yatar. Veri hazır olduğu an, Veri Hazır sinyali aktif olur ve işlemci veriyi okuma durumuna gelir.

İkinci yöntem olan kesmeli çalışmada, her bir çevirim sonunu belirten Veri Hazır sinyali bir kesme üretir. Yani, ADC'nin Veri Hazır çıkışı işlemcinin kesme girişlerinden birine bağlanır. Kesme hizmet alt programında, sayısal veri okunur. Kesme hizmet programının dışında, işlemci, örneğin, bir göstergenin yenilenmesi gibi bir işlemci sürekli yapar. Mikroişlemci, bu işlemi yaparken, Analog-Dijital çevirim sonu kesmelerini alır.

3- ADC'nin çıkışındaki sayısal veri, ADC'nin OE girişi aktif yapılarak okunur. Bu okuma işlemi, yukarıda belirtildiği gibi iki şekilde yapılır. Birinci yöntem olan meşgul bekleme sonunda veya ikinci yöntemdeki; her bir Analog-Dijital çevirim sonu oluşan kesme hizmet programının içinde, hazır olan veri ADC'den OE girişi aktif yapılarak okunur.

ADC0804 Analog-Dijital Çevirici



ADC0804, piyasada Analog-Dijital Çevirici olarak en çok kullanılan entegrelerden biridir.

Özellikleri:

  • 8-Bit çözünürlük
  • 100-ms dönüşüm süresi
  • 135-ns erişim süresi
  • Sıfırlama gereksinimi yoktur.
  • Entegre içi saat üreteci (On-chip clock generator)
  • Tek 5 Volt’luk besleme gereksinimi
  • 0Volt - 5Volt arası giriş gerilimi
  • TTL ve CMOS uyumlu
  • Mikroişlemci kontrollü veya serbest çalışabilme
  • Ardışıl yaklaşım tekniği ile dönüşüm
  • Ayrı dijital ve analog toprak
ADC0804; 8 bit’lik, ardışıl yaklaşımlı, 256R merdiven tipi devre modelini kullanan bir CMOS entegredir. 3-durumlu çıkış latch’leri içeren ADC0804 entegresi, genel mikroişlemci veri yollarını sürebilecek şekilde dizayn edilmiştir.Mikroişlemciler, ADC0804’ü hafızada bir yer veya giriş-çıkış portu olarak görebilirler. ADC0804’ün referans gerilimi, REF/2 bacağının açık olması durumunda Vcc gerilimi ile analog toprak arasındaki gerilimdir. Ayrıca REF/2 bacağına bağlanacak analog aralık ayar devresi ile daha küçük gerilim değerleri de referans gerilimi olarak seçilebilir. ADC0804, harici bir saat sinyali ile çalışabilir veya sadece ek bir direnç ve kondansatör ile entegrenin iç saat üretecinin sağlayacağı saat sinyali ile çalışabilir. ADC0804C entegresi, 00C ile +700C arasında çalışabilecek şekilde, ADC0804I entegresi ise, -400C ile +850C arasında çalışabilecek şekilde karakterize edilmiştir.


Şekil 6: ADC0804 entegresinin bacak bağlantıları

ADC0804’ün Tavsiye Edilen Çalıştırma Koşulları
 En AzNormalEn FazlaBirim
Besleme gerilimi (Vcc)4,556,3V
REF/2 bacağındaki gerilim (VREF/2)0,252,5 V
CS,RD veya WR’deki yüksek seviye gerilim (VIH)2 15V
CS,RD veya WR’deki alçak seviye gerilim (VIL)  0,8V
Analog toprak gerilimi-0,0501V
Analog giriş gerilimi-0,05 VCC+0,05V
Saat giriş frekansı (fclock)1006401460kHz
fclock>640kHz için görev süresi40 60%
Darbe aralığı, fclock<640kHz için (yüksek veya alçak) saat girişi [tW(CLK)]275781 ns
Darbe aralığı, WR girişi alçak (dönüşümü başlat) [tW(WR)]100  ns


ADC0804 entegresinde dijitale dönüştürülecek analog gerilim; 6 no’lu bacak Vin(+) ve 7 no’lu bacak Vin(-) diferansiyel girişlerinden uygulanmalıdır. Uygulanan gerilim 0 (sıfır) veya negatif bir değer ise çıkışta alınacak değer 00000000’dır. Dijital ve analog topraklar biribirlerine bağlanabilirler, fakat paraziti en aza indirmek için iki bacak da ayrı ayrı topraklanmalıdır.

ADC0804’ün Çalışma Prensipleri
ADC0804 entegresi 256R-şebekesi (256-resistor-network) devresine eşdeğer bir devre ihtiva eder. Analog anahtarlar, ardışıl-yaklaştırma mantığı aracılığıyla analog diferansiyel giriş gerilimine (Vin+ ve Vin-) 256R-şebekesinde karşılık gelen bir bağlantıya uyacak şekilde sıralanırlar. Önce MSB (En yüksek değerli bit) test edilir. 8 karşılaştırmadan sonra (64 saat periyodu) 8-bit’lik binary bir sayı çıkış latch’ine aktarılır ve kesme çıkışı (INTR) sıfırlanır.

Dönüşüm başlatma girişi (CS) sıfırda tutularak ve INTR çıkışı, yazma (WR) girişine bağlanarak entegre serbest çalışma modunda çalıştırılabilir. Dönüşümün başladığından emin olmak için entegre ilk çalışmaya başladığı anda WR bacağına bir kere sıfır sinyali uygulanmalıdır. (Şekil-8) Bu da WR bacağını bir anahtar ile toprağa bağlamakla ve entegre çalıştırıldığında bir kere bu anahtarı iletime geçirmekle mümkündür. Bundan sonra CS sıfır ise dönüşüm başlayacaktır. WR bacağı sıfırlandığı zaman ADC0804 ardışıl-yaklaşım saklayıcısı (SAR) ve 8-bit’lik kaydırmalı saklayıcı (8-bit shift register) resetlenir. CS ve WR bacaklarında sıfır değeri kaldığı sürece entegre reset durumunda kalır. CS pininin veya WR pininin sıfırdan bire geçitinden 1/8 saat periyodu sonra dönüşüm batlar. CS ve WR sıfır değerinde iken başlama flip-flop’u lojik bir değerindedir ve interrupt flip-flop’u ile 8-bit’lik saklayıcısı (8-bit register) sıfırlanmıştır. Bir sonraki saat darbesi başlama flip-flop’unun çıkışına lojik bir değerini aktarır. Lojik bir değeri, start flip-flop’unun reset girişine lojik bir değeri uygulayarak bir sonraki saat darbesi ile VE (AND) işlemine tabi tutulur. Eğer CS veya WR bacaklarından biri lojik bir değerine geçtiyse start flip-flop’undaki bir sinyali kaldırılır ve start flip-flop’u resetlenir. 8-bit’lik shift (kaydırmalı) register’inin D girişine lojik bir yerleştirilir ve dönüşüm işlemi başlatılır. Eğer CS ve WR halen sıfırsa, start flip-flop’u, 8-bit’lik shift (kaydırmalı) register ve SAR resetlenmiş olarak kalır. Bu olay, CS ve WR girişlerinden birinin bir olmasından bir ila sekiz saat periyodu kadar sonra dönüşümün başlamasıyla geniş CS ve WR girişleri için izin verir. Lojik yüksek giriş, 8-bit shift register aracılığıyla tetiklendiğinde SAR aramasını bitirerek çıkış latch’lerini kontrol ederek bir VE kapısına ve bir flip-flop’un D girişine uygulanır.


Şekil 7: ADC0804 entegresinin fonksiyonel blok diyagramı (pozitif lojik)

Sonraki saat darbesinde, dijital word 3-durumlu çıkış latch’lerine aktarılır ve interrupt flip-flop’u set edilir. İnterrupt flip-flop’unun çıkışı, dönüşüm süresince lojik bir olan ve dönüşüm tamamlanınca sıfır olan bir INTR çıkışı sağlamak için terslenir. CS ve RD pinlerinde lojik sıfır olduğunda DB0 ile DB7 arasındaki pinlere (DB0 ve DB7 dahil) bir çıkış uygulanır ve interrupt flip-flop’u resetlenmiş olarak kalır.


Şekil 8: ADC0804 entegresinin serbest çalışması


Şekil 9: ADC0804 entegresinin mikroişlemci ile çalışması

İsmail Kocatürk, Şubat / 2003, Malatya



<< ANA SAYFA

Eklenme: 18.Mart.2006

Sorularınız, Yorumlarınız
Ad :
Soyad :
E-mail * :
Şehir :
Ülke :
Cinsiyet * : Erkek
Bayan
Meslek :
Yorum / Soru :

NOT :
Yorumlarınız okunup onaylandıktan sonra yayınlanacaktır.
* işaretli olan bilgiler güvenliğiniz için yayınlanmayacaktır.
İlginiz için teşekkürler...
Geçmiş Yorumlar/Sorular

Warning: mysql_connect(): Host '82.197.131.15' is not allowed to connect to this MySQL server in /home/www/arcturus.awardspace.com/vtbag.tx on line 12
Host '82.197.131.15' is not allowed to connect to this MySQL server