ICD2 PIC Debugger
PIC gibi bir Mikroişlemci için program yazmak bilgisayara göre program yazmaktan biraz daha zordur. Bunun nedeni bilgisayarda yazdığımız programları, çalışırken durdurup değişkenlerin değerlerini öğrenebilir, kodun nerede çakıldığını kolayca tespit edebiliriz. Çoğumuz pic ile çalışırken pic e programı yükler ve çalıştırırız. Devre düzgün çalışmadığında programın nerede çakıldığını bilemeyiz. Bunun önüne geçmek için microchip ve diğer firmalar emulatör ve debugger devreleri yapmıştır. Ben burada amatör kullanım için basitleştirilmiş bir icd2 ile uyumlu bir devre şeması vereceğim.
Devre şemasını vermeden önce bir kaç terimi açıklamayı istiyorum.
Simulator: Yazdığınız programı pic’e yüklemeden programın çalışma şeklini izlemenize yardımcı olan bir programlardır. Basit devreler için yazdığınız programları test etmek için idealdir. Pic in dış çevre birimlerine bilgi alıp vermesi gerektiği devrelerde kullanılamaz.
Emülatör: Devreye pic yerine emülatör cihazı takılır ve program çalışırken, istediğimiz anda programı durdurabilir, devam ettirebilir, pic içindeki değişkenlerin değerlerini öğrenebilir, aklınıza gelebilecek bir çok değişikliği yapabilirsiniz. Tam kontrole sahip olduğunuz için olduğunuz için programınızın nerede niçin çakıldığını kolayca anlayabilirsiniz. Tek avantajı emülatörlerin yüksek fiyata sahip olmasıdır.
Debugger: Debuggerlar emülatörlere alternatif ucuz çözümlerdir. Emülatörle yaptığınız birçok şeyi yapabilirsiniz. Burada yapacağımız pic debugger devresi Microchip firmasının icd2 devresi ile tamamen uyumludur ve MPLAB ile beraber kullanılır.
Peki, burada vereceğimiz debugger devresi ile neler yapabilirsiz.
- Pic’i devreden sökmeden kolaylıkla programlayabilirsiniz.
- Devreyi adım adım çalıştırabilir
- İstediğiniz yerde programı durdurup, devam ettirebilirsiniz
- Pic in registerlarındaki ve eepromundaki değerleri öğrenip değiştirebilirsiniz.
- Breakpoint koyarak programın istediğiniz yerde durmasını sağlayabilirsiniz.
- Ve benzerleri gibi ICD ile yaptığını bir çok şeyi yapabilirsiniz
Bu avantajlarının yanında bir kaç dezavantajı da mevcut. Bunlar:
- Devre bilgisayara seri port ile bağlandığından yavaş çalışmaktadır.
- Pic in portb6 ve portb7 ayakları debugger ile haberleşmek için kullanıldığından, yaptığınız devrede bu ayakları kullanamazsınız.
- Devre basitleştirilmiş olduğu için çok kolayca bozulabilmektedir. Debug ettiğiniz pic’e reset butonu bağlamayın. Butona basınca debugger devresi yanıyor.
Devre Malzemeleri
- 1 adet 20 Mhzlik PIC16F877 (PIC16F877A olmaz)
- 1 adet MAX232
- 1 adet 13.5 V güç kaynağı (tercihen ayarlı bir güç kaynağı alırsanız iyi olur.)
- 1 adet board üzeri seri port soketi
- 1 adet seri port kablosu
- 1 adet 7805
- 3 adet led (tercihen farklı renklerde)
- 2 adet BC548 transistör
- 2 adet BC558 transistör
- 2 adet 1N4148 diyot
- 1 adet 5.1V zener
- 6 adet 330Ω direnç
- 1 adet 1KΩ direnç
- 2 adet 2.2K Ω direnç
- 4 adet 4.7K Ω direnç
- 2 adet 6.8K Ω direnç
- 1 adet 47K Ω direnç
- 2 adet 22K Ω direnç
- 1 adet 100K Ω direnç
- 2 adet 15pF kondansatör
- 1 adet 100nF kondansatör
- 2 adet 4μF kondansatör
- 5 adet 1μF kondansatör
Devre Şeması
Yapılışı
Devreyi monte ederken öncelikle atlamaları yapın sonra dirençleri, kondansatörleri, entegreleri lehimleyin. Pic için entegre soketi kullanmanızı tavsiye ederim. Herhangi bir kısa devre haline pic zarar görmektedir.
Lehimleme işlemleri bittikten sonra elimizde var olan herhangi bir programlayıcı devre ile pic’e bootloader dosyasını yüklemeliyiz. Bu dosya MPLAB (www.microchip.com) programı içinde gelmektedir. Ben MPLAB 7.30 kullanıyorum ve dosyanın yeri aşağıdaki gibidir. C:\Program Files\Microchip\MPLAB IDE\ICD2\BL010101.hex
Kullanmış olduğunuz MPLAB versiyonuna göre dosyanın adındaki numaralar farklı olabilir. Genel format olarak BLxxxxxx.hex şeklindedir. Buradaki x’ler bootloaderın versiyon numarasını temsil eder.
Baskı Devresi
Devre seri porttan çalışmaktadır ve devrenin bilgisayarla haberleşmesi için Windows’ta seri portun FIFO özelliğinin kapalı olması gerekiyor. Bunu şu aşamaları takip ederek yapabilirsiniz.
1. Denetim masasına gidin.
2. Sistem -> Donanım -> Aygıt yöneticisini açın
3. Bağlantı noktaları altında devreyi bağlamayı düşündüğünüz com portunun (seri iletişim portunun) üstüne çift tıklayarak özelliklerine girin.
4. Bağlantı noktası ayarlarından gelişmişe tıklayın.
5. Fifo ara belleklerini kullan yazısının onay kutusunun işaretini kaldırarak FIFO’yu kapatın.
6. Tamam tuşuna bastıktan sonra bilgisayarınızı yeniden başlatın.
Devreyi seri port ile bilgisayara bağladıktan sonra 13 V’luk güç kaynağımızla enerjiyi verelim. Güç kaynağını seri porttan sonra takmamız çok önemlidir. Yoksa bilgisayarımızın seri portu zarar görebilir.
1. MPLAB programını açalım.
2. Menüden Debugger -> Select Tool -> MPLAB ICD 2 yi seçelim.
3. Debugger -> Settings girin.
4. Communications da COM port olarak devrenin bağlı olduğu portu seçin. Eğer devrenin bağlı olduğu portun FIFO su kapalı değilse iletişimde sorunlar yaşarsınız.
5. Debuger -> Download ICD2 Opareting System ile ICD devremize yazılımı yükleyin. Debug etmek istediğini her pic ailesi için farklı bir operating system vardır. O yüzden zaman zaman bu yükleme işlemini yapmanız gerekmektedir. Bu işlem birkaç dakika kadar sürer.
6. Debugger -> Connect diyerek debuggerımızın çalışıp çalışmadığını kontrol edin. En son satırda MPLAB ICD 2 Ready yazıyorsa devre düzgün çalışıyor demektir.
7. Debugger -> Settings girin. Self Test bölümündeki tüm yazılar Pass olmalıdır. Biri High yazıyorsa, güç kaynağının voltajını azaltıp Run Self Test butonuna basın. Eğer Low yazıyorsa voltajı yükseltin.
8. Debugger devremiz kullanıma hazırdır.
Debugger’ın Kullanımı
1. Öncelikle yeni bir proje oluşturun. Bunun için menüden Project -> Project Wizard ı seçin ve Next e basın. (Türkçe Windows kullanıyorsanız İleri butonu yazacaktır.)
2. Üzerinde çalışmayı düşündüğünüz PIC i seçin ve Next e basın.
3. Kullanmak istediğiniz dili seçin. Debugger ICD2’nin desteklediği tüm dillerle sorunsuz olarak çalışmakta ve bu dillerle yazılan programları debug edebilmektedir. Eğer debug işleminde sorun yaşıyorsanız, derleyicinizin ayarlarını kontrol edin.
4. Projeyi kaydedeceğimiz dizini gösterdikten sonra proje oluşmuştur.
5. İlk önce projeye yeni bir dosya eklememiz gerekir. File -> New basın
6. File -> Save As den dosyayı kaydedin. (örneğin sayac.asm)
7. Proje penceresinde source üzerine sağ tıklayıp Add Files tan az önce kaydettiğiniz dosyayı ekleyin.
8. Menüden Debugger -> Select Tool -> MPLAB ICD 2 yi seçelim.
9. Debugger -> Settings girin.
10. Status de Automatically download firmware if needed i seçin
11. Communications da COM port olarak devrenin bağlı olduğu portu seçin.
12. File -> Workspace diyerek ayarlarınızı kaydedin.
Bu ayarlardan sonra yaptığınız programı devre üzerinde debug etmeye hazırsınız. Debug etme işlemi MPLAB SIM e (simülasyon) benzemektedir. Verdiğiniz her komut, devre üzerindeki pic e gönderilir ve komut çalıştıktan sonra pic in tüm register bilgileri bilgisayarda gözükür.
Debugger devresini sağ üst köşesinde bulunan pinleri, debug etmek istediğiniz devredeki pic e bağlamalısınız. Bağlantı şeması yukarıdan aşağı şöyledir.
GND – toprağa bağlayın.
VCC – Eğer debug etmek istediğiniz devre ufak ise, güçü debugger devresinden alabilir. Çok fazla enerji isteyen bir devre ise farklı bir güç kaynağı kullanın ve bu ucu boş bırakın.
PortB 7 ye bağlayın.
PortB 6 ya bağlayın
MCLR ucuna yani reset pinine bağlayın. Debug etmek istediğiniz picin bu ucunu 10K bir direnç ile 5V ta bağlayın. Pic e reset butonu bağlamayın. PortB7 ve PortB6 başka bir şey bağlamayın.
Alıntıdır
.Emeği geçenlere teşekkür ederim.
Hiç yorum yok:
Yorum Gönder