Elektronik devre tasarımı, Modern elektronik tasarımlar.

Başlatan bunalmis, 29 Nisan 2011, 14:16:43

z

Alıntı YapAnalog elektronigi her gecen gün digital elektronik işgal edecek. Ve bir gün ortada harici analog devreler kalmayacak. Hersey modern elektronik tasarımlara dönecek....

Böyle bir cümle kurulduğunda konu üzerine biraz sohbet edelim istedim.

Elektronik beyin, Digital beyin, mikroişlemcili devre, mikrodenetleyicili devre şeklinde isimledirilen devrelerinin tasarımı engin elektronik devre tasarım bilgisi gerekitiren tasarımlarmıdır?  Diye sormak istiyor ve devamında kendi cevabımı vermek istiyorum.

Mikrodenetleyiciler, mikroişlemcilerden farklı olarak, içlerine pek çok yardımcı donanım barındırırlar. Genellikle harici  rom, ram istemezler.

Mikroişlemciler ise harici rom, ram yanında bazen bunların hangi adres aralığında devreye girip çıkacağını belirleyen adres decoder devreleri de isterler. Gerekiyorsa CRT uygulamaları için CRTC, seri iletişim için UART, USART çipleri isterler. Hatta interrupt yönetimi için interrupt controller, Timer ihtiyaçları için Timer çipleri isterler. Bazı işlemciler ise denetleyicilerin içindeki bazı çevre birimlerini de doğrudan içlerinde barındırabilir.

Ram, Rom, CPU, ve daha nice  çevre birimi görevi yapacak çiplerin bir araya getirilmesi ciddi bir elektronik tasarım işi değildir.
Bu çiplerin herbirinin D0 uçlarının bir birine bağlanması, D1 uçlarının her birinin birbirine bağlanması, ..... D15 numaralı uçların birbirine bağlanması ile Data Bus bağlantıları yapılıvermiş olur.

Aynı şekilde A0 dan başlayıp atıyorum A16 ya kadar tüm bağlantıları yaptığınızda Address Bus bağlantıları da yapılmış olur.

Durum böyle olunca geriye Clk, Rw, Rst, Int gibi bağlantılar kalır. Adres decoder devreleri ise cok az bir lojıik tasarım bilgisi ile aşılabilecek fazla sorunsuz devreciklerdir.

Durum bu kadar basite indirgenebiliyorken aynı çipleri kullanan A şahsının tasarladığı devre ile B şahsının tasarladığı devre nerede ise %90 oranında birbirinin aynısı olacaktır.

En bariz farklılık en fazla adres decoder devresinde görülecektir. Çoğu modern işlemcilede hazır decode edilmiş yada hangi adres aralığını decode edeceği programlanabilir hazır output pinleri de mevcuttur.

Besleme katı ve resetleme devreciği, çok fazla detayı olmayan hatta çip bazında hazır çözülebilen elektronik devrelerdir.

Buraya kadar yaptığım açıklamalarda neyin nereye bağlanacağı zaten belli bir devre topluluğunun şemasını çizdiğimizde elektronik devre tasarladım dersek haksızlık olur.

Fakat;

Çok bacaklı çiplerden oluşan ve aralarında sayıca çok fazla bağlantı gerektiren bu devrecikleri yapıp ortaya ürün olarak koymak meşagatlı bir işlemdir. Buradaki zorluklar çipin hangi bacağının diğer çipin hangi bacağına bağlanacağını bilememekten değil, baskı devre çiziminden, çizilen baskı devreden sadece bir yada bir kaç tane yaptırmak istendiğinde karşılaşılan maddi rakamlardan, çiplerden birer tane tedarik etmekteki zorluklardan kaynaklanmaktadır.

Tek yazıda devam edersem okunası mesaj olmaktan çıkacağı için devamını sonra getireceğim.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

#1
Mikrodenetleyicileri devre üzerinde kullanırken yapılacak işler çok daha basittir. Tüm çevre birimleri zaten çip içinde bulunduğundan yapılacak tek iş, besleme, reset ve Clk bağlantısını yapmaktan ibarettir.

Görüldüğü gibi mikrodenetleyiciyi devre üzerinde kullanmak için de elektronik bilgisi gerekmiyor.

Peki neleri bilmek gerekiyor.

Besleme hattının kapasitörlerle donatılması, kapasitörlerin çipin ne kadar yakınına konacağı, Gnd hattının kalitesi, Clk ve reset devresinin oluşturulması.

Bunlarda bir iki tecrübeden sonra elde edilebilecek bilgilerdir. Kaldıki çipe ait uygulama notlarında bu konulara değinilir.

Gelelim mikroişlemcili yada mikrodenetleyicili devre tasarımına;

Şu ana kadarki yazılardan, mikroişlemci yada mikrodenetleyici kısmının ciddi bir tasarım gerektirmediğini zaten neyin nereye bağlanacağının belli olduğunu biliyoruz.

Geriye sinyallerin interface işlemi kalmaktadır burada elektronik tasarımdan sözedilebilir. Sinyaller denetleyici kartına nasıl uygulanmalı.

Örneğin;

Makinenin paneline yerleştirilmiş mikrodenetleyicinin bir pinini makinadan 1 metre uzakta duran bir switche bağlayacaksak ne yapmalıyız?
Makinadan 3m ötede duran sensörden gelen analog sinyali denetleyicinin ADC girişine nasıl uygulamalıyız?
Denetleyicinin 3.3v genlikli PWM sinyali ile 10A lik bir DC motorun devir sayısını nasıl ayarlayabilirim?
Şebekenin sıfır noktalarını algılayacak devrem nasıl olmalı?
Kaynak makinasının plazmasının stabil halde kalması için plazma voltajını nasıl ADC ye aktarabilirim?
Elektrod kaynak makinasınının transformatörünü denetleyici ile on off etmek istersem ne yapmalıyım?
Denetleyimden çıkan bir kare dalga ile nasıl sinüsel voltaj oluşturabilirim? Bunun genliğini nasıl ayarlayabilirim?
Nasıl senkron dedektor yapabilirim gibi soruların sayısı istendiği kadar uzatılabilir.

Görüleceği üzere elektronik tasarım işlemcili yada denetleyicili devrenin hemen çıkışına bağlı olacak devre tasarımında işin içine girmektedir.
Burada analog çiplerin uygulama notlarından faydalanılabilir. Fakat kendiniz tasarlayamayıp, sağdan soldan devre şemaları ile yamalı bohça oluşturarak devre tasarlıyalım dersek bu devrelerin birer başbelası olma durumu herzaman vardır ve forumlarda işlemcim role çekince kilitleniyor, LCD ekranı kararıyor, Motor kontaktörü bırakınca işlemci resetliyor gibi sorulara cevap aramak zorunda kalınır ve birileri PCB sorunundan bahsedebilir.

Buzağıyı ineğin altında aramalıyız. Nerede hata yaptım da bu dertler beni buldu sorusunun cevabı tasarımı nekadar bilinçli yaptığınızla alakalıdır. Eğer sağdan soldan toplanan devrele şamalarıyla devre inşa edildiyse sorun heryerde olabilir. PCB Gnd konusuna gereken özenden bir haber tasarlandıysa, sorun PCB kaynaklı olabilir. Besleme hattında ani voltaj çöküşleri yada zıplamaları sistemi çökertiyor olabilir.
Bunlar kapasitörlerin yanlış yerlerde konumlandırılmaları ile ilgili bile olabilir.

Bu konuları elbette tartışmalıyız. Yazımın en başında yer alan söylentiyi tekrar gözönüne getirerek devam edtmek istiyorum.

Alıntı YapAnalog elektronigi her gecen gün digital elektronik işgal edecek. Ve bir gün ortada harici analog devreler kalmayacak. Hersey modern elektronik tasarımlara dönecek....

CPLD ve FPGA konusuna kısaca değinmek istiyorum. Burda sözü edilen modern elektronik tasarımı acaba bunlarmıdır?
Malesef bunlarında, içine yerleştirilecek yazılım parçacığını bir kenara koyarsak elektronik tasarım açısından mühendislik değeri yoktur.

Analog elektronik devreleri top yekün kaldırıp atacak genel amaçlı çiplerin ortaya çıkması beklenmektedir.  Fakat görünen ufukta analog devre tasarımı daha uzun yıllar gerekecektir.

Analog devrelerin transfer fonksiyonu olarak tabir edilen giriş çıkış bağıntılarını tanımlayan matematiksel modellerinin digital devrelerde yazılımsal koşturulması da bu yazılımların algoritmalarının tasarımları da modern elektronik tasarımlar değildir.

Hal böyle iken gelecekteki modern devrelerin tasarımı diye bir şey kalmayacak tüm tasarım dış bağlantıları oldukça sade olan denetleyicilerdeki yazılımdan ibaret olacaktır....

Yol haritası, modern elektronik devreler denen, aslında bir kaç bağlantı ile çalıştırılıverilen bir denetleyici içinde 1900 lü yıllardaki teorilerin matematiksel modellerinin yazılımla koşturulması tarafına gitmektedir.

Lafın kısası elektronik devre tasarımı artık bitmiş, yerini yazılım ve matematik almaya başlamıştır.

Elektronik devre tasarımı gitgide kaybolmaya başlamıştır.

Üzerinde çok bacaklı çipler barındıran PC anakartları gibi kartlar gördüğünüzde korkmayın çünkü elektronik tasarım anlamında fazla bir espirileri yok.....

Benzer durum sanayideki güçelektroniği devrelerinde de görülmeye başlanmış, güç katları hariç ıvır zıvır elektronik devrecikler yazılımlarda kodlara dönüşmektedirler.

Artık I/O interface işlemlerini tartışmaya başlayabiliriz.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

X-Fi

http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

jackal183

Alıntı yapılan: bunalmis - 29 Nisan 2011, 16:45:42


Besleme hattının kapasitörlerle donatılması, kapasitörlerin çipin ne kadar yakınına konacağı, Gnd hattının kalitesi, Clk ve reset devresinin oluşturulması.

Bunlarda bir iki tecrübeden sonra elde edilebilecek bilgilerdir. Kaldıki çipe ait uygulama notlarında bu konulara değinilir.


bu gibi şeyleri niye yapıyoruz hocam? aslında burda "niye" sorusundan kastım şudur. hemen hemen her devrede girişe bir kapasitördürdür diyottur polyswitchdir falan koyuyoruz. mesela micrchip olsun atmel olsun bunları yaptıkları çipin içerisine niye koymuyorlar da biz devre tasarlarken koyuyoruz?

z

Aslında konsa ne kadar güzel olur. Kesinlikle maliyetle alakası vardır.
Besleme bacakları arasına konmuş bir kapasitörün ne olumsuzluğu olabilir.

Bir zamanlar içinde100nF kapasitor barındıran DIP tipi entegre soketleri vardı. Hatta 100nF bağlanabilen oyuğa sahip soketler ve özel kondansatörler de ayrıca satılıyordu. Herhalde tutmadı.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

jackal183

mesela içerisinde dahili osilatör barındıran picler var ama biz bunları genelde kullanmıyoruz, birkaç yerde okuduğuma göre de kullanılması önerilmiyor, niye ki? yani bu adam bunu niye dahili olarak koymuş o zaman, niye kullanmayayım o zaman, ya da kullanmama sebebimiz atıyorum harici bağlarsak daha iyi ama dahili iyi çalışmıyor, e koskoca işlemciyi yapan adam dahili osilatörü kullanmayı mı yapamıyor mesela?

z

OSC frekansının kritik olacağı uygulamalar için kullanmayın deniyordur.  Çünkü dahili osc genellikle RC tipi olur ve bu osilatörün çalışma frekansı çip sıcaklığına, besleme voltajına bağlı olarak değişir.

Çip üreticilerinden birisinin içinde Xtal barındıran denetleyicisi olduğunu da hatırlıyorum.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

X-Fi

kondansetörün kapasiteye doğru orantılı olarak boyutunun büyümesi yüzünden 100nf 3.3V bir kondansetörün bile yonga üzerinde çok yer kaplayacağını düşünüyorum yoksa milyonlarda direnç ve yarı iletken malzeme barındırıyorlar kondansetörünün olmamasındaki en büyük etken maliyet olabilir bide şu var voltajı düşürmeden kondansetörü nanometre boyutlarında çizemezsiniz eco yalıtkanlık sınırları var kapasiteyi arttırmak içinde yonga üzerinde hatrı sayılır bir yer ayırmanız gerekecek bukadar yeri kondansetöre ayıracaklarına orada onlarca Kbyte daha flash hafıza peripheral v.s. ekleyebilirler buradan bakınca kondansetörün çipin içine konulması mantıksız geliyor.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

z

Yonga içine silisyum kapasitor değil de DIP paketin içinde bir köşeye SMD kapasitor atabilirlerdi. Fakat bu kadarcık ilave bir işlem bile maliyette etkilidir herhalde. Belki mevcut makina parkını değiştirmeleri gerekiyordur.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Erol YILMAZ

Alıntı yapılan: jackal183 - 29 Nisan 2011, 17:32:59
mesela içerisinde dahili osilatör barındıran picler var ama biz bunları genelde kullanmıyoruz, birkaç yerde okuduğuma göre de kullanılması önerilmiyor, niye ki? yani bu adam bunu niye dahili olarak koymuş o zaman, niye kullanmayayım o zaman, ya da kullanmama sebebimiz atıyorum harici bağlarsak daha iyi ama dahili iyi çalışmıyor, e koskoca işlemciyi yapan adam dahili osilatörü kullanmayı mı yapamıyor mesela?

AKsine mümkün olduğunca dahili OSC yi kullanıyorum.
Mcu için çok kritik olan OSC kaynağını hariçte bırakmak bence çok riskli ! :)
En basitinden yaptığım kartı elime alınca sistem durmuyor, OSC sini elledim diye kilitlenmiyor.

Dahili OSC 'nin %1 veya daha fazla toleransı varmış,
evet var, kurduğum sistemde OSC toleransımın ne old. göre kararımı veriyorum...

z

ARM cortex serisi icin islemciye baski devre hazirlayip besleme voltajini, xtal baglantisini yaptigimizda, I/O pinleri disari cikarttigimizda, jtag programlama pinlerini de bir kenardaki standart jtag konnektorune bagladigimizda calisan basit bir uygulama kitimiz olur.

Burada nasil bir elektronik tasarim yapildi diye sorarlarsa soylenecek tek soz kocaman bir HIC olacaktir.

Ancak baski devre tasarimi da elektronik tasarim olarak ele alinabilir. En azindan Gnd yolumuzda bazi kurallara uymamiz gerekir. Ancak ben elektronik tasarim denince, hic olmazsa bir seyleri hesaplayip hesaplanan degerlere gore bir malzeme secmek anliyorum.

Gnd hatti neden onemlidir?

Bunun icin sema cizmemiz gerekiyor.



Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Ustte gorulen semanin ust bolumunu, baski devreye uyarladigimizda resimde alttaki elektrik devresi ile karsilasiriz. Semada duz cizgi olarak gosterilen baglantilar, gercek hayatta belli bir omik direnci ve belli bir enduktansi olan devre elemanina karsilik gelir.

Baski devrelerin iletken malzemesi bakir oldugundan, bakirinda iletkenligi cok yuksek oldugundan iletken yollarin kesiti ne kadar dusuk olursa olsun yollarin omik direncleri yeterince kucuktur. (Isterseniz pcb de 0.1 ohm direnc olusturmaya calisin. Bunun hic kolay olmadigini goreceksiniz.)

Enduktans ise, yollarin uzunluguyla orantili artan bir buyukluktur. Sarim sayisi olmadigindan haliyle enduktanslar da cok kucuktur. Ancak daha uzun yol, daha kisa olan yoldan daha buyuk enduktansa sahiptir.

Yollarin omik direnclerini gormemezlikten gelirsek, pcb deki her bir yolun bir enduktansa karsi geldigini soyleyebiliriz.

Simdi enduktansin bagintilarini hatirlayalim.  V=L di/dt  yani, enduktansdan akan akim hizli degisirse enduktans voltajindaki degisim yuksek olur. Ayni zamanda enduktans voltajindaki degisim, enduktansin degeriyle artar.

Yukaridaki devre semasinda dortgen kutucuklar devremizdeki entegre devreleri temsil etsin. Kutucuklarin icindeki acilir kapanir salterler, cipin icindeki lojik devrelerinin konum degistirmesi esnasinda akim degisimlerini yaratan duzeneklerin cok basitlestirilmis birer modeli olsun.

Eger entegrelerimiz akimda tek bir frekansda sinusel dalgalanma yaratsalardi enduktanslardan akan akim da bu frekansda dalgalanacakti. Ancak bir mikroislemci, onbinlerce Filip Flop, on binlerce lojik kapi icerir.

Flipfloplardan birisi xtal frekansinda bolme yaparken digeri onun yarisinda digeri onun yarisinda bolme yapar. Digerleri yazilimi olusturan kullanici kodlarina bagli olarak konum degistir, lojik kapilar keza oyle.

Sonucta bir mikrosilemcinin besleme pinlerinden akan akimin icinde DC den baslayip Xtal hatta PLL frekansinina kadar uzanan cok sayida dortgen dalga bilesen vardir. Bunlardan gene pek cogu da peryodik sayilamayan darbelerdir, darbe sureleri gene yazilimdaki kodlara baglidir.

Bu bilesenlerin herhangi birisini alalim. Bu bilesen, dortgen dalga olsun, dortgen dalga, sonsuz sayida harmonik icerdigine gore akimdaki tek bir dortgen dalganin sonsuz bileseni olacaktir. Akimda pek cok farkli frekansda dorgen dalgamiz olduguna gore bunlarinda sonsuz harmonigi  oldugu icin cipin besleme hattindan cektigi akim DC den sonsuza uzanan tum frekanslardaki harmonikleri icermektedir.

Bu harmoniklerin her birisi fakli akim siddetindedir. Dolayisi ile  V = L di/dt geregi her bir bilesen enduktansda farkli seviyelerde voltaj dusumu olusturur. Superpozisyon geregi herhangi bir enduktansda olusan gerilim sonsuz sayidaki harmoniklerin olusturdugu voltajlarin toplami olacaktir. Birde bunlara peryodik olmayan palslarin harmoniklerin etkisi eklenince enduktans uclarinda gurultu dedigimiz gerilim olusur. Cunku gurultu, icinde tum frekanslarda sinusel sinyaller barindiran sinyal corbasidir.

O halde kartimizdaki ciplerin bacaklarindaki gurultu oncelikle ciplerin kendileri tarafindan olusturulmaktadir.

Yukaridaki devre semasinda iki adet cip olduguna gore, bunlarin uretecekleri gurultu akimlar yollari uzerindeki farkli ve seri enduktanslardan  dolayi farkli gurultuye sahip olacaklardir.

Normal sartlarda Gnd, B ve D noktalari birbirinin ayni seviyede ve 0 potansiyelde olmalari beklenirken gurultulu akimin enduktansda olusturdugu cok gurultulu gerilimlerden dolayi tamamen farkli noktalarmis gibi davranacaklardir. (di/dt ifadesi, gurultuyu daha da siddetlendirir)
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

(Cipin bir de DC bileseni var. Fakat bunun Ldi/dt bagintisindaki etkisi 0 olacagindan DC bilesen gurultude etkili değildir.)

Bu sartlarda GND de olsunan bu gurultu cipten cipe aktarilan sinyallerimize de toplam olarak gelecektir.

Biz biliyoruzki lojik sinyallerin H ve L oldugu bir band vardir. Bu bandin yuksekligine marj diyoruz.

Ornegin H sinyalimiz varken o anki gurultu seviyesi sinyali L seviyelerine kadar cekebilir yada, L seviyesindeki sinyal gurultu etkisiyle H seviyesine kadar cikabilir.
Tabiki bu cok fazla kotumser bir durum icin gecerlidir. Zira en kotu devrede bile lojik ciplerin olusturacagi gurultu mv lar mertebesindedir.

Haliyle mv seviyesindeki gurultunun lojik sinyallerimizin seviyelerinin yanlis anlasilmasini saglamasi imkansizdir.

Ancak, lojik devrelerin bulundugu bu devrede birde yuksek akimlari anahtarlayan daha baska devre elemanlarimiz da olsun.
Bunu semanin en sagindaki akim kaynagi ile modelledik. Semada ayni beslemeye bagli olsa da Gnd ucu ortak olduktan sonra bunun ayni yada farkli beslemeden beslenmesinin onemi yoktur.

Bu devre elemani bir motor, bir role, bir isitici olabilir. Bu elemanin devreye giris cikisinda ani ve yuksek akim dalgalanmasi bagli oldugu yol enduktanslarinda buyuk ziplamalara neden olur cunku  V=L di/dt  dir.  di/dt ne kadar yuksekse sorun da o kadar buyuktur.

Islemci icindeki tek bir Flip Flopu (FF) dusunelim. Bunun set yada reset edildigini ve bu pozisonda bekledigini varsayalim. Eger besleme voltaji kritik bir degerin altina cok ama cok kisa bir sure icin bile inerse FF sakladigi bilgiyi unutur. Besleme voltaji tekrar eski degerine gelse bile FFumuz artik sakladigi bilgiyi unutmus olacaktir.

Tersine, FF umuz cok kisa bir sure icin yuksek voltaj darbesine maruz kalsa sakladigi bilgi tersine donebilir. Buradaki cok cok kisa sure tabiri kimi ciplerde ns kadar kucuk sure olabilir.

Breadboard uzerine kurulmus PIC islemcili devreye adaptorden getirilen uzun kablolar yukaridaki semada besleme ve Gnd yollarinda buyuk degerli enduktanslar demektir. Bu enduktanslar hem yuksek gnd gurultusune hem de anten etkisi ile ortamdaki gurultuleri adaptor voltajina seri baglanmasina neden olur.

Bu durumda, gurultudeki ani bir artis 5v ile beslenen islemcimizin besleme pinlerindeki voltajin kritik degerin altina inmesine neden olabilir ve islemcimiz resetleyebilir.
Bu dusus anini ne avometre ile, ne kiytirik bir scop ile gozlemleyebiliriz.

Cunku bu aletler bir kac yada bir kac yuz nanosaniyelik sinyali yakalayamazlar.

Bir sonraki yazida 100nF in sihirli gucu ile tanisacagiz.


Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fatihkuzucu

Yıl 1999. BT878 çipi. 



Muhtemelen yada tahminen diyelim siz egitiminizi 1980 lerde aldınız. Biraz eski moda kalmış. Yada öyle tanımlamayalımda, yaşlanmışsınız ve yeniliklere kapıyı fazla kapatmışsınız. Analogun kemirilmesi yıllardır sürüyor. Yenilip yutulmasına az kaldı.
Exp.Kits http://tinyurl.com/3qhs8pm   Küçük adamların, küçük fikirleri... Büyük adamların, büyük hayalleri...

z

Gelelim 100nF olayina, fakat daha once gurultunun yaptiklarini kendimiz yapalim.

Bir islemci durduk yere resetleniyorsa besleme voltajinda inis ve cikislar var demektir. Daha once bu inis cikislarin siradan bir skopla dahi gorulemeyecek kadar hizli olabilecegini soylemistik.

Bu olayin uzun sureli olanini asagidaki devre ile gerceklestirebiliriz. Her ne kadar devreyi bizzat denememis olsam da tasarimdaki mantik, olaylarin gelisimi hakkinda bilgi verecektir.
Islemciyi kitleyemiyorsaniz kapasite degerlerini artiriniz. Burada kapasitorlerin yaptigi besleme voltajinda ani ziplamalar yaratmaktir.



Devre calismazsa malzeme degerleriyle oynayin. Islemci icine yazacaginiz kod,  reset ardindan 1 sn bekleme sonunda baslayan biiiiiippp sesi uretiminden ibaret olsun.

Butonlardan birisi beslemeyi cokertirken digeri beslemeyi ziplatacaktir.

Bu arada Fatihkuzucu'nun biryerleri kasiniyor. Bir ara kasiyalim.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com