AVR. Eğitim Kursu. Analog bir karşılaştırıcıdan bir ADC yapıyoruz. Kendin yap ev ısıtma kontrol otomasyonu, bölüm 3. ADC girişleri

  • 10.05.2019

Şu anda, amatör radyo tasarımlarında analogdan dijitale dönüştürücüler (ADC'ler) giderek daha fazla kullanılmaktadır. Bunun nedeni, uygun fiyatlı ADC yongalarının ortaya çıkması ve bunun sağladığı avantajlardır. dijital işleme analog sinyaller. Bir ADC yardımıyla kolayca dönüştürebilirsiniz. Kişisel bilgisayar(PC) herhangi bir sanal ölçüm cihazına. Ve elektronik parça böyle bir cihaz çok basit olabilir ve tüm sinyal işleme yazılımda yapılacaktır.

Makalede açıklanan cihaz, bir analog sinyali dijital altı bitlik bir koda dönüştürmek için tasarlanmıştır ve bir PC'ye ön ek görevi görebilir. Uygulama alanları çok çeşitlidir - sanal ölçüm cihazlarından çeşitli ses kayıt sistemlerine kadar.

ADC'ye dayalı tasarımlar, "Radyo" dergisinin sayfalarında defalarca yayınlandı. Bununla birlikte, çoğunlukla ikili kodlu ondalık çıkış kodu veya yedi elemanlı göstergeler için bir kod içeren IC'leri kullandılar. Bu yaklaşım, bir bilgisayara bilgi girmek için uygun değildir.

Okuyucuların dikkatine sunulan cihazda, yüksek hızlı paralel altı bitlik bir ADC olan KR1107PV1 yongası kullanılıyor. -2...0 V aralığındaki voltajı potansiyel paralel okuma kodlarından birine dönüştürmek için tasarlanmıştır: ikili kod(doğrudan ve ters) ve ikisinin tamamlayıcı kodu (doğrudan ve ters). Bu mikro devre seçildi, çünkü ilk olarak, çok çeşitli radyo amatörleri tarafından kullanılabilir ve nispeten ucuzdur ve ikincisi, yüksek hıza sahiptir (maksimum dönüştürme frekansı 20 MHz, bir dönüştürme süresi 100 ns'den fazla değildir).

Cihazın şematik diyagramı Şek. bir.

Önerilen anahtarlama devresi KR1107PV1A temel alınmıştır ve dönüştürme doğruluğunda gözle görülür bir bozulma olmadan önemli ölçüde basitleştirilmiştir. çevrilebilir analog sinyal XS1 soketinin soket 1 aracılığıyla ve R4 direnci, op-amp DA1'in ters çevirme girişine girer. Bu dahil etme, pozitif polaritenin voltajını ve mikro voltajı dijitalleştirmek için daha sık gerekli olduğu için kullanılır. ADC devresi 0 ila -2 V aralığında voltajı dönüştürür. Sıfır öngerilim voltajı, trimmer rezistör R1 motorundan kaldırılır. Dirençler R5 ve R4, op-amp'in gerekli kazancını belirler. Güçlendirilmiş analog sinyal, R7-R9 dirençleri aracılığıyla ADC'nin 10, 13, 15 pinlerine beslenir.

ADC DA2'nin çalışması, PC'den (XS2 soketinin 8 numaralı pini aracılığıyla) pin 4'e gelen saat darbeleri ile kontrol edilir. Saat darbesi geçtikten sonra kodlama yapılır ve dönüştürme işlemi sırasında elde edilen sonuç, bilgisayara aktarılır. çıkış kaydı, bir sonraki saat darbesinin kenarı ile aynı anda. Bu, saat darbesinin kenarlarının bir sonraki örneği üretmesine izin verir, yani n'inci örneğin sonucu DA2'nin çıkışında mevcut olduğu anda, (n + 2)-'inci örnek girişte yapılır. Dijital kod, D1 - D6 çıkışlarından alınır ve XS2 soketine çıkış yapılır.

Mikro devrenin çıkışlarının belirlenmesinin ağırlıklarının tersi olduğuna dikkat edilmelidir: D1 çıkışı yüksek sıraya ve D6 düşük sıraya karşılık gelir. Mikro devrenin çıkışlarındaki kod tipi (doğrudan, ters, ek), mikro devrenin C1 ve C2 girişlerindeki sinyal seviyeleri ile belirlenir. +5 V veriyoluna bağlantıları, yüksek bir seviyeye ve ortak bir kabloya - düşük seviyeye karşılık gelir. Mikro devrenin çıkışındaki gerekli kod türü, Tabloya göre C1 ve C2 girişlerindeki sinyal seviyelerinin bir kombinasyonu ile belirlenir. bir.

ADC KR1107PV1A, +5 ve -6 V'luk bir çift kutuplu besleme gerilimi gerektirir. Ek olarak, iki referans gerilimi gereklidir. Sayısallaştırılmış voltaj aralığını tanımlarlar. AT bu durum bu voltajlardan biri (Uobr1) sıfıra eşit alınır (mikro devrenin pimi 16 ortak bir kabloya bağlanır) ve ikincisi (Uobr2) -2 V'a eşittir, bu da ADC giriş voltaj aralığını belirler 0 ... -2 V. Referans voltajı -2 V, negatif polarite besleme voltajı devresine dahil olan trimmer direnci R6'dan çıkarılır. Girişimi ortadan kaldırmak için C1 - C5 kapasitörleri kullanılır.

Cihazın montajında ​​her türlü MLT, OMLT dirençleri, oksit ve seramik kapasitörler kullanılır. Düzeltici direnç R1 - ayrıca herhangi bir tipte, R6 - tercihen çok turlu bir tel, örneğin, SP5-1V, SP5-14, SP5-15, SP5-2, vb. Op-amp DA1 - hemen hemen çalışabilen herhangi biri düşük besleme voltajları, örneğin KR140UD7. Genişletme için Frekans aralığı birim kazanç frekansının 10 MHz olduğu işlemsel yükseltici K574UDZ'yi kullanabilirsiniz.

Cihaz, 35 ... 40 mA akımda +5 V ve 200 mA akımda -6 V çıkış gerilimleri sağlayan bipolar stabilize bir kaynaktan güç alır.

ADC'yi ilk kez açmadan önce, direnç R6'nın kaydırıcısı orta konuma ayarlanır. Gücü açarak, DA2 çipinin 9 pinindeki referans voltajını ölçün ve mümkün olduğunca doğru bir şekilde -2 V'a ayarlayın.Gerekli sıfır ofseti elde edilir. düzeltici direnç R1. Çıkışta sıfır konumunu kontrol edebilirsiniz dijital kod veya sabit voltaj ADC'nin analog girişlerinde (10, 13, 15 DA2 pinleri). Bu ayarda tamamlanmış sayılabilir.

ADC, anakart üzerindeki boş bir ISA konektörüne takılı bir arabirim (Şekil 2) aracılığıyla bilgisayara bağlanır.

Arabirim kartı, ZE0N-ZEZN adreslerine sahip dört giriş/çıkış bağlantı noktası içerir. DD1.1-DD1.3 ve DD2 öğeleri bir adres kod çözücü oluşturur. PC adres yolundan gelen sinyaller girişlerinde alınır ve üzerinde ZE0N-ZEZN kombinasyonu görünürse DD2 çıkışında düşük seviyeli bir etkinleştirme gerilimi oluşur. Bağlantı noktalarının adres alanındaki bağlantı noktası numarasını tanımlayan sinyaller, adres yolunun en az anlamlı iki bitine karşılık gelir ve DD4 kod çözücüye beslenir. Ayrıca, AEN veriyolu (bu, bu döngüde doğrudan bellek erişimi olmadığı anlamına gelir) aracılığıyla etkinleştirme sinyallerini ve harici bir cihaza yazmaya ve bu cihazdan okumaya karşılık gelen IOW, IOR sinyallerini alır. Kod çözücünün pim 15'inden gelen sinyal, veri yolu şekillendirici DD7'nin E girişine beslenir ve ADC'den veri yoluna veri aktarımına izin verir.

DD4 kod çözücünün 14 numaralı pininde görünen sinyal, ADC DA2'yi saatlemeye, pin 13'te - DD6.1 tetikleyicisini sıfırlamaya ve pin 12'de - ondan veri yoluna bilgi beslenmesine izin vermeye hizmet eder. Tetik, ADC'yi saat darbeleri veya hazır bir sinyal üretebilen harici bir cihazla senkronize etmek için tasarlanmıştır. gelen senkronizasyon sinyali harici cihaz XS2 soketinin 1 numaralı piminden tetiğin saat girişine gelir. İkincisinin durumu program tarafından okunur. Eğer bulunursa yüksek seviye pin 5 DD6.1'de bu, harici bir cihazdan bir senkronizasyon darbesi alındığı anlamına gelir. Flip-flop durumu okunduktan sonra, bir sonraki saat darbesini almaya hazırlanmak için sıfırlanmalıdır.

Limanların amacı hakkında birkaç söz. ZE0H adresli port, ADC'den veri okumak için tasarlanmıştır (D0-D5 bitleri sayısallaştırılmış sinyalin değerini içerir), ZE1H adresli - ADC'ye bir saat darbesi sağlamak için (bu porta herhangi bir bayt yazarken, analog sinyal dijitale dönüştürülür). ZE2H bağlantı noktası, durumunu okuduktan sonra senkronizasyon tetikleyicisi DD6.1'i sıfırlamak için kullanılır. Bu bağlantı noktasına herhangi bir bayt yazıldığında sıfırlama gerçekleşir. Son olarak, 3ZN bağlantı noktası, bu bağlantı noktasından okunan baytın 5. biti tarafından yansıtılan tetikleme durumunu okumaya adanmıştır. Kısa süreli senkronizasyon darbelerini düzeltmek için tetikleyici gereklidir. eğer yüksek mantık seviyesi tetikleyicinin doğrudan çıkışında (bit D5=1), ardından program onu ilk durum, herhangi bir baytı ZE2H bağlantı noktasına yazar.

Pascal ile yazılmış ADC'den veri okuma programı Tablo'da gösterilmektedir. 2.

Tasarımın temeli olarak ISA yuvası için hatalı bir genişletme kartı kullanmak uygundur. Tüm "yüksek" elemanlar (kapasitörler, konektörler) ondan çıkarılır ve yuvaya takılan parçanın (Şekil 2'deki XP1 fişi) kontak pedlerine giden baskılı iletkenler kesilir. Parçalar, genişletme kartındaki raflarla sabitlenen küçük bir baskılı devre kartına monte edilmiştir. Cihazın terminalleri, montaj telinin kısa parçaları ile XP1 fişinin kontaklarına bağlanır. Amaç ISA kişileri yuvaları bulunabilir.

Sonuç olarak, çoğu durumda bir analog sinyali temsil etmek için altı bitin yeterli olduğunu not ediyoruz. 2 V'u ölçmek için 0...2 V giriş voltajı aralığına sahip bir ADC kullanılırsa, hata 0,03 V'u (veya %1,5) aşmaz. 0,2 V'luk bir voltaj ölçülürken hata %15'e yükselir. Ölçümlerin doğruluğunu artırmak için, daha büyük kapasiteli bir ADC kullanabilir veya ölçülen voltajı aralığın üst sınırına yakın bir değere yükseltebilirsiniz (örneğin, direnç R5 ve R4 dirençlerinin oranını değiştirin). Şemada belirtilen değerlerle (bkz. Şekil 1) cihaz, 0 ... 0,5 V aralığında giriş voltajlarını sayısallaştırır ve bir ev mikrofonu ile çalışabilir.

Eğer "dijitalleştirme"nin doğruluğu nedeniyle zayıf sinyaller daha yüksek bir bit derinliğine ihtiyaç duyulduğunda, KR1107PV1A mikro devresi sekiz bitlik bir K1107PV2 dönüştürücü ile değiştirilebilir (doğal olarak, "pin çıkışı" ve güç tüketimindeki farklılıklar dikkate alınarak).

Edebiyat

  1. Biryukov S. Termometre "Ev - sokak". - Radyo, 2000, No. 3, s. 32, 33.
  2. Novachenko I.V., Petukhov V.M., Bludov I.P., Yurovsky A.V. Ev radyo ekipmanları için mikro devreler. Dizin. - E.: KUBK, 1995.
  3. Danilin N.S., Ulitenko V.P., Kripak A.A. Sorun Giderme ve Onarım Kılavuzu IBM bilgisayarları bilgisayar. - M.: Standartlar Yayınevi, 1992.

Diğer makalelere bakın bölüm.

Bu makale, ADC'nin çalışma prensibi ile ilgili ana konuları tartışmaktadır. Çeşitli Türler. Aynı zamanda, ilgili bazı önemli teorik hesaplamalar matematiksel açıklama analogdan dijitale dönüştürme makalenin kapsamı dışında bırakılmıştır, ancak ilgili okuyucunun daha derin bir değerlendirme bulabileceği bağlantılar verilmiştir. teorik yönler ADC çalışması. Bu nedenle, makale daha çok anlamakla ilgilidir. Genel İlkeler ADC'nin işleyişi, çalışmalarının teorik bir analizinden daha fazladır.

giriiş

Başlangıç ​​noktası olarak, analogdan dijitale dönüştürmeyi tanımlayalım. Analogdan dijitale dönüştürme, girdi fiziksel miktarını sayısal temsiline dönüştürme işlemidir. Analogtan dijitale dönüştürücü– böyle bir dönüştürme gerçekleştiren bir cihaz. Resmi olarak, ADC'nin giriş değeri herhangi biri olabilir. fiziksel miktar- voltaj, akım, direnç, kapasitans, darbe tekrarlama hızı, mil dönüş açısı vb. Bununla birlikte, kesinlik için, gelecekte ADC ile sadece voltajdan koda dönüştürücüleri anlayacağız.


Analogdan dijitale dönüştürme kavramı, ölçüm kavramıyla yakından ilişkilidir. Ölçüm, ölçülen değeri analogdan dijitale dönüştürme ile bazı standartlarla karşılaştırma işlemi olarak anlaşılır, giriş değeri bazı referans değerleriyle (genellikle bir referans voltajıyla) karşılaştırılır. Böylece, analogdan dijitale dönüştürme bir giriş sinyalinin değerinin ölçümü olarak düşünülebilir ve ölçüm hataları gibi tüm metroloji kavramları bunun için geçerlidir.

ADC'nin ana özellikleri

ADC, dönüştürme frekansı ve bit derinliğinin ana olarak adlandırılabileceği birçok özelliğe sahiptir. Dönüştürme frekansı genellikle örnek/saniye (SPS) cinsinden ifade edilir, bit derinliği bit cinsindendir. Modern ADC'ler, 24 bite kadar bit derinliğine ve GSPS birimlerine kadar dönüştürme hızına (elbette aynı anda değil) sahip olabilir. Hız ve bit derinliği ne kadar yüksek olursa, gerekli özellikleri elde etmek o kadar zor olur, dönüştürücü o kadar pahalı ve karmaşıktır. Dönüştürme hızı ve bit derinliği belirli bir şekilde birbiriyle ilişkilidir ve hızdan taviz vererek efektif dönüştürme bit derinliğini artırabiliriz.

ADC türleri

Birçok ADC türü vardır, ancak bu makalede kendimizi yalnızca aşağıdaki türleri dikkate almakla sınırlayacağız:

Birkaç ADC'den oluşan, ardışık ve birleşik tipler dahil olmak üzere başka ADC türleri de vardır. Genel dava) farklı mimarilere sahip. Bununla birlikte, ADC'lerin yukarıdaki mimarileri, her mimarinin genel hız-bit aralığında belirli bir niş işgal etmesi gerçeğinden dolayı en gösterge niteliğindedir.

Doğrudan (paralel) dönüştürmenin ADC'leri en yüksek performansa ve en düşük bit derinliğine sahiptir. Örneğin, Texas Instruments'ın TLC5540 paralel dönüştürme ADC'si, bit genişliği yalnızca 8 bit olan 40MSPS hıza sahiptir. ADC bu türden 1 GSPS'ye kadar dönüşüm oranlarına sahip olabilir. Burada, boru hatlı ADC'lerin (boru hatlı ADC'ler) daha da yüksek hıza sahip olduğu, ancak bunların daha düşük hıza sahip birkaç ADC'nin bir kombinasyonu olduğu ve bunların dikkate alınmasının bu makalenin kapsamı dışında olduğu belirtilebilir.

Bit hızı serisindeki orta niş, ardışık yaklaşım ADC'leri tarafından işgal edilir. Tipik değerler, 100KSPS-1MSPS dönüşüm oranında 12-18 bittir.

En yüksek doğruluk, 24 bit dahil bit derinliğine ve SPS birimlerinden KSPS birimlerine kadar bir hıza sahip sigma-delta ADC'ler ile elde edilir.

Yakın geçmişte kullanım alanı bulan bir başka ADC türü de bütünleştirici ADC'dir. Entegre ADC'ler artık neredeyse tamamen diğer ADC türleri tarafından desteklenmektedir, ancak daha eski ADC'lerde bulunabilir. ölçü aletleri.

doğrudan dönüşüm ADC

Doğrudan dönüşümlü ADC'ler 1960'larda ve 1970'lerde yaygınlaştı ve formda üretilmeye başlandı. Entegre devreler 1980'lerde. Genellikle "boru hatlı" ADC'lerin bir parçası olarak kullanılırlar (bu makalede ele alınmamıştır) ve 1 GSPS'ye kadar hızda 6-8 bit kapasiteye sahiptirler.

Doğrudan dönüşüm ADC mimarisi, Şek. bir

Pirinç. bir. Yapısal şema doğrudan dönüşüm ADC

ADC'nin çalışma prensibi son derece basittir: giriş sinyali, karşılaştırıcıların tüm "pozitif" girişlerine aynı anda beslenir ve "negatif" girişler, dirençlere bölünerek referanstan elde edilen bir dizi voltajla beslenir R Şekildeki devre için. 1 bu satır şöyle olacaktır: (1/16, 3/16, 5/16, 7/16, 9/16, 11/16, 13/16) Uref, burada Uref, ADC referans voltajıdır.

ADC'nin girişine 1/2 Uref'e eşit bir voltaj uygulansın. Ardından ilk 4 karşılaştırıcı çalışacak (aşağıdan sayarsanız) ve çıkışlarında mantıklı olanlar görünecektir. Öncelik kodlayıcı, çıkış kaydı tarafından sabitlenen birimlerin "sütunundan" ikili bir kod oluşturacaktır.

Şimdi böyle bir dönüştürücünün avantajları ve dezavantajları netleşiyor. Tüm karşılaştırıcılar paralel çalışır, devrenin gecikme süresi, bir karşılaştırıcıdaki gecikme süresi ile kodlayıcıdaki gecikme süresine eşittir. Karşılaştırıcı ve kodlayıcı çok hızlı yapılabilir ve sonuç olarak tüm devre çok yüksek bir hıza sahiptir.

Ancak N bit elde etmek için 2^N karşılaştırıcıya ihtiyacınız vardır (ve kodlayıcının karmaşıklığı da 2^N olarak büyür). Şek. 1. 8 karşılaştırıcı içerir ve 3 hanelidir, 8 hane elde etmek için 256 karşılaştırıcıya ihtiyacınız vardır, 10 hane için - 1024 karşılaştırıcı, 24 bitlik bir ADC için 16 milyondan fazlasına ihtiyaç duyarlar.Ancak, teknoloji henüz bu yüksekliklere ulaşmadı.

ardışık yaklaşım ADC

Ardışık Yaklaşım Kaydı (SAR) analogdan dijitale dönüştürücü, bir dizi ardışık "ağırlıklandırma" gerçekleştirerek bir giriş sinyalinin büyüklüğünü ölçer, yani, aşağıdaki gibi oluşturulan bir dizi büyüklük ile giriş voltajı büyüklüğünün karşılaştırmalarını yapar:

1. İlk adımda, dahili dijital-analog dönüştürücünün çıkışında 1/2Uref'e eşit bir değer ayarlanır (bundan sonra sinyalin (0 - Uref) aralığında olduğunu varsayıyoruz.

2. Sinyal bu değerden büyükse, kalan aralığın ortasındaki voltaj ile karşılaştırılır, yani bu durumda 3/4Uref. Sinyal daha az ise yerleşik seviye, sonra bir sonraki karşılaştırma kalan aralığın yarısından daha azıyla yapılacaktır (yani 1/4Uref seviyesi ile).

3. Adım 2, N kez tekrarlanır. Böylece, N karşılaştırma ("ağırlıklandırma") sonucun N bitini oluşturur.

Pirinç. 2. Ardışık yaklaşım ADC'nin yapısal diyagramı.

Böylece, ardışık yaklaşım ADC aşağıdaki düğümlerden oluşur:

1. Karşılaştırıcı. “Ağırlık” voltajının giriş değerini ve mevcut değerini karşılaştırır (Şekil 2'de bir üçgen ile gösterilir).

2. D/A Dönüştürücü(Dijitalden Analoga Dönüştürücü, DAC). Girişte alınan dijital koda göre “ağırlıklı” bir voltaj değeri üretir.

3. Ardışık Yaklaşım Kaydı (SAR). DAC girişine beslenen kodun mevcut değerini üreten ardışık yaklaşım algoritmasını uygular. Bütün verilen mimari ADC.

4. Örnek tutma şeması (Örnek/Tut, S/H). Bu ADC'nin çalışması için, tüm dönüşüm döngüsü boyunca giriş voltajının sabit kalması temel olarak önemlidir. Ancak, "gerçek" sinyaller zamanla değişme eğilimindedir. Örnekle ve tut devresi, analog sinyalin mevcut değerini "hatırlar" ve cihazın tüm döngüsü boyunca değiştirmeden tutar.

Cihazın avantajı nispeten yüksek hız dönüştürme: N-bit ADC dönüştürme süresi N döngüdür. Dönüştürme doğruluğu, dahili DAC'nin doğruluğu ile sınırlıdır ve 16-18 bit olabilir (şimdi 24 bit ADC SAR'ları görünmeye başlamıştır, örneğin, AD7766 ve AD7767).

Delta Sigma ADC

Ve nihayet en ilginç tip ADC, literatürde bazen yük dengeli bir ADC olarak adlandırılan bir sigma-delta ADC'dir. Sigma-delta ADC'nin blok diyagramı, Şek. 3.

Şek. 3. Sigma-delta ADC'nin yapısal diyagramı.

Bu ADC'nin çalışma prensibi, diğer ADC tiplerinden biraz daha karmaşıktır. Özü, giriş voltajının entegratör tarafından toplanan voltaj değeriyle karşılaştırılmasıdır. Karşılaştırmanın sonucuna bağlı olarak, entegratörün girişine pozitif veya negatif kutuplu darbeler beslenir. Bu nedenle, bu ADC basit bir izleme sistemidir: entegratörün çıkışındaki voltaj, giriş voltajını “izler” (Şekil 4). Bu devrenin sonucu, karşılaştırıcının çıkışında bir sıfırlar ve birler akışıdır, bu daha sonra bir dijital düşük geçişli filtreden geçirilerek N-bitlik bir sonuçla sonuçlanır. LPF, Şek. 3. Bir "desimator" ile birlikte, onları "incelterek" okuma sıklığını azaltan bir cihaz.

Pirinç. 4. Bir izleme sistemi olarak Sigma-delta ADC

Kesinlik adına, Şekil 1'de söylenmelidir. 3, birinci dereceden bir sigma-delta ADC'nin bir blok diyagramıdır. Sigma-delta 2. dereceden ADC'nin iki entegratörü ve iki döngüsü vardır geri bildirim ancak burada ele alınmayacaktır. Bu konu ile ilgilenenler başvurabilir.

Şek. Şekil 5, girişte (üstte) sıfır seviyesinde ve Vref / 2 seviyesinde (altta) ADC'deki sinyalleri göstermektedir.

Pirinç. 5. ADC'deki sinyaller farklı seviyeler Giriş sinyali.

Şimdi, karmaşıklığa girmeden matematiksel analiz, sigma-delta ADC'lerin neden çok düşük seviye kendi sesleri.

Şekil l'de gösterilen sigma-delta modülatörünün blok şemasını düşünün. 3 ve bu biçimde sunun (Şekil 6):

Pirinç. 6. Sigma-delta modülatörünün yapısal diyagramı

Burada karşılaştırıcı, sürekli bir yararlı sinyal ve nicemleme gürültüsünü toplayan bir toplayıcı olarak temsil edilir.

İntegratörün 1/s transfer fonksiyonuna sahip olmasına izin verin. Daha sonra, faydalı sinyali X(s), sigma-delta modülatörünün çıktısını Y(s) ve nicemleme gürültüsünü E(s) olarak temsil ederek, ADC'nin transfer fonksiyonunu elde ederiz:

Y(s) = X(s)/(s+1) + E(s)s/(s+1)

Yani aslında sigma-delta modülatörü bir filtredir. düşük frekanslar(1/(s+1)) yararlı sinyal için ve filtre yüksek frekanslar(s/(s+1)) gürültü için, her iki filtrenin de aynı kesme frekansına sahip olması. Spektrumun yüksek frekans bölgesinde yoğunlaşan gürültü, modülatörden sonra bulunan bir dijital düşük geçişli filtre ile kolayca giderilir.

Pirinç. 7. Spektrumun yüksek frekanslı kısmında gürültünün "yer değiştirmesi" olgusu

Bununla birlikte, bunun bir sigma-delta ADC'de gürültü şekillendirmenin son derece basitleştirilmiş bir açıklaması olduğu anlaşılmalıdır.

Bu nedenle, sigma-delta ADC'nin ana avantajı, yüksek doğruluk son derece düşük kendi kendine gürültü seviyesi nedeniyle. Ancak, yüksek doğruluk elde etmek için kesme frekansının dijital filtre mümkün olduğu kadar düşüktü, sigma-delta modülatörünün frekansından birçok kez daha azdı. Bu nedenle, sigma-delta ADC'ler düşük hız dönüşümler.

Ses teknolojisinde kullanılabilirler, ancak ana kullanım, sensör sinyallerini dönüştürmek için endüstriyel otomasyonda, ölçüm cihazlarında ve yüksek doğruluğun gerekli olduğu diğer uygulamalardadır. ancak yüksek hız gerekmez.

biraz tarih

Tarihteki en eski ADC referansı muhtemelen Paul M. Rainey patenti, "Faks Telgraf Sistemi", U.S. 20 Temmuz 1921'de Dosyalanmış, 30 Kasım 1926'da Yayınlanmış Patent 1,608,527. Patentte gösterilen cihaz aslında 5 bitlik bir doğrudan dönüştürme ADC'sidir.

Pirinç. 8. İlk ADC patenti

Pirinç. 9. Doğrudan dönüştürme ADC (1975)

Şekilde gösterilen cihaz, 1975 yılında üretilen Computer Labs tarafından üretilen ve ayrık karşılaştırıcılar temelinde monte edilen doğrudan dönüşümlü bir ADC MOD-4100'dür. 16 karşılaştırıcı vardır (sinyal yayılım gecikmesini her karşılaştırıcıya eşitlemek için yarım daire içinde bulunurlar), bu nedenle ADC'nin bit genişliği sadece 4 bittir. Dönüşüm oranı 100 MSPS, güç tüketimi 14 watt.

Aşağıdaki şekil, doğrudan dönüştürme ADC'nin gelişmiş bir sürümünü göstermektedir.

Pirinç. 10. Doğrudan dönüştürme ADC (1970)

Computer Labs tarafından üretilen 1970 VHS-630, 64 karşılaştırıcıya sahipti, 6-bit, 30MSPS idi ve 100 watt tüketiyordu (1975 VHS-675, 75 MSPS'ye sahipti ve 130 watt tüketiyordu).

Edebiyat

W. Kester. ADC Mimarileri I: Flash Dönüştürücü. Analog Cihazlar, MT-020 Eğitimi.

1. Derece 2. Derece 3. Derece 4. Derece 5. Derece

Yonga PCF8591 aşağıdaki özelliklere sahiptir:

Besleme geriliminin tek kaynağı;
- 2,5 ila 6 V arasındaki besleme voltajları aralığında performansı korumak;
- düşük akım tüketim;
- köle adresini ayarlamak için üç pin;
- programlamayı açma imkanı olan dört analog giriş (doğrudan ve diferansiyel);
- ardışık yaklaşım ve 8 bitlik sayı aralığı ile A/D dönüşümünün kullanılması;
- bir analog çıkışlı çoğullanmış D/A dönüştürücü.

Bu çip, CMOS teknolojisi kullanılarak yapılmıştır, I2C veriyolunda veri ayarlanarak kontrol edilen 4 analog giriş ve 1 analog çıkışa sahiptir. bit A2...A0 mikro devrenin köle adresinde ayarlanır harici sinyallerüzerinde geleneksel yol: uygun terminalleri ortak bir kabloya veya besleme gerilimine bağlayarak. Bu, aynı türden 8 çipe kadar kullanmanıza izin verir. Bir parçası olarak PCF8591 sadece bir A / D dönüştürücü var, ancak çoğullama yöntemlerinin kullanılması mikro devrenin giriş yeteneklerini genişletiyor. ADC girişi 4 sinyal girişine seri olarak bağlanır ve bunlardan bilgi okunur. Ne yazık ki, D/A dönüştürme için çoğullama kullanılamaz, bu nedenle yalnızca bir analog çıkış vardır. Max hız veri dönüştürme sınırlıdır maksimum performans I2C otobüsleri.

Şekil 1. PCF8591 Pin Çıkışı

Şekil 2. Blok diyagramı yansıtan iç organizasyon ve mikro devre elemanlarının etkileşimi

Tablo 1. PCF8591 Pin Ataması

Sembol Çözüm Tanım
AIN0 1 Analog giriş (A/D)
AIN1 2 Analog giriş (A/D)
AIN2 3 Analog giriş (A/D)
AIN3 4 Analog giriş (A/D)
A0 5 Adres girişi 0
A1 6 Adres girişi 1
A2 7 Adres girişi 2
vs 8 Mikro devrenin ortak teli (güç)
SDA 9 I2C veri yolu SDA hattı
SCL 10 I2C veri yolu SCL hattı
OSC 11 Harici jeneratör bağlantı terminali
HARİCİ 12 Harici/dahili jeneratör
AGND 13 Analog toprak
Vref 14 referans voltajı
DIŞARI 15 Analog çıkış (D/A)
vdd 16 Besleme gerilimi "+"

Çipin bağımlı adresi Şekil 3'te gösterildiği gibi ayarlanır. Sabit bir parça (bit 7...4) ve bir değişken parça (bit 3...1) içerir. Bit 0, her zaman olduğu gibi "R/W" (okuma/yazma) işaretini taşır.

Şekil 3. Çipin slave adresi

Köle adresini takip eden ikinci bayta kontrol baytı denir. Bu bayt, çipi kullanıcı görevleri için yapılandırır. İlk olarak, analog çıkışı etkinleştirmek veya devre dışı bırakmak için kullanılabilir. İkincisi, ayarlamak mümkündür analog girişler hem doğrudan hem de diferansiyel bağlantıda. Üçüncü olarak, dönüşümün gerçekleşeceği A/D kanalının numarasını (iki bit ile) ayarlamak mümkündür. Otomatik artış bayrağı ayarlanırsa, her A/D dönüşümünden sonra giriş kanalı numarası bir artacaktır. Otomatik artış modu, bu modda sürekli çalışacağından, dahili bir jeneratör ile birlikte kullanılması en mantıklı olanıdır. Belgelerde belirtildiği gibi, kanal değiştirirken jeneratörün başlatılmasındaki gecikme, veri dönüştürme hatalarına yol açar. Ayrıca kullanılmadığında analog çıkışı devre dışı bırakmanız (Z durumuna ayarlamanız) önerilir. Bu önlem, mikro devrenin mevcut tüketimini azaltacaktır. Şek. 4, kontrol ve yönetim baytının olası durumlarını gösterir.

Şekil 4. Kontrol ve yönetim baytının durumu

D/A dönüşümü

PCF8591'in alması gereken üçüncü bayt, D/A dönüştürücünün veri baytıdır. Doğal olarak, bu durumda analog çıkış kontrol baytında etkinleştirilmelidir (Şekil 4).

Fiziksel olarak, D/A dönüştürücü, Şekil 2'de gösterilen bir direnç dizisinden oluşur. 5. Dirençlerin bağlantı noktaları, anahtarlar yardımıyla çıkış hattına bağlanan dalları oluşturur. Dal kod çözücü şemasını kontrol eder. Çıkış voltajı (L)AC çıkışı) daha sonra otomatik olarak sıfırlanmış birlik kazanç yükselticisine beslenir. Bu amplifikatör etkinleştirilebilir (kontrol baytı aracılığıyla) veya yüksek empedans (2) çıkış durumuna yerleştirilebilir.

Şekil 5. D/A Dönüştürücü

D/A dönüştürücünün, ardışık yaklaşık A/D dönüştürme prosedüründe de kullanıldığını not etmek önemlidir. Bu method literatürde ayrıntılı olarak anlatılmıştır ve bu kitap çerçevesinde ona geri dönmenin bir anlamı yoktur.

Şekil 6. D/A Dönüştürme Prosedürü

D/A dönüştürme prosedürü, Şek. 6. Grafikte 00h...FFh aralığındaki herhangi bir nokta aşağıdaki formülle belirlenebilir:

nerede VA0UT - çıkış voltajı D/A Dönüştürücü; VREF- referans voltajı; VAGND- analog "toprak" potansiyeli; D- veri baytının karşılık gelen biti.

Ayrıca şek. 7. Bir veri bayt zincirini birbiri ardına aktararak bir mikro devre ile çalışmak mümkündür. Belirtilene karşılık gelen voltaj seviyesi, ACK sinyali verildiği anda çıkışta görünür. ACK sinyali yayınlandığı anda, mikro devrenin çıkışında kontrol ve yönetim baytının (Şekil 4) alındığını doğrular, DAC kaydında bulunan veriler, mikro devrenin önceki döngüsünün sonundan itibaren görünür.

Şekil 7

Bir A/D dönüşümü gerçekleştirmek için, önce R/W = 0 olan bir kontrol baytı göndermeniz gerekir. Daha sonra, Şekil 2'ye göre verileri okuyun. sekiz.

Şekil 10. Diferansiyel ölçüm modu

A/D ve D/A dönüşümlerinin kararlılığını sağlamak için mikro devrenin Vref ve AGND pinlerine bağlı özel bir voltaj referansı gereklidir. Dahili osilatör, A/D dönüştürme döngüsünü sağlamak ve otomatik sıfırlama ile tampon yükselticiyi ayarlamak için vazgeçilmezdir.

Dahili osilatörü etkinleştirmek için, EXT pini Vss'ye kısa devre yaptırılmalıdır. Ardından, izlenebilen OSC pininde dönüşüm frekansı sinyali görünecektir. EXT pini VDD'ye bağlanırsa, dahili osilatör yüksek empedans durumuna geçer ve OSC pini harici bir osilatör tarafından çalıştırılabilir.

Edebiyat:
B. Yu. Semenov, "RADYO MÜHENDİSLİĞİ YAPILARINDA I2C BUS"


"Sukisod" veya basit USB ADC'den PIC'ye dönüştürücü

Radiokot'u 8. doğum gününde içtenlikle kutluyorum. Sana uzun ömürler. Çok zaman geçirdiğim bu siteyi gerçekten çok seviyorum.

İnternette her türlü parametreyi ölçmek için birçok losyon bulabilirsiniz. Sonunda kayıt sitemi oluşturup size göstermek için olgunlaştım. için bir sürü programcı ve hata ayıklayıcı topladım. tipik şemalar ve farklı bir şey yapmanın zamanının geldiğine karar verdi. Kendi yaptığı bir cihazla çalışmanın zevkinden daha iyi bir şey yoktur.

Sukisod, kedimin adı. Bir yavru kedi sahiplendik ve kedi olduğunu varsayarak ona Sukis adını verdik. Kedi bu takma isme çok iyi cevap verdi. Biraz sonra bunun bir kedi olduğu ortaya çıktı. Ve böylece Sukisod ortaya çıktı. Tamam, cihazıma bakalım.

Kutularımı karıştırdım ve bir sürü PIC16F1455 buldum. Demir parçasını örnek olarak aldım. Tabii ki bir bedava, ama bir DIP paketinde. Kullanmaya karar verdim - aynı iyiliği yok etmemek. Bu, Microchip Technology'den tam hızda bir mikro denetleyicidir. USB arabirimi 2.0. PIC16F1455 var iç kaynak USB bağlantı noktasının çalışması için gerekli olan %0,25 doğrulukla çalışan saat darbeleri.

Genel olarak, kaderi USB ile çalışmaktır. Veri sayfasına baktım ve tahtanın aşağıdaki çizimini yaptım:

diyagram çizmedim çünkü tahta çizimine göre her şey ilkel. USB konektörü kullanılmadı. Kartın kenarı konektör olacaktır. Tektolit kalınlığı 1.5-2 mm'dir.

Referans için, USB pin çıkışı:

Şimdi bu iyiliğin bir şekilde bilgisayara vidalanması gerekiyor. Eski güzel Delphi'yi kullanacağız. USB bağlantısı"Jedi" kitaplığının JvHidController'ı aracılığıyla işlenir. Uygulama penceresi ekran görüntüsü

Bağlandığında, demir parçası şu şekilde algılanır: HID cihazı ve sürücü gerektirmez. Biraz sonra Android için yazılım düzenleyeceğim. HHIMERA'yı desteklediğiniz için özel teşekkürler.

Öyle oldu ki, sürekli birlikte çalıştığım ve görevlerin büyük çoğunluğunu yaptığım ana MK, ATTiny2313- O popüler ve en önemlisi en ucuz kontrolör tüm hattan AVR 8'den fazla bacağı olan 18, chtol, küçük bir şey için yaklaşık üç yüz tane aldım. Ama işte alt - ADC'si yok. Hiç de bile. Ve sonra ona ihtiyaç duyuldu - sensörden gelen sinyali ölçmeniz gerekiyor. pusu. Bu tür çöpler nedeniyle daha fazla doldurulmuş ATTiny26- bizden nereden satın alabileceğiniz daha pahalı ve incir ve sonra o uçurumla ne yapmalı ATTiny2313 daha önce ne satın alındı? Beyni yıkanmış...

neden patlamasın ADC sıralı karşılaştırma? Tabii ki, hız ve doğruluk bir çeşme olmayacak, ancak MK tipini değiştirmeden ve ek bir gövde kitinin sadece iki kuruş parçası ile, tam teşekküllü, yavaş da olsa 8 bitlik bir ADC alacağım, bu da benim beklentilerimi tamamen tatmin ediyor. mütevazı istekler!

Seri karşılaştırma ADC'si nasıl çalışır?
bizde ne var ATTiny2313 analog? Doğru şekilde - . Şimdi ölçülen sinyali girişine uygulamak ve referans voltajının değerini doğrusal olarak değiştirerek referans voltajı ile metodik olarak karşılaştırmak yeterlidir. Karşılaştırıcının hangi referans voltajlarında tetikleyeceği, ölçülen sinyal +/_ referansı değiştirme adımı yaklaşık olarak buna eşittir.

Değişken bir referans voltajı elde etmek için kalır ve ne, tamamen dijital çıkış kontrolör, analog sinyali çıkarabilir miyim? PWM! Daha önce entegre etmiş olmak. Entegrasyon için en basit RC filtresini kullanıyoruz. Kondansatör yükü entegre edecek ve direnç, konder şarj olurken portun ölmesine izin vermeyecektir. PWM'yi böyle bir filtreden geçirmenin sonucu, oldukça kararlı bir sabit voltaj olacaktır.

Sadece filtre derecelendirmelerini tahmin etmek için kalır. Kesme frekansı - L şeklindeki RC filtresi için filtrenin değişken bileşeni sönümlemeye başladığı frekans, zaman sabitinin tersine eşittir w=1/RC. konçertoyu yapıştırdım 0.33Е-6 F ve direnç açık 470 Om, ortaya çıktı w=6447 rad/s. Çünkü açısal frekans hiçbir yerde dinlenmedik, sonra onu 2pi = 6.28'e böldük, kesin olarak yaklaşık bir kilohertz, 1026.6 Hz elde ettik. Zaman sıklığı PWM ve kolayca onlarca kilohertz'e sahip olabiliriz, o zaman çıktı hafif dalgalanmalarla çok düzgün bir sabit olacaktır.

Şimdi bu üstleri karşılaştırıcının girişine sarıyoruz, saniyesinde ölçülen sinyalimizi başlatıyoruz ve kodla eğlenmeye başlıyoruz. Burada, toplanmış böyle bir şema olduğu ortaya çıktı. Ancak burada ATTiny2313 değil, ADC'si olan Mega8, ancak şimdilik varlığını unutacağız. Filtremiz kırmızı çizgilerle çizilmiştir.

Kod basit olacak, rahatsız etmemek için ayrı kaynak kodları da dosya biçiminde göndereceğim:

  • - kafa dosyası
  • - Kesinti vektör tablosu
  • — Çevre birimi başlatma
  • ve — Makrolar ve makro tanımları

Sadece ana işlev hakkında yorum yapacağım kireç.
Bir prosedür çağırırken kireç her şeyden önce elimizde:

  1. Analog karşılaştırıcı yapılandırılır ve en önemlisi kesmeleri etkinleştirilir.
  2. Ardından, 255'lik ilk tarama değeri, tarama kaydına (R21) atılır.
  3. Bundan sonra bu değer PWM karşılaştırma kaydına atılır. OCR1AL. PWM önceden, bölümdeydi init.asm yapılandırılır ve başlatılır, böylece çıkışında bir görev döngüsü ile hemen bir sinyal belirir (görev döngüsü, sinyal süresinin bu sinyalin süresine oranıdır) 1, yani, aslında, şimdilik sadece bir.
  4. Gecikme fonksiyonunda bitmesi için bir süre bekleriz geçiş süreci(bir kapasitör voltajını anında değiştiremez)
  5. Tarama kaydının değerini azaltın (bu, OCR1AL görev döngüsünü 1/255 azaltacaktır), sıfır olup olmadığını kontrol edin. Değilse, 3. noktaya gidin.
Sonuç, sinyalin görev döngüsünde 1'den 0'a bir adımla tutarlı bir düşüş olacaktır. 1/255 , filtreden sonra azalan bir voltaja dönüştürülecek. Ve, ana prosedürde sahip olduğumdan beri kireççevrimsel olarak çağrılırsa, karşılaştırıcının girişinde bir testere olacaktır.

Görüldüğü gibi üst kısımda bir kesim var. Bunun nedeni, tüm dirençlerdeki düşüşleri hesaba katarak MK bacağının verebileceği maksimum voltajın yaklaşık 4,7 volt olması ve 5'i de ana potansiyometreden sökebilmemdir. Eh, tepeler bile biraz düşüyor. Frekansı düşürürseniz, aralık biraz genişleyecektir.

Yani, biraz ustalık ve iki ek ayrıntıyla toplam miktar bir ruble ve bir düzine kod satırında çok fazla hamur biriktirdim =)