28 Eylül 2010 Salı

ICD2 PIC Debugger

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.
icd2gorunum.jpg
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ı guckati.jpg
      sema.JPG
      out.JPG
      Yapılışı
      k_pcbust.JPG
      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 k_pcbalt.JPG
      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.
      fifo.JPG
      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.
      settings.JPG
      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.
      proje.jpg
      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

İzleyiciler

LED DİRENÇ HESAPLAMA

All LEDs require current limiting, without a current limiting mechanism the LED will usually burn out in under a second. Adding a simple resistor is the easiest way to limit the current. Use the calculator below to find out the value of resistor you require.

For example if you are wanting to power one of our_blank">red LEDs in an automotive application you would see that the typical forward voltage is 2.0 Volts and the maximum continuous forward current is 30mA. Therefore you would enter 14.5, 2.0 and 30 into the Single LED calculation box. After calculating you get 470ohm 1 watt as the result. Here is a that allows you to enter a resistor value and generate the corresponding color code.

Note: For automotive applications use the actual system voltage, not 12 Volts. Most 12 Volt system actually operate at around 14.5 Volts.

Supply Voltage
VOLTS
Voltage Drop Across LED
VOLTS
Desired LED Current
MILLIAMPS



Calculated Limiting Resistor
OHMS
Nearest higher rated 10% resistor

Calculated Resistor Wattage
WATTS
Safe pick is a resistor with
power rating of (common values are .25W, .5W, and 1W)
WATTS

LEDs in series

Several leds in series with one resistor
Supply Voltage
VOLTS
Voltage Drop Across LED
VOLTS
Desired LED Current
MILLIAMPS
How many LEDs connected




Calculated Limiting Resistor
OHMS
Nearest higher rated 10% resistor

Calculated Resistor Wattage
WATTS
Safe pick is a resistor with
power rating of (common values are .25W, .5W, and 1W)
WATTS
LM317 UYGULAMA DEVRELERİ HESAPLAMASI

 




Çıkış Voltajı
R1 resistor

R2 resistor

R1 resistor
R2 resistor

Çıkış Voltajı


Lm317 uygulama devreleri ve detayli bilgiye Buradan ulasabilirsiniz

LM555 - ASTABLE OSCILLATOR CALCULATOR

LM555 - ASTABLE OSCILLATOR CALCULATOR
Value Of R1 Ohms Value Of R2 Ohms
Value Of C1 Microfarads
Output Time HIGH SECONDS Output Time LOW SECONDS Output Period HIGH + LOW SECONDS Output Frequency HERTZ Output Duty Cycle PERCENT
Resistor values are in Ohms (1K = 1000) - Capacitor values are in Microfarads (1uF = 1)

NOTE: The leakage currents of electrolytic capacitors will affect the actual output results of the timers. To compensate for leakage it is often better to use a higher value capacitor and lower value resistances in the timer circuits.

LM555 Astable Oscillator Circuit Diagram


LM555 - ASTABLE CAPACITOR CALCULATOR

The next calculator can find the capacitance needed for a particular output frequency if the values of R1 and R2 are known.

Value Of R1 Ohms Value Of R2 Ohms
Frequency Desired Hertz
Capacitance uF
s

VOLT AMPER OHM ve WATT HESAPLAMA

Current:
kA (kiloamps) A (amps) mA (milliamps) µA (microamps)
Voltage:
kV (kilovolts) V (volts) mV (millivolts) µV (microvolts)