Mündəricat:

JDM Programmer Review: 9 Addım
JDM Programmer Review: 9 Addım

Video: JDM Programmer Review: 9 Addım

Video: JDM Programmer Review: 9 Addım
Video: Часть2 2 Малыш FM2 JDM программатор ЛУТ Подготовка к травлению 2024, Sentyabr
Anonim
JDM Proqramçı Baxışı
JDM Proqramçı Baxışı

JDM, populyar bir PIC proqramçısıdır, çünki ardıcıl portdan, minimum komponentlərdən istifadə edir və heç bir enerji təchizatı tələb etmir. Ancaq şəbəkədə bir çox proqramçı dəyişikliyi ilə qarışıqlıq var, hansının hansı PIC ilə işlədiyi? Bu "öyrədilə bilən" dərsdə JDM -ni sınağa qoyduq və bütün suallarınıza cavab verəcək Spice -dən istifadə edərək dövrə simulyasiyasını nümayiş etdirdim!

Təchizat

Analog Cihazlardan buradan yükləyə biləcəyiniz LTspice.

Burada da JDM dövrə sənədlərinə ehtiyacınız var.

Addım 1: Serial Port Tələbləri

Serial Port Tələbləri
Serial Port Tələbləri

JDM, ideal olaraq +12/-12 gərginlik səviyyəsi olan EIA232 spesifikasiyasına cavab verən seriyalı port tələb edir.

Texas Instruments Line Driver MC1488 məlumat cədvəlinə görə (Şəkil 3)

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

Qısa dövrə cərəyanı limiti = 12mV, vaxt məhdudiyyəti olmadan - çipə ziyan yoxdur.

Xət alıcısının giriş empedansı = 3k - 7k ohm tövsiyə olunur.

Köhnə masaüstü kompüterlərdəki seriyalı portlar bu tələbə cavab verən +12v/-12V istifadə edir.

Yeni noutbukların seriyalı portları daha aşağı gərginlikdən istifadə edir. JDM işləməyə bilər və ya işləməyə bilər - cavab daha mürəkkəbdir.

Addım 2: PIC Proqramlaşdırma Tələbləri

PIC Proqramlaşdırma Tələbləri
PIC Proqramlaşdırma Tələbləri

PIC proqramlaşdırma tələbləri ilə bağlı məlumatlar Microchip -dən əldə edilir. Yuxarıda göstərilənlər tipik bir cihaz üçündür.

Addım 3: JDM spesifikasiyası

JDM spesifikasiyası
JDM spesifikasiyası

Orijinal JDM veb saytı duman içində itdi? Bu, dizaynerin spesifikasiya üçün nəyi nəzərdə tutduğunu təxmin etməyə imkan verir.

  1. VDD = 5V və maksimum IDD = 2mA qədər təmin edin ("yuvada" versiyası üçün)
  2. VHH = 13V və maksimum IHH = 0.2mA qədər təmin edin.
  3. MCLR Qalxma vaxtı tVHHR = 1uS max.
  4. ICSP versiyası, MCLR-ni hədəfdəki 22 k çəkməyə qarşı aşağı çəkə bilməlidir.

Addım 4: Dövrün Təsviri

Dövrə Təsviri
Dövrə Təsviri

Şəkil JDM1, PICPgm veb saytından götürülmüş "standart" JDM sxeminə əsaslanır. Bu, PIC -in TX və RTS pinlərindən güc aldığı "Yuvada PIC" proqramçısıdır. Orijinal diaqramı başa düşmək çətindi, buna görə yuxarıdan aşağıya doğru cərəyan axınının normal şərti ilə yenidən çəkdim. Tikinti və sınaq zamanı lazım olan "RESET", "PROG" və "RTS" LED göstəricilərini əlavə etdim. Ümid edirik ki, bunların davranışa heç bir mənfi təsiri yoxdur.

Dövrə dizaynının normal konvensiyası bütün əsaslara uyğundur, lakin JDM -in əsas xüsusiyyəti seriyalı port yerinin (GND) VDD -yə bağlı olmasıdır. Bu, qarışıqlıq yaradır, çünki serial port siqnalları GND, PIC siqnalları məntiq zəminə (VSS) görə ölçülür.

TX yüksəldikdə, Q1 iki irəli əyilmiş diod kimi davranır. (Q1 kollektoru, normal tranzistor əməliyyatında olduğu kimi, əks tərəfli deyil). Q1 kollektoru, Zener (D3) tərəfindən VDD+8V -də bağlanan C2 -ni doldurur. Q1 vericisi, Proqram/Doğrulama rejimi üçün MCLR -ə 13V verir.

TX aşağı düşdükdə, C3 kondansatörü D1 vasitəsilə doldurulur və VSS zener (D5) tərəfindən VDD-5V-də bağlanır. Ayrıca TX, D1 ilə (VSS-0.6) sıxılır. Q1 sönür, C1 növbəti proqramlaşdırma nəbzi üçün yükünü saxlayır. MCLR, D2 ilə 0V -də bağlanır, buna görə PIC indi Sıfırlanır.

RTS yüksək olduqda, saat PGC -yə ötürülür. VDD məntiqi yüksək olan D4 sıxaclı PGC. RTS aşağı olduqda, kondansatör C3 D6 vasitəsilə doldurulur və VSS zener (D5) tərəfindən VDD-5V-də sıxılır. D6, PGC -ni VSS və ya məntiq 0 -da sıxır.

Proqramlaşdırma zamanı DTR -də göndərilən məlumatlar PIC -in giriş olaraq konfiqurasiya etdiyi PGD -də oxunur. DTR yüksək olduqda, Q2 "emitent izləyicisi" rolunu oynayır və PGD gərginliyi təxminən (VDD-0.6) və ya məntiq 1-dir. DTR aşağı olduqda, Q2 pis bir tranzistor rolunu oynayır (emitör və kollektor pinləri tərs). Q2, VSS və ya məntiq 0 -da D7 ilə bağlanan PGD -ni aşağı çəkir.

Doğrulama zamanı PIC, PGD -ni serial porta məlumat göndərmək üçün bir çıxış olaraq konfiqurasiya edir. DTR yüksək olmalıdır və məlumatlar CTS -də oxunur. PGD çıxışı yüksək olduqda, Q2 sönür, CTS = DTR = +12V. PGD çıxışı aşağı olduqda Q2 aktivdir. Q2 kollektoru DTR -dən cari (12V+5V)/(1k+1k5) = 7mA çəkir və CTS -ni aşağı çəkərək VSS -ə çəkir.

Addım 5: Simulyasiyaya hazırlaşın

Simulyasiyaya hazırlaşın
Simulyasiyaya hazırlaşın

LT spice yükləyin, burada verilən dövrə fayllarını (*.asc) qeyd edin və açın. Dövrəni simulyasiya etmək üçün ona bir neçə giriş verməliyik, sonra çıxışları "izləməliyik". V1, V2 V3, çıxış empedansı R11, R12, R13 olan 12V seriyalı portu simulyasiya edir.

  • V1, TX -də 0.5ms -dən 4.5ms -ə qədər 2 Proqram Pulse yaradır
  • V2, DTR -də 1,5 ilə 4,5 ms arasında məlumat ötürülməsi buraxır
  • V3, RTS -də 0,5 ilə 3,5 millimetr arasında olan saat impulslarını yaradır

V4, X1, R15 və R16 komponentləri simulyasiyanın bir hissəsidir.

  • V4, məlumatları yoxlamaq üçün 2,5 ilə 4,5 ms arasında 2 impuls yaradır.
  • Jumper X1, PGD -də OUTPUT simulyasiya edir.
  • R15, R16, VDD və MCLR -də PIC -in "yüklənməsini" simulyasiya edir.

Addım 6: ICSP üçün dəyişikliklər

ICSP üçün dəyişikliklər
ICSP üçün dəyişikliklər
ICSP üçün dəyişikliklər
ICSP üçün dəyişikliklər

Şəkil JDM3 "dövrədə" proqramlaşdırma versiyasını göstərir. Orijinaldan dəyişikliklər var

  1. ZIF yuvasını ICSP konnektoru ilə əvəz edin.
  2. PIC indi hədəf dövrə (V5) təchizatı ilə təchiz edilmişdir.
  3. 5V zenerini (D5) çıxarın.
  4. Kiçik 100pF kondansatör (C4), hədəf dövrəsindəki PIC -in yanına köçürülür.
  5. LED -lər, mümkünsə elektrik lövhəsindən enerji alır.
  6. Hədəf dövrəsində MCLR çəkmə müqaviməti (R10) və diod (D10) lazımdır.
  7. XƏBƏRDARLIQ. Hədəf lövhəsində "üzən" bir təchizat, ideal olaraq bir batareya olmalıdır.
  8. JDM ilə eyni vaxtda başqa bir kompüter portu bağlayaraq hədəf zəmini (VSS) kompüter/PC zəminə bağlamayın.

JDM1 simulyasiyasından sonra C2 -də uzun şarj müddəti problemi ortaya çıxdı. Sonra Fruttenboel -i oxuduqdan sonra C2 və Q1 -in orijinala dəyişiklik olaraq əlavə edildiyi görünür. Problem yaratmaqdan başqa C2 və Q1 -in nəyi nəzərdə tutduğunu düşünə bilmirəm. Beləliklə, JDM4 üçün Fruttenboel -dəki köhnə dizayna qayıdırıq ki, bu da sadə və başa düşüləndir. VSS və VDD+8V arasında D1 və D3/LED2 sıxac MCLR. R1 -in dəyəri 3k3 -ə endirilir, LED2 -ni 12V -də işıqlandırmaq üçün kifayətdir.

JDM4, daha zəif seriyalı portlarla işləmək üçün də hazırlanmışdır. TX yüksək olduqda (+9V), TX cərəyan mənbəyi = (9-8)/(1k +3k3) = 0.2ma, LED2-ni işıqlandırmaq üçün kifayət olmasa da MCLR-ni yüksək çəkmək üçün kifayətdir. TX aşağı düşəndə (təxminən -7V), TX cərəyanı = (9-7)/1k = 2mA. LED1 cərəyanı = (led üçün 7-2)/(2k7) = 1.8mA. MCLR cərəyanı aşağı çəkin = 7-5.5/3k3 = 0.5mA.

Bu dövrə, VHH = 13V saxlamaq üçün kifayət qədər gərginliyin olmadığı +/- 7V minimum seriyalı portlarla nə baş verdiyini görmək üçün də sınaqdan keçirilmişdir (JDM5 simulyasiyası). C1 -in məqsədi indi aydınlaşır, C1, MCLR -ə qısa +ve təkan yaradır, TX -in yüksələn kənarında 33us sıçrayışı, PIC -in proqramlaşdırma rejiminə girməsi üçün kifayət qədər uzun ola bilərmi? Lakin MCLR -ni aşağı çəkmək və LED1 -i birlikdə işıqlandırmaq üçün kifayət qədər cərəyan olmadığından X2 tullanan tıxacını çıxarın (LED1 -i deaktiv edin). TX aşağı düşəndə, TX cərəyanı = (7V-5.5V)/(1k+3k3) = 0.3mA, MCLR-ni R10-a qarşı aşağı çəkmək üçün kifayətdir.

Addım 7: Simulyasiya Nəticələri

Simulyasiya Nəticələri
Simulyasiya Nəticələri
Simulyasiya Nəticələri
Simulyasiya Nəticələri
Simulyasiya Nəticələri
Simulyasiya Nəticələri

Qrafik fayllara baxmaq üçün aşağıdakı bağlantıları sağ tıklayıp "Bağlantıyı Yeni Sekmede Aç" ı seçmək daha yaxşıdır.

Simulyasiya 1: orijinal JDM1 üçün MCLR, VSS və RTS izləri. Dərhal 1, 2 və 3 -cü müşahidə aydın görünür.

Simulyasiya 2: əvvəlki problemləri düzəldən dəyişdirilmiş JDM2 üçün MCLR və VSS və RTS izləri.

Simulyasiya 3: proqram rejimində məlumat göndərmək üçün JDM2 üçün PGD, VSS və PGC izləri. 3.5mS -də müşahidə 4.

Simulyasiya 4: doğrulama rejimində JDM2 üçün PGD, VSS və CTS izləri (jumper X1 daxil edilmişdir). tamam

Simulyasiya 5: JDM3 üçün MCLR, VSS, PGD və PGC izləri. ICSP dövrə enerjisindən istifadə edərək bir çox problemi həll edir.

Simulyasiya 6: +/- 9V serial portlu JDM4 üçün MCLR, VSS, PGD və PGC izləri. MCLR dərhal yüksəlir, tam işləyir.

Simulyasiya 7: JDM5 üçün MCLR, VSS və TX izləri +/- 7V seriyalı port və X2 tullanan ilə silindi. C1, MCLR -in yüksələn kənarında MCLR -ni TX -dən 13V -ə qaldırmaq üçün kifayət qədər bir +ve təkan (sıçrayış) yaradır.

Addım 8: Nəticələr

Spice, dövrə əməliyyatının "gizli sirlərini" açmaqda həqiqətən yaxşıdır. Göründüyü kimi, JDM dövrəsi işləyir və bir çox PIC çipi ilə uyğundur, lakin aşağıdakı müşahidələr mümkün məhdudiyyətləri/uyğunluq problemlərini/qüsurları aşkar edir?

  1. TX -in ilk nəbzində C2 VPP -yə yüklənərkən MCLR -in uzun artım müddəti. Spesifikasiya uğursuz 3.
  2. TX yüksəldikdə və RTS aşağı düşəndə serial portu C2 alır. Ancaq RTS -in C3 -ü doldurma işi də var. Hər ikisi eyni anda meydana gəldikdə, bu, RTS -də daha çox yük yaradır, nəticədə C3 simulyasiyada 2 ms -də şarjını itirir (VSS yüksəlir). Spesifikasiya uğursuz 1.
  3. Saat nəbzləri 3,5 ms -də dayandıqdan sonra C3 şarjını itirir (VSS yüksəlməyə başlayır).
  4. C2 -nin məqsədi nədir, ümumiyyətlə lazımdır?

Çözümlər

  1. Güman ki, PICPgm "iş boyu" bir proqramdan istifadə edir. C2 -yə əvvəlcədən doldurmaq üçün uzun bir TX nəbzi tətbiq etməli, sonra yalnız ikinci TX nəbzindən sonra proqramlaşdırma rejiminə keçməli? Simulyasiya üçün, C2 -nin dəyərini 1uF -ə endirdim və 1 ms yüksəlmə vaxtını verdim. İdeal bir həll deyil.
  2. C2 və C3 bölün, belə ki, onlar müstəqil olaraq şarj edirlər. JDM2, C2 -də kiçik bir dəyişiklik VSS yerinə GND -ə istinad edilir.
  3. JDM3 tərəfindən həll edildi. PIC hədəf dövrə ilə təchiz edildiyindən ICSP daha etibarlıdır.
  4. JDM4 problemi həll edir. Bu, C2 -ni tamamilə aradan qaldıran sadə bir dizayndır.

Addım 9: Və nəhayət

Və nəhayət
Və nəhayət

Pudingin sübutu yeməkdir. Bu JDM işləyir, bundan istifadə etməyə davam edin.

Və tövsiyələrim bunlardır:

  • soket proqramlaşdırma və 12V seriyalı portlar üçün JDM2 istifadə edin,
  • ICSP proqramçısı və +/- 9V-dən yuxarı serial portlar üçün JDM4 istifadə edin,
  • +/- 7V-dən yuxarı seriyalı portlar üçün çıxarılan X2 jumper ilə JDM4 istifadə edin.

İstinadlar:

Analog Devices LT spice

picpgm

Çərçivə

Hiyləgər küncdə daha çox PIC layihəsini izləyin

Tövsiyə: