Mündəricat:

PIC mikro nəzarətçiləri üçün ICSP -ni anlamaq: 4 addım (şəkillərlə)
PIC mikro nəzarətçiləri üçün ICSP -ni anlamaq: 4 addım (şəkillərlə)

Video: PIC mikro nəzarətçiləri üçün ICSP -ni anlamaq: 4 addım (şəkillərlə)

Video: PIC mikro nəzarətçiləri üçün ICSP -ni anlamaq: 4 addım (şəkillərlə)
Video: BOOT MU LOADER? ATmega328p'ye Arduino Bootloader'ı Yükleme | AVR ISP | PCBWAY 2024, Iyul
Anonim
PIC mikrokontrolörləri üçün ICSP -ni anlamaq
PIC mikrokontrolörləri üçün ICSP -ni anlamaq

Mikro nəzarətçiləri proqramlaşdırmaq çətin deyil. Bir proqramçı qurmaq böyük bir elektronika layihəsi edir. Bu təlimatın məqsədi Microchip PIC ilə istifadə edilən sadə 'dövrə ardıcıl proqramlaşdırma' metodunu izah etməkdir.

Addım 1: Niyə ICSP?

Niyə ICSP?
Niyə ICSP?

Böyük bir DIP çipini proqramlaşdırmaq asandır. Yuvalı bir proqramçıya atın, yandırın və tətbiq sxeminə qayıdın. Test edin və təkrarlayın.

Kiçik (səthə montaj) çiplərlə işlər çətinləşir. QFN, SSOP, QFP, hətta böyük SOIC.300 paketləri üçün standart prizlər yoxdur. Bu fişləri bağlaya və proqramlaşdıra biləcək həqiqətən bahalı ($ 100s) kliplər var. İstifadə etdiyiniz hər bir çip növü və pin sayı üçün fərqli bir klip lazımdır. Alternativ var. ICSP adlanır. ICSP 'dövrə serial proqramçısı (ing?)' Deməkdir. Bu, hələ də tətbiq dövrəsinə bağlı ikən bir PIC proqramlaşdırmağın bir yoludur. Düzdü, artıq çip dəyişdirmə yoxdur. Niyə ICSP? 1. Kiçik paket çipləri üçün proqramlaşdırma prizləri yoxdur. Kliplər bahadır. 2. İnkişaf edərkən çipləri proqramçıya daxil etmək və xaric etmək onun ağrısıdır. Səth montaj hissələri üçün mümkün deyil.

Addım 2: ICSP nədir?

ICSP nədir?
ICSP nədir?
ICSP nədir?
ICSP nədir?
ICSP nədir?
ICSP nədir?
ICSP nədir?
ICSP nədir?

Bir tətbiq dövrəsinə qoşularkən bir PIC proqramlaşdırmaq üçün beş əlaqə lazımdır. Bu əlaqəni tez və asan etmək üçün elektron lövhələrimə 5 pinli başlıq əlavə edirəm. PIC proqramlaşdırmanın əsasları. Bir PIC proqramlaşdırmaq üçün beş əlaqə lazımdır. Güc, torpaq, proqramlaşdırma gərginliyi, saat və məlumatlar.+ (Vdd)/-(Vss) Bunlar güc və torpaq əlaqələridir (Vdd, Vss). Olduqca standart. 'Həqiqi' gərginlik səviyyəsi olan bir proqramçıdan istifadə edirsinizsə (JDM2 DEĞİLDİR!), Proqramlaşdırıldıqda tətbiqiniz öz enerji təchizatı ilə işləyə bilər, bu əlaqələri aradan qaldırır. Vpp Bu proqramlaşdırma gərginliyidir. MCLR/Vpp pininə ~ 13 volt yerləşdirildikdə PIC -lər proqramlaşdırma rejiminə daxil olurlar (adətən müasir PIC -lərdə pin 1, daha çox aşağıda). Saat/Məlumat və ya PGC/PGD Saat və məlumat xətləri PIC yazmaq və oxumaq üçün istifadə olunur. firmware. Bunlar ümumiyyətlə PORTB6 və PORTB7 ilə eyni sancaqlardır. Təlim: Aşağıdakı şəkillərdəki PIC -lərdə ICSP əlaqə nöqtələrini müəyyənləşdirin. PIC uyğun gəlirsə, geyinin. JDM2 dizaynımla bağlı çoxlu suallar alıram. Ən çox rast gəlinən "PIC X proqramlayacaqmı?" Aşağıdakı şəkilə bənzəyən 'Pin Şemasını' tapın.2) Proqramlaşdırma üçün bağlanmalı olan pinlərin yerini müəyyənləşdirin (Vpp, Vdd, Vss, Data, & Clock).3) proqramçı. Proqramçıdakı bir yuva ilə tələb olunan sancaqları uyğunlaşdıra bilərsinizmi?

Addım 3: ICSP necə?

ICSP necə?
ICSP necə?
ICSP necə?
ICSP necə?
ICSP necə?
ICSP necə?
ICSP necə?
ICSP necə?

Dizaynınızdan asılı olaraq, indi bütün lazımi əlaqələri qura və PIC -ni proqramlaşdıra bilərsiniz. Bilməli olduğunuz bir neçə tutma var. ICSP üçün dizayn vacibdir. Microchip, ICSP üçün dizayn haqqında gözəl bir PDF tətbiq qeydini təqdim edir. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011744 Burada əvvəlki təlimatlarımdan ICSP dizaynına dair bəzi məsləhətlər və nümunələr var. Məsləhət #1, Təhlükə səviyyəsi: Vacibdir və DATA pinləri (adətən RB6 & RB7, PGC & PGD). Sadəcə bunu etməyin. Çox ağıllı mühəndislik növlərinin bu işdən yaxa qurtardığı hallar var, amma bunu etməyin. Pimlərə yapışdırılan komponentlər saatı və məlumat siqnallarını əyər və nəticədə proqnozlaşdırıla bilməyən proqramlaşdırma ilə nəticələnir. Əlavə olaraq, dövrədə bir serial ayıklayıcı istifadə etmək istəyirsinizsə, edə bilməzsiniz. İpucu #2 Təhlükə səviyyəsi: Partlayıcı Həmişə proqramlaşdırma gərginliyi ilə sistem gərginliyi arasında bir diod istifadə edin. Bir PIC -də MCLR (master clear) istifadə edirsinizsə, 10Kish rezistor vasitəsilə MCLR pinində bir qədər gərginlik təmin etməlisiniz. Bu da proqramlaşdırma rejiminə girmək üçün ~ 13 volt tətbiq edəcəyiniz pindir. Rezistorla MCLR/Vpp pin arasına 1n4148 (ekvivalent) bir diod qoydum (aşağıda sxemdə göstərildiyi kimi). Bu, proqramlaşdırma gərginliyini Vpp pinində saxlayır və lövhənizdəki digər komponentlərin məhv edilməsinin qarşısını alır. Tip #3 Təhlükə səviyyəsi: (yenidən) yorğun Aşağı gərginlik proqramlaşdırması sizi geri çəkir, dostum. LVP ilə heç vaxt uğur qazanmamışam. Mən öz işimlə (ardıcıl olaraq) heç vaxt görməmişəm. Bir güllə dişləyin və bir JDM2 proqramçısı qurmaq üçün 2,50 dollar xərcləyin.

Addım 4: ICSP Proqramçıları

ICSP Proqramçıları
ICSP Proqramçıları
ICSP Proqramçıları
ICSP Proqramçıları

ICSP fərqli bir proqramlaşdırma protokolu tələb etmir. Soket əsaslı bir proqramçı artıq lazım olan siqnalları istehsal edir, ancaq tellər vasitəsilə deyil, yuvaya göndərir. Əksər yuva proqramçıları, rozetkadan tətbiq dövrəsinə qədər tel bağlayaraq ICSP olaraq istifadə edilə bilər. Məsələn, orijinal JDM2 proqramçısı (burada: https://www.jdm.homepage.dk/newpic.htm) Lazım olan 5 siqnalı başlığa gətirərək ICSP proqramlaşdırmasını həyata keçirin. Bunu proqramçıda burada görmək olar: https://www.belza.cz/digital/jdm.htm. İşlərin lazımlı olması üçün Eagle Cad -də bu dizaynı yenidən hazırladım və bu təlimata əlavə etdim. Transistor oriyentasiyasına baxın, ayaq izlərindən biri səhv ola bilər (bunu bir ildən çox əvvəl etmişəm, artıq xatırlamıram). Eynilə, yenilənmiş JDM2 proqramçım (burada: https://www.instructables.com/id/EN28KZDDYVEP286GRI/), DIP yuvalarına tellər yapışdıraraq və hədəf PIC -ə bağlayaraq ICSP üçün istifadə edilə bilər. ***** JDM2 -lər funky gərginliklərindən istifadə edirlər … onu tətbiq dövrəsinə qoşulmuş xarici güc (və ya hətta torpaq) olmadan dövrə bağlayın. Güc tətbiq etməzdən əvvəl ICSP bağlantılarını çıxarın. Bunu etməmək dağıdıcı deyil, amma uğursuz proqramlaşdırma ilə nəticələnəcək ******* Başqa bir seçim (yarı) uyğun bir ICD proqramçısıdır. ICD, kodda fasilə nöqtələri quraraq və ya yaddaş və port dəyərlərini oxuyaraq PIC -də proqram təminatının icrasını idarə etməyə imkan verir. ICD, kodun icrasını canlandıra bilər, tətbiq dövrəsini gücləndirə və PIC -ni proqramlaşdıra bilər. Bütün bunları müzakirə etdiyimiz eyni 5 pinli ICSP bağlantısı vasitəsi ilə edir. Özünüz edə biləcəyiniz bir neçə ICSP klonunu burada görmək olar: https://www.icd2clone.com/wiki/Main_Page. Bir neçə ay əvvəl PiCS (rev B) qurdum və bəyəndim.

Tövsiyə: