Select A/D conversion clock (ADCON0) seçimi ne olmalı?

Başlatan camby, 28 Eylül 2009, 22:01:07

camby

"Select A/D conversion clock (ADCON0)"
ADCON0 ve ADCON1 de bulunan ADCS0 , ADCS1 ve ADCS2 bitlerini neye göre ayarlamalıyım , ADC işlemindeki CLOCK neyi belirliyor?

Tagli

A/D dönüşümün her bir bitinin dönüştürme süresini belirler. Buraya vereceğin değer Tosc ile ilişkilidir. Yani her bitin dönüşümünün (ki bu Tad diye adlandırılıyor) kaç Tosc olduğunu buradan ayarlarsın. Dönüşüm toplamda 12 Tad kadar sürer (nedense 10 bit için fazladan 2 Tad süre gerekiyor, sebebini anlamadım). Burada dikkat edilmesi gereken nokta, Tad'nin 1.6 us'den düşük olmamasıdır. Bu sınırı geçmemek şartı ile hızı yükseltebilirsin. Yavaş dönüşüm yapmanın bir getirisi var mı bilmiyorum. Datasheet'te bir tablo mevcut, PIC'in çalışma frekansına göre seçebileceğin değerleri gösteriyor.

Elbette dahili RC osilatörü de kullanabilirsin. Bu sana 2 - 6 us arası bir Tad verir. Diğer ayarlarla yapabileceğinden biraz daha yavaş dönüşüm yaparsın ama ayar frekansa göre hesap yapmana gerek kalmaz. Ama datasheet'te yazdığına göre 1 MHz üstündeki hızlarda uyku modunu kullanmak gibi bir durum yoksa RC osilatör seçeneği önerilmiyor (belki de yavaş ve sabit süreli olmadığı için). Uyku sırasında A/D dönüşüm yapacaksan zaten RC osilatörü kullanmaktan başka çaren yok.

Ben şu ana kadar hep RC osilatör seçeneğini kullandım. Biraz bilinçsizce...  :oops:  Aslında PIC'in hızına göre doğru bir ayar seçmek daha mantıklı.
Gökçe Tağlıoğlu

camby

Teşekkür ederim ,
Anladığım kadarıyla  1 Tad için min 1.6us süre gerekiyor ve 10bit ADC için de 12 Tad süre gerekiyor , bu durumda toplamda 19.2us süre gerekiyor fakat TOSC 'nin açılımı nedir? (20MHz kristal ile) 1 komut süresine eşit olan 200ns midir TOSC?
Bu clock seçiminde TOSC seçimi 1 Tad için ayrılan süreyi mi belirliyor?

Tagli

Yanlış anlamadıysam olayı 20 MHz için 1 Tosc = 50 ns oluyor (4 titreşimde bir komut işlendiğinden). Zaten tabloda 20 MHz için 32 Tosc ve 64 Tosc değerleri var. 20 MHz'de 32 Tosc 1.6 us yapıyor. 64 yaparsan 3.2 us olur, yani hız yarıya iner. Ama dediğim gibi, belki yavaş yapmanın da bir faydası vardır, belki daha doğru sonuç falan veriyordur... Ne desem yalan olur, araştırmak lazım.
Gökçe Tağlıoğlu

camby

teşekkürler taglı , bu konuda eksiklik kalmadı, fakat 32mi 64mü olmalı konusuna çok baktım ama hiç bir dökümanda da 32 yada 64 olmasının farkınından bahsetmemiş ama ben yine de 64 yaptım..

wsxwsx

64 yaptın. peki adc istediğin gibi çalıştı mı ?

Bu konu, picin kendi dokümanında yazıyor. istediğin değeri seçemiyorsun. belli kristale göre seçilebilecek değerler var.

camby

Alıntı yapılan: "wsxwsx"64 yaptın. peki adc istediğin gibi çalıştı mı ?

Bu konu, picin kendi dokümanında yazıyor. istediğin değeri seçemiyorsun. belli kristale göre seçilebilecek değerler var.
hemen boarda kurasım geldi ama board beni çıldırtıyor:( müsait bi zamanda belki bugün plakette deniyeceğim . isiste zaten sıkıntı yok:) , 64 de sorun çıkarmayacağı kesin gibi de, 32 de sıkıntı olur mu onu merak ediyorum