Altium Designer Dersleri 7 – Osilatör Seçimi

Merhaba Arkadaşlar,
Gömülü sistemlerin kalp atışları clock işaretidir. Sistemimizin kararlı olabilmesi için bu işaretin olabildiğince hatasız olması gerekmektedir. Bu nedenle bu işaretlerin üretildiği osilatör bölümünün dikkatli bir şekilde tasarlanması önemlidir. Yani bu yazıyı dikkatli okumanızı öneririm. 🙂

Osilatör devreleri çıkışı olan ancak girişi olmayan devrelerdir. KTÜ için de giriş var çıkış yok derler. Pek doğru olmasa da konumuz bu değil. 🙂 Osilatör devrelerini uygun bir şekilde kurduğumuzda bize çıkış olarak sinüs işareti verirler. Biz de bu işareti gerek haberleşme için taşıyıcı işareti olarak, gerek ise kare dalgaya dönüştürerek gömülü sistemlerde clock işareti olarak kullanırız. Genel olarak gömülü sistemlerde Şekil 1’de görülen “Pierce Oscillator” devresi kullanılır.

Şekil 1. Pierce Osilatör devresi

Gömülü sistemlerle ilk uğraşmaya başladığım yıllarda üzerimde çok emeği olan Hakan Erdöl hocam bana bir mikroişlemci kartı tasarlamamı söylemişti. Bugün mesleğimi ve akademiyi sevmemde belki de en çok katkısı olan kişidir. Buradan selamlarımı ve sevgilerimi göndermek istiyorum. Daha fazla duygusallaşmadan konumuza dönelim. 🙂 İlk tasarımımda anlamakta en çok zorlandığım bölüm osilatördü. Bende kolaya kaçıp referans tasarımın aynısını kullanmıştım. Yani zorluk karşısında pes edip bırakmak pek bana göre değil. 🙂 Daha sonra ise ST Microelectronic’in hazırladığı çok güzel bir tasarım rehberi buldum ve buradan istemediğim kadar detay öğrendim. Sizde bu rehberi buradan indirebilirsiniz ve şuan anlatacaklarımın çok daha fazlasını bu rehberde bulabilirsiniz. Şimdi Şekil 1’de görülen elemanların neler oldukları ile başlayalım.

  • Inv: Yükselteç gibi çalışan dahili evirici
  • Rf: Geribesleme direnci
  • Q: Quartz kristali
  • CL1, CL2: Yük kondansatörleri
  • Rext: Eviricinin çıkış akımını sınırlamak için kullanılan direnç
  • Cs: PCB ve mikrodenetleyici pinlerinin toplam stray (serseri 🙂 ) kapasitesi

Şekil 1’de görüldüğü gibi Inv ve Rf mikrodenetleyicinin içerisinde bulunmaktadır. Bizim belirlememiz gereken elemanlar bunların dışında kalanlardır. İlk olarak kristal seçimimizi işlemcinin istediği osilatör frekansına göre seçiyoruz. Bizim seçtiğimizi işlemci 8 MHz frekanslı bir kristal istiyor. Boyutları küçük olduğu için “ABM3-8.000MHZ-D2Y-T” kodlu kristali seçelim. Daha sonra aşağıdaki formül yardımıyla C_{L1} ve C_{L1} yük kapasitelerini hesaplıyoruz.

C_{L1}=C_{L2}=2(C_L-C_S)

Burada C_L kristalimizin yük kapasitesidir. Değerini datasheet dosyasından (18 pF) erişebiliriz. C_S değeri ise yukarıda belirttiğimiz gibi kristal pinlerinden, mikrodenetleyici pinlerine kadar olan yolların kapasitesi gibi stray kapasitelerin toplamıdır. Bunu hesaplamamız oldukça zor bu nedenle genellikle 3 – 8 pF aralığında bir değer alınabilir. Eğer işlemci ile kristal arasındaki yol uzun ise seçeceğiniz değer 8 pF’a yakın olmalıdır, ancak bu mesafeyi olabildiğince kısa tutmanız clock işaretinin gürültülerden olabildiğince az etkilenmesini sağlayacaktır. Tasarımımız için stray kapasitesini 4 pF alarak yük kapasitelerini hesapladığımızda 28 pF buluyoruz, ancak böyle bir kapasite değeri olmadığı için en yakın değer olan 27 pF seçimini yapıyoruz. Sonraki adımda aşağıdaki bağıntı yardımıyla kazanç marjini hesabı yapıyoruz.

gain_{margin} = \frac{g_m}{g_{mcrit}}

Burada g_m değerini işlemcimizin datasheet’inden, g_{mcrit} değerini ise aşağıdaki formül yardımıyla elde ediyoruz.

g_{mcrit} = 4 ESR(2\pi F)^2(C_0+C_L)^2

Burdaki değerlerin hepsi kristalimizin parametreleridir ve datasheet dosyasından elde edebiliriz. Hesaplamalar sonucunda kazanç marjinimizin 5’den büyük olması gerekmektedir. Aksi durumda osilatör devremiz osilasyona başlayamaz. Hesaplamamız sonunda 5 den küçük bir değer bulursak CL (Load Capacite) veya ESR (Equivalent Series Resistance) değeri daha düşük bir kristal seçerek sorunu çözebiliriz. Bizim tasarımımızdaki seçimlere göre kazanç marjinimiz 5654 çıkıyor ve bu 5 değerinden oldukça büyük. 🙂

Aslında çoğu tasarımda R_{Ext} direnci kullanılmadığı için sadece buraya kadar olan adımları yaparak osilatör bölümünü tamamlamış oluyoruz, ancak biz yine de Rext direncinin hangi durumlarda eklenmesi gerektiğine bakalım isterseniz. Öncelikle bu dirence ihtiyacımızın olup olmadığını kontrol etmemiz gerekiyor. Bunun için aşağıdaki bağıntıyı kullanarak kristalimizden geçebilecek maksimum akımın tepeden tepeye değerini hesaplıyoruz.

I_{Qmax}(PP) = 2\sqrt{\frac{2DL_{max}}{ESR}}

Burada DL değeri kristalde harcanan gücü belirten bir parametredir. Bu hesaplamayı yaptıktan sonra maalesef akım ölçümü yaparak kristalden akan akım değerinin bu değerden yüksek olup olmadığını kontrol etmemiz gerekiyor. Örneğin seçtiğimiz kristal için bu hesabı yaptığımızda maksimum akım değerimiz yaklaşık olarak 2.4 mA olarak elde ediyoruz. Uygun ölçü aleti ile ölçüm yaptıktan sonra bu değerin üzerinde bir akım değeri görürsek aşağıdaki bağıntıyı kullanarak R_{Ext} direncini devreye dahil etmemiz gerekir.

R_{Ext} = \frac{1}{2\pi FC_{L2}}

Peki şimdi biz ölçüm yapmadan PCB çizimimize bu direnci eklemeli miyiz? gibi çok haklı bir soru sorabilirsiniz. Ben bu yaptığımız devrede eklemedim ve herhangi bir sorun yaşamadım, ancak siz garantici davranmak isterseniz tasarıma 0 Ω’lu bir direnç ekleyip sorun olması durumunda direnç değerini değiştirebilirsiniz.

Direnç ekledikten sonra g_{mcrit} değerinin aşağıdaki bağıntı yardımıyla yeniden hesaplanması ve yeni kazanç marjininin tekrar 5’den büyük olup olmadığı kontrol edilmelidir.

g_{mcrit} = 4 (ESR+R_{Ext})(2\pi F)^2(C_0+C_L)^2

Evet uzun ve karmaşık bir yazının sonuna geldik, ancak osilatör konusunda söyleyeceklerim daha bitmedi. PCB çizimi konusunda da dikkat etmemiz gereken konular var. Bunlara sonraki derslerde değineceğiz. Bir sonraki derste ufak bir sürpriz var. O zamana kadar kendinize iyi bakın efendim. 🙂

“Altium Designer Dersleri 7 – Osilatör Seçimi” için 5 yanıt

  1. Hocam, merhaba öncelikle yazınızı çok beğendim. Fakat Load Kapasitörlerini hesaplarken sanıyorum word’ün azizliğine uğramışsınız:) Teyit etmek için verdiğiniz formulü kullandığımda sonuç yanlış çıktı ben de stm’in oscillator guide’ından araştırıp buldum orayı düzeltebilirseniz diğer okuyucu arkadaşların da kafası karışmaz. Tekrardan emeğinize sağlık.(CL1 = CL2 = 2(CL – CS)). Sağlıcakla kalın…

    1. Merhaba Muhammed, geri dönüşün için çok teşekkür ederim. Her ne kadar kontrol etsem de böyle hatalar olabiliyor. Hemen düzeltiyorum.

  2. Hocam merhaba,
    “Osilatör devreleri girişi olan ancak çıkışı olmayan devrelerdir” demişsiniz. Bildiğim kadarıyla oscillator ün girişi yoktur. Output terminallerinde sürekli tekrarlanan AC sinyal vardır veya embedded sistemlerde square wave olarak kullanılabilir (Ben böyle biliyorum yanlışım varsa düzeltin lütfen).

    1. Merhaba Mehmet Ali, dediğinde haklısın osilatörler herhangi bir giriş işaretine ihtiyaç duymadan çıkış üretirler. Bu durum pozitif geri besleme ile sağlanıyor aslında. KTÜ’ giriş ve çıkış ilişkisi yanlış yazmama neden oldu galiba uyarın için teşekkür ederim. 😊 Düzeltiyorum hemen.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir