Съдържание:

Разбиране на ICSP за PIC микроконтролери: 4 стъпки (със снимки)
Разбиране на ICSP за PIC микроконтролери: 4 стъпки (със снимки)

Видео: Разбиране на ICSP за PIC микроконтролери: 4 стъпки (със снимки)

Видео: Разбиране на ICSP за PIC микроконтролери: 4 стъпки (със снимки)
Видео: Начало работы с QLC+ Управление цветомузыкой с компьютера. Как управлять светом. 2024, Ноември
Anonim
Разбиране на ICSP за PIC микроконтролери
Разбиране на ICSP за PIC микроконтролери

Програмирането на микроконтролери не е трудно. Изграждането на програмист е чудесен първи електронен проект. Целта на тази инструкция е да обясни простия метод „в схемата за серийно програмиране“, използван с PIC на Microchip.

Стъпка 1: Защо ICSP?

Защо ICSP?
Защо ICSP?

Програмирането на голям DIP (през отвор) чип е лесно. Поставете го в програмиран гнездо, запишете и се върнете към веригата на приложението. Тествайте и повторете.

Нещата стават по -трудни с по -малки чипове (повърхностен монтаж). Няма стандартни гнезда за QFN, SSOP, QFP или дори големите пакети SOIC.300. Има наистина скъпи клипове ($ 100s), които могат да се прикачат и програмират тези чипове. За всеки тип чип и броя на щифтовете, които използвате, е необходим различен клип. Има алтернатива. Казва се ICSP. ICSP означава „във веригата сериен програмист (ing?)“. Това е начин за програмиране на PIC, докато той все още е прикрепен към веригата за приложения. Точно така, няма повече размяна на чипове. Защо ICSP? 1. Няма програмни гнезда за чипове с малки пакети. Клиповете са скъпи. 2. Болката е да преместваш чипове навътре и извън програмиста по време на разработката. Невъзможно за части за повърхностно монтиране.

Стъпка 2: Какво е ICSP?

Какво е ICSP?
Какво е ICSP?
Какво е ICSP?
Какво е ICSP?
Какво е ICSP?
Какво е ICSP?
Какво е ICSP?
Какво е ICSP?

Необходими са пет връзки за програмиране на PIC, докато са свързани към приложна верига. Добавям 5 -пинов хедър към моите платки, за да направя тази връзка бърза и лесна. Основите на PIC програмирането. За програмиране на PIC са необходими пет връзки. Захранване, земя, напрежение за програмиране, часовник и данни.+ (Vdd)/-(Vss) Това са връзките за захранване и заземяване (Vdd, Vss). Доста стандартно. Ако използвате програмист с „реални“нива на напрежение (НЕ JDM2!), Приложението ви може да работи от собствено захранване, когато е програмирано, премахвайки тези връзки. Vpp Това е напрежението за програмиране. PIC влизат в режим на програмиране, когато ~ 13 волта са поставени върху щифта MCLR/Vpp (обикновено щифт 1 на съвременните PIC, повече за това по -долу). Часовник/данни или PGC/PGD Часовникът и линиите за данни се използват за писане и четене на PIC фърмуер. Обикновено това са същите щифтове като PORTB6 и PORTB7. Упражнение: Определете точките за свързване на ICSP на PIC на снимките по -долу. Ако PIC отговаря, носете го. Получавам много въпроси относно моя дизайн на JDM2 относно инструкциите. Най -често е „Ще програмира ли PIC X?““- ето как можете да разберете: 1) Погледнете информационния лист. Намерете „Pin Diagram“, който прилича на снимката по -долу. 2) Определете местоположението на щифтовете, които трябва да бъдат свързани за програмиране (Vpp, Vdd, Vss, Data и Clock). 3) Погледнете връзката на гнездото на програмист. Можете ли да съпоставите необходимите щифтове с гнездо на програмиста?

Стъпка 3: Как ICSP?

Как ICSP?
Как ICSP?
Как ICSP?
Как ICSP?
Как ICSP?
Как ICSP?
Как ICSP?
Как ICSP?

В зависимост от вашия дизайн, вече можете да направите всички необходими връзки и да програмирате своя PIC. Има няколко улова, за които трябва да знаете. Дизайнът на ICSP е важен. Microchip предоставя хубава бележка в PDF приложение за проектиране за ICSP. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=bg011744 Ето няколко съвета и примери за проекти на ICSP от предишните ми инструкции. Съвет №1, ниво на заплаха: Важно Не свързвайте нищо друго към ЧАСОВНИКА и DATA щифтове (обикновено RB6 & RB7, PGC & PGD). Просто не го правете. Има ситуации, в които много умни инженерни типове се измъкват, но не го правете. Компонентите, прикрепени към щифтовете, ще изкривят часовника и сигналите за данни, което ще доведе до непредсказуемо програмиране. Освен това, ако някога искате да използвате вграден сериен дебъгер, не можете. Съвет #2 Ниво на заплаха: Експлозивен Винаги използвайте диод между напрежението за програмиране и напрежението на системата. Това е и щифтът, към който ще приложите ~ 13 волта, за да влезете в режим на програмиране. Поставих 1n4148 (еквивалентен) диод между резистора и MCLR/Vpp щифт (както е показано на схемата и изобразяване по -долу). Това поддържа напрежението за програмиране на Vpp щифта, предотвратявайки унищожаването на други компоненти на вашата платка. Никога не съм виждал да работи (последователно) със собствените си очи. Просто захапете куршума и похарчете $ 2,50 за изграждане на JDM2 програмист.

Стъпка 4: ICSP програмисти

ICSP програмисти
ICSP програмисти
ICSP програмисти
ICSP програмисти

ICSP не изисква различен протокол за програмиране. Сокерен програмист вече произвежда необходимата сигнализация, но я изпраща към гнездото, а не чрез кабели. Повечето програмисти на сокети могат да се използват като ICSP чрез подреждане на проводници от гнездото към веригата на приложението. Например, оригиналният програмист на JDM2 (тук: https://www.jdm.homepage.dk/newpic.htm) може да се използва за направете ICSP програмиране, като въведете 5 -те необходими сигнала в заглавка. Това може да се види в програмиста тук: https://www.belza.cz/digital/jdm.htm. За да поддържам нещата удобни, преработих този дизайн в Eagle Cad и го прикрепих към тази инструкция. Гледайте ориентацията на транзистора, един от отпечатъците може да е неправилен (направих това преди повече от година, вече не помня). По подобен начин моят актуализиран JDM2 програмист (тук: https://www.instructables.com/id/EN28KZDDYVEP286GRI/) може да се използва за ICSP чрез поставяне на проводници в DIP гнездата и свързването им към целевата PIC. ***** JDM2s използват фънки напрежения … свържете го към веригата БЕЗ външно захранване (или дори земя), свързано към веригата за приложение. Премахнете ICSP връзките, преди да включите захранването. Неспазването на това не е разрушително, но ще доведе до неуспешно програмиране ******* Друга възможност е (полу) правилен ICD програмист. ICD ви позволява да контролирате изпълнението на фърмуера на вашия PIC, като задавате точки на прекъсване в кода или отчитате стойностите на паметта и порта. ICD може също да анимира изпълнението на код, да захранва схемата на приложението и да програмира PIC. Той прави всичко това чрез същата 5 -пинова ICSP връзка, която обсъждахме. Няколко клона на ICSP, които можете да направите сами, можете да видите тук: https://www.icd2clone.com/wiki/Main_Page. Създадох PiCS (rev B) преди няколко месеца и ми харесва.

Препоръчано: