Наш канал в telegram

Дополнение к программатору RH-0001C для расширения списка программируемых PIC-контроллеров

Те, кто покупал программатор микроконтроллеров и микросхем памяти RH-0001C (или собирал его аналог), — знают, что он позволяет программировать только те модели микроконтроллеров PIC, которые поддерживают алгоритм перевода в режим программирования, известный как «Vpp-first». Алгоритм перевода в режим программирования, известный как «Vdd-first» программатором не поддерживается.

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

Вместе с тем, большое количество моделей PIC-контроллеров (особенно старых), типа PIC16F84A или PIC16F877 поддерживают только алгоритм «Vdd-first».

Ограниченность функционала программатора RH-0001C связана с тем, что он не умеет управлять линией Vpp. Предложеная в этой статье схема позволяет решить указанную проблему и расширить функционал программатора RH-0001C таким образом, чтобы стало возможным программировать с его помощью PIC-контроллеры, поддерживающие только алгоритм «Vdd-first».

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

Итак, ниже представлена схема на двух транзисторах, которая позволяет переделать управление таким образом, чтобы сигнал Reset1 разъёма XT2 управлял линией Vpp. В этом случае вместо Vpp неуправляемой станет линия Vdd, но это в данном случае не важно.

Vdd для питания контроллера можно взять с соседнего разъёма XT3 программатора или вообще использовать штатное питание, если используется внутрисхемное программирование.

схема для расширения функционала программатора rh-0001c

Транзисторы можно взять любые маломощные с UКЭ max больше 12 Вольт. Номиналы резисторов тоже можно менять в довольно широких пределах (по хорошему их нужно пересчитывать в зависимости от коэффициента усиления транзисторов).

Скачать печатную плату (DipTrace 3.2.0.1)

При этом в программе никакие линии дополнительно инвертировать не нужно, поскольку после двойного инвертирования транзисторами дополнительной схемы логика сигнала останется такой же, какой и была. То есть при высоком уровне на линии Reset1 получится высокий уровень сигнала Vpp, а при низком уровне на линии Reset1 получится низкий уровень Vpp.

Схема испытывалась с микроконтроллером PIC16F877 и программой IC-Prog 1.05D. Ниже под спойлером представлен фотоотчёт проведённых испытаний.

Кликните, чтобы посмотреть фото

программирование PIC16F877 при помощи RH-0001C с дополнительной схемой

программирование PIC16F877 при помощи RH-0001C с дополнительной схемой

программирование PIC16F877 при помощи RH-0001C с дополнительной схемой

[свернуть]

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