İçindekiler:

JDM Programcı İncelemesi: 9 Adım
JDM Programcı İncelemesi: 9 Adım

Video: JDM Programcı İncelemesi: 9 Adım

Video: JDM Programcı İncelemesi: 9 Adım
Video: BİR JAPON HARİKASI | "16-17 BİN LİRAYKEN KİMSE YÜZÜNE BAKMIYORDU!" | HONDA BELGESELİ 2024, Temmuz
Anonim
JDM Programcı İncelemesi
JDM Programcı İncelemesi

JDM popüler bir PIC programcısıdır çünkü seri port kullanır, minimum bileşen kullanır ve güç kaynağı gerektirmez. Ancak, internette birçok programcı varyasyonu ile karışıklık var, hangileri hangi PIC'lerle çalışıyor? Bu "eğitim tablosunda" JDM'yi test ettik ve tüm sorularınızı cevaplayacak olan Spice kullanarak devrenin nasıl simüle edileceğini gösteriyorum!

Gereçler

Analog Cihazlardan buradan indirilebilen LTspice.

Ayrıca burada JDM devre dosyalarına ihtiyacınız var.

Adım 1: Seri Bağlantı Noktası Gereksinimleri

Seri Bağlantı Noktası Gereksinimleri
Seri Bağlantı Noktası Gereksinimleri

JDM, ideal olarak +12/-12 Voltaj seviyeleri ile EIA232 spesifikasyonunu karşılayan bir seri port gerektirir.

Texas Instruments Line Driver MC1488 veri sayfasına göre (Şekil 3)

Çıkış empedansı = 4V/8mA = 500 ohm.

Kısa devre akım limiti =12mV, zaman limiti olmadan - çipe zarar vermez.

Hat alıcısının giriş empedansı = 3k ila 7k ohm önerilir.

Eski masaüstü bilgisayarlardaki seri bağlantı noktaları, bu gereksinimi karşılayan +12v/-12V kullanır.

Daha yeni dizüstü bilgisayarlardaki seri bağlantı noktaları daha düşük voltaj kullanır. JDM çalışabilir veya çalışmayabilir - cevap daha karmaşıktır.

Adım 2: PIC Programlama Gereksinimleri

PIC Programlama Gereksinimleri
PIC Programlama Gereksinimleri

PIC programlama gereksinimleri ile ilgili bilgiler Microchip'ten alınır. Yukarıdakiler tipik bir cihaz içindir.

Adım 3: JDM Spesifikasyonu

JDM Spesifikasyonu
JDM Spesifikasyonu

Orijinal JDM web sitesi zamanın sisleri arasında mı kayboldu? Bu, tasarımcının başlangıçta spesifikasyon için ne amaçladığını tahmin etmemizi sağlar.

  1. VDD=5V ve maksimum IDD=2mA'ya kadar sağlayın ("soket içi" sürüm için)
  2. VHH=13V ve maksimum IHH=0.2mA'ya kadar sağlayın.
  3. MCLR Yükselme süresi tVHHR = 1uS maks.
  4. ICSP versiyonu, hedefte 22k pull-up'a karşı MCLR'yi düşük çekebilmelidir.

Adım 4: Devre Açıklaması

Devre Açıklaması
Devre Açıklaması

Şekil JDM1, PICPgm web sitesinden alınan “standart” JDM devresine dayanmaktadır. Bu, PIC'nin TX ve RTS pinlerinden güç aldığı “PIC in Socket” programcısıdır. Orijinal diyagramı anlamak zordu, bu yüzden yukarıdan aşağıya normal akım akışını kullanarak yeniden çizdim. Ve yapım ve test sırasında gerekli olan “RESET”, “PROG” ve “RTS” LED göstergelerini ekledim. Umarım bunların davranış üzerinde zararlı bir etkisi yoktur.

Devre tasarımının normal kuralı, tüm zeminleri ortak kılmaktır, ancak JDM'nin temel özelliği, seri port topraklamasının (GND) VDD'ye bağlı olmasıdır. Bu, seri bağlantı noktası sinyalleri GND'ye göre, PIC sinyalleri mantık zeminine (VSS) göre ölçüldüğünden karışıklık yaratır.

TX yükseldiğinde, Q1, iki ileri taraflı diyot gibi davranır. (Q1 toplayıcı, normal transistör çalışmasında olduğu gibi ters taraflı değildir). Q1 toplayıcı, Zener (D3) tarafından VDD+8V'de kenetlenen C2'yi şarj eder. Q1 emitörü, Programlama/Doğrulama Modu için MCLR'ye 13V iletir.

TX düştüğünde, C3 kondansatörü D1 üzerinden şarj edilir ve VSS, zener (D5) tarafından VDD-5V'de kenetlenir. Ayrıca TX, D1 tarafından (VSS-0.6)'da kenetlenir. Q1 kapalı, C1 bir sonraki programlama darbesi için şarjını koruyor. MCLR, D2 tarafından 0V'de sabitlenir, bu nedenle PIC şimdi Sıfırlanır.

RTS yüksek olduğunda, saat PGC'ye iletilir. D4 PGC'yi VDD mantığında yüksek tutuyor. RTS düşük olduğunda, C3 kondansatörü D6 üzerinden şarj edilir ve VSS, zener (D5) tarafından VDD-5V'de kenetlenir. D6, PGC'yi VSS'de veya mantık 0'da kelepçeler.

Programlama sırasında, DTR'den gönderilen veriler, PIC'nin giriş olarak konfigüre ettiği PGD'de okunur. DTR yüksek olduğunda, Q2 “yayıcı takipçisi” olarak hareket eder ve PGD voltajı yaklaşık (VDD-0.6) veya mantık 1'dir. DTR düşük olduğunda, Q2 kötü bir transistör görevi görür (verici ve toplayıcı pinleri ters çevrilir). Q2, D7 tarafından VSS veya mantık 0'da sabitlenen PGD'yi düşük çeker.

Doğrulama sırasında PIC, seri bağlantı noktasına veri göndermek için bir çıkış olarak PGD'yi yapılandırır. DTR yüksek ayarlanmalı ve veriler CTS'de okunmalıdır. PGD çıkışı yüksek olduğunda, Q2 kapalıdır, CTS = DTR = +12V. PGD çıkışı düşük olduğunda, Q2 açıktır. Q2 toplayıcı DTR'den akım (12V+5V)/(1k+1k5)=7mA çeker ve CTS'yi düşük, VSS'ye çeker.

Adım 5: Simülasyon için Hazırlanın

Simülasyona Hazırlanın
Simülasyona Hazırlanın

LT baharatını indirin, burada verilen devre dosyalarını (*.asc) kaydedin ve açın. Devreyi simüle etmek için, ona bazı girdiler vermeli, ardından çıktıları “izlemeliyiz”. V1, V2 V3, çıkış empedansı R11, R12, R13 ile 12V seri bağlantı noktasını simüle eder.

  • V1, TX üzerinde 0,5 ms'den 4,5 ms'ye kadar 2 Program Darbesi üretir
  • V2, DTR'de 1,5 ila 4,5 ms arasında veri darbeleri patlaması üretir
  • V3, RTS'de 0,5'ten 3,5 ms'ye kadar saat darbeleri patlaması üretir

V4, X1, R15 ve R16 bileşenlerinin tümü simülasyonun bir parçasıdır.

  • V4, verileri doğrulamak için 2,5 ila 4,5 ms arasında 2 darbe üretir.
  • Jumper X1, PGD'de ÇIKIŞI simüle eder.
  • R15, R16, PIC'nin VDD ve MCLR'ye “yüklenmesini” simüle eder.

Adım 6: ICSP için Değişiklikler

ICSP için Değişiklikler
ICSP için Değişiklikler
ICSP için Değişiklikler
ICSP için Değişiklikler

Şekil JDM3, "devre içi" programlama sürümünü gösterir. Orijinalden yapılan değişiklikler

  1. ZIF soketini ICSP konektörüyle değiştirin.
  2. PIC artık hedef devre (V5) beslemesi ile çalıştırılmaktadır.
  3. 5V zeneri (D5) çıkarın.
  4. Küçük 100pF kapasitör (C4), hedef devredeki PIC'nin yanına taşınır.
  5. LED'ler, mümkün olduğunda devre kartından güç alır.
  6. Hedef devrede MCLR çekme direnci (R10) ve diyot (D10) gereklidir.
  7. UYARI. Hedef kartında "kayan" bir besleme, ideal olarak bir pil olmalıdır.
  8. JDM ile aynı anda diğer bilgisayar bağlantı noktalarını bağlayarak hedef toprağı (VSS) bilgisayar/PC toprağına bağlamayın.

JDM1'i simüle ettikten sonra, C2'de uzun şarj süresi sorunu ortaya çıktı. Sonra Fruttenboel'i okuduktan sonra, C2 ve Q1'in orijinaline bir değişiklik olarak eklendiği anlaşılıyor. C2 ve Q1'in sorun yaratmaktan başka ne yapmak istediğini düşünemiyorum. Dolayısıyla JDM4 için, Fruttenboel'deki basit ve anlaşılması kolay eski tasarıma dönüyoruz. D1 ve D3/LED2, MCLR'yi VSS ve VDD+8V arasında sıkıştırır. R1'in değeri 3k3'e düşürülür, bu sadece LED2'yi 12V'de aydınlatmaya yeterlidir.

JDM4, ayrıca daha zayıf seri bağlantı noktalarıyla çalışmak üzere tasarlanmıştır. TX yükseldiğinde (+9V), TX akım kaynağı = (9-8)/(1k +3k3) = 0,2ma, LED2'yi aydınlatmak için yetersiz olsa da MCLR'yi yukarı çekmeye yeter. TX düştüğünde (yaklaşık -7V), TX akım düşüşü =(9-7)/1k = 2mA. LED1 akımı = (led için 7-2)/(2k7) = 1.8mA. MCLR aşağı çekme akımı = 7-5.5/3k3 = 0.5mA.

Bu devre ayrıca, VHH=13V'u sürdürmek için yetersiz voltajın olduğu yerde minimum +/-7V seri portlarla ne olduğunu görmek için test edilmiştir (JDM5 simülasyonu). C1'in amacı şimdi ortaya çıkıyor, C1, MCLR'ye kısa bir + ve destek, TX'in yükselen kenarında 33 us'luk bir artış, PIC'nin programlama moduna girmesi için yeterince uzun, belki de? Ancak, MCLR'yi aşağı çekmek ve LED1'i birlikte yakmak için yetersiz akım olduğundan X2 atlama telini çıkarın (LED1'i devre dışı bırakın). TX düştüğünde, TX akım düşüşü = (7V-5,5V)/(1k+3k3) = 0,3mA, sadece MCLR'yi yukarı çekme R10'a karşı aşağı çekmek için yeterlidir.

7. Adım: Simülasyon Sonuçları

Simulasyon sonuçları
Simulasyon sonuçları
Simulasyon sonuçları
Simulasyon sonuçları
Simulasyon sonuçları
Simulasyon sonuçları

Grafik dosyalarını görüntülemek için aşağıdaki bağlantılara sağ tıklayıp ardından "Bağlantıyı Yeni Sekmede Aç"ı seçmek daha iyidir.

Simülasyon 1: orijinal JDM1 için MCLR, VSS ve RTS izi. Hemen gözlem 1, 2 ve 3 belirgindir.

Simülasyon 2: MCLR ve VSS izi ve önceki sorunları gideren değiştirilmiş JDM2 için RTS.

Simülasyon 3: JDM2 için program modunda veri gönderme için PGD, VSS ve PGC izi. 3.5mS'de 4. Gözlem.

Simülasyon 4: doğrulama modunda JDM2 için PGD, VSS ve CTS izi (jumper X1 takılı). Tamam

Simülasyon 5: JDM3 için MCLR, VSS, PGD ve PGC izi. Devreden güç kullanan ICSP birçok sorunu çözer.

Simülasyon 6: +/-9V seri portlu JDM4 için MCLR, VSS, PGD ve PGC izi. MCLR hemen yükselir, tamamen çalışır.

Simülasyon 7: +/-7V seri bağlantı noktası ve X2 atlama teli ile JDM5 için MCLR, VSS ve TX izi. C1, MCLR'nin yükselen kenarında, MCLR'yi TX'in üzerinde 13V'a itmek için hemen hemen yeterli olan bir + ve artış (spike) oluşturur.

8. Adım: Sonuçlar

Spice, devre çalışmasının “gizli sırlarını” ortaya çıkarmakta gerçekten iyidir. Açıkça JDM devresi çalışıyor ve birçok PIC yongası ile uyumlu, ancak aşağıdaki gözlemler olası sınırlamaları/uyumluluk sorunlarını/hatalarını ortaya koyuyor?

  1. C2, TX'in ilk darbesinde VPP'ye şarj olurken MCLR'nin uzun yükselme süresi. Belirtim başarısız 3.
  2. Seri bağlantı noktası, TX yükseldiğinde ve RTS düştüğünde C2'yi şarj eder. Ancak RTS'nin C3'ü şarj etme işi de var. Her ikisi de aynı anda gerçekleştiğinde, bu RTS üzerinde daha fazla yük oluşturur, sonuç olarak C3 simülasyonda 2 ms'de yükü kaybeder (VSS yükselir). Başarısız belirtim 1.
  3. Saat darbeleri 3,5 ms'de durduktan sonra C3 şarjını kaybeder (VSS yükselmeye başlar).
  4. C2'nin amacı nedir, hiç gerekli mi?

Çözümler

  1. Muhtemelen PICPgm bir "çalışma ortamı" yazılımı kullanır. C2'ye ön şarj için uzun bir TX darbesi uygulamalı, ardından sadece ikinci TX darbesinden sonra programlama moduna mı girmelidir? Simülasyon için, 1 ms'lik bir yükselme süresi sağlamak için C2'nin değerini 1uF'ye düşürdüm. İdeal bir çözüm değil.
  2. C2 ve C3'ü ayırın, böylece bağımsız olarak şarj olurlar. JDM2'de yapılan küçük bir değişiklik olan C2, VSS yerine GND'ye atıfta bulunur.
  3. JDM3 tarafından çözüldü. PIC hedef devre tarafından desteklendiğinden ICSP çok daha güvenilirdir.
  4. JDM4, 1. sorunu çözer. Bu, C2'yi tamamen ortadan kaldıran basit bir tasarımdır.

9. Adım: Ve Sonunda

Ve sonunda
Ve sonunda

Pudingin kanıtı yemekte. Bu JDM çalışıyor, bu yüzden kullanmaya devam edin.

Ve önerilerim:

  • soket programlama ve 12V seri portlar için JDM2 kullanın,
  • ICSP programcısı ve +/-9V üzerindeki seri portlar için JDM4'ü kullanın,
  • +/-7V üzerindeki seri bağlantı noktaları için X2 atlama teli çıkarılmış halde JDM4 kullanın.

Referanslar:

Analog Cihazlar LT baharatı

resim

Fruttenboel

Sinsi köşede daha fazla PIC projesini takip edin

Önerilen: