Analogdan dijitale dönüştürücü (ADC) nedir? Çalışmalarını ve dijital teknoloji çağındaki önemini anlayın

Teknoloji ilerledikçe çevremizdeki temel cihaz ve teknolojileri anlamak hayati önem taşıyor. Bu bağlamda analog sinyallerin dijital gösterime dönüştürülmesinde hayati rol oynayan, ADC olarak bilinen analog-dijital dönüştürücülerden bahsedeceğiz.

Analogdan dijitale dönüştürücüler (ADC'ler), gerçek dünya olaylarını programlama projelerinde kullanabileceğimiz değerlere dönüştürmek için inanılmaz derecede faydalıdır. Peki bir ADC, analog sinyalleri her yere yerleştirebileceğimiz ve işleyebileceğimiz dijital sinyallere nasıl dönüştürebilir? Artık görüntüleyebilirsiniz Linux'ta iki veya daha fazla donanım çıkışı üzerinden ses nasıl oynatılır.

ADC'nin kullanım alanları nelerdir?

ADC'ler, elektronik dünyasında sürekli analog sinyalleri değişken dijital gösterime dönüştüren temel cihazlardır. Nasıl çalıştıklarını anlamak, otomasyon ve kontrol sistemlerinde sinyalleri ve verileri kontrol etmek için temel öneme sahiptir.

ADC'leri neredeyse her yerde bulacaksınız. Telefonunuzdadır ve sesinizi bir dizi ikili değere dönüştürür. Arabanızdalar, tekerleklerinizin dönüş zamanını ölçüyorlar. Sinyalleri almaya ve temsil etmeye yardımcı olan osiloskoplarda bulunurlar. Ancak çoğu insanın bunları kullanacağı yer, dijital alana ışık ve ses getirmenin önemli olduğu video ve ses dünyasıdır.

Dönüştürme işlemi analog sinyali iki parçaya bölmeye dayanır: miktar (değer) ve çözünürlük (bit sayısı). Buradaki zorluk, doğru verileri elde etmek için dönüşümün doğruluğunu korumaktır.

Örnekleme oranı nedir? Örnekleme hızı ADC'yi nasıl etkiler?

Bir ADC için en önemli temel ölçümlerden biri örnekleme hızıdır: her saniyede alınan okuma sayısı.

Çok gelişmiş bir osiloskop saniyede on milyar örnek alabilir. Minik MCP3008 ADC, saniyede nispeten mütevazı iki yüz bin örnek alabilir. Ses dünyasında saniyede 44.100 (44.1 kHz) örnekleme hızı tipik kabul edilir.

Ne kadar çok örnek alırsak sinyali o kadar doğru temsil edebiliriz. Bazen bu gereklidir; Bazen öyle değil. Birkaç düzine potansiyometre kullanarak bir ekolayzer (ışıklandırma veya ses düzenleme masasında görüldüğü gibi elektronikleri kontrol etmek için tasarlanmış bir dijital kontrol cihazı) oluşturduğumuzu varsayalım. Bu durumda parmaklarımız o kadar hızlı hareket edemediğinden ölçmemiz gereken değerlerin saniyede milyonlarca kez değişmesi pek mümkün değildir. Sonucun düzgün ve duyarlı olması için yalnızca yeterli sayıda örneğe ihtiyacımız var.

Bit hızı nedir? Bit hızı ADC kalitesini etkiler mi?

Aldığımız numunenin kalitesini de dikkate almalıyız. Bu, büyük ölçüde bit hızıyla belirlenir; bu bize voltajı dijital olarak temsil etmek için kaç tane açık ve kapalı durumu kullanabileceğimizi söyler. Ne kadar çok bitimiz olursa, herhangi bir örnekte o kadar fazla olası değer kaydedebiliriz ve nihai sonuç o kadar düzgün ve doğru olur.

Hakkında yazdık İkili sistem ve nasıl çalışır?Yani emin değilseniz, burası başlamak için iyi bir yerdir. Kaç bit'e ihtiyacımız var? Bu yine neyi başarmaya çalıştığımıza bağlı. Bazen kullandığımız protokol nedeniyle sınırlı kalabiliyoruz. Örneğin, MIDI 1.0 protokolü yedi bitlik (bazen on dört) değerle sınırlıdır. Diğer durumlarda belirleyici faktör insan algısı olabilir. Performans kalitesinin arttırılması sonuçta önemli bir iyileşmeye yol açmıyorsa, buna değmeyebilir.

Çoğullama ADC kalitesini nasıl artırır?

Popüler ADC cihazları gibi ADS1115 و MCP3008 Birçok giriş. Ancak kaputun altında aslında yalnızca bir ADC var. Bu, bu cihazlara yerleşik çoklayıcılar sayesinde mümkündür. Çoklayıcılar elektronik ve iletişim dünyasında kesinlikle her yerde bulunur. ADC'niz için veri hareketi kontrolü görevi gören dijital anahtarlardır. Bir ADC bir kanalı deneyebilir, sonra diğerini, sonra da sonrakini. Yani, sekiz kanalınız ve 200000 örnekleme oranınız varsa, kanal başına 25000 örnek alarak tümünde geçiş yapabilirsiniz.

Ne tür ADC'ler var?

ADC'ler, gereken maliyet ve yeteneklere bağlı olarak farklı şekillerde çalışır.

o çalışıyor Flaş ADC Çok karmaşık bir voltaj bölücü aracılığıyla. Bir dizi direnç, referans voltajını artışlara böler ve bunlar daha sonra bir dizi karşılaştırıcı aracılığıyla girişe karşı test edilir. Flash ADC'ler çok hızlıdır ancak gerekli karşılaştırıcı sayısı nedeniyle bit derinliği sınırlıdır. Aynı nedenden dolayı enerji yoğundur.

arar ADC'nin alt aralıklandırılması Bu zayıflıkları, işi iki ayrı üniteye bölerek telafi ediyorlar: Biri voltajı kabaca hesaplamak için, diğeri ise tam olarak üzerinde çalışmak için. Nesneleri bölerek karşılaştırma sayısını azaltabiliriz. Bazı alt ADC'ler çalışmayı üç aşamaya bölecek ve bu aşamaya hata düzeltme de dahil edilecektir.

SAR (Ardışık Yaklaşım Kaydı) ADC'ler işlerini bir tür ikili arama yoluyla yaparlar. Doldurulacak sekiz bitimiz olduğunu varsayalım. SAR, orta değer olan 10000000'den başlayacaktır (00000000 en alt değer ve 11111111 en üst değerdir). Voltaj bu orta noktayı aşarsa SAR en soldaki sayıyı 1 olarak tutacaktır; Değilse, SAR en soldaki sayıyı 0'a ayarlayacaktır. İşlemi bir sonraki sayıyla vb. tekrar tekrar tekrarlayabiliriz. Bu, tahmini değeri kademeli olarak gerçek değere doğru hareket ettirecektir:

Bu şekilde, olasılıkları ikiye bölerek ve sonucun orta noktanın üstünde mi yoksa altında mı olduğunu sorarak aramayı sürekli daraltıyoruz. Bu durumda değer 0 ile 255 arasında bir yerdedir; Birkaç yinelemeden sonra ADC sayının 77 civarında olduğunu bulur.

Delta-sigma dönüştürücüler muhtemelen anlaşılması en zor olanlardır. Müzik uygulamalarında ve yüksek hassasiyetli sinyal ölçümünde kullanılırlar. Sinyali aşırı örnekleyerek ve çok karmaşık filtreleme ve matematik kullanarak sonucu iyileştirerek çalışırlar. Bu işlem, çözünürlüğü arttırırken örnekleme hızını etkili bir şekilde azaltır. Bu ADC'ler, gürültü ve doğruluğun hızdan daha önemli olduğu durumlarda mükemmeldir.

Son olarak delta-sigmadan bile daha yavaş olan ADC entegrasyonuna sahibiz. Giriş voltajını belirlemek için şarj oranı kullanılabilen bir kapasitör yardımıyla çalışır. Burada örnekleme hızı genellikle güç kaynağının frekansıyla senkronize edilir ve bu, gürültüyü mutlak minimuma indirmek için kullanılabilir.

Nyquist-Shannon teoremi veya dijital örnekleme teorisi nedir?

Nyquist-Shannon teorisi, analog sinyallerin (ses veya görüntü gibi) dijital olarak nasıl temsil edildiğini anlamak için teorik çerçeve sağlar. Dijital örnekleme ve kodlama sistemi bu teorinin temelini oluşturur.

Nyquist-Shannon teoreminin kilit noktalarından biri, herhangi bir analog sinyalin bir dizi dijital örnek kullanılarak temsil edilebilmesidir. Temsil kalitesi, örnekleme hızı (birim zaman başına örnek sayısı) tarafından belirlenir; burada örnekleme hızının yarısı, bir sinyali temsil etmek için gereken minimum örnek sayısını ifade eder.

Analog bir sinyali dijital olarak tanımlamak istediğimizi varsayalım. Bunu yapmak için verilen her rota için en az iki noktaya ihtiyacımız var: biri üstte, diğeri altta. Bu nedenle örnekleme frekansımız, ölçmeyi beklediğimiz en yüksek frekansın en az iki katı olmalıdır.

Bu, İsveç asıllı Amerikalı fizikçi Harry Nyquist'in adını taşıyan Nyquist frekansı olarak bilinir. Teori adını Nyquist ve Claude Shannon'dan (önde gelen bir matematikçi ve kriptograf) almıştır, ancak bu fikri onlardan önce ortaya atan Edmund Whittaker'dan almıştır.

Teoriyi kime atfedersek, onda bir sorun var. Dalga formunun en üst ve en alt noktasına ne zaman ulaşılacağını önceden bilmek mümkün değildir. Peki ya gelen dalga formunun ortasından örnekleme yaparsak? Gelen sinyaldeki bir kaymanın yakalanan sonucun tamamını nasıl düzleştirebileceğine dikkat edin:

Veya daha önce var olmayan yeni dalga biçimlerinin halüsinasyonları bile:

Bu halüsinasyonlara takma adlar denir.

Distorsiyon sorunu (Aliasing)

Dönen bir nesnenin fotoğrafını çekerken bazen ortaya çıkan "araba tekerleği" yanılsamasına muhtemelen aşinasınızdır. Arabanın tekerlekleri veya helikopterin kanatları geriye doğru hareket ediyor gibi görünüyor ama çok yavaş. Bazı durumlarda bıçaklar tamamen durabilir (açıkçası tuhaf sonuçlarla karşılaşabilirsiniz; aşağıdaki videoyu izleyin!).

Eski bir video oyunu oynarken paralel çizgilerin bazen tuhaf yapılar ürettiğini de fark etmiş olabilirsiniz. Çizgili çitler, merdivenler ve atlayıcılar gerçekten çok tuhaf görünmeye başlamıştı. Peki ya düşük kaliteli bir dijital bağlantı üzerinden konuşan birini dinlerken bazen duyduğunuz tuhaf bip seslerine ne dersiniz? Bu çarpıtmadır, ama bu özel bir tür çarpıtmadır. Gürültüden çıkan bu çirkin frekanslar da ne? Bateri seti gibi ton açısından zengin bir içerik dinliyorsanız, efekt özellikle yüksek frekanslarda daha belirgin olacaktır.

Birinin nedenini anlarsanız, hepsini anlama yolundasınız demektir. Çember hareketi durumunda sabit kare hızı, hareketi düzgün şekilde yakalayamayacağımız anlamına gelir. Bir şey her karede 350 derece dönüyorsa, aslında onun 10 derece geriye hareket ettiğini fark etmeniz doğaldır. Başka bir deyişle, olup biteni doğru bir şekilde temsil etmek için yeterli bilgi yok. Aldığımız örnekler ölçmeye çalıştığımız şeyle tutarsız.

Bu sadece analogdan dijitale dönüşümle sınırlı bir sorun değil. Bu durumların çoğunda, bir dijital sinyal türünü diğerine dönüştürüyoruz.

Peki çözüm nedir? Çok var. Bu artefaktlarla başa çıkmak için, birçok ADC'nin özel olarak yaptığı gibi, özel bir filtre uygulayabiliriz. Veya ihtiyacımız olandan çok daha fazlasını örnekleyebiliriz. Ne kadar çok örnek alırsak dalga resmimiz o kadar doğru olur:

Nyquist frekansı örnek frekansın yarısı kadardır ve "takma" olarak bilinen girişimi önlemek için aşılması gereken bir sınırdır. Örneklenen frekans, örnek frekansın yarısını aşarsa, dönüştürülen sinyalde Aliasing ve istenmeyen yapaylıklar meydana gelebilir.

Örneğin, yüksek frekans içeren ve düşük örnek frekans kullanan bir sinyaliniz varsa, sinyalin yüksek kısmı yanlış temsil edilebilir ve dönüştürülen sinyalde başka yapaylıklar üretilebilir. Aliasing'i önlemek için sinyaldeki yüksek frekansın en az yarısı kadar bir örnek frekans kullanılmalıdır. Doğrulamak Arabanızın alternatörü nasıl çalışıyor?

Sık sorulan sorular

S1. Analogdan dijitale dönüştürücülerin (ADC'ler) işlevi nedir?

Analogdan dijitale dönüştürücüler, sürekli analog sinyalleri dijital gösterime dönüştürerek otomasyon sistemlerinin ve elektronik cihazların verileri verimli bir şekilde anlamasını ve işlemesini sağlar.

Q2. Analog sinyaller ADC'ler kullanılarak dijitale nasıl dönüştürülür?

Bu, sinyali iki parçaya bölerek yapılır: miktar (değer) ve çözünürlük (bit sayısı). Buradaki zorluk, doğru verileri elde etmek için dönüşümün doğruluğunu korumaktır.

S3. Analogdan dijitale dönüştürücülerin farklı türleri var mı?

Evet, ses veya hareket kontrolü uygulamalarına uygun ADC'ler gibi uygulamalarına bağlı olarak çeşitli ADC'ler vardır.

S4. ADC'lerin modern dijital sistemlerdeki önemi nedir?

ADC'ler, dijital çağda cihazların ve uygulamaların çevrelerindeki dünyayla etkileşime girmesini ve verileri etkili bir şekilde anlamlandırmasını sağlamada önemlidir.

En iyi sonuçlar için daha yüksek kalitede numune

Bu tür şeyleri ilginç buluyorsanız, iyi haber şu ki, bu konuyu çok fazla derinlemesine incelemedik. Buraya girilmesi gereken pek çok gelişmiş ayrıntı var: ADC'ler çok karmaşıktır.

Ancak son kullanıcı veya sıradan Arduino meraklısı açısından bakıldığında da oldukça basittir. Gerilimler girer, sayılar çıkar. Yani, ölçmek istediğiniz ne olursa olsun - ister bir toprak parçasının nem içeriği, ister insan ses kutusunun salınımları, ister kırılan fotonların bir mercekten akışı olsun - işi yapacak bir ADC'nin olması ihtimali yüksektir. . Artık görüntüleyebilirsiniz Projelerinizde Arduino klonu kullanmanın artıları ve eksileri.

Üst düğmeye git