Программатор "PROGOPIC2" для PIC-контроллеров и микросхем памяти: I2C и Microwire, с питанием от батареек

Небольшая модернизация программатора PROGOPIC, в результате которой появилась возможность программировать не только PIC-контроллеры серий PIC12, PIC16, но и микросхемы памяти I2C (серии 24Cxx: 24С02, 24С08, 24С16 и т.п.) и Microwire (93Cxx: 93C06, 93С46 и т.п.)

Программатор состоит из базового модуля (основная и главная часть программатора) и специальных модулей расширения, предназначенных для программирования отдельных типов микросхем. Модули расширения подключаются к базовому с помощью восьмижильного шлейфа. Пока специальных модулей только два: один для программирования контроллеров PIC, а второй для программирования микросхем памяти.

Кроме того, теперь прямо в базовый блок программатора встроен dc/dc преобразователь, построенный по топологии sepic, что делает возможным питание программатора от 3-х, 4-х батареек AA, от кроны, от автоаккумулятора или от любого другого внешнего источника, способного выдать 4-13В и мощность около 2 Вт. Этот преобразователь формирует стабильное напряжение программирования +13,5В, а также запитывает линейный пятивольтовый стабилизатор LS7805, от которого питается остальная часть схемы.

Наличие внешнего питания обеспечивает этому программатору следующие преимущества:

1) возможность очень точно задавать требуемое напряжение программирования (важно для некоторых моделей PIC);

2) программатор не перегружает COM-порт и может работать даже с теми портами, напряжение на которых сильно занижено вследствие некоторой прожаренности или которые изначально не соответствуют спецификации RS-232 (на большинстве ноутбуков и вообще на многих современных компьютерах напряжение на COM-порту менее 10 Вольт).

3) программатор может работать с PCI-ными платами расширения COM-портов и с преобразователями интерфейсов USB to COM.

Схема:

Схема программатора "Progopic"

Детали и описание работы:

L1, L2 — индуктивности по 200 мкГн
С1 — конденсатор 220 мкФ х 16В
С2 — керамический конденсатор 10 мкФ
С3 — керамический конденсатор 330 пФ
С4 — конденсатор 220 мкФ х 25В
R1 — резистор 180 Ом
R2 — резистор 10 кОм
R3 — резистор 1 кОм
R4 — ограничительный резистор 1,5 кОм
D1 — диод Шоттки на ток до 0,8-1А или выше.
D2 — светодиод для индикации питания.

Все конденсаторы, которые есть на разведённых платах, но не отмечены на схеме, — это керамика на 0,1 мкФ. Все резисторы на платах модулей расширения — 1 кОм.

Основной частью базового модуля является микросхема GD75232, выпаянная из старой материнской платы. Она занимается развязкой линий порта и преобразованием уровней RS-232 <-> TTL. Остановимся на этой микрухе по-подробнее. Микруха имеет 5 приемников (преобразуют уровни RS232 в TTL) и 3 драйвера (преобразуют TTL в RS232). Для работы ей требуется аж 3 напряжения: +12В, +5В и -12В. Однако, вся фишка заключается в том, что схемы драйверов и схемы приёмников у этой микрухи абсолютно никак между собой не связаны. Поэтому смело можно заземлить те ноги, которые отвечают за драйверы (+12В, -12В, входы и выходы драйверов) и использовать только приёмники. Для работы схемы приёмников нам достаточно однополярного питания +5В. Можно использовать любой клон этой микросхемы (всё, что с маркировкой 75232). Вероятнее всего, можно также использовать микросхемы 75185. Схемы их внутреннего устройства я не нашёл, но, судя по описанию, они с 75232 братья близнецы.

Правильный алгоритм подачи напряжений обеспечивается микросхемой стандартной логики 74HCT00 (2И-НЕ), которых также полно на старых материнках. Один вентиль используется для формирования управляемого линией Tx напряжения питания VddTx. У других вентилей одна нога соединена с выходом, на котором формируется напряжение питания, а на вторую ногу подаётся сигнал Clock или Data. Таким образом вентили начинают пропускать сигналы Clock и Data только после того, как появится питание +5В. Кроме того, здесь же формируется ещё один управляемый линией Tx сигнал, но инверсный относительно VddTx (для будущих разработок). Вместо 74HCT00 можно взять 74ACT00.

Я успешно программирую этим программатором контроллеры PIC12F629, PIC16F628A и микросхемы памяти 24C02, 24C08, 93C46. В принципе, этот программатор (в представленном варианте) должен программировать любые контроллеры, для которых подходит алгоритм перевода в режим программирования «Vpp-first». Справочные данные о том, какие контроллеры какой алгоритм поддерживают, можно найти здесь.

При программировании EEPROM 24Схх перемычка на «модуле расширения для программирования микросхем памяти» должна быть замкнута, а при программировании EEPROM 93Cxx — разомкнута.

Готовый девайс:

программатор PROGOPIC

Скачать печатные платы (DipTrace2.0)

Программы для прошивки контроллеров, можно скачать в подразделе "Полезные программы для ПК". При прошивке выбрать тип программатора JDM.

Как сделать свой вариант JDM-программатора для PIC-контроллеров

Если лень или некогда собирать — Вы можете заказать недорогой универсальный программатор прямо у нас на сайте

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