Gelişen mikrokontrol teknolojileri ve artan bilgi birikimi sayesinde geliştirici düzeyinde daha yaygın kullanımına olanak tanımıştır. Burada elimden geldiği kadar bazı örnekler sunmaya çalışacağım... Görüleceği gibi ilk örneklerimizde çoğunlukla ASM üzerinde iken daha sonraları C üzerinde örnekler yer almaktadır. Hatta ilerleyen zamanlarda Arduino örneklerinin yer alması kaçınılmaz olacaktır.

23 Haziran 2009 Salı

RS232 AVR ISP Programlayıcı


Devrenin Temeleri

AVR işlemciler ile uğraşmak güzel ve kolay. En azından ISP olarak tanımlanan iletişim sistemi ile işlemciyi devre üzerinde programlayabilmek oldukça işlemi hızlandırıyor. Programı yaz, derle ve işlemciyi programla. Hemde işlemciyi söküp programlayıcıya takmadan ve tekran işlemciye devreye takmadan. Hatta devre üzerinde değişiklik yapılmayacaksa işlemci karta lehimlenebilir bile. SMD türündeki işlemciler karta lehimlenir ve işlemci programı karta eklenen isp bağlantısı ile aktarılabilir. Bu işlemciler ile uğraşanlar zaten biliyor..

AVR Programlayıcı

AVR programlamak için çeşitle devreler zaten internet üzerinde var. Hatta bunlardan bazı programlayıcıları yapmak için bir işlemciye bile gerek yok. Ama illede bu konuya gireceksiniz mutlaka bir programlayıcıya ihtiyacınız var. Burada kullanılan devrenin temel devresi Atmel firmasının uygulama notları arasında yer alan AVR910 uygulaması üzerine kurulu. Uygulama notları arasında pdf biçiminde dosyası ve AVR assembler biçiminde (.asm ve .hex biçiminde dosyası) var. Ama burada anlatılan uygulama üzerine programcılara tarafından bazı eklemeler yapılmış.

Burada zaten yapılmış olan bir programcıyı biraz daha geliştirip ek bir devre ile özellikle bu sayfada sunulan "24 Saat Modunda LED'li Dijital Saat" ve "AVR ile LED Ekranlı Sayıcı" gibi devrelerde işlemciyi programlamak için (üzerinde isp bağlantısı olmayan) kullanıldı. Bu programlayıcının kullanıldığı devreler zaten belli. (10 bacaklı konnektör bulunan devreler)

Programlayıcıyı intenet araştırmalar esnasıda rastladım. İlk yapım çalışmaları ne yazık ki hayal kırılığı ile sonuçlandı. İnternet üzerindeki devrenin bilgisayar ile bağlantıyı sağlayan RS232 portu ayrık elemanlar ile oluşturulmuş bir devre idi. Ve bu bölüm üzerinden iletişimi sağlıyordu. Bu besleme gerilimi açısından esnek bir tasarımdı. Daha sonraki araştırmalarda MAX232 tümdevresi kullanan programlayıcılar ile de rastladım. Hatta USB-RS232 dönüştürücü kullanarak aynı devreyi USB bağlantısı ile yapanlarda

Aslında birazda rastlantı sonucu burada anlatılacak devre kullanabileceğim besleme gerilimi açısından esnek ve RS232 iletişimini sağlayabilecek bir tümdevreye buldum.

Sonuçta devre özellikleri olarak:
  1. Esnek besleme gerilimi (çünkü programlayıcı beslemesini programladığı devreden alıyor. Dolayısı ile diyelim ki 3.3V ile çalışan bir devre programlandığında programlayıcı beslemesi de 3.3V olacaktır).
  2. 10 bacak ISP üzerinden programlama. Gerektiğinde dönüştürücü ile 6 bacak isp konnektörü
  3. RS232 üzerinden bilgisayar ile bağlantı. Bilgisayar program olarak ATMEL "AVR Studio" programı kullanılıyor. Ben Assembler ile program oluşturduğum ve bu işe bulaştığımdan beri bu programı kullandığım için bu program ile çalışması benim için önemliydi.
  4. İşlemlerin 2 led üzerinde gösterilmesi.

Tabii ki şunu itiraf edeyim ki işlemcinin programı başkaları tarafından yazılmış ve bu tür devreler üzerinde internet üzerinde araştırma yaparak kendinizde bulabilirsiniz.

Devredeki işlemci AT90S2313, ama bu işlemci üretimden kaldırılmış. Onun yerine bazı program değişiklikleri yapılarak ATtiny2313 kullanılabilir. İnternet üzerinde Attiny2313 kullanılan uygulamalar var.

Şekil-1 :AVR ISP Programlayıcı devresi.


Şekil-2 :Yardımcı programlayıcı devresi.


Bu programlayıcı devresinde yardımcı devre aslında gerekli değildir. Bu devreyi AT89Cxxxx içeren devrelerde AT90S2313 kullanmak için tasarlandı. Örneğin 24 Saat Modunda LED'li Dijital Saat ve AVR ile LED Ekranlı Sayıcı projeler öncelikle AT89C2051 ile kullanmak üzere tasarlanmıştı AT90S2313 ile kullanmak gerektiğinde isp portu olmadığında işlemciyi programlamak için yardımcı devre geliştirmek gerekti ve ek yardımcı devre geliştirildi.

Şekil-3 :AT90S2313 resmi.


Programlayıcı AT90S2313 işlemcisi üzerine kurulu. Ek devre de bu işlemciyi üzerinde isp portu bulunmayan devreler için programlamak üzere geliştirildi. Aslında istenirse diğer işlemciler için harici bir programlama yardıcısı oluşturacaklara bir örnek oluşturacaktır.

Şema

ISP programlayıcı
Programlayıcı ana işlemci IC1 üzerine kurulu. Seri port kontrolları, LED ışıkların kontrolları, ISP kontrolleri gibi tüm işlemleri yerine getirilir. XTL1,C6 ve C7 sistem için gereken saat sinyallerini üretir.LED1 ve LED2 sistem için işlem monitörüdür. IC2, C1,C3,C4 ve C5 bilgisayar ile işlemci arasında RS232 seviye dönüştürücüdür. Bağlantısı esnek besleme gerilimi kullanımına izin verir.(Bu tümdevre ile ilgili veri kağıtlarını araştırabilirsiniz. ISP konnektörü zaten programlayıcı için bağlantıyı içerir. Geri kalan kondansatörler zaten filtre için.

Ek devre
Bu bölüm aslında tüm devre olarak sadece IC1 var. Bu tüm devrede zaten 5V gerilim regülatörü. ZIF soketi zaten işlemci için bu belli. XTL1, C5 ve C6 işlemci için sinyal üreteci. ISP konnektörü programlayıcı girişidir. Bu kondansatörle birlikte geri kalan kondansatörler süzme elemanları olarak çalışıyor. D1 doğrultma için köprüdür.

Şekil-4:ISP programlayıcı ve ek devresinin blok şeması


Şekil-5:ISP Programlayıcı (üstteki) ve Ek devre (altta) şeması


Devre Yapımı

Devre yapımı açışısından söylenecek bir şey yok. Zaten devre yapacak bilgi ve beceriye sahipseniz zaten sizin için söylenecek bir söz yok. Ek devre üzerindeki ZIF soketi bulamazsanız normal entegre soketide kullanabilirsiniz.

Besleme konusunda bir sorun oluşturmayacağınızı düşünüyorsanız girişteki köprüyü devre dışı bırakabilir veya tek bir diyotla değiştiribilirsiniz. (Kendi besleme kaynağınız varsa ve devreyi kendiniz kullanacaksanız).

Şekil-6:Devrenin yerleşim planı(üstte)Programlayıcı,(altta) Ek devre


Şekil-7:Devrenin baskı devresi şekli(üstte)Programlayıcı,(altta) Ek devre


Şekil-8:Kartın eleman ve yollarla birlikte yerleşim planı(üstte)Programlayıcı,(altta) Ek devre


Devre Elemanları

ISP Programlayıcı
820RR1,R2
10µF/25VC8
27pFC6,C7
100nFC2,C3,C9
470nFC1,C4,C5
MAX3232IC2
AT90S2313IC1
7,37280MHz kristalXTL1
3mm Yeşil LEDLED1
3mm Kırmızı LEDLED2
AT90S2313IC1
DB9 konnektörP1
10P konnektörISP

ISP Ek Devre

1KR1
10µF/25VC4
1000µF/25VC1
27pFC5,C6
100nFC2,C3,C7
4MHz kristalXTL1
3mm Kırmızı LED LED1
ZIF soket ZIF
7805 IC1
B150C2500 D1
Adaptör girişiDC1
10P konnektörISP


Malzeme listesi. Burada işlemci için soket ve 9V adaptör verilmemiştir. Entegreler için soket isteğe bağlıdır. Köprü olarak bacak bağlantıları uyan herhangi bir eleman kullanılabilir.

Şekil-9:Programlayıcıya besleme geldiğinde Yeşil sönük ve turuncu yanık


Şekil-10:Programlayıcı programlama esnasında Yeşil yanık ve turuncu sönük


Programlayıcı için gereken tek şey iki ucuna konnektör takılmış 10 şerit kablo. Aslında bu kablo programlayıcıyı tamamlayan parçadır. Çünkü programlayıcı ve programlanan devreler arasındaki isp bağlantısını bu kablo sağlayacaktır. Resimlerde gördüğünüz bu kablonun konnektörüdür.

Bilgisayar programı olarak birçok program ile kullanılabilmekte. ATMEL AVR Studio ile denediğim için diğer programlar konusunda bir şey söyleyemeyeceğim. AT90S2313, ATmega8 ve ATmega16 ATMEL AVR Studio ile programlayıcı kullanılarak programlandı. Diğerleri konusunda internet üzerinde kendinizin araştırmanız yerinde olur.

ATMEL AVR Studio için ATMEL internet sitesinde bulabilirsiniz.

Ekler:

RS232 AVR ISP Programlayıcı için dosyalar-birleşik

AT90S2313 hakkında ayrıntılı bilgi için

Bu devrenin yapım sorumluluğu size aittir. Devre yapıldı ve çalışıyor. K.A...

Hiç yorum yok:

Translate

Sayfalar

Etiketler

İzleyiciler