Mplab icd2: портал и журнал для разработчиков электроники

Программатор PIC

Размер основной платы 86×76мм, а платы коммутации 100×80мм. Они изготовлены из одностороннего фольгированного стеклотекстолита и оптимизированы для метода «утюжной» технологии. Большинство элементов использованы в SMD корпусах. Дроссель L1 типа ДМ-0,2. Кварц ZQ1 должен возбуждаться на основной частоте 20 мгц. Транзисторы VT1, VT2 любые NPN в корпусах SOT23 для поверхностного монтажа. Диод VD3 любого типа в таком же корпусе. DD4 в корпусе SOIC, остальные микросхемы — в DIP. Стабилитрон VD1 с напряжением стабилизации 5,1в.

Программатор выполнен в корпусе, спаяном из фольгированного гетинакса. Плата коммутации является верхней крышкой, в ней сделаны по месту не показанные на чертеже отверстия для HL1-HL3. Разъем СШ-5 для внутрисхемного программирования и отладки размещается на боковой стенке. Там же монтируется и переключатель SA1. Обращаю внимание, что это именно переключатель, а не кнопка.

Кабель связи с компьютером может иметь длину 1…1,5м. Питание осуществляется от любого сетевого адаптера с напряжением 9…15в и током до 100ма.

После сборки следует внимательно проверить правильность монтажа, отсутствие короткозамкнутых дорожек и непропаяных соединений. После этого нужно проверить наличие напряжения питания 5в на выходе DA1 и выставить 12…12,5в на выводе 1 DD3 с помощью резистора R10. Диапазон регулирования определяется номиналами R7…R9.

Контроллер DD2 перед установкой в схему необходимо запрограммировать. Его прошивка входит в состав MPLAB IDE, она состоит из двух частей — загрузчика и операционной системы. Если MPLAB была установлена в каталог по умолчанию, то путь к файлам прошивки будет C:\Program Files\Microchip\MPLAB IDE\ICD2\. Для работы достаточно записать в память контроллера только загрузчик, операционная система загружается средствами MPLAB.

Однако будет меньше проблем при запуске программатора, если предварительно записать в память контроллера оба части. Файл прошивки icd2f876a.hex, содержащий в себе как загрузчик, так и операционную систему можно загрузить из архива icd.zip.. В этом же архиве находятся и дистрибутивы печатных плат в формате Sprint-Layout 4.0. Для программирования можно воспользоваться упоминавшимся ранее PonyProg или обратиться за помощью к друзьям. Слово конфигурации включено в файл прошивки, так что в отличие от AVR, не придется ломать голову над установкой Fuse бит. Если все сделано безошибочно, после подачи питания будет светиться светодиод HL1 «Ready». Теперь можно подключить программатор к COM порту и приступить к тестированию.

Фирма Microchip настоятельно рекомендует отключить буфер FIFO для используемого COM порта. Это нужно обязательно сделать. В Windows XP последовательность действий такая. Пуск — Панель управления — Система — Оборудование — Диспетчер устройств — Порты (COM и LPT) — Последовательный порт X — Параметры порта — Дополнительно —Убрать галочку «Использовать буферы FIFO» — OK. К сожалению, нигде не упоминается, что после этого компьютер следует перезагрузить. Если не выполнить эту процедуру, программатор не будет работать. А вот при использовании конвертера USB-COM на FT232BM никаких изменений в свойствах порта делать не нужно.

Наконец, можно запускать MPLAB-IDE. Желательно использовать версию не ниже 7. Все дальнейшие пояснения будут относиться к версии 7.30. После запуска в меню Debugger — Select Tool нужно убедиться, что MPLAB ICD2 не отмечен галочкой. Одновременно выбирать это устройство в качестве отладчика и программатора нельзя. Затем нужно отметить Programmer — Select Programmer — MPLAB ICD2 и перейти на Programmer — MPLAB ICD2 Setup Wizard. Последовательно проходя по открывающимся окнам надо выбрать номер используемого COM порта, а также скорость обмена. Доступны две скорости 19200 и 57600, лучше выбрать вторую. После этого отметить «Power target circuit from MPLAB ICD2».

«MPLAB IDE automatically connect to the MPLAB ICD2» лучше не отмечать, а вот последующее предложение автоматически загружать требуемую операционную систему следует принять. Потом эти установки можно будет изменить. Теперь можно устанавливать связь: Programmer — Connect. Откроется окно «Output», на которое будут выводиться все сообщения, предупреждения и ошибки. Внимательно читайте все, что там появится. Если нет сообщений, выделенных красным цветом, значит программатор работает корректно. Некоторые сообщения требуют подтверждения, наиболее надоедливые из них можно запретить, поставив соответствующую галочку.

Теперь нужно выбрать тип контроллера, с которым предполагается работать Configure — Select Device. В случае необходимости требуемая операционная система загрузится автоматически. Если нужно просто запрограммировать HEX файл в контроллер без создания проекта, действия должны быть такими: File — Import, затем указание пути к файлу прошивки. Просмотреть и отредактировать, при необходимости, загруженный файл можно, выполнив команду View — Program memory или View — EEPROM. Изменить биты слова конфигурации — Configure — Configuration Bits. Непосредственно запись, чтение, стирание или верификация осуществляются нажатием соответствующих кнопок на панели инструментов. Область памяти, с которой выполняются действия может быть установлена Programmer — Settings — Program.

Более подробно работа с устройством в режиме программатора и отладчика описана в Help — Topics — MPLAB ICD2, а также в руководстве пользователя «MPLAB ICD2 USER’S GUIDE», которое можно загрузить с сайта http://www.microchip.com, а на http://www.microchip.ru можно найти описание MPLAB IDE на русском языке. Много полезной информации на русском языке есть и в [2]. Пересказывать эту обширную документацию в статье не имеет смысла.

Необходимо обратить внимание только на особенности, связанные с тем, что схема прототипа была несколько модернизирована с целью расширения функционалных возможностей программатора.

Дело в том, что существует два способа входа в режим программирования PIC.

  • При включенном напряжении питания Vcc уровень на выводе MCLR поднимается с нуля до 12в.
  • При выключенном Vcc уровень на выводе MCLR поднимается с нуля до 12в, а затем подается Vcc на контроллер.

В разных типах контроллеров Microchip рекомендует использовать один из этих способов, в основном в старых разработках — первый, а в более поздних — второй. В фирменном программаторе ICD2 реализован только первый способ, т.е. напряжение питания контроллера при программировании не отключается. Его можно снять только вручную, поставив или убрав галочку в меню Programmer — Settings — Power — «Power target circuit from MPLAB ICD2». Во-первых, это не удобно, т.к. устанавливать программируемый контроллер в панельку и извлекать из нее лучше при отключенном питании, во-вторых, это накладывает ограничения на конфигурацию вывода MCLR.

Его можно сконфигурировать только как вывод сброса, а не как вывод порта. Это может оказаться неприятным сюрпризом для пользователя, т.к. использование вывода сброса как вывода порта допускается для многих типов PIC, такая возможность особенно актуальна для PIC10 и PIC12 с малым числом линий ввода-вывода. В фирменной документации на ICD2 об этой неприятной особенности нет ни слова.

Этот недостаток можно было бы легко устранить, вмешавшись в прошивку PIC16F876A, аппаратные возможности для этого есть. Но делать это не разумно, т.к. для разных типов PIC автоматически загружаются разные прошивки, называемые «операционными системами». Всего их более десятка! Да и с выходом новых версий MPLAB они могут изменяться. Пришлось решать эту проблему схемотехнически. Для этого в схему добавлены транзистор VT1, диод VD3 и переключатель SA1. Идея в том, чтобы отключать Vcc, если Vpp, подаваемое на вывод MCLR программируемого контроллера равно нулю.

В этот момент контроллер находится в состоянии сброса и питание с него можно снять. Если контакты SA1 разомкнуты, напряжение Vpp появится сразу же, как только на вывод 9 DD4 придет нулевой уровень с управляющего контроллера. Vcc же появится с небольшой задержкой, определяемой номиналом C18.

Если SA1 замкнут, Vpp появится после Vcc с задержкой, определяемой номиналом C17. Таким образом, при замкнутом SA1 реализуется первый вариант входа в режим программирования, а при разомкнутом — второй. При этом галочка «Power target circuit from MPLAB ICD2» должна быть снята. Если ее установить, Vcc будет включено постоянно и устройство будет работать в штатном режиме, аналогично фирменному прототипу.

Как показала практика, большинство контроллеров корректно программируются без галочки, при замкнутом SA1. Этот переключатель оставлен в схеме исключительно для экспериментальных целей. Если таковые не преследуются, можно левый по схеме вывод C17 просто соединить с «землей». Были протестированы PIC12F629, PIC16F630, PIC16F505, PIC16F628, PIC16F628A, PIC16F73, PIC16F876A, PIC16F877A, PIC16F84A. PIC16F84 без буквы «A» почему-то не входит в список поддерживаемых, но прекрасно программируется, если выбрать PIC16F84A. При программировании некоторых из указанных типов появляются предупреждения об отсутствии напряжения питания или об ошибке самотестирования. К счастью, это только предупреждения, и на них можно не обращать внимания. Просто напряжение Vcc измеряется «не вовремя». Однако, к сожалению, есть и исключения. Например, стирание памяти PIC18F458 при выключенном «Power target circuit from MPLAB ICD2» производится некорректно. Тут уж ничего не поделаешь, придется работать с ним в штатном режиме, манипулируя перед установкой и удалением его из панельки указанной выше галочкой.

Возможности MPLAB ICD2 как отладчика весьма ограничены и особо надеяться на них не стоит. Поэтому детально в этой статье они не рассматриваются. Хотя, кое-что может и пригодиться. Все подробности в указанных выше источниках информации о фирменном MPLAB ICD2. Единственное ограничение — напряжение питания пользовательского устройства должно быть 5в.

В заключение информация о том, где и по какой цене можно приобрести наиболее дефицитные комплектующие для этого устройства, пассивные SMD компоненты можно извлечь из отработавших свой срок компьютерных плат. Все цены актуальны на начало 2006г. Для сравнения приведена стоимость серийно выпускаемых готовых изделий.

ICD2 дебаггер и PIC контроллеры

доступная для повторения версия MPLAB-ICD2 дебаггера (внутрисхемного отладчика — программатора PIC контроллеров серий PIC12F, PIC16F, PIC18F и dsPIC30F) компании Microchip.

COM — версия

ICD2 дебаггер для подсоединения через COM-порт

Целью автора было создание конструкции ICD2 — дебаггера с использованием минимального количества дефицитных деталей, без использования SMD-элементной базы, плату для которого с лёгкостью можно нарисовать от руки. При этом дебаггер является 100% работоспособным и 100% повторяемым в любительских условиях.
Материалы содержат всю необходимую информацию для сборки ICD2 - дебаггера в любительских условиях.

Отличительные особенности ICD2COM — SeVeN дебаггера

  • ЛЁГКАЯ ПОВТОРЯЕМОСТЬ УСТРОЙСТВА В ЛЮБИТЕЛЬСКИХ УСЛОВИЯХ.
  • Внутрисхемная отладка.
  • Пошаговая отладка.
  • Программирование отлаживаемого PIC.
  • Точка останова (BreakPoint).
  • Возможность работы как от собственного источника питания (+5v) так и от источника питания отлаживаемого устройства.
  • Пользовательский интерфейс MPLAB-IDE.
  • Совместимость с Microsoft Windows 95/98/Me/NT/2000/XP.
  • RS232 (COM-порт) интерфейс.
  • Возможность выбора источника питания как для ICD2, так и для отлаживаемого устройства.

Принцип работы

Принцип работы следующий — при программирования устройства на PIC-контроллере к отлаживаемой программе дописывается подпрограмма отладчика ICD, которая получает управление при достижении точки останова или при пошаговой отладке.
Эта подпрограмма передаёт в компьютер состояние ячеек памяти микроконтроллера а так же способна изменять их состояние и изменять режимы работы.
Часть ячеек памяти при этом резервируется для работы подпрограммы отладчика и недоступна для основной программы.

Дла PIC контроллеров серии PIC16F87x это ячейки:

Контроллер
память данных
память программ
PIC16F870/871/872 0x70, 0x0BB. ..0x0BF 0x06E0…0x07FF
PIC16F873/873A/874/874A 0x70, 0x0EB…0x0F0 0x70, 0x1EB…0x1EF
PIC16F876/876A/877/877A 0x0EE0…0x0FFF 0x1F00…0x1FFF

Кроме того, для связи с ICD2-SeVeN (MPLAB-ICD2) дебаггером используются выводы RB6 и RB7 микроконтроллера.

Вариант подключения ICD2-SeVeN к отлаживаемому устройству

при использовании 28-выводной версии PIC:

При использовании 40-выводных контроллеров за распиновкой обращайтесь к докумментации на контроллер (www.microchip.com).

ICD2-SeVeN дебаггер — с чем он работает ?

необходимая программная среда

Работает MPLAB ICD2 под управлением бесплатной универсальной среды разработчика MPLAB IDE, которая доступна на сайте www. microchip.com. ICD2 работает с 32-битными версиями MPLAB IDE 6.xx — 8.xx. Среда имеет удобный графический интерфейс, встроенный менеджер проектов и текстовый редактор с поддержкой выделения операторов и директив цветом, встроенный ассемблер и симулятор. MPLAB IDE работает со всеми отладочными средствами Microchip, в том числе и ICD2 дебаггером.

— ПЕРЕЙТИ К ОПИСАНИЮ КОНСТРУКЦИИ —

Microchip / Hampshire / RTF MPLAB ICD 2 Внутрисхемный отладчик

Запас # 89852-2

Добавить в корзину

Нажмите здесь, чтобы продать свое оборудование!

Возврат:

Политика возврата без проблем.

Лучшие продукты Microchip / Hampshire / RTF

Microchip / Hampshire / RTF TSHARC-12m RS-232 Модуль контроллера сенсорного экрана Microchip / Hampshire / RTF PIC16F873-20/SP-ND 8-битный CMOS флэш-микроконтроллер Keysight / Agilent 44421A 20-канальный релейный мультиплексор Дочерняя плата Mercury Computer Systems PowerPC 7447A RACE++ Одноплатный компьютер Octagon Systems PC-680 Контроллер National Instruments GPIB-USB-HS для USB National Instruments NI 9205 32-канальный модуль аналогового ввода с D-Sub Microchip / Bancomm bc635VME Процессор времени и частоты Abaco Systems / VMIC VMIVME-4514A-300 16-канальная сканирующая аналоговая плата ввода/вывода National Instruments USB-8473 1-портовый интерфейс USB CAN

Клиенты также просмотрели

National Instruments NI 9401 8-канальный модуль двунаправленного цифрового ввода/вывода National Instruments NI 9205 32-канальный модуль аналогового ввода с пружинными клеммами National Instruments PXI-6561 LVDS Генератор/анализатор цифровых сигналов Кабель Keysight / Agilent 10833D GPIB (0,5 м) Аналоговый фреймграббер Teledyne Dalsa PC2-Vision Keysight / Agilent E1418A 16-канальный цифро-аналоговый преобразователь, опц. 003 National Instruments 778647-01 Сменный блок питания и вентилятор для NI PXI-1044/PXI-1045 Релейный модуль National Instruments FP-RLY-420 National Instruments 778644-01 Передний комплект для монтажа в стойку для шасси PXI с 14/18 слотами Abaco Systems / VMIC VMIVME-2131-110 64-битный источник тока/драйвер приемника

Исключительный сервис

Наша миссия

100% удовлетворение

Мы считаем, что опыт бесценен. С более чем 20-летним опыт и лучшие инженеры в штате, мы можем помочь вам решить или избежать проблем, которые угрожают вашему бизнесу.

Гарантированное доверие

У нас есть не только обширный инвентарь, но и наша команда каждая единица оборудования находится в рабочем состоянии. Твой покупки также поддерживаются нашей 90-дневной гарантией ремонта/замены/возврата средств.

Экспертиза

Время – деньги, особенно когда ваше оборудование не работает. Мы работаем быстро чтобы ваше оборудование было в пути, чтобы вы могли восстановить его работоспособность.

Совместимый с MPLAB ICD2 с USB

Описание: PIC-ICD2-POCKET — это самый маленький в мире отладчик и программатор PIC ICD2 с размерами всего 55 x 55 мм (2,16 x 2,16 дюйма) и весом всего 30 г (без кабеля ICSP и упаковка) это маленькое устройство помещается в кармане и его очень удобно носить с собой, когда вы работаете в полевых условиях.PIC-ICD2-POCKET полностью заменяет оригинальный MPLAB-ICD2 от Microchip и с ним вы можете делать все то же, что и с оригинальным MPLAB-ICD2, с той лишь разницей, что MPLAB-ICD2 также имеет RS232, в то время как PIC-ICD2-POCKET работает только через USB.PIC-ICD2-POCKET — это недорогой отладчик и программатор в режиме реального времени для некоторых микроконтроллеров PIC® и dsPIC®. ДСК

Программы можно загружать, выполнять в режиме реального времени и детально исследовать с помощью функций отладки MPLAB. Установите контрольные переменные и точки останова из символических меток в исходном коде C или ассемблера, а также пошагово через исходные строки C или в код ассемблера. PIC-ICD2-POCKET также можно использовать в качестве программатора разработки для поддерживаемых микроконтроллеров. Секрет внутрисхемной отладки заключается в двух выделенных аппаратных линиях (выводы микроконтроллера, используемые только в режиме отладки), которые управляют внутрисхемным последовательным программированием ™ (ICSP ™) устройства, а затем отладкой с помощью проприетарной встроенной прошивки. Функции отладки ICD 2 встроены в микроконтроллер и активируются путем программирования кода отладки в целевом процессоре. Существуют некоторые общие накладные расходы, которые включают один уровень стека, некоторые файловые регистры общего назначения и небольшую область программной памяти.

Особенности:

  • Интерфейс USB (полная скорость 2 Мбит/с) для подключения к ПК
  • Фоновая отладка в режиме реального времени
  • Графический интерфейс MPLAB IDE (последняя версия доступна для бесплатной загрузки с веб-сайта Microchip) монитор перенапряжения/короткого замыкания
  • Обновление микропрограммы с ПК
  • Легкий пластиковый корпус
  • Поддерживает низкое напряжение до 2,0 В. (диапазон от 2,0 до 6,0)
  • Двухцветный светодиод диагностики (занято, ошибка)
  • Зеленый светодиод состояния питания USB
  • Чтение/запись области памяти и областей EEDATA целевого микроконтроллера
  • Биты конфигурации программ
  • Стирание памяти программ с проверкой Документы:

    • Разъем PIC ICSP (вид сверху)
    • MPLAB-IDE — загрузите последнюю версию с веб-сайта Microchip

    Часто задаваемые вопросы:
    В: В чем разница между PIC-ICD2-POCKET и MPLAB-ICD2 (PIC-ICD2)?
    О: Функциональной разницы между ними нет — PIC-ICD2-POCKET на 100% совместим с MPLAB-ICD2.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *