Как запрограммировать PIC12?

У меня есть PIC12F675, который мне нужно запрограммировать. Я использую Pickit 2 и программное обеспечение Pickit 2. Предположительно, я должен быть в состоянии запрограммировать его, используя эту схему , но программное обеспечение Pickit 2 вообще не обнаруживает чип.

схема

Что происходит не так?

РЕДАКТИРОВАТЬ: я добавил изображение моей макетной платы. А вот где вы можете найти техническое описание PIC12F675. Перейдите на страницу 4 для распиновки.

Макет

РЕДАКТИРОВАТЬ 2: я только что посмотрел на чипы (тупой, но я как бы предполагал, что mouser отправит мне то, что я заказал), и я заметил, что они на самом деле PIC12C671. Насколько это изменит ситуацию?

Окончательное РЕДАКТИРОВАТЬ: Вау! Спасибо всем, кто помог мне в этом! Я не ожидал такого ответа. Это оказалось маленькой глупой проблемой, как я и думал. Это была моя вина, что я не проверил все дважды, когда получил посылку от Mouser.

Вы уверены, что ваша схема исправна, питается, имеет развязывающие конденсаторы, подключена к компьютеру?
У меня на него подается 5 вольт, и он подключен к моему компьютеру. Похоже, я упустил из виду развязывающие конденсаторы. Окажет ли это такое большое влияние на трассу?
Вероятно, нет, но вы не хотите тратить неделю на развязывающий конденсатор, который можно добавить за минуту.
Итак, я добавил их. Pickit говорит: «Неподдерживаемая часть» (ID = 0500).
12F675 поддерживается PICkit 2 и MPLAB.
IS поддерживается или нет?
Vdd на разъеме ICSP должен быть подключен к +5В.
Размещение изображения схемы может помочь ...
@Leon: нет, в этом случае PIC питался от другого источника. Виллем также пытался запитать PIC от pickit2, но безрезультатно.
Ваш развязывающий конденсатор должен быть помещен непосредственно на контакты PIC, а не на шину питания из-за индуктивности проводов. Это может быть не ваша проблема, но перемещение этих заглавных букв ничего не стоит...

Ответы (3)

Возможная проблема заключается в том, что некоторым PIC требуется перезагрузка , чтобы войти в режим программирования. Это особенно необходимо для 12F675, когда слово конфигурации в вашем приложении настраивает вывод MCLR как GPIO.

Когда pcikit2 питает ваш целевой чип, он обеспечивает цикл питания. С независимым + 5V, который вы подаете, он не может этого сделать.


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

  • не могли бы вы подключить два pickit2? (Да, я однажды сделал это и был ошеломлен тем, что приложение pickit2 выбрало не тот, к которому был подключен PIC. Я также однажды потерял час, когда у меня было два целевых провода PIC параллельно. Это дает очень странные результаты, когда они оба передают идентификатор своего чипа программатору.)
  • Pickit2, который вы используете, подключен к ПК, который вы используете? (Я провожу уроки PIC, и студенты могут проявить творческий подход к тому, чей ноутбук подключается к чьему PIC)
  • и у pickit2 и у чипа правая сторона круглая? Изображение pickit2 видно сверху (там, где кнопка и светодиоды).
  • чип действительно 12F675? (Однажды я целый день пытался заставить работать аналого-цифровой преобразователь 12F629 - для не-гуру PIC: это более дешевый брат 12F675, он дешевле, потому что у него нет аналого-цифрового преобразователя ).
  • Провода точно такие, как вы их показываете, не перепутаны? А они случайно не сломались? Если вы используете макетную плату без пайки: она по-прежнему соединяет все контакты?
  • Версия прошивки в pickit2 соответствует версии вашего ПК? может перезалить прошивку для 100% уверенности.

В ответ на ваш EDIT2: ROFL, проверьте мой пункт 4. PIC12C671 — это совершенно другой чип, и буква C означает, что это чип EPROM (одноразово программируемый), который не поддерживается pickit2.

Я попытался включить его от самого PICKit, и он все еще не работает.
:( Спасибо за помощь! Как я уже сказал, я предполагал, что Mouser прислал мне нужные чипы. Моя вина, что я не проверил все дважды, прежде чем начать. Еще раз спасибо!
Как я говорю своим ученикам: не стесняйтесь ошибаться в первый раз. Но больше никогда.

Программатор PICkit2 должен работать как есть с вашей стороны без каких-либо заголовков. (Отладка — это совсем другое дело.)

Помимо предложенного совета по развязывающему конденсатору, учтите следующее: большинству (всем) устройствам PIC требуется подтягивание 10 кОм от _MCLR к VDD. Попробуйте добавить это и посмотрите, что произойдет.

Поддержка PICkit2

Вот пример подключения с плаката по настройке PICkit3. (Распиновка у PICkit2 и PICkit3 идентична, так что информация актуальна на 100%.)

Диаграмма ISCP

Вы можете видеть, что контакты программатора с 1 по 5 должны быть подключены к вашей схеме. В вашей схеме отсутствует соединение VDD Target с контакта 2. Попробуйте подключить его и разрешить PICkit2 подавать питание на схему.

Отсутствие резистора на MCLR не помешает PICkit запрограммировать устройство. Однако это может остановить запуск программы.
Я добавил подтягивание и убедился, что в MPLAB выбрано правильное устройство. До сих пор нет кости.
@LeonHeller Я основал свое заявление о _MCLR на плакате PICkit3, на котором показано подтягивание _MCLR при «правильном» способе подключения.
@Madmanguruman Хотел бы я, чтобы он не был подключен именно так, но я проверил с помощью таблицы данных, и все соединения верны.

PICKit2 поддерживает ваше устройство ( источник ). Это означает, что что-то не так с вашей настройкой. Есть некоторые вещи, которые вы можете проверить:

  • Есть ли проблема со связью с PICKit? Нет, в этом случае вы получите сообщение об ошибке, что средство ICSP не может быть найдено.
  • Проблема в схеме с чипом? Возможно . Вы должны проверить свою схему, добавить развязывающие конденсаторы, если это еще не сделано. Все контакты VDD и VSS должны быть подключены, а также контакты разъема ICSP. Также проверьте блок питания: все ли в порядке?
  • Есть ли проблема с программным обеспечением? Скорее всего , я бы сказал. Вы выбрали правильный чип в MPLAB? Можете ли вы запрограммировать другие чипы с такой же настройкой?
Я все это проверил. Добавлены развязывающие колпачки и подтягивающий резистор MCLR. Я использую программное обеспечение PICKit2 v2.61 для программирования чипа вместо MPLAB. Хотя я попробовал то, что вы сказали в MPLAB. Я получаю эту ошибку, когда пытаюсь подключиться к чипу. Убедитесь, что PIC12F675 правильно установлен в приложении.
@WillemEllis Очень хорошо. Я подумал о другом: вы подключили все контакты Vdd и Vss микросхемы? Также проверьте, подключен ли PGC к PGC, а не к PGD - в последнее время это доставляло мне некоторые проблемы.
@WillemEllis есть прогресс в этом?
извините, что так долго не мог вернуться к вам. К сожалению нет. Я разговаривал со своим профессором, и он тоже не мог этого понять. Я убедился, что все подключено, как в схеме, где PGD и PGC идут к правильным контактам. Все еще не повезло.
Если вы уверены в хорошем соединении, попробуйте другое устройство или другой PICkit2.
@WillemEllis, это хорошая идея от Madmanguruman. Чтобы убедиться, что чип/программатор не сломан. После этого, боюсь, я тоже понятия не имею. Возможно, изображение установки, чтобы проверить схему и т. Д., Но ничего блестящего не выходит.
@WillemEllis неважно, см. редактирование Воутера ван Оойена в его ответе. Ваш чип нельзя перепрограммировать!
PICkit 2 изначально не поддерживает ваше устройство. Однако этот замечательный PICkit- (PICkitminus) был обновлен для поддержки всевозможных устройств! kair.us/проекты/pickitminus