Analog Dijital Dönüştürücü / Analogue to Digital Converter

Analog Dijital Dönüştürücü veya ADC, bir analog sinyali ikili koda kodlayarak dijital devrelerin gerçek dünya ile arayüz oluşturmasını sağlayan bir veri dönüştürücüdür.

Analogdan Dijitale Dönüştürücüler (ADC’ler), mikro işlemci kontrollü devrelerin, Arduino’ların, Raspberry Pi’nin ve bu tür diğer dijital mantık devrelerinin gerçek dünya ile iletişim kurmasını sağlar. Gerçek dünyada analog sinyaller, çeşitli kaynaklardan ve ses, ışık, sıcaklık veya hareketi ölçebilen sensörlerden gelen sürekli değişen değerlere sahiptir ve birçok dijital sistem bu tür dönüştürücülerden gelen analog sinyalleri ölçerek çevreleriyle etkileşime girer.

Analog sinyaller sürekli olabilir ve sonsuz sayıda farklı voltaj değeri sağlayabilirken, dijital devreler ise sadece iki ayrı durumu olan, bir “1” (YÜKSEK) veya bir “0” (DÜŞÜK) mantığı olan ikili sinyalle çalışır. Bu nedenle, sürekli değişen analog sinyallerin ve ayrık dijital sinyallerin iki farklı alanı arasında dönüşüm yapabilen bir elektronik devreye sahip olmak gerekir ve Analog-Dijital Dönüştürücülerin (A/D) geldiği yer burasıdır .

Temel olarak bir analogdan dijitale dönüştürücü, bir anda analog voltajın anlık görüntüsünü alır ve bu analog voltajı temsil eden bir dijital çıkış kodu üretir. Bu analog voltaj değerini temsil etmek için kullanılan ikili basamak veya bit sayısı, bir A/D dönüştürücünün çözünürlüğüne bağlıdır.

Örneğin, 4 bitlik bir ADC, 15’te bir (2 4 – 1) çözünürlüğe sahipken, 8 bitlik bir ADC, 255’te bir (2 8 – 1) çözünürlüğe sahip olacaktır. Böylece bir analogdan dijitale dönüştürücü, bilinmeyen bir sürekli analog sinyali alır ve onu 2 n bitlik bir “n”-bitlik ikili sayıya dönüştürür .

Ama önce analog (veya analog) sinyal ile dijital sinyal arasındaki farkları gösterildiği gibi hatırlatalım:

Analog ve Dijital Sinyaller

analog dijital dönüştürücü

Burada potansiyometrenin terminali 0 volt ile V MAX arasında döndürüldüğünden, konumuna göre sonsuz sayıda çıkış değerine sahip sürekli bir çıkış sinyali (veya voltaj) ürettiğini görebiliriz. Potansiyometre bir konumdan diğerine ayarlandığından, iki voltaj seviyesi arasında ani veya kademeli bir değişiklik olmaz ve böylece sürekli değişken bir çıkış voltajı üretilir. Analog sinyal örnekleri sıcaklık, basınç, sıvı seviyeleri ve ışık yoğunluğunu içerir.

Dijital bir devre için, potansiyometre, seri direnç zincirinin her bir bağlantısına sırayla bağlanan ve temel bir potansiyel bölücü ağı oluşturan tek bir döner anahtar ile değiştirildi. Anahtar bir konumdan (veya düğümden) sonraki çıkış voltajına döndürüldüğünde, V OUT , gösterildiği gibi her bir anahtarlama eyleminde veya adımında 1.0 volt’un katlarını temsil eden ayrı ve farklı voltaj adımlarında hızla değişir.

Örneğin, çıkış voltajı 2 volt, 3 volt, 5 volt vb. olacaktır ancak 2,5V, 3,1V veya 4,6V DEĞİLDİR. Çok konumlu bir anahtar kullanarak ve potansiyel bölücü ağ içindeki dirençli elemanların sayısını artırarak, dolayısıyla ayrı anahtarlama adımlarının sayısını artırarak daha iyi çıkış voltajı seviyeleri kolayca üretilebilir.

Daha sonra, bir analog sinyal ile bir dijital sinyal arasındaki en büyük farkın, bir “Analog” miktarın zaman içinde sürekli değişmesi ve “Dijital” bir miktarın ayrık (adım adım) değerlere sahip olması olduğunu görebiliriz. “DÜŞÜK”ten “YÜKSEK”e veya “YÜKSEK”ten “DÜŞÜK”e.

Öyleyse, sonsuz sayıda değere sahip sürekli değişen bir sinyali, bir dijital devre tarafından kullanılmak üzere farklı değerlere veya adımlara sahip olana nasıl dönüştürebiliriz.

Analogdan Dijitale Dönüştürücü

Bir analog voltaj sinyali alma ve onu eşdeğer bir dijital sinyale dönüştürme işlemi birçok farklı yolla yapılabilir ve çeşitli üreticilerin ADC08xx serisi gibi birçok analogdan dijitale dönüştürücü yongası varken, bunu yapmak mümkündür.

Basit ve kolay bir yol, karşılaştırıcıların farklı voltaj seviyelerini algılamak ve anahtarlama durumlarını bir kodlayıcıya vermek için kullanıldığı flaş , eşzamanlı veya çoklu karşılaştırıcı dönüştürücüler olarak da bilinen paralel kodlamayı kullanmaktır .

Paralel “Flash” A/D dönüştürücüler, belirli bir n-bit çözünürlük için eşdeğer bir çıkış kodu üretmek için bir dizi hassas direnç ağı tarafından oluşturulan bir dizi birbirine bağlı ancak eşit aralıklı karşılaştırıcı ve voltaj referansları kullanır.

Paralel veya flaş dönüştürücülerin avantajı, oluşturmalarının basit olması ve karşılaştırıcı girişlerine bir analog voltaj uygulandığı anda, bir referans voltajla karşılaştırıldığından herhangi bir zamanlama saati gerektirmemesidir.

Karşılaştırıcı Devresi

analog dijital dönüştürücü

Biri pozitif diğeri negatif olmak üzere iki analog girişi olan ve iki farklı voltaj seviyesinin büyüklüklerini karşılaştırmak için kullanılabilen LM339N gibi bir analog karşılaştırıcıdır.

Karşılaştırıcının bir girişine bir voltaj girişi, (V IN ) sinyali, diğerine ise bir referans voltajı (V REF ) uygulanır. Karşılaştırıcının girişindeki iki voltaj seviyesinin karşılaştırması, karşılaştırıcının dijital mantık çıkış durumunu “1” veya “0” olarak belirlemek için yapılır.

Referans voltajı, V REF , diğer girişe uygulanan V IN giriş voltajıyla karşılaştırılır . Bir LM339 karşılaştırıcısı için, giriş voltajı referans voltajdan düşükse (V IN  < V REF ) çıkış “OFF” olur ve referans voltajdan büyükse (V IN  > V REF ) çıkış olacaktır. “AÇIK” olun. Böylece bir karşılaştırıcı iki voltaj seviyesini karşılaştırır ve ikisinden hangisinin daha yüksek olduğunu belirler.

Yukarıdaki basit örneğimizde, V REF , R 1 ve R 2 tarafından voltaj bölücü ağ kurulumundan elde edilir . İki direnç eşit değerdeyse, yani R 1 = R 2 , o zaman açıkça referans voltaj seviyesi besleme voltajının yarısına veya V/2’ye eşit olacaktır. Bu nedenle, açık toplayıcı çıkışı olan bir karşılaştırıcı için, V IN V/2’den küçükse, çıktı YÜKSEK’tir ve V IN , V/2’den büyükse, çıkış 1 bitlik ADC olarak hareket eden DÜŞÜK’tür.

Ancak voltaj bölücü ağına daha fazla direnç ekleyerek, besleme voltajını dirençlerin dirençleri tarafından belirlenen bir miktara etkin bir şekilde “bölebiliriz”. Bununla birlikte, gerilim bölücü ağında ne kadar çok direnç kullanırsak o kadar fazla karşılaştırıcı gerekli olacaktır.

Genel olarak, “n”nin tipik olarak 8 ila 16 aralığında olduğu bir “n” bitlik ikili çıkışın dönüştürülmesi için 2 n – 1 karşılaştırıcı gerekir. Yukarıdaki örneğimizde, tek bitli ADC 2 1 – V IN , V/2 referans voltajından daha büyük veya daha küçük olup olmadığını belirlemek için “1” karşılaştırıcıya eşittir.

Şimdi 2 bitlik bir ADC oluşturursak, gösterildiği gibi 4 ila 2 bitlik bir enkoder devresi için gereken 4 dijital değere karşılık gelen dört farklı voltaj seviyesine ihtiyacımız olduğundan 2 2 – 1 yani “3” karşılaştırıcıya ihtiyacımız olacak.

2-bit Analogdan Dijitale Dönüştürücü Devresi

analog dijital dönüştürücü

Bu bize analog girişin olası dört değerinin tümü için 2 bitlik bir çıkış kodu verecektir:

2 bit A/D dönüştürücü Çıkış

Analog Giriş
Voltajı (V IN )
Karşılaştırıcı ÇıkışlarıDijital
Çıkışlar
3.2.1010
0 ila 1 V000000
1 ila 2 V001x01
2 ila 3 V01xx10
3 ila 4 V1xxx11

Burada: “X”, “umurumda değil”, yani mantık “0” veya mantık “1” koşuludur.

Peki bu analogdan dijitale dönüştürücü nasıl çalışır? Bir A/D dönüştürücünün faydalı olması için analog giriş sinyalinin anlamlı bir dijital temsilini üretmesi gerekir. Aşağıda, bu, basit bir 2-bit ADC örnekte V giriş voltajı basitlik için varsaydık İN 0 ile 4 volt arasında, yani ayarlanmış olan V REF ve dirençli voltaj bölücü ağ her bir direnç üzerinden 1 volt düşmesi.

IN 0 ile 1 volt arasında olduğunda (<1V), üç karşılaştırıcının tamamındaki giriş referans voltajdan daha az olacaktır, bu nedenle çıkışları DÜŞÜK olacaktır ve kodlayıcı Q 0 pinlerinde ikili sıfır (00) koşulu verecektir. ve Q, 1 . V IN 1 volt’u artırıp aştığında ancak 2 volttan az olduğunda, referans voltaj girişi 1 volt’a ayarlanmış (1V<V IN <2V) karşılaştırıcı U1 bu voltaj farkını algılayacak ve YÜKSEK bir çıkış üretecektir. 4’e 2 bit kodlaması olarak kullanılan öncelikli kodlayıcı, D 1’deki giriş değişikliğini algılar ve “1” (01) ikili çıkışını üretir.

TTL 74LS148 gibi bir Öncelikli Kodlayıcının her bir girişe bir öncelik seviyesi tahsis ettiğini unutmayın . Öncelikli kodlayıcı çıkışı, en yüksek önceliğe sahip o anda aktif olan girişe karşılık gelir. Bu nedenle, daha yüksek önceliğe sahip bir giriş (D 0 ile karşılaştırıldığında D 1 ) mevcut olduğunda, daha düşük önceliğe sahip tüm diğer girişler yok sayılır. Dolayısıyla, aynı anda “1” mantık seviyesinde iki veya daha fazla giriş varsa, D 0 ve D 1’deki gerçek çıkış kodu yalnızca belirlenen en yüksek önceliğe sahip girişe karşılık gelir.

Böylece şimdi V IN , bir sonraki referans voltaj seviyesi olan 2 voltun üzerine çıktığında, karşılaştırıcı U2 değişikliği algılar ve YÜKSEK bir çıkış üretir. Ancak, D 2 girişi D 0 veya D 1 girişlerinden daha yüksek önceliğe sahip olduğundan , öncelikli kodlayıcı bir ikili “2” (10) kodu verir ve V IN 3 volt’u aştığında “3” ( 11). V açıkça olarak İN düşürmekte ya da her bir referans voltaj seviyesi arasındaki değişiklikler, her bir karşılaştırma çıktısı ya yüksek ya da hangi inturn kodlayıcıya DÜŞÜK durum 00 V göre 11 arasında ikili kodu 2-bit üretir IN .

Bunların hepsi iyi ve güzel, ancak öncelikli kodlayıcılar 4 ila 2 bit aygıtlar olarak mevcut değildir ve her ikisi de 8 bit aygıt olan TTL 74LS148 veya CMOS 4532 eşdeğeri gibi ticari olarak mevcut bir kodlayıcı kullanırsak, altı ikili bitler kullanılmayacaktır. Ancak dijital Ex-OR kapıları ve gösterildiği gibi bir sinyal diyot matrisi kullanılarak basit bir kodlayıcı devresi yapılabilir.

Diyotları Kullanan 2-bit ADC

analog dijital dönüştürücü

Burada karşılaştırıcıların çıkışları, diyotlara beslenmeden önce Özel-VEYA kapıları kullanılarak kodlanır. DÜŞÜK bir koşul sağlamak ve diyotlar ters kutuplandığında çıkışların dalgalanmasını durdurmak için çıkışlarında ve topraklamasında (0V) iki harici aşağı çekme direnci kullanılır.

Dolayısıyla, bir önceki devre olduğu gibi, V değerine bağlı olarak IN karşılaştırma bir giriş veya diğer giriş yüksekse yüksek bir çıkış üreten yalnız-OR kapıları bir çıkış sinyali yüksek (veya düşük) olabilir, ama bu, her ikisi de tespit, (Boole ifadesi, Q = olduğu bir .B + A B ). Bu Ex-OR kapıları, VE–VEYA–NAND kombinasyonel mantığı kullanılarak da oluşturulabilir.

Burada 4’e 2 dönüştürücünün her iki tasarımındaki sorun , bu basit 2 bitlik A/D dönüştürücünün çözünürlüğünün 1 volt olmasıdır, çünkü gördüğümüz gibi, V IN’deki analog giriş voltajı, 1 voltta bir tam volt değiştirmelidir. kodlayıcının çıkış kodunu değiştirmesi için. Çıktının çözünürlüğünü iyileştirmenin bir yolu, daha fazla karşılaştırıcı kullanarak onu 3 bitlik bir A/D dönüştürücüye yükseltmektir.

3-bit Analogdan Dijitale Dönüştürücü

Yukarıdaki paralel ADC, 2 bitlik bir ikili kod üretmek için 0 ila 3 volt aralığındaki analog giriş voltajını dönüştürür. 3 bitlik bir dijital mantık sistemi 2 3 = 8 farklı dijital çıkış üretebildiğinden , analog giriş voltajı bu nedenle her bir voltaj seviyesi referans voltajının sekizde birine (V/8) eşit olacak şekilde sekiz referans voltaj seviyesiyle karşılaştırılabilir. Böylece şimdi 0,5 (4/8) voltluk bir çözünürlüğü ölçebiliriz ve gösterildiği gibi 000 (0) ile 111 (7) arasında 3 bitlik bir ikili kod çıkışı için 2 3 – 1 karşılaştırıcıya ihtiyaç duyacağız .

3-bit Analogdan Dijitale Dönüştürücü Devresi

analog dijital dönüştürücü

Bu bize analog girişin olası sekiz değerinin tümü için 3 bitlik bir çıkış kodu verecektir:

3-bit A/D dönüştürücü Çıkış

Analog Giriş
Voltajı (V IN )
Karşılaştırıcı ÇıkışlarıDijital
Çıkışlar
76543.2.10Q, 210
0 ila 0,5 V00000000000
0,5 ila 1,0 V0000001x001
1,0 ila 1,5 V000001xx010
1,5 ila 2,0 V00001xxx011
2,0 ila 2,5 V0001xxxx100
2,5 ila 3,0 V001xxxxx101
3,0 – 3,5 V01xxxxxx110
3.5 ila 4.0 V1xxxxxxx111

Yine “X” bir “umurumda değil” olduğunda, bu ya bir mantık “0” ya da bir mantık “1” giriş koşuludur.

Daha sonra, ADC’nin çözünürlüğünü artırarak, yalnızca çıkış ikili bitlerinin sayısını artırmakla kalmayıp, aynı zamanda gerekli karşılaştırıcıların sayısını ve voltaj seviyelerini de arttırdığını görebiliriz.

Bu nedenle, 4 bitlik bir çözünürlük 15 (2 4 – 1) karşılaştırıcı gerektirir, 8 bitlik bir çözünürlük 255 (2 8 – 1) karşılaştırıcı gerektirirken, 10 bitlik bir analogdan dijitale dönüştürücü 1023 karşılaştırıcı vb. gerektirir. Bu tür Analog-Dijital Dönüştürücü devresi için gereken çıkış bitlerinin sayısı ne kadar yüksek olursa, devre o kadar karmaşık hale gelir.

Bununla birlikte, bu tip paralel veya flaş A/D dönüştürücünün avantajı, gerçek zamanlı dönüştürme oranının nispeten hızlı olması ve üzerinde bir okuma üretmek için yalnızca birkaç ikili bit gerektiğinde bir projenin parçası olarak kolayca oluşturulabilmesidir. analog giriş sinyalinin voltaj değerini gösteren dijital ekran.

Bir sensörden veya dönüştürücüden bir analog giriş sinyali alıp bunu bir analogdan dijitale dönüştürücü kullanarak bir giriş arabirim devresinin parçası olarak dijital bir ikili koda dönüştürmenin yanı sıra, bir ikili kodu da alıp eşdeğerine dönüştürebiliriz. bir motoru veya aktüatörü kontrol etmek için veya yaygın olarak ses uygulamalarında çıkış arabirimi için bir Dijital-Analog Dönüştürücü kullanan analog miktar.

Dijital devrelerle ilgili bir sonraki öğreticide , burada incelenen analogdan dijitale dönüştürücülerin tam tersi olan dijitalden analoğa dönüştürücüye veya basitçe DAC’ye bakacağız . DAC’ler, “n” bitlik bir ikili sayıyı eşdeğer bir analog çıkış voltajına veya akım sinyaline dönüştürmek için op-amp’ler ve dirençli bölücü ağlar kullanır.