Სარჩევი:

JDM პროგრამისტის მიმოხილვა: 9 ნაბიჯი
JDM პროგრამისტის მიმოხილვა: 9 ნაბიჯი

ვიდეო: JDM პროგრამისტის მიმოხილვა: 9 ნაბიჯი

ვიდეო: JDM პროგრამისტის მიმოხილვა: 9 ნაბიჯი
ვიდეო: ყუთები #04 #პროგრამისტების 1 ხელნაკეთი და ETL ოდესის #Motorola UART 2024, ივლისი
Anonim
JDM პროგრამისტის მიმოხილვა
JDM პროგრამისტის მიმოხილვა

JDM არის პოპულარული PIC პროგრამისტი, რადგან ის იყენებს სერიულ პორტს, კომპონენტების მინიმალურ ნაწილს და არ საჭიროებს კვების ბლოკს. მაგრამ იქ არის დაბნეულობა, ბევრი პროგრამისტი ვარიაციით ქსელში, რომელი რომელი PIC– ით მუშაობს? ამ „სასწავლოში“ჩვენ JDM გამოვცადეთ და მე ვაჩვენებ, თუ როგორ უნდა მოვახდინოთ სქემის სიმულაცია Spice– ის გამოყენებით, რომელიც უპასუხებს თქვენს ყველა კითხვას!

მარაგები

LTspice, რომელიც შეგიძლიათ გადმოწეროთ ანალოგური მოწყობილობებიდან აქ.

თქვენ ასევე გჭირდებათ JDM წრიული ფაილები აქ.

ნაბიჯი 1: სერიული პორტის მოთხოვნები

სერიული პორტის მოთხოვნები
სერიული პორტის მოთხოვნები

JDM მოითხოვს სერიულ პორტს, რომელიც აკმაყოფილებს EIA232 სპეციფიკაციას, იდეალურად +12/-12 ძაბვის დონით.

Texas Instruments Line Driver MC1488 მონაცემთა ცხრილის მიხედვით (სურათი 3)

გამომავალი წინაღობა = 4V/8mA = 500 ohm.

მოკლე ჩართვის დენის ლიმიტი = 12 მვ, დროის ლიმიტის გარეშე - ჩიპის დაზიანება არ არის.

ხაზის მიმღების შეყვანის წინაღობა = 3k დან 7k ohm რეკომენდირებულია.

ძველი პორტატული კომპიუტერების სერიული პორტები იყენებენ +12v/-12V ამ მოთხოვნას.

ახალი პორტატული კომპიუტერების სერიული პორტები იყენებენ ქვედა ძაბვებს. JDM შეიძლება მუშაობდეს ან არ მუშაობდეს - პასუხი უფრო რთულია.

ნაბიჯი 2: PIC პროგრამირების მოთხოვნები

PIC პროგრამირების მოთხოვნები
PIC პროგრამირების მოთხოვნები

ინფორმაცია PIC პროგრამირების მოთხოვნებთან დაკავშირებით მოპოვებულია მიკროჩიპისგან. ზემოთ არის ტიპიური მოწყობილობისთვის.

ნაბიჯი 3: JDM სპეციფიკაცია

JDM სპეციფიკაცია
JDM სპეციფიკაცია

დაიკარგა ორიგინალური JDM ვებ – გვერდი დროის ნისლებში? ეს გვაიძულებს ვიცოდეთ, რას აპირებდა დიზაინერი თავდაპირველად სპეციფიკაციისთვის.

  1. მიაწოდეთ VDD = 5V და მაქსიმუმ IDD = 2mA ("სოკეტში" ვერსიისთვის)
  2. უზრუნველყოს VHH = 13V, და IHH– მდე = 0.2mA მაქსიმალური.
  3. MCLR ამოსვლის დრო tVHHR = 1uS მაქს.
  4. ICSP- ის ვერსიას უნდა შეეძლოს MCLR- ის დაბლა დაწევა მიზანზე 22k გაყვანის წინააღმდეგ.

ნაბიჯი 4: სქემის აღწერა

მიკროსქემის აღწერა
მიკროსქემის აღწერა

ფიგურა JDM1 ემყარება "სტანდარტულ" JDM სქემას, რომელიც აღებულია PICPgm ვებ გვერდიდან. ეს არის "PIC in Socket" პროგრამისტი, სადაც PIC იღებს ძალას TX და RTS ქინძისთავებიდან. ძნელი გასაგები იყო დიაგრამა, ამიტომ მე ხელახლა დავხატე ზემოდან ქვემოდან მიმდინარე დინების ნორმალური კონვენციის გამოყენებით. მე დავამატე LED ინდიკატორები "RESET", "PROG" და "RTS", რომლებიც აუცილებელია მშენებლობისა და ტესტირების დროს. ვიმედოვნებთ, რომ ეს არანაირ მავნე გავლენას არ მოახდენს ქცევაზე.

სქემის დიზაინის ნორმალური კონვენცია საერთოა ყველა საფუძვლისთვის, მაგრამ JDM– ის მთავარი მახასიათებელია ის, რომ სერიული პორტის საფუძველი (GND) დაკავშირებულია VDD– თან. ეს ქმნის დაბნეულობას, რადგან სერიული პორტის სიგნალები იზომება GND, PIC სიგნალები ლოგიკურ ნიადაგთან მიმართებაში (VSS).

როდესაც TX მაღლა იწევს, Q1 იქცევა როგორც ორი წინდახედული დიოდი. (Q1 კოლექტორი არ არის საპირისპირო მიკერძოებული, როგორც ჩვეულებრივი ტრანზისტორი მუშაობისას). Q1 კოლექციონერი იხდის C2- ს, რომელიც Zener (D3) - ით არის შეკრული VDD+8V- ზე. Q1 გამცემი 13V აწვდის MCLR პროგრამას/გადამოწმების რეჟიმს.

როდესაც TX მცირდება, კონდენსატორი C3 იტენება D1– ით და VSS იჭედება VDD-5V– ზე ზენერის მიერ (D5). ასევე TX არის შეკრული (VSS-0.6) მიერ D1. Q1 გამორთულია, C1 ინარჩუნებს თავის ბრალდებას შემდეგი პროგრამირების პულსისთვის. MCLR არის დამუხრუჭებული 0V ზე D2- ით, ამიტომ PIC არის გადატვირთული.

როდესაც RTS მაღალია, საათი გადადის PGC– ზე. D4 დამჭერი PGC და VDD ლოგიკური მაღალი. როდესაც RTS დაბალია, კონდენსატორი C3 იტენება D6– ით და VSS იჭედება VDD-5V– ზე ზენერის მიერ (D5). D6 ამყარებს PGC– ს VSS– ზე ან ლოგიკას 0.

პროგრამირების დროს, DTR– ით გაგზავნილი მონაცემები იკითხება PGD– ზე, რომელსაც PIC ადგენს შეყვანის სახით. როდესაც DTR მაღალია, Q2 მოქმედებს როგორც "გამცემი მიმდევარი" და PGD ძაბვა არის დაახლოებით (VDD-0.6) ან ლოგიკა 1. როდესაც DTR დაბალია, Q2 მოქმედებს როგორც ცუდი ტრანზისტორი (გამცემი და კოლექტორის ქინძისთავები უკუქცეულია). Q2 ამცირებს PGD– ს დაბალ დონეს, რომელიც შეკრულია D7– ით VSS– ში ან ლოგიკა 0 – ში.

გადამოწმების დროს PIC აყალიბებს PGD– ს, როგორც გამომავალ მონაცემებს სერიულ პორტში გასაგზავნად. DTR უნდა იყოს მაღალი და მონაცემები იკითხება CTS– ზე. როდესაც PGD გამომავალი მაღალია, Q2 გამორთულია, CTS = DTR = +12V. როდესაც PGD გამომავალი დაბალია, Q2 ჩართულია. Q2 კოლექტორი ამახვილებს დენს (12V+5V)/(1k+1k5) = 7mA DTR– დან და ამცირებს CTS– ს დაბლა, VSS– მდე.

ნაბიჯი 5: მოემზადეთ სიმულაციისთვის

მოემზადეთ სიმულაციისთვის
მოემზადეთ სიმულაციისთვის

ჩამოტვირთეთ LT spice, შეინახეთ და გახსენით წრიული ფაილები (*.asc), რომლებიც მოცემულია აქ. მიკროსქემის სიმულაციისთვის, ჩვენ უნდა მივცეთ მას რამდენიმე შეყვანა, შემდეგ კი "მივყვეთ" გამოსავალს. V1, V2 V3 ახდენს 12V სერიული პორტის სიმულაციას გამომავალი წინაღობით R11, R12, R13.

  • V1 გამოიმუშავებს 2 პროგრამის იმპულსს TX– ზე 0.5ms– დან 4.5ms– მდე
  • V2 წარმოქმნის მონაცემთა იმპულსების ადიდებას DTR– ზე 1.5 – დან 4.5ms– მდე
  • V3 წარმოქმნის საათის იმპულსების ადიდებას RTS– ზე 0.5 – დან 3.5ms– მდე

V4, X1, R15 და R16 კომპონენტები სიმულაციის ნაწილია.

  • V4 წარმოქმნის 2 იმპულსს 2.5 -დან 4.5ms– მდე მონაცემების გადამოწმებისთვის.
  • Jumper X1 ახდენს PGD– ზე OUTPUT– ის სიმულაციას.
  • R15, R16 ახდენს PIC– ის „დატვირთვის“სიმულაციას VDD და MCLR– ზე.

ნაბიჯი 6: ცვლილებები ICSP– ში

ცვლილებები ICSP– ში
ცვლილებები ICSP– ში
ცვლილებები ICSP– ში
ცვლილებები ICSP– ში

სურათი JDM3 გვიჩვენებს ვერსიას "ჩართვის" პროგრამირებისთვის. ცვლილებებია ორიგინალიდან

  1. შეცვალეთ ZIF სოკეტი ICSP კონექტორით.
  2. PIC ახლა იკვებება სამიზნე მიკროსქემის მიწოდებით (V5).
  3. ამოიღეთ 5V ზენერი (D5).
  4. პატარა 100pF კონდენსატორი (C4) გადატანილია PIC– ის გვერდით სამიზნე წრეზე.
  5. LED- ები ენერგიას იღებენ მიკროსქემის დაფებიდან, სადაც ეს შესაძლებელია.
  6. MCLR გამყვანი რეზისტორი (R10) და დიოდი (D10) საჭიროა სამიზნე წრეზე.
  7. გაფრთხილება სამიზნე დაფას უნდა ჰქონდეს "მცურავი" მარაგი, იდეალურად ბატარეა.
  8. არ დაუკავშიროთ სამიზნე გრუნტი (VSS) კომპიუტერს/კომპიუტერს მიწასთან JDM- თან ერთად სხვა კომპიუტერული პორტების შეერთებით.

JDM1– ის სიმულაციის შემდეგ, C2– ზე ხანგრძლივი დატენვის დროის პრობლემა აშკარა გახდა. შემდეგ Fruttenboel– ის წაკითხვის შემდეგ ჩანს, რომ C2 და Q1 დაემატა როგორც ორიგინალის მოდიფიკაცია. მე არ შემიძლია ვიფიქრო, რის გაკეთებას აპირებენ C2 და Q1 პრობლემების გარდა. ასე რომ, JDM4– ისთვის ჩვენ ვუბრუნდებით ძველ დიზაინს Fruttenboel– ზე, რომელიც გასაგები მარტივი და პირდაპირია. D1 და D3/LED2 დამჭერი MCLR VSS და VDD+8V შორის. R1– ის ღირებულება მცირდება 3k3– მდე, საკმარისია LED2– ის 12V– ზე გასანათებლად.

JDM4 ასევე შექმნილია სუსტ სერიულ პორტებთან მუშაობისთვის. როდესაც TX მაღლა მიდის (+9V), TX მიმდინარე წყარო = (9-8)/(1k +3k3) = 0.2ma, საკმარისია იმისათვის, რომ MCLR მაღლა აიწიოს, თუმცა არასაკმარისია LED2- ის გასანათებლად. როდესაც TX დაბალია (დაახლოებით -7V), TX მიმდინარე ჩაძირვა = (9-7)/1k = 2mA. LED1 დენი = (7-2 ლიდერისთვის)/(2k7) = 1.8mA. MCLR დენის ქვემოთ = 7-5.5/3k3 = 0.5mA.

ეს წრე ასევე შემოწმებულია (JDM5 სიმულაცია) რომ ნახოთ რა ხდება სერიული პორტებით +/- 7V მინიმალური, სადაც არასაკმარისი ძაბვაა VHH = 13V შესანარჩუნებლად. მიზანი C1 ახლა აშკარა ხდება, C1 ქმნის მოკლე +ve სტიმულს MCLR– ზე, 33us spike მზარდი ზღვარზე TX, საკმარისად გრძელი საკმარისი იმისათვის, რომ PIC პროგრამირების რეჟიმში შევიდეს, ალბათ? მაგრამ ამოიღეთ ჯუმპერი X2 (გამორთეთ LED1), რადგან არასაკმარისი დენია იმისათვის, რომ MCLR დაბალი იყოს და LED1 ერთად განათდეს. როდესაც TX მცირდება, TX დენის ჩაძირვა = (7V-5.5V)/(1k+3k3) = 0.3mA, უბრალოდ საკმარისია MCLR- ის დაბალი დასაწევად R10- ის საწინააღმდეგოდ.

ნაბიჯი 7: სიმულაციის შედეგები

სიმულაციის შედეგები
სიმულაციის შედეგები
სიმულაციის შედეგები
სიმულაციის შედეგები
სიმულაციის შედეგები
სიმულაციის შედეგები

გრაფიკული ფაილების სანახავად უმჯობესია დააწკაპუნოთ მარჯვენა ღილაკით ქვემოთ მოცემულ ბმულებზე, შემდეგ შეარჩიოთ "გახსენით ბმული ახალ ჩანართში"

სიმულაცია 1: MCLR, VSS და RTS კვალი ორიგინალური JDM1– ისთვის. დაუყოვნებლივ ჩანს დაკვირვება 1, 2 და 3.

სიმულაცია 2: კვალი MCLR და VSS და RTS მოდიფიცირებული JDM2– ისთვის, რომელიც აფიქსირებს წინა პრობლემებს.

სიმულაცია 3: კვალი PGD, VSS და PGC for JDM2 მონაცემების გაგზავნის პროგრამულ რეჟიმში. დაკვირვება 4 3.5mS– ზე.

სიმულაცია 4: კვალი PGD, VSS და CTS for JDM2 გადამოწმების რეჟიმში (ჯუმპერი X1 ჩასმულია). კარგი

სიმულაცია 5: კვალი MCLR, VSS, PGD და PGC for JDM3. ICSP ჩართვის ენერგიის გამოყენებით გადაჭრის ბევრ პრობლემას.

სიმულაცია 6: კვალი MCLR, VSS, PGD და PGC for JDM4 for +/- 9V სერიული პორტი. MCLR დაუყოვნებლივ იზრდება, სრულად მუშაობს.

სიმულაცია 7: MCLR, VSS და TX კვალი JDM5– ისთვის +/- 7V სერიული პორტით და ჯუმპერი X2 ამოღებულია. C1 ქმნის +ve გაძლიერებას (spike) MCLR– ის მზარდ ზღვარზე, თითქმის საკმარისი იმისათვის, რომ MCLR აიყვანოს TX– ზე 13V– მდე.

ნაბიჯი 8: დასკვნები

Spice მართლაც კარგია მიკროსქემის ოპერაციის "ფარული საიდუმლოებების" გამჟღავნებაში. აშკარად JDM წრე მუშაობს და თავსებადია ბევრ PIC ჩიპთან, მაგრამ შემდეგი დაკვირვებები ცხადყოფს შესაძლო შეზღუდვებს/თავსებადობის საკითხებს/ხარვეზებს?

  1. MCLR– ის გრძელი ზრდის დრო, ხოლო C2 იხდის VPP– ს TX– ის პირველი პულსის დროს. ვერ ხერხდება სპეციფიკაცია 3.
  2. სერიული პორტი C2- ს იტენება, როდესაც TX მაღალია, ხოლო RTS დაბალი. მაგრამ RTS– ს ასევე აქვს C3– ის დატენვის სამუშაო. როდესაც ორივე ერთდროულად ხდება, ეს ქმნის მეტ დატვირთვას RTS– ზე, შესაბამისად C3 კარგავს მუხტს (VSS იზრდება) 2 ms სიმულაციაზე. ვერ ხერხდება სპეციფიკაცია 1.
  3. C3 კარგავს მუხტს (VSS იწყებს ზრდას) მას შემდეგ, რაც საათის პულსი შეჩერდება 3,5 ms.
  4. რა დანიშნულება აქვს C2- ს, ის საერთოდ საჭიროა?

გადაწყვეტილებები

  1. სავარაუდოდ PICPgm იყენებს პროგრამულ უზრუნველყოფას "სამუშაო რაუნდი". მან უნდა გამოიყენოს გრძელი TX პულსი C2– ზე დასატენად, შემდეგ მხოლოდ პროგრამირების რეჟიმში შევიდეს მეორე TX პულსის შემდეგ? სიმულაციისთვის მე შევამცირე C2– ის 1uF– მდე, რაც იძლევა 1 ms– ის გაზრდის დროს. არ არის იდეალური გადაწყვეტა.
  2. გაყავით C2 და C3, ასე რომ ისინი დამოუკიდებლად იტენებიან. JDM2– ის ერთი მცირე მოდიფიკაცია, C2 მითითებულია GND– ზე VSS– ის ნაცვლად.
  3. ამოხსნილია JDM3– ით. ICSP ბევრად უფრო საიმედოა, რადგან PIC იკვებება სამიზნე სქემით.
  4. JDM4 წყვეტს პრობლემას 1. ეს არის პირდაპირი დიზაინი, რომელიც საერთოდ გამორიცხავს C2- ს.

ნაბიჯი 9: და ბოლოს

Და ბოლოს
Და ბოლოს

პუდინგის მტკიცებულება არის ჭამაში. ეს JDM მუშაობს, ასე რომ განაგრძეთ მისი გამოყენება.

და ჩემი რეკომენდაციებია:

  • გამოიყენეთ JDM2 სოკეტის პროგრამირებისთვის და 12 ვ სერიული პორტებისთვის,
  • გამოიყენეთ JDM4 ICSP პროგრამისტისთვის და სერიული პორტებისათვის +/- 9V,
  • გამოიყენეთ JDM4 ერთად jumper X2 ამოღებულია სერიული პორტებისთვის +/- 7V ზემოთ.

წყაროები:

ანალოგური მოწყობილობები LT სანელებელი

picpgm

ფრუტენბოელი

მიჰყევით სხვა PIC პროექტებს sly-corner– ში

გირჩევთ: