KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ BÖLÜMÜ MĠKROĠġLEMCĠ LABORATUARI MikroiĢlemci ile Analog-Sayısal DönüĢtürücü (ADC) 1. GiriĢ Analog işaretler analog donanım kullanılarak işlenebilir. Bunun yanında analog donanım üzerinde değişiklik yapmak hem masraflı hem de çok zaman alıcı bir işlemdir. Oysaki yazılım düzeyinde değişiklik yapmak oldukça kolaydır. Bu yüzden yazılım olarak işlenebilecek işaretler bir A/D dönüştürücü üzerinden sayısal işaretlere dönüştürülür ve değişiklik işlemi sadece yazılım üzerinde yapılır. Analog işareti sayısal bilgiye dönüştürmenin birçok yöntemi vardır. Şekil 1 de verilen basit bir blok devreyle analog işaret sayısal bilgiye kolayca dönüştürülebilir. Şekil 1 de DA dönüştürücüye sıfırdan başlayarak sayısal bilgi sırayla uygulanır.vd gerilimi Va dan küçük olduğu her durum için Vo dan küçük olacaktır.vo ın sıfırdan büyük bir gerilim olarak bulunduğu ilk durumda DA dönüştürücünün girişindeki sayısal bilgi Va analog işaretinin sayısal olarak eşdeğeri olmuş olur. 2. Successive Approximation Metodu Şekil 1 deki dönüştürücüye verileri sıra ile uygulamak ve uygun sonuca ulaşmak oldukça yavaş bir yöntemdir. Bunu yerine en anlamlı bitten başlanarak D/A dönüştürücüye uygulanan verilerin bitleri lojik 1 yapılır ve Vo gerilimi okunur. Eğer Vo>= 0 ise o bitin yerine 0,değilse 1 konulur.bu işlem tüm bitler için tekrarlandığında Va nın sayısal eşdeğeri elde edilmiş olur.bunu bir örnekle açıklayalım. Şekil 2 de 3 bitlik bir ADC dönüştürücü için gerekli ağaç yapısı verilmiştir. 1
Şekil 2 : 3 bit için gerekli ikili yaklaşım ağacı Benzer şekilde deneyde kullanılan 8 bit için gerekli bit testleri de Tablo 1 de verilmiştir. Burada Va nın sayısal eşdeğeri 8 adım sonunda 01001100 olarak bulunmuştur. Örnekten de görüldüğü gibi elde edilecek sayısal bilgi DA dönüştürücünün bit sayısına bağlıdır.da dönüştürücünün bit sayısı ne kadar az alınırsa sonuç o kadar hızlı bulunmuş olur.bunun yanında bit sayısı ne kadar fazla alınırsa sonuç o kadar doğru çıkacaktır. Burada dikkate alınması gereken 2 kavram karşımıza çıkmaktadır. Bunlar örnekleme ve kuantalamadır. Şekil 3 te bir sinüs eğrisinin örneklenmesi ve kuantalaması verilmektedir. Sayısal tasarım bilgilerinizden bu kavramların ne olduğunu araştırınız. 2
Şekil 3. Sinüs İşaretinin 4bit kullanılarak örneklenmesi ve kuantalanması Bu deneyde DIGIAC 2000 deney seti ve be deney setinde bulunan DT35 uygulama kartı kullanılarak analog digital dönüştürücü uygulaması gerçekleştirilecektir. Deneye gelmeden önce DIGIAC 2000 deney seti kullanımı bie ilgili bilgi edininiz. Mikroişlemci Laboratuarı Deney 1 (Mikrobilgisar Donanımı deneyi) föyü kullanılabilir. 3. DT35 UYGULAMA KARTI DT35, mikrobilgisayarın kontrol edebileceği aygıt ve araçları içeren bir modüldür. Yazılan programların çeşitli çevre birimler üzerindeki kontrolünü göstermek amacıyla tasarlanmıştır. İçeriğinde ; 1. 8-bit Dijital-Analog çevirici (DAC) 2. 8-bit Analog-Dijital çevirici (ADC) 3. DAC tarafından sürülen, geri beslemeli bir motor 4. ADC tarafından okunabilen bir potansiyometre 5. DAC tarafından kontrol edilen bir optik verici ile ADC tarafından okunan bir optik alıcı 6. TTL uyumlu bir giriş/çıkış portundan kontrol edilen bir ses verici 7. TTL uyumlu iki giriş/çıkış portundan kontrol edilen bir ultrasonik verici ve alıcı 8. İki adet 8 bit port (Port-A ve Port-B) ve içeriklerini görüntülemek için bu portlar tarafından sürülen 16 led Port A: Dijital-Analog çeviciye 8-bit veri yazmada, Analog-Dijital çeviriciden 8-bit veri okumada kullanılır. Port B: DAC, ADC dönüşümlerini kontrol etmede, motorun geribeslemesini okumada, ses vericiyi sürmede ve ultrasonik alıcı-vericinin uzaklık ayarını kontrol etmede kullanılır. 3
3.1. GiriĢ-ÇıkıĢ Portlarının Kullanımı Giriş-çıkış portlarını gözlemleme için ledlerin durumuna bakılır. Eğer bir led, lojik 1 konumundaysa yanar, lojik 0 konumunda ise sönüktür. Portların hatlarının kullanıldığı yerler: Port Kullanımı Yön Açıklama PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 D0 D1 D2 D3 D4 D5 D6 D7 1 byte veri DAC a yazılır ya da ADC den okunur D0=lsb D7=msb PB0 EN Ç DAC ın enable girişi lojik 0 da olduğu müddetçe DAC yoldan (D0-D7) gelen bilgiyi analoga çevirir. Enable girişi lojik 1 olduğu vakit son kez çevirme işlemi yapılır ve çıkış o değerde dondurulur. PB1 WR Ç Bu girişin lojik 1 den 0 a geçişinde analog dijital dönüşümü başlar. PB2 BSY G Bu çıkış analog-dijital dönüşümü başladığı zaman lojik 0 a iner s sonra lojik 1 e çıkar ve verinin yoldan okunabileceğini belirtir. PB3 RD Ç Bu giriş ADC nin çıkışından verinin okunabilmesi için lojik 0 a indirilir. Aksi halde çıkış yüksek empedans konumunda bekler. PB4 DSC G DC Motordaki optik kesici diski için çıkış. Bu diskin üzerindeki 2 delik vasıtasıyla 2 pozitif darbe oluşmaktadır. PB5 PZO Ç Piezo ses vericisi için kontrol girişi PB6 UTX Ç Bu girişin lojik 1 olması ultrasonik vericiyi aktif eder. PB7 URX G Ultrasonik alıcı tarafından 40 khz lik ses algılandığı zaman çıkışta 40 khz lik dalga oluşturur. Aksi halde çıkış lojik 1 dedir. 4
3.2. Dijital-Analog Çevirici (DAC): Şekil 4 : DT35 Kitinin Blok Diyagramı 8-bitlik DAC, bir anahtar vasıtasıyla motora yada optik vericiye bağlanır. Diyagramı; Şekil 5 : 8-bitlik DAC blok diagramı. 5
Dijital Analog çeviricide girişten gelen 0-FF arası dijital işaret 0-2.55V arası analog işarete dönüştürülür. DAC tan çıkış alabilmek için PB0 lojik 0 yapılarak EN sinyali oluşturulur, ondan sonra da veri A portuna yazılır. Çıkış anahtarın durumuna göre motora ya da optik vericiye gönderilir. 3.3. Analog-Dijital Çevirici (ADC): 8-bitlik ADC, bir anahtar vasıtasıyla optik alıcıya ya da potansiyometreye bağlanır. Diyagramı; Şekil 6 : 8 bitlik ADC blok diagramı. Analog Dijital çeviricide girişten gelen 0-2.55V arası analog işaret 0-FF arası dijital işarete dönüştürülür ve A portundan dışarı verilir. DAC tan çıkış alabilmek için aşağıdaki işlemler yapılmalıdır: 1. WR ve RD girişleri lojik 1 yapılır. 2. 1) bit dizisi gönderilir. Burda dikkat edilmesi gereken nokta bu gönderim işleminin 200 ns den küçük olması gerektiğidir. 3. Çevirme işlemi bitene kadar beklenmelidir. Bunun için de BSY çıkışının lojik 1 e s (bir çevirme işleminin maksimum süresi) den fazla süreceği biliniyorsa bu kontrole gerek kalmamaktadır. 4. RD girişi lojik 0 yapılarak ADC nin veri çıkışı aktif edilir. 5. A portundan veri okunur. 6. RD girişi lojik 1 yapılarak ADC nin veri çıkışı pasifize edilir. Bu sürecin zaman diyagramı Şekil 7 deki gibidir : 6
4. Deney Hazırlığı Şekil 7 : Analog-sayısal dönüşüm zaman grafiği. 1. Deneye gelmeden önce 80286 işlemcisi hakkında araştırma yapılmalıdır. 2. Analog-sayısal dönüşümünün nasıl yapıldığı araştırılmalıdır. 3. Örnekleme ve kuantalama kavramları araştırılmalı öğrenilmelidir. 4. Çözünürlük ve örnekleme frekansı ile ilgili ön bilgi edinilmelidir. 5. Deney uygulama yönergesindeki deneye hazırlık soruları cevaplanmalı ve el yazısı ile yazılmış 1-2 sayfalık bir rapor halinde sunulmalıdır. 5. Deney Tasarımı ve Uygulaması 1. Deney hazırlık soruları soru-cevap şeklinde sorularak öğrencinin ön hazırlığı yoklanır. 2. Deney föyünde verilen Şekil 1'in hem birinci yöntem hem de 2. yöntemle çalışması açıklanır ve sayısal değerlerle pekiştirilir. 3. Örnekleme ve kuantalamaya sayısal değerlerle örnek verilir. 4. Digiac 2000 deney setinin kısaca tanıtılması ve basit kullanımı öğrencilere gösterilir. 5. EPROM'da bulunan ADC programını çalıştırılır ve sonuçlar gözlemlenir. 6. Farklı değerlerin sayısala çevrilmesi ve bu değerler için örnekleme ve kuantalama değerlerinin hesaplanması gerçekleştirilir. 7. Deney esansında hesaplanan değerlerin öğrenciler tarafından not alınması sağlanır. 6. Deney Soruları 1. A/D dönüştürücü nedir? Hangi amaçla kullanılır? 2. A/D dönüştürücünün kullanıldığı yerlere en az 3 örnek veriniz. 3. A/D dönüştürücü türleri nelerdir? 4. Örnekleme ve kuantalama kavramları nelerdir, örnek vererek açıklayınız. 7. Deney Raporu 1. Kısa bir giriş 2. Deneyde yapılanlar 3. Sonuç ve Değerlendirme 7