Оглавление:

Понимание ICSP для микроконтроллеров PIC: 4 шага (с изображениями)
Понимание ICSP для микроконтроллеров PIC: 4 шага (с изображениями)

Видео: Понимание ICSP для микроконтроллеров PIC: 4 шага (с изображениями)

Видео: Понимание ICSP для микроконтроллеров PIC: 4 шага (с изображениями)
Видео: Как работает процессор? || Подробное строение SoC 2024, Июль
Anonim
Понимание ICSP для микроконтроллеров PIC
Понимание ICSP для микроконтроллеров PIC

Программировать микроконтроллеры несложно. Создание программиста - отличный первый проект в области электроники. Цель этого руководства - объяснить простой метод «последовательного программирования в схемах», используемый с микрочипами PIC.

Шаг 1. Почему ICSP?

Почему ICSP?
Почему ICSP?

Программировать большой DIP-чип (сквозное отверстие) очень просто. Вставьте его в программатор с сокетом, сожгите и верните в схему приложения. Протестируйте и повторите.

С меньшими микросхемами (для поверхностного монтажа) все становится сложнее. Стандартных разъемов для QFN, SSOP, QFP или даже для больших корпусов SOIC.300 нет. Есть действительно дорогие (100 долларов) клипы, которые можно прикрепить к этим чипам и запрограммировать. Для каждого типа микросхемы и количества выводов, которые вы используете, требуется свой зажим. Альтернатива есть. Это называется 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 входят в режим программирования, когда на вывод MCLR / Vpp подается ~ 13 вольт (обычно вывод 1 на современных PIC, подробнее об этом ниже). Clock / Data или PGC / PGD Линии синхронизации и данных используются для записи и чтения PIC прошивка. Обычно это те же контакты, что и у PORTB6 и PORTB7. Упражнение: Найдите точки подключения ICSP на PIC на рисунках ниже. Если PIC подходит, носите его. Я получаю много вопросов о моем дизайне JDM2 на инструкциях. Наиболее частым является "Будет ли он программировать PIC X? '"' - вот как вы можете сказать: 1) Посмотрите на лист данных. Найдите схему контактов, которая выглядит примерно так, как на картинке ниже. 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=en011744 Вот несколько советов и примеров проектов ICSP из моих предыдущих инструкций. Совет №1, Уровень угрозы: Важно Не подключайте к ЧАСам что-либо еще и контакты DATA (обычно RB6 и RB7, PGC и PGD). Просто не делай этого. Бывают ситуации, когда очень умным инженерам это сходит с рук, но они этого не делают. Компоненты, прикрепленные к контактам, будут искажать тактовые сигналы и сигналы данных, что приведет к непредсказуемому программированию. Вдобавок, если вы когда-нибудь захотите использовать встроенный последовательный отладчик, вы не сможете. Только не делайте этого. Совет №2 Уровень угрозы: Взрывоопасно Всегда используйте диод между напряжением программирования и системным напряжением. Если вы используете MCLR (master clear) на PIC, вы должны подать некоторое напряжение на вывод MCLR через резистор 10Kish. Это также контакт, на который вы будете подавать ~ 13 вольт для входа в режим программирования. Я поставил диод 1n4148 (эквивалентный) между резистором и выводом MCLR / Vpp (как показано на схеме и рендеринге ниже). Это поддерживает напряжение программирования на выводе Vpp, предотвращая разрушение других компонентов на вашей плате. Совет № 3 Уровень угрозы: (повторно) усталость Низкое программирование напряжения сдерживает вас, чувак. Я никогда не добивался успеха с LVP. Я никогда не видел, чтобы это работало (постоянно) собственными глазами. Просто прикусите пулю и потратьте 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. ***** В JDM2 используются необычные напряжения… подключите его к цепи БЕЗ внешнего питания (или даже земли), подключенного к цепи приложения. Перед подачей питания отключите соединения ICSP. Невыполнение этого требования не является деструктивным, но приведет к неудачному программированию. ******* Другой вариант - (полу) правильный программатор ICD. ICD позволяет вам контролировать выполнение микропрограмм на вашем PIC, устанавливая точки останова в коде или считывая значения памяти и портов. ICD также может анимировать выполнение кода, запитать схему приложения и запрограммировать PIC. Все это происходит через то же 5-контактное соединение ICSP, которое мы обсуждали. Несколько клонов ICSP, которые вы можете сделать самостоятельно, можно увидеть здесь: https://www.icd2clone.com/wiki/Main_Page. Я построил PiCS (rev B) несколько месяцев назад, и он мне очень понравился.

Рекомендуемые: