Программатор "Extra-PIC+" или разширеные возможности часть 2
Помниться я выложил статью про этот программатор,вот тута Один из главных вопросов, встающих перед радиолюбителем, начинающим осваивать микроконтроллеры, это – выбор программатора. Когда автор занялся освоением микроконтроллеров PICmicro фирмы "Microchip Technology Incorporated", и у него возникла данная проблема, были рассмотрены несколько вариантов. Хотелось найти оптимальный, по показателю универсальность - простота схемы - надёжность. "Фирменные" программаторы и их аналоги были "вычеркнуты" в связи с довольно сложной схемой, включающей в себя те же микроконтроллеры, которые необходимо программировать. То есть получается "замкнутый круг": что бы изготовить программатор, необходим программатор. К тому же, "прошивки" к таким устройствам, как правило, не лежат в открытом доступе. Получивший широкое распространение программатор "Pony-prog", представляет очень простую схему, с питанием от ком-порта компьютера, в связи с чем, на форумах, в Интернете, очень часто появляются вопросы по сбоям при программировании того, или иного микроконтроллера. От так называемых "параллельных" программаторов было решено отказаться в связи с недостатком информации. В результате, выбор был остановлен на модели "Extra-PIC", распространяемой сайтом "5 Вольт".
Напомню, что данный программатор питается от внешнего источника, содержит буферный узел для согласования с ком-портом на микросхеме MAX232, и предназначен, не только для программирования микроконтроллеров PICmicro, но и некоторых микросхем "последовательной памяти". Работает он под управлением программы "IC-Prog" (а также "PonyProg" и "WinPic800"), которая распространяется совершенно бесплатно, что имело немаловажное значение, при выборе модели программатора (о настройке программы рассказано на том же "5 Вольт").
Однако, при более детальном изучении схемы, был выявлен и недостаток. Хочу привести цитату из статьи Н. Хлюпина "Два универсальных программатора", опубликованную в журнале "Радио" 2006-6-28:
"… известны два способа перевода микроконтроллеров PICmicro в режим программирования:
- при включённом напряжении питания Vcc поднять напряжение Vpp (на выводе -MCLR) от нуля до 12В
- при выключенном напряжении Vcc поднять напряжение Vpp от нуля до 12В, затем включить напряжение Vcc…
… Первый - в основном для приборов ранних разработок…
… во-вторых, он накладывает ограничения на конфигурацию вывода -MCLR, который в этом случае может служить только входом сигнала начальной установки…
… так как во многих микроконтроллерах предусмотрена возможность превратить этот вывод в обычную линию одного из портов…"
Оригинал в/у программатора работает только в первом режиме. Что бы иметь возможность работы во втором режиме, в устройство добавлен узел на транзисторах Q3, Q4 (нумерация элементов продолжает нумерацию оригинала).
Он аналогичен узлу на транзисторах Q1, Q2, и включается в разрыв линии связи вывода IN стабилизатора U2 и источника питания (вывод "+" C1, вход IN стабилизатора U1, эмиттер Q1, резистор R2). Благодаря наличию конденсатора C10, открытие транзистора Q3, а, следовательно, и Q4 происходит с задержкой, относительно Q1-Q2. Соответственно и напряжениеVcc будет подано позжеVpp. Диод D6 служит для быстрой разрядки конденсатора C10, при низком уровне сигнала на 3-м контакте разъёма X1. Номинал C9уменьшен до 47 пФ, для уменьшения влияния на процесс включения-выключения Vcc. Светодиод D7индицирует подачу напряжения Vcc.
Кроме того, в доработанный вариант программатора добавлен блок питания, включающий в себя: трансформатор T1 (ТПГ-2, с напряжением вторичной обмотки 15 вольт), предохранитель FU1, четыре диода выпрямительного моста D8-D11 (типа КД241) и выключатель SA1, во вторичной цепи трансформатора. В связи с чем, за ненадобностью, из схемы удалены элементы: X2, J1, D1, C7, C8, J2 (постоянно в положении 2-3). Номинал C1увеличен до 470 мкФ, так как он теперь является сглаживающим фильтром блока питания.
Печатная плата разработана, для бескорпусного исполнения программатора, и предназначена для крепления на жёсткой подставке-основании (в авторском варианте – фанера толщиной 4 мм).
ВНИМАНИЕ! Если не планируется изготавливать какой-то защитный корпус, то, при сборке деталей блока питания, следует уделить особое внимание требованиям электробезопасности, что бы максимально исключить случайное прикосновение, в процессе эксплуатации, к высоковольтным цепям. Удалён разъём D-SUB, для связи с ком-портом компьютера. Кабель припаивается непосредственно на плату программатора. Диоды 1N4148 заменены на КД522.
печатку скачать можно тут это авторский вариант Разъём ICSP (X3) – IDC-10M, аналогичный применяемым на компьютерных "материнских" платах. Назначение выводов:
Pin
Description
1
Vdd
3
Clock
5
Data
7
PGM
9
Vpp
2,4,6,8,10
Vss
На основании обобщённых данных, было сделано несколько вариантов подключения программируемых микросхем, в зависимости от исполнения корпуса (адрес для микросхем EEPROM – 0). Однако не исключены и другие варианты "распиновок", для данных корпусов. Поэтому, перед программированием обязательно уточните назначение выводов конкретно используемой микросхемы!
Ну и далле повторюсь Для экономии места, панельки, под программируемые микросхемы, скомбинированы.
Переключение режимов программирования производится джампером J3.
J3
Mode
1-2
Mode 1
2-3
Mode 2
* - Статья опубликована в журнале "Радио" 2007-08-24 Нумерация элементов отличается Rev 3.1. (Авторский вариант)*
Дальнейшая доработка позволила помимо МК PIC-micro, программировать и МК фирмы "Atmel", использующие интерфейс ISP.
Для этого, в программатор добавлен узел на транзисторе Q5, формирующий сигнал RESET, переводящий МК в режим программирования. Обмен данными с программатором, в МК "Atmel", в режиме программирования, в отличие от PIC’ов осуществляется по двум различным линиям. MOSI – от программатора к МК, и MISO – от МК к программатору. Для формирования первого использован ранее не задействованный элемент U5.3 микросхемы кр1533ЛА3, а второй формируется идентично сигналу DATA, для PIC-micro. Все сигналы заведены на разъём X3, в связи с чем, назначение некоторых выводов не совпадает с предыдущей версией.
Pin
Description
1
Vdd
2
Vpp (AVR)
3
Clock
5
Data (PIC)/MISO (AVR)
7
Vpp (PIC)
9
MOSI (AVR)
10
PGM
4,6,8
Vss (GND)
МК можно программировать прямо в схеме (если она это позволяет), или изготовить специальный адаптер с установочными панельками.
Программирование МК "Atmel" осуществляется под управлением распространённой программы "PonyProg" (а также "WinPic800"). В настройках надо выбрать программатор "SI Prog I/O", а все "галочки" инверсий сигналов должны быть сняты. Перемычка J3 программатора должна находиться в положении 1-2.
Данная доработка позволяет также программировать микросхемы последовательной памяти серии 93xx, использующие интерфейс 3-wire. Соответствие сигналов следующее:
"Atmel"
93xx
Vdd
Vcc (Power Supply)
VppAVR (Reset)
CS (Chip Select)
Clock
SK (Clock)
MISO
DO (Data Output)
MOSI
DI (Data Input)
Vss
GND (Ground)
Сигнал CS должен быть проинвертирован. Это достигается либо программно, установкой соответствующих чекбоксов ("Invert MCLR" в "IC-Prog’е", или "Invert Reset" в "PonyProg’е"), либо простейшим дополнительным инверсным каскадом на транзисторе КТ3102, с нагрузочным резистором 10кОм в коллекторной цепи. Второй вариант
имеет смысл выбирать, при изготовлении специального адаптера под данные
микросхемы. Тогда это позволит исключить необходимость смены настроек,
при переходе с программирования одного типа микросхем, к примеру, PIC’ов, на 93xx серию, и обратно. При внутрисхемном
программировании, целесообразно использовать первый вариант совместно с
кабелем для внутрисхемного программирования микроконтроллеров фирмы "Atmel".
Программирование может осуществляться, как под управлением "IC-Prog", так и "PonyProg" (а также "WinPic800").
Разница между ними в следующем:
"PonyProg" умеет программировать данные
микросхемы в 8-ми битном режиме (если чип поддерживает такой режим, и
если это вообще кому-то надо), а также производить "очистку" посредством
стирания.
"IC-Prog" работает только в 16-ти
битном режиме. Зато имеет пять независимых буферов загрузки дампов, с
возможностью сравнения содержимого, а также режим непосредственной
верификации содержимого чипа с буфером. Кроме того, правильно отображает
адреса ячеек.
Печатная плата, для новой версии, была разработана, но не была изготовлена, поскольку дорабатывалась старая версия программатора.
Внимание все печатки выложены в общем файле в конце статьи Дополнения
"Печатная плата вычерчена в программе Splan 4.0.
Большинство пассивных элементов монтажа выполнено по SMD исполнении, что позволило уменьшить габариты платы. Был выбран односторонний печатный монтаж (на момент изготовления был односторонний стеклотекстолит и проще изготавливать).
Ключи питания выполнены на транзисторах 2SC945P И 2SA1270Y. 2SC945P выбран по причине широкой доступности (имеется практически в любом блоке ATX), 2SA1270Y выбран из-за очень малого напряжения насыщения КЭ. Каскад сигнала сброса для ATMEL AVR также выполнен на 2SC945
Адаптер "PIC-SOIC". Данный адаптер предназначен для программирования МК PIC-micro и последовательной памяти в корпусах SOIC.
Применены две ZIF-панельки, под разную ширину корпусов.
Выбор необходимой коммутации сигналов осуществляется DIP-переключателями:
Как видите, некоторые затруднения может вызвать только последовательная память.
Адаптер "Atmel-DIP". Данный адаптер предназначен для программирования МК Atmel в корпусах DIP, с использованием одной ZIF-панельки. Применён кварцевый резонатор на 4MHz и два конденсатора по 30pF.
Первый вывод МК должен всегда соответствовать первому контакту панельки.
Выбор необходимой коммутации сигналов осуществляется DIP-переключателями:
Адаптер "93Cxx".
Данный адаптер предназначен для программирования чипов с интерфейсом 3-Wire в корпусах DIP и SOIC. Применён транзистор кт315д, и резисторы 2,4k и 10k. Переключение режимов работы 8/16 bit, если чип их поддерживает, осуществляется джампером.
Также разрабатывались, но не были изготовленыотдельные платы для корпусов DIP, и для корпусов SOIC. Для программирования на плате SOIC, необходимо положить чип на плату, аккуратно совместив выводы с контактными площадками, и прижать небольшим грузиком (например, канцелярской стирательной резинкой). Контакты должны быть одинаково ровными и хорошо зачищенными. Такой способ требует внимательности и аккуратности, но зато позволяет обойтись без ZIF-панельки (чертежи плат в общем файле). Кабели для внутрисхемного программирования. Разъём кабеля для PIC-micro:
Курсив - тестировалось сторонними изготовителями.
FAQ (в основном, цитаты с форумов, поэтому, спасибо отвечавшим, и спрашивающим, разумеется)
Q:Собрал программатор, а он не работает. A: Примерная вероятность:
99% -
Ошибка монтажа (обрывы, наоборот, замыкания, ошибки в установке элементов)
0,499% -
Неисправные элементы
0,499% -
Неисправный МК
0,001% -
Неисправный КОМ-порт
0,001% -
Другие причины
Q:На печатке неправильная полярность диодов. A: Полярность диодов проставлена абсолютно
правильно. Аноды (плюсы) обозначены метками. А "собака порылась" в том,
что прежде чем ставить диод на плату, надо разобраться, где у него анод,
а где катод. Лучше всего это делать при помощи самого обыкновенного
тестера, а не ориентироваться на маркировку производителя.
Q:Вопрос такой
есть, прошиваю МК PIC16F876, джампер J3, тот который производит
переключение режимов программирования, в каком положении должен стоять
1-2 или 2-3 и коротко почему? A: Поскольку у указанного МК вывод #MCLR
непрограмируемый, то джампер должен быть в положении 1-2. Хотя, не
исключено, что он будет программироваься и в положении 2-3.
Данный джампер управляет порядком подачи напряжений Vcc и Vpp.
Если у МК вывод #MCLR программируемый, и настроен, как порт
вводы-вывода, то если подавать сперва Vcc, МК начнёт отрабатывать
программу, сконфигурирует вывод #MCLR, и уже не будет реагировать на
подачу Vpp. Поэтому, для таких МК надо подавать сперва Vpp, а уж потом
Vcc.
Q:Кто может объяснить как использовать джампер J4? A: Замкнут - линии MOSI и MISO "завязаны". Разомкнут - "развязаны".
Q:Что даёт развязка линии MOSI и MISO? A: Это просто "задел на будущее". Возможно,
когда-то, Вы будете использовать софтину, которая не умеет "отпускать"
линию MOSI, при работе с MISO. За WinPIC800 и Лошадью я такого пока не
замечал, и ни от кого подобной информации не получал. Поэтому на моём
программаторе данный джампер до сих пор отсутствует.
Q:Хотелось узнать можно заменить транзистор кт345б на кт502е, просто не могу найти кт345 или его аналоги A: Можно на любой маломощный PNP.
Вобще-то, конечно, желательно смотреть на допустимый Iк, и на минимальное падение напряжения Э-К.
Q:Не могу понять 19 ножку (PB7(UCSK/SCK/PCINT7)) к какому контакту разъема программатора подключать,название?
И нужно ли при программирований ATtiny2313 делать обвязку состоящую из
кварца 20мГц и двух кондеров по 22пФ на ножки XTAL1 И XTAL2?
И имеются VS232CPE от Vossel,и так же MAX232AEPE+ RS232 драйвер Ind PDIP16 от Maxim. Подойдёт ли какой на MAX232? A: По поводу MAX 232 - можно применить
любой аналог, у меня стоит ST232BN, конденсаторы в обвязке 0,1-1мкф
керамика или 1-10мкф электролиты. У меня отлично работает связка КТ3102+
КТ502, по поводу 2313 и кварца - он нужен для того чтобы МК отвечал
программатору после записи фузов если фузы в МК выставляются для работы
генератора с кварцем, как правило при программировании хватает 1-4MHz,
кондёры возле кварца нужны. Если фузы выставляются для работы от
внутреннего RC генератора то кварц не нужен.
Q:А как вообще проверить экстра пик, без подключения к ком порту? A: Припаиваете проводок к выходу
стабилизатора который питает МАХ и 1533, распечатываете схему по которой
собирали и кладёте перед собой. Включаете питание программатора,
джампер J4 замкнут, на выводах разъёма Х3 DATA, CLOCK, Vpp и, в
зависимости от версии, Vcc должен быть низкий уровень, если не так ищем
КЗ или не рабочий элемент. Если всё в порядке берём наш проводок и
тыкаем им в 3 контакт разъёма Х1 на Х3 должен появиться высокий уровень
или на Vpp или на Vdd или на обеих выводах одновременно, опять же всё
зависит от версии. Далее тыкаете в 4 на Х1 и с учётом инверсий сигнала
прослеживаете до вывода DATA на Х3, потом тыкаете в DATA на Х3 и
смотрете на 8 Х1, должно быть больше 10В, ну последний раз тыкаете в 6-7
на Х1 и соответственно смотрите CLOCK на Х3, для версии 3.2 по той же
логике проверяете RESET, MOSI и MISO, обратить внимание джампер J4
разомкнут. После проверки и, если понадобилось, устранения
неисправностей можно подключить к компу и тестить в IcProg.
Q:Велико Vpp A:Для понижения Vpp возможно установить
вместо светодиода D4 (см. Doc 1.3) обычный кремниевый, а сам светодиод,
вместе с токоограничивающим резистором (который, в этом случае,
понадобится), установить вместо R5. Vpp, при этом, будет 12V+0,7V=12,7V,
что несколько маловато.
Однако, есть другой вариант. Светодиод не трогать, а в разрыв между
выводом OUT U3 и верхним выводом R5 установить тот же самый кремниевый
диод. Данная доработка снизит Vpp на 0,7V. Добавив джампер, замыкающий
данный диод, и создав последовательную цепочку из таких "звеньев", можно
сделать Vpp регулируемым.
Вариант реализации режима 2 прислал Юрий Сиривля:
"Теперь собственно по самому программатору, в его конструкции применена панель с нулевым усилием на 20 контактов для корпусов МКс 8, 14 и 18 выводами. При чём МК с 8 и 14 выводами имеют одинаково конструктивно расположенные выводы для программирования, коммутация контактов панельки для 8,14 выводных и для 18 выводных корпусов осуществляется 8 секционным переключателем SA3,
на фото переключатель находится в положении программирования 8 и 14
выводных корпусов. Что касается переключения режимов программирования,
то переключение осуществляется подобным
переключателем только на 4 секции. В положении переключателя показанном
на фото программирование осуществляется в основном режиме: Vpp после Vcc, для перехода в режим Vcc после Vpp нужно соответственно поменять местами два левых и два правых переключателя.
Ниже (на фото) имеется разъём ICSP, переходник для корпусов с 28 и 40 выводами находится на стадии разработки, основой переходника будет подобная панель, но на 40 выводов и подобного переключателя на 3 секции.
Печатная плата для переходника уже разработана в лайауте.
Вот пожалуй и все особенности моего варианта программатора Extra Pic."
печатка тут Ещё вариант "Я решился на разработку ещё одной версии с одной целю: избавиться от отдельного блока питания.
Зачем нужен этот дополнительный блок? Ведь и в домашнем компьютере, и в
ноутбуке есть свои блоки питания, нужно только их задействовать.
Решение этого вопроса тривиальное – преобразователь на известной микросхеме МС 34063,
применение этой МС позволило не только избавиться от дополнительного
блока питания, но и от двух, а в некоторых схемах и от трёх интегральных
стабилизаторов. Лично я вывел на заднюю стенку своего компьютера разъём
+ 5В, для питания программатора, внутри подключив его к одному из
свободных разъёмов от компьютерного БП (у меня разъём для флопа). При
проведении тестов данный программатор подключался к порту USB, для
проверки возможности питания от этого порта и показал уверенную и
стабильную работу.
Рекомендации по сборке и настройке программатора.
В архиве вариант печатной платы для изготовления по технологии «ЛУТ»,
зеркалить не нужно. После изготовления печатной платы по приведённым
вариантам или собственной разработки, рекомендую начать сборку с установки выключателя питания и узла преобразователя (D1,L1,C1,C2,C3, R1-R4, MC 34063) . После сборки преобразователя нужно настроить его выходное напряжение в пределах 13,2 - 13,5 В, настройка производится резисторами R1 или R4, согласно приведённой схеме. После окончательной сборки
рекомендую провести тест программатора, не подключая его к компьютеру.
Для проведения начального теста необходимо припаять отрезок монтажного
провода к выключателю питания в точке, обозначенной на схеме буквой «А». После этого подать +5 В и включить программатор, после включения должен загореться светодиод «VD1»,
измеряем напряжение на катоде диода «D1», оно должно равняться ранее
настроенному. Далее касаемся нашим проводком контакта №3 разъёма ХТ1,
или контакта под тем - же номером СОМ (номера контактов разъёма ХТ1
пронумерованы в соответствии с номерами разъёма СОМ) должен загореться «VD2», на разъёме «PIC» должны появиться напряжения «Vpp» и «Vcc», а на разъёме «AVR» на выводе «Reset» напряжение +5В должно смениться на 0В. Далее касаемся проводком контакта №6 и тестером контролируем прохождение сигнала на «CLOCK» разъёма «PIC» и «SCK»«AVR». Теперь касаемся контакта №4 и смотрим «DATA», «MOSI» и «MISO», ну последний раз касаемся «DATA» на разъёме «PIC» или «MISO» на «AVR» и смотрим что у нас на контакте №8 ХТ1, там сигнал должен меняться примерно от +10В до -10В. Если всё так как я написал, то можно смело подключать программатор к компьютеру и тестировать в программах IC-Prog или WinPIC800, он так - же работает с PonyProg, в настройках указать SI Prog I/O.
Переключение режимов работы осуществляется переключателем S2, если конденсатор подключен к ключу на транзисторах VT1,VT3 то с задержкой подаётся Vpp, а если к ключу VT2,VT4, то с задержкой подаётся Vcc. Кабель
для подключения к компьютеру самодельный, длинной примерно 1м. Возле
разъёма, который подключается к компьютеру в кабель (шлейф) входят
провода от дополнительного разъёма на который подаётся напряжение +5 В.
Сбоев при тестировании программатора с кабелем такой длинны не
наблюдалось, тесты проводились с МК PIC 12F629/675, 16F676, 16F84A, 16F628A, 16F819, 16F873A, 16F874A, 16F876A, 16F877A, 18F252, 18F2520, 18F2550, с МК AVR ATtiny 2313, ATmega8A (AVR только начинаю осваивать).
На фото программатора у меня установлено три светодиода, но от одного можно спокойно отказаться т.к. напряжения Vpp и Vcc включаются почти одновременно (на глаз абсолютно не заметно), я оставил светодиод в цепи Vpp."
"Дополнил печатную плату EXTRA-PICа от Юрия Сиривля (та что от 5В работает):
1.
ZIF панель
2.
Переключение между DIP18 и DIP8/14
3.
Все резисторы и перемычки переделаны на SMD
4.
Поставил на плату разъём DB9F (COM)
Так как плата ещё не собрана - возможны ошибки в разводке (на то мы и люди чтобы ошибаться) - хотя перепроверил плату несколько раз!..
Если вдруг все это окажется полезным или найдутся ошибки - прошу сообщить мне."
печатка тут
За предоставленный матерьял благодарю портал http://pirpk.narod.ru
<a href=https://chimmed.ru/products/anti-dog-mhcii-ykix3342-fitc-100t-id=418380>anti-dog mhcii ykix334.2 fitc 100t купить онлайн в интернет-магазине химмед </a> Tegs: <u>ethanol denaturated купить онлайн в интернет-магазине химмед </u> <i>ethanol denaturated with 2% ketone купить онлайн в интернет-магазине химмед </i> <b>ethanol, denaturated with 4.8% iso-propa купить онлайн в интернет-магазине химмед </b>
anti-dog whole serum developed in rabbi& купить онлайн в интернет-магазине химмед https://chimmed.ru/products/anti-dog-whole-serum-developed-in-rabbi-id=3789327