САЙТ ВОЛГОГРАДСКИХ РАДИОЛЮБИТЕЛЕЙ RA4A...

САЙТ РАДИОЛЮБИТЕЛЕЙ ВОЛГОГРАДА


Схема очень простого программатора 16F84.


| Главная |

 

 Схема программатора PIC 16F84. Доработка UA4AEU.

Статью можно обсудить здесь: Форум


Предлагаю Вашему вниманию доработанную схему программатора PIC-контроллеров 16F84. ( и, не только их!). Ну, очень подробно!..

    Особенности схемы,-отдельное питание от выпрямителя. ( Не ниже 13.5V, иначе не будет происходить записи в ячейки памяти!!!  Читать будет.). Длина кабеля от программатора до компьютера не должна превышать 1метра. Не устанавливать никаких конденсаторов (кроме сглаживающих на входе стабилизатора ЕН5 200.0Х25V, и на выходе 20.0Х25V. по необходимости). Для 16F84 должна быть предусмотрена панелька ( желательно и для КР155ЛН3,- попадаются плохие экземпляры!).

Назначение входов-выходов программатора (порт LPT1 компьютера):

      DATA0-ножка 2- DATA IN -ВВОД ДАННЫХ в контроллер (далее смотри на стрелки,-направление прохождения импульсов). 

      DATA1-ножка 3-CLK (тактовые импульсы)

      DATA3-ножка 5-ON V PROG (включение напряжения программирования PICa)

      ACKNLG-ножка 10-DATA OUT (выход данных при чтении ячеек контроллера)

      0V-ножки-18-25- GND-( общий провод).

Слепили-спаяли? Теперь настройка!

     PIC-контроллер пока не устанавливать! К компьютеру не подключать! (если, конечно не жалко -Hi! ). Включаем питание +13.5V, контролируем ток потребления устройства (если резко больше 30 МА.- ищем причину), контролируем напряжение на входе КРЕН5 и на эмиттере КТ814- должно быть 13.5V (меньше "низзяя"!) .На выходе КРЕН5  и на 14 ножке панельки 16F84- +5V.(измерять непосредственно на панельке! Относительно вывода 5 GND.) Проверить питание КР155ЛН3 ( +5V на 14-ой ножке относительно 7ой ножки D1). Получилось? Отлично! Тогда дальше! Измерим уровни на 1-ой, 9-ой, 10-ой ножках КР155ЛН3, - должен быть высокий уровень (4-5V  т.е. "единица"). Временно соединяем выв.5 разъёма с GND - на выв.1DD1 будет "ноль", а на коллекторе VT1 и выв.4 PICa-примерно 12,6V ( если нет - то подберём резистор R4 - зависит от экземпляра транзистора,-у меня получилось 3КОм). Теперь подадим "ноль" на выв.2 разъёма -на выв.9 и 10 DD1 и на выв.10 разъёма - "ноль". На выв.13 PICa- "единица". Подаём "ноль" на выв.13 DD1- на выв.12 DD1 и выв.12 PICa будет " единица". Отключив 13,5V. устанавливаем в панельку 16F84. Включаем и контролируем потребляемый ток. Всё ОК? Не буду напоминать, что вся конструкция должна быть надёжной и аккуратной!

     Кто боится за свой компьютер,- рекомендую установить три диода ( КД522 или аналогичных) в разрыв проводов DATA IN, ON V PROG, CLK .  (- смотри направление стрелочек!) Не повредит и контроль светодиодами напряжений 13,5V и 5V. 

        Теперь о программном обеспечении. 

   Я использую IC-Prog 1.04. ( Можно "скачать" последнюю версию на  IC-Prog     ). Запускаем, выбираем вверху справа 16F84.  Нажимаем "НАСТРОЙКИ" "ПРОГРАММАТОР" и выбираем "ProPic 2 Programmer", порт LPT1, "прямой доступ к портам", "задержка ввода- вывода 10". В "параметрах сигнала" - галочки в четырёх пунктах кроме " ИНВЕРСИЯ VCC" (т.к. все сигналы с LPT инвертируются схемой программатора! Учтите это при программировании других микросхем!),  жмём-  "OK".

    Нажимаем "НАСТРОЙКИ" "ОПЦИИ" "ПОДТВЕРЖДЕНИЯ"- галочки-"при программировании" и "стирании".   "программирование"-галочка-"проверка после программирования". "ЯЗЫК" --"РУССКИЙ".   "ОК".  Настроили!

    Подключаем Вашу конструкцию к компьютеру включаем питание. Дыма не видно? Тогда поздравляю! ( Hi-Hi). Пробуем "прочесть"  PIC. Перед записью стираем микросхему. Читаем.

    Нажимаем "ФАЙЛ" "ОТКРЫТЬ ФАЙЛ" и загружаем требуемую прошивку в буфер .(Не забывайте,- файл должен быть с расширением .hex.-- Абракадабра в шестнадцатиричном виде. ( Можете редактировать или написать свою программу! ). Всё верно! Вот теперь жмём кнопку с "молнией"! (программировать микросхему)!--- Программируется и проверяет результат. Подсказки перед Вами!

     Не забывайте включить поддержку драйвера win2000. (если это необходимо!  В настройки/опции/общие, и перед этим в свойствах файла /совместимость/win2000.).

     Или скачайте драйвер:  IC-Prog NT/2000 driver

Всё нормально? Поздравляю!!! Вы наикрутейший программист!!! Но это не всё! На этом PICе ещё необходимо собрать схему! Уверен,- Вы сможете!!!

         С уважением, - Ходыкин Илья Анатольевич. UA4AEU.


Вопрос-ответ...

 

ВОПРОС:  ... на днях собрал программатор 16F84 по вашей схеме, проверил как написано все по каждому логическому элементу, даже припаял светодиоды на +13,5 и на включение записи (после кт814, естественно через резисторы по 3,3к ). Поставил PIC, проверил ток = 43мА (вроде нормально с учетом светодиодов). Подключаю к LPT  компа, и сразу загорается светодиод записи. Подскажите что делать. (Комп - Селерон 2000 гГц, 512, МВ- DUAL CHANAL,)  И еще при запуске программы ic-prog 1.04 - выскакивает окно Privileged instruction.  Что это значит???...

ОТВЕТ:  нужно было включить поддержку драйвера win2000 в настройки/опции/общие и перед этим в свойствах файла /совместимость/win2000. Теперь сообщений не выскакивает...

  Или скачайте драйвер:  IC-Prog NT/2000 driver

В версии IcProg-1.5настроить программу, войдя в меню "НАСТРОЙКА"- "ОПЦИИ"- "ОБЩИЕ"- поставить "галочку" Вкл. NT/2000/XP драйвер, нажать "ОК".


ВОПРОС: ... светодиод на запись работает, но загорается он как при записи-стирании, так и при чтении?? непонятно. (Я пробовал при чтении отключать 1 ножку ЛН3, чтоб неоткрывался транзистор. Похоже не читает микросхему. В любом случае при проверке все ячейки 3FFFF FF.

Может быть я спалил контроллер? (как можно его проверить) у меня на него шло напряжение 14,5 В. (сразу не проверил)  Да, у меня кр142ен5 выдает 4,9 вольт, может этого мало для программирования.

Может на материнской плате под Пентиум4 разводка LPT1 порта должна отличаться (интересует вывод 10)?

Вообще какие сигналы и на какие вывода контроллера должны подаваться для записи, стирания, программирования? (сигнал CLK и ONVprog)

Спасибо...

 

ОТВЕТ: ... Проверить контроллер можно только "прошивая" его и, потом прочитав данные.

(Перепрограммируется многократно.)

Контролируйте напряжение непосредственно на 4-ой ножке. ( не менее 12.6V. до 13.7V )

( Происходит падение на транзисторе).

На 14-ом выводе должно быть не менее 5.4V.

Все проверки производите без контроллера!!!

Разводка LPT одинакова.

 Назначение входов-выходов программатора (порт LPT1 компьютера):

 

      DATA0-ножка 2- DATA IN -ВВОД ДАННЫХ в контроллер (далее смотри на стрелки,- направление прохождения импульсов).

 

      DATA1-ножка 3-CLK (тактовые импульсы)

 

      DATA3-ножка 5-ON V PROG (включение напряжения программирования PICa)

 

      ACKNLG-ножка 10-DATA OUT (выход данных при чтении ячеек контроллера)

 

      0V-ножки-18-25- GND-( общий провод).

 

  Давайте разберемся как работает контроллер.

  1. Программа подаёт на выв.13 ( через выв.2 LPT, на 9выв. ЛН3 - и с 8- го выв. ЛН3- на 13 выв. контроллера) пакет последовательных данных (это команда контроллеру перейти в режим приема данных с последующей передачей этих данных в ячейку с определенным адресом).

  2. на выв.13 ( тем же путем)приходит пакет самих данных ( данные для записи в одну ячейку) , например - FF ( в двоичном коде - 1111 1111 ). Одновременно происходит прожиг. (Через КТ814 ).

  3. На выв. 13 приходит команда контроллеру прочесть эту ячейку. Контроллер выдает данные, записанные в этой ячейке ( у нас 1111 1111 ) последовательно через выв. 13, но уже по цепочке - 11-й выв. ЛН3- далее 10-й выв. ЛН3, и далее на 10 выв. разъема LPT в компьютер, который проверяет, правильно ли записались данные в эту ячейку.

  4. Далее цикл повторяется, пока все ячейки не будут заполнены. После чего происходит чтение всех ячеек для проверки.

 

 Все процессы по времени разбиты на такты ( Для этого служат тактовые импульсы).

 Всё происходит очень быстро, и проконтролировать светодиодом при программировании невозможно. Более подробно о работе контроллера можно прочесть здесь, но это не так уж необходимо.

 

  С напряжениями разобрались. Проверьте работу программатора без компьютера и контроллера.

 1. Подаем ноль на выв.2 разъема LPT. - На выв.8 ЛН3 должна быть единица, ( на выв.13 контроллера- единица) на выв.10 ЛН3 будет ноль и далее будет ноль на выв.10 LPT.

 2. Теперь ноль подаем на выв.3 разъема LPT - на выв.12 ЛН3 будет единица. (на 12выв. контроллера - единица).

 3. На выв.5 разъема LPT подаем ноль,- на выв.2 ЛН3 будет единица,- на выв.4 ЛН3 будет ноль.  На коллекторе транзистора единица (не менее 12.6V !!!), и на выв.4 контроллера будет 12.6V.

 4. Ничего не подаем на разъем LPT. На выводах контроллера: выв.4 будет ноль; выв.12 - ноль; выв.13 - единица. ( и, конечно же 5.5V на выв.14).

 Ноль. Я просто замыкаю пинцетом на минус.

Если все пункты проверены и сигналы в норме,- "железо" полностью работает.

 

 Можно установить контроллер в панельку (светодиод контроля прожига убрать!) и пытаться программировать.

 Внимательно просмотрите настройки программы.

 Запускаем IC-Prog, выбираем вверху справа 16F84.  Нажимаем "НАСТРОЙКИ" "ПРОГРАММАТОР" и выбираем "ProPic 2 Programmer", порт LPT1, "прямой доступ к портам", "задержка ввода- вывода 10". В "параметрах сигнала" - галочки в четырёх пунктах кроме " ИНВЕРСИЯ VCC"  "OK".

    Нажимаем "НАСТРОЙКИ" "ОПЦИИ" "ПОДТВЕРЖДЕНИЯ"- галочки-"при программировании" и "стирании".   "программирование"- галочка- "проверка после программирования".

 Можно прослушать с помощью высокоомного наушника (через разделительный конденсатор 0.1 ) сигналы данных и тактовые в момент работы программы.

(Это грубая проверка работы порта компьютера).

 Всё должно получиться. ( Если только PIC "живой").  UA4AEU.


ВОПРОС:   Есть ли другие схемы программаторов?

ОТВЕТ:   Конечно же, - их великое множество: Смотри здесь!


ВОПРОС: что ещё можно прошить?

ОТВЕТ:  все сигналы с LPT инвертируются схемой программатора! Учтите это при программировании других микросхем! Смотрите, какие выводы микросхемы инверсные, а какие нет. Соответственно настраивайте  IC-Prog   программу.

Microchip PIC devices:

12C508, 12C508A, 12C509, 12C509A, 12CE518, 12CE519
12C671, 12C672, 12CE673, 12CE674
12F629, 12F675
16C433
16C54, 16C56, 16C58
16C61, 16C62A, 16C62B, 16C63, 16C63A, 16C64A, 16C65A, 16C65B, 16C66, 16C67
16C71, 16C72, 16C72A, 16C73A, 16C73B, 16C74A, 16C74B, 16C76, 16C77
16F73, 16F74, 16F76, 16F77
16C84, 16F83, 16F84, 16F84A
16F88
16C505
16C620, 16C620A, 16C621, 16C621A, 16C622, 16C622A
16CE623, 16CE624, 16CE625
16F627, 16F628 Подключить PGM к GND!
16F628A, 16F648A
Подключить PGM к GND!
16F630, 16F676
16C710, 16C711, 16C712, 16C715, 16C716, 16C717, 16C745, 16C765
16C770, 16C771, 16C773, 16C774, 16C781, 16C782
16F818, 16F819
16F870, 16F871, 16F872, 16F873, 16F874, 16F876, 16F877
 Подключить PGM к GND!
16F873A, 16F874A, 16F876A, 16F877A
 Подключить PGM к GND!
16C923, 16C924
18F242, 18F248, 18F252, 18F258, 18F442, 18F448, 18F452, 18F458
Подключить PGM к GND!
18F1320, 18F2330, 18F4320, 18F6620, 18F6720, 18F8620, 18F8720
  Подключить PGM к GND!

и многое другое, только обязательно учитывайте цоколёвку микросхем, питание, входы и выходы ( инверсные или нет.) и т. д.

UA4AEU.


ВОПРОС:  можно ли "прошить 16F628?

ОТВЕТ: 

   Контроллер 16f628 является более "продвинутым" аналогом 16f84а, сохраняя программную совместимость с ним. Среди усовершенствований 16f628 имеет "режим низковольтного программирования" (LVP), и по умолчанию (после команды стирания) контроллер находится именно в нем. Запрограммировать его в таком состоянии по стандартному (12в.) протоколу не удастся. Выхода из этой ситуации два :

При работе с программатором  - не забываем устанавливать "Инверсия данных ввода".

 


ВОПРОС:  можно ли "прошить 24сХХ?

ОТВЕТ:   соберите переходник:

 

Переходник для 24cXX

24cXX
  • При работе с микросхемой через переходник необходимо установить параметр "Инверсия MCLR"
  • Транзистор можно заменить на аналог - кт3107б

ВОПРОС: как пользоваться переходником (адаптером)?

ОТВЕТ:  при разработке печатной платы программатора желательно предусмотреть разъём, и подвести к нему сигналы:

 и, в дальнейшем, подключать к нему адаптеры.

UA4AEU.  73!


ВОПРОС:  где найти печатную плату?

ОТВЕТ:  печатная плата программатора:

Внимание:

 

Печатная плата в формате .lay    Скачать,   распаковать и открыть при помощи программы Sprint Layout.

ua4aeu. Успехов!


Статью можно обсудить здесь: Форум


73!

Используются технологии uCoz