Внутрисхемный программатор-отладчик


Назначение и возможности внутрисхемного программатора-отладчика

     Программатор-отладчик предназначен для программирования контроллера демонстрационного (или другого) устройства и отладки программы в работающей схеме. Используя возможность внутрисхемной отладки (ICD), встроенную в кристаллы микроконтроллеров семейства PIC16F87x, а также протокол внутрисхемного последовательного программирования фирмы Microchip (ICSP), программатор-отладчик – является программатором и внутрисхемным отладчиком одновременно. Он специально предназначен для использования как помощи при ознакомлении и отладке кода в составе лаборатории.

     Программатор-отладчик обладает следующими функциями:

     Модуль программатора-отладчика содержит всю необходимую логику для отладки, программирования и управления. Программатор-отладчик подключается к последовательному (COM) порту ЭВМ с использованием интерфейса RS232. К отлаживаемому устройству он подключается через 5-контактный разъем.

     Модуль программатора-отладчика содержит PIC-контроллер PIC16F876 с прошивкой, обеспечивающей последовательную связь между компьютером и микроконтроллером, находящимся в отлаживаемой плате, и его внутрисхемное программирование по протоколу ICSP. Все это производится под управлением интегрированной среды разработки MPLAB. Модуль питается от напряжения питания отлаживаемой платы с максимальным током потребления 70(мА).


Ресурсы используемые программатором-отладчиком

     Используя функцию внутрисхемной отладки (ICD) встроенную в кристаллы PIC16F87X и функцию последовательного внутрисхемного программирования (ICSP) обеспечиваемые отладчиком, программатор будет использовать следующие ресурсы отлаживаемого кристалла:

Таблица 1 – Память данных и программ, используемая программатором-отладчиком
ПроцессорФайловые регистрыПамять программ
PIC16F870/871/872 0x70, 0х0ВВ…0x0BF 0x06E0…0x07FF
РIС16F873/874 0x70, 0х0EВ…0x0F0 0x0EE0…0x0FFF
PIC16F876/877 0x70, 0х1EВ…0x1EF 0x1F00…0x1FFF


Разработка структурной схемы программатора-отладчика

     Реализовать функции, которыми обладает модуль программатора, можно с помощью соединения типового набора схем. Структурная схема модуля программатора приведена на Рисунке 1.

     Она состоит из следующих блоков:



Рисунок 1. Структурная схема программатора-отладчика.


Разработка принципиальной схемы модуля программатора-отладчика

     Следующим этапом, после составления структурной схемы модуля программатора-отладчика, следует составление его принципиальной схемы. Спроектируем схемы каждого блока в отдельности.

     – Блок преобразования уровней сигналов

     В качестве преобразователя логических уровней передаваемых сигналов, будем использовать микросхему фирмы MAXIM – MAX232. Стандартная схема включения микросхемы представлена на рисунке 2.


Рисунок 2. Стандартная схема включения микросхемы MAX232.


     К основным характеристикам микросхемы относится:

     Параметры конденсаторов C1, …, С5 выбираются равными 1мкФ. Конденсаторы необходимо использовать керамические.

     Работа микросхемы заключается в следующем. Микросхема состоит из двух DC/DC преобразователей напряжения. Первый преобразует напряжение +5В в напряжение +10В, а второй преобразователь инвертирует напряжение +10В, получая тем самым напряжение –10В. Это даёт возможность использовать только один источник питания напряжением +5В. Другая часть микросхемы, используя полученные напряжения, преобразует логические уровни ТТЛ в логические уровни RS232, и наоборот логические уровни RS232 в логические уровни ТТЛ.

     – Блок преобразования напряжения

     Блок преобразования напряжения из 5В в 12В, необходим для получения напряжения программирования микроконтроллера находящегося в демонстрационном устройстве.

     Блок построен по схеме повышающего импульсного стабилизатора напряжений. На его выходе получается напряжение около 21В. Далее по схеме ставится микросхема 78L12, которая представляет собой стабилизатор напряжения на 12В. Схема представлена на рисунке 3.


Рисунок 3. Принципиальная схема блока преобразования напряжения.


     Промоделируем схему преобразования напряжения в пакете MicroCap 7.1

     Алгоритм работы схемы заключается в следующем. На базу транзистора VT3 контроллер в нужные моменты времени формирует импульсы напряжения, отпирающие этот транзистор. В коллектор этого транзистора включена индуктивность L1. В результате самоиндукции, на коллекторе транзистора формируются выбросы напряжения, положительная составляющая которых беспрепятственно проходит через диод VD5 и заряжает конденсаторы С10 и С11. Далее цикл повторяется в такой же последовательности, только с каждым импульсом напряжение на конденсаторах С10 и С11 повышается относительно предыдущего значения.

     Значение индуктивности и ширина/частота следования импульсов подобраны таким образом, чтобы уровень напряжения на конденсаторах C10 и C11 в "холостом" режиме составлял ориентировочно +21В.

     Далее, для преобразования этого напряжения в напряжение программирования (+13,5В) используется микросхема стабилизатора напряжения, с постоянным выходным напряжением +12В, а также цепочка из диода VD6 и резистора R34 осуществляющая "подставку напряжения". Напряжение на диоде VD6 и резисторе R34 составляет около 1,5В.

     На рисунке 4 представлены временные диаграммы в точках 1 и 2 схемы показанной на рисунке 3.


Рисунок 4. Блок формирования напряжения управления режимом работы контроллера демонстрационной платы.


     – Блок формирования напряжения управления режимом работы контроллера демонстрационной платы

     Этот блок предназначен для формирования напряжения управления режимом работы микроконтроллера в демонстрационном устройстве. Принципиальная схема блока представлена на рисунке 5.


Рисунок 5. Принципиальная схема блока формирования напряжения.


     Работа схемы заключается в следующем. Микроконтроллер демонстрационного устройства может находиться в трёх режимах работы: режим сброса, режим нормальной работы контроллера, и режим программирования. В зависимости от необходимости установить контроллер в тот или иной режим работы, на выводе (4), в соответствии с рисунком 5, устанавливается определённое напряжения. Так при сбросе микроконтроллера это напряжение составляет 0В. В нормальном режиме работы, на этом выводе формируется напряжение 5В, а при программировании микроконтроллера напряжение устанавливается в 13,5В.

     Для того чтобы формировать эти напряжения, используем схему на транзисторных ключах.

     Рассмотрим работу схемы более подробно. Выводы (1) и (3) соединены с выводами микроконтроллера программатора-отладчика, RC1 и RC5 соответственно. Вход (2) подключён к выходу блока преобразования напряжения, с которого выходит напряжение 13,5В. На вход (5) подаётся напряжение 5В. На выходе (4) нам и необходимо формировать управляющие напряжения.

     Для формирования напряжение 0В, то есть соединить вывод (4) с общим проводником схемы, на вход (3) необходимо подать логическую “1”, а на вход (1) логический “0”. Транзистор VT4 в этот момент открывается, тем самым закорачивая вывод (4) с общим проводником схемы. В результате этого напряжение на выводе будет составлять 0В.

     Для формирования напряжение 5В, необходимого для нормального режима работы контроллера, на оба входа (1) и (5), подаётся сигнал логического “0”. Таким образом, все транзисторы находятся в закрытом состоянии, а напряжение 5В проходит через диод VD2 и резисторы R26, R27 и далее уже поступает на выход (4).

     Повышение напряжения до уровня 13,5В, осуществляется путём подачи логической “1”, на вход (1). Транзистор VT1 открывается, а следовательно на базу транзистора VT2 подаётся сигнал низкого уровня, тем самым открывая этот транзистор. Далее, напряжение подаваемое на эммитер транзистора, проходит через резистор R27 на выход (4).


     – Блок индикации режима работы

     Схема этого блока очень проста, так же как и функция выполняемая им. В соответствии с рисунком 6, можно отметить что резистор R20 присоединён к выводу микроконтроллера RB2, с которого и осуществляется управление светодиодом VD1.

     Очень важно отметить, что этот блок так же является генератором опорного напряжения. Согласно этому, резисторы и сам светодиод подобраны таким образом, что на светодиоде в момент его свечения образуется падение напряжения равного 2В. Резисторы в схеме подберите с помощью тестера, как можно ближе к номиналу, а светодиод возьмите типа АЛ307А. В результате у меня получилась точность до десятый долей вольта - 2.0В, или даже до сотых - не помню уже.


Рисунок 6. Схема блока индикации режима работы.


     – Составление всей схемы внутрисхемного программатора-отладчика

     Спроектировав все блоки в отдельности, получаем полную схему внутрисхемного программатора-отладчика. Скачать схему в форматах PCad2000 и Visio2000(формат листа А2) можно здесь.

     Ниже на рисунке 7 представлена полная схема внутрисхемного программатора-отладчика.


Рисунок 7. Схема внутрисхемного программатора-отладчика.


Разработка печатной платы внутрисхемного программатора-отладчика

     Спроектировав полную принципиальную схему внутрисхемного программатора-отладчика, проектируем печатную плату. Скачать чертежи платы в форматах PCad2000 и Visio2000(формат листа А2) можно здесь.

     Ниже на рисунках 8 и 9 представлены вид с низу и с верху платы внутрисхемного программатора-отладчика.


Рисунок 8. Печатная плата внутрисхемного программатора-отладчика. Вид с низу.



Рисунок 9. Печатная плата внутрисхемного программатора-отладчика. Вид с верху.


     Сборочный чертёж платы внутрисхемного программатора-отладчика представлен на рисунке 10.


Рисунок 9. Сборочный чертёж платы внутрисхемного программатора-отладчика.


     Переходы между сторонами платы спроектированы таким образом, что бы их легко было реализовать в домашних устловиях. При травлении платы необходимо тщательно проследить, что бы обе стороны были симметричны относительно друг друга. Затем с точках перехода сверлится отверстие и припаивается маленькая проволочка, например одна из жилок многожильного провода. получается очень аккуратно и быстро. Для лучшего понимания сути дела, ниже представлены фотографии собранного программатора-отладчика.


Рисунок 10. Фотография №1 внутрисхемного программатора-отладчика.



Рисунок 11. Фотография №2 внутрисхемного программатора-отладчика.



Рисунок 12. Фотография №3 внутрисхемного программатора-отладчика.



Рисунок 13. Фотография №4 внутрисхемного программатора-отладчика.



Рисунок 14. Фотография №5 внутрисхемного программатора-отладчика.



Рисунок 15. Фотография №6 внутрисхемного программатора-отладчика.


Программное обеспечение программатора-отладчика

     Внутрисхемный программатор отладчик работает в комплексе с программой MPLAB. Версия программы должна быть не выше 5.7, так как в следующих версиях идёт поддержка внутрисхемного программатора-отладчика, способного работать как с контроллерами серии PIC16, так и с контроллерами серии PIC18. Этот внутрисхемный программатор на несколько порядков сложнее, а следовательно и дороже по стоимости.

     Скачать всю необходимую документацию по работе с внутрисхемным программатором-отладчиком можно в разделе документация к схемам стенда.

Дипломное проектирование

     Разработка стенда - это тема моего дипломного рпоекта. Скачать дипломный проект, из которого многие вещи не попали на эти страницы, можно в разделе документация к схемам стенда.

Благодарность

Огромную плагодарность в разработке своей версии программатора-отладчика, хочу выразить - Александру. Часть информации была взята с его сайта http://www.5v.ru/. Многие вопросы, которых вы можете каснуться, рассмотрены в форумах, на этом сайте.


Демченко Александр
г.Новочеркасск
e-mail: prog-leon@narod.ru.

[К разделу Электроника] [На главную] [В начало]



Hosted by uCoz