Russian HamRadio - Как проверить PonyProg.
Сайт радиолюбителей Республики Коми.

: главная: странички:

Как проверить PonyProg.

За время, прошедшее с момента публикации описания этого программатора, многие уже собрали и успешно используют его. Однако возникающие вопросы показывают, что иногда проверка собранного программатора вызывает трудности. Дело в том, что сигналы в его цепях носят импульсный и зачастую непериодический характер (что, впрочем, характерно для всех приборов, работающих под управлением компьютера).

Даже при наличии осциллографа убедиться в правильности формирования этих сигналов довольно трудно. В статье описывается методика проверки работы аппаратной части подключенного к компьютеру программатора с помощью мультиметра. Правда, для этого требуется специальная программа ТСОМ [1].

На схеме программатора PonyProg, изображенной на рис. 1, показаны состыкованными два его функциональных узла: базовый блок сопряжения с СОМ-портом компьютера [2] и адаптер программирования микроконтроллеров PICmicro [3]. Последний выбран как самый сложный из адаптеров, все другие содержат лишь по несколько пассивных элементов.

Рис.2.

Рядом с гнездами розетки XS1 узла сопряжения указаны наименования цепей интерфейса RS-232. Напомним, эта розетка должна быть непосредственно состыкована с девятиконтактной вилкой системного блока компьютера. Соединение с помощью нуль-модемного кабеля недопустимо, а модемным, вилка и розетка которого соединены "один к одному", можно воспользоваться, если он содержит все указанные на рис. 1 цепи, а его длина не превышает 1 м.

Следует также учесть, что чертеж печатной платы узла сопряжения [4] дан в зеркальном отображении, поэтому, прежде чем переносить рисунок проводников на заготовку платы обычным способом (наколкой центров отверстий и последующим нанесением печатных проводников лаком или водоустойчивой тушью), его надо соответствующим образом перевернуть.

Подключив программатор к компьютеру, запустите программу ТСОМ. На экране откроется окно, показанное на рис. 2. С помощью имеющихся в нем кнопок необходимо выбрать порт (СОМ1 или COM2), к которому подключен программатор. Нажатиям экранных кнопок мышью эквивалентны нажатия на клавиатуре клавиш, соответствующих подчеркнутым буквам или цифрам в надписях у кнопок, вместе с клавишей Alt.

Если вилка СОМ-порта 25-контактная, нажимают соответствующую экранную кнопку, заменяя предыдущее окно окном, показанным на рис. 3. Приведенной в нем информацией можно воспользоваться для правильного соединения программатора с 25-контактной вилкой СОМ-порта.

Программа запоминает соответствие между номером порта и его разъемом. Достаточно установить его один раз, и в дальнейшем при смене порта на экране автоматически будет появляться изображение его разъема. Как известно, полностью "укомплектованный" СОМ-порт имеет три выходные цепи (TXD, DTR, RTS) и пять входных (RXD, DSR, CIS, DCD, RI). Программа ТСОМ позволяет установить на любом из выходов высокий (High) или низкий (Low) логический уровень.

Рис.3.

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

Проверку программатора начинают с узла питания. Переключатель SA1 узла сопряжения переводят в правое (по схеме) положение, включая таким образом "внутреннее" питание программируемой микросхемы от СОМ-порта. Саму микросхему устанавливать в панель адаптера не нужно.

Ее заменяют резистором с номиналом 1 кОм, вставленным в гнезда панели, предназначенные для выводов питания (например, в гнезда 14 и 5 панели XS1 для микросхем PIC16F8x). Изменяя состояние цепей TXD, DTR и RTS, убеждаются, что напряжение на резисторе не выходит за пределы 5 ± 0,5В, если уровень любой из них высокий, и отсутствует, когда все уровни низкие.

Если напряжение отсутствует при высоком уровне на одном из выходов и низких — на двух остальных, проверьте соответствующий из диодов VD1,VD2,VD4.

Если напряжение меньше 4,5 В, причин этому может быть две.

Перваяприменен интегральный стабилизатор DA1 со слишком большим значением минимального входного напряжения (например, микросхема LM78L05 прекращает работать при напряжении на входе менее 6,7 В). В качестве замены указанного на схеме стабилизатора LM2936Z-5.0 можно рекомендовать LM2931Z-5.0 или отечественный КР1170ЕН5. Для нормальной работы этих микросхем входное напряжение должно превышать выходное всего лишь на 0,2В (типовое значение).

Вторая причина — слишком "слабый" СОМ-порт компьютера не выдерживает нагрузки. Слово "слабый" взято в кавычки по той причине, что согласно стандарту при нагрузке сопротивлением 3 кОм высокий и низкий уровни выходного напряжения порта могут лежать соответственно в интервалах +5...+15 и -5...-15В. Хотя традиционно считается, что фактически они близки к+12и-12В, на самом деле это далеко не так.

У большинства микросхем-драйверов RS-232 типовые значения уровней выходного напряжения не превышают +7,5...8 и -7,5...-8В, а у самых современных из них — еще меньше, вплоть до +5,5 и -5,5В. Тенденция к уменьшению размаха сигнала не случайна: за счет этого удается увеличить скорость передачи данных до 250 Кбит/с. Если ваш компьютер с таким СОМ-портом, ничего не поделаешь, придется перейти на внешнее питание.

Последнее достигается просто: достаточно подать на разъем Х1 узла сопряжения напряжение 12В от внешнего источника и перевести переключатель SA1 в показанное на схеме положение. Напряжение питания программируемой микросхемы и в этом режиме должно находиться в пределах 5 ± 0,5В, включаться высоким уровнем любого из сигналов TXD, DTR, RTS и выключаться, когда уровень всех трех — низкий. Если это не так, проверьте работу электронного ключа на транзисторах VT1, VT2 в блоке сопряжения.

Далее проверяют работу узла, подающего на программируемую микросхему напряжение, которое переводите в режим программирования. Его измеряют между гнездами 4 и 5 панели XS1 (PIC16F8x). Не забудьте перевести переключатель SA1 адаптера в положение, соответствующее режиму питания: верхнее (по схеме), если питание внешнее, нижнее — при питании от порта. В первом случае батарея GB1 может отсутствовать, во втором — она необходима.

Напряжение программирования должно включаться при установке в цепи TXD высокого уровня и выключаться при установке низкого. Его значение может находиться в пределах 9... 13,5 В. При возникновении проблем следует проверить электронный ключ на транзисторах VT1, VT3 и стабилитрон VD1 в адаптере.

Следующий этап — проверка цепи передачи данных в программируемую микросхему (DI) и приема их от нее (DO). Источником передаваемых данных служит выход СОМ-порта DTR, принимает их вход CTS. Если все исправно, логический уровень CTS должен быть инверсным установленному на выходе DTR. Убедитесь в этом, изменяя последний. Питание при этом должно быть включено, например, высоким уровнем на выходе TXD.

Если уровень CTS не зависит от состояния DTR, измерьте напряжение на контакте 13 панели микросхемы PIC16F8x. При низком уровне DTR оно должно быть практически равно напряжению питания (+5В), при высоком — не более 0,5В. В противном случае неисправен ключ на транзисторе VT2 адаптера либо стабилитрон VD3 блока сопряжения. Необходимо заметить, что для программирования микроконтроллеров PICmicro в этом стабилитроне (впрочем, как и в VD5) нет необходимости, их можно безболезненно удалить из схемы.

Возможен случай, когда напряжение на выводе 13 панели XS1 (PIC16F8x) изменяется в указанных выше пределах и поступает на исправный вход CTS, однако логический уровень на нем неизменно отображается в окне программы ТСОМ как высокий. Это означает, что триггер Шмитта на входе CTS компьютера имеет отрицательный порог срабатывания, и чтобы переключить его, недостаточно уменьшить входное напряжение до почти нулевого, но положительного значения. Такая ситуация укладывается в рамки стандарта RS-232, согласно которому пороги могут находиться в пределах ±3В, однако компьютер с подобным портом непригоден для работы с программатором, собранным по рассматриваемой схеме.

Осталось проверить цепь формирования сигнала синхронизации обмена данными (CLOCK). Его источник — выход СОМ-порта RTS. Перемычка между этим выходом и входом DSR служит лишь для того, чтобы программное обеспечение могло убедиться, что программатор подключен к порту. Изменяя состояние RTS, прежде всего удостоверьтесь, что состояние DSR всегда ему соответствует. Затем измерьте напряжение на контакте 12 панели XS1 (PIC16F8x). При высоком уровне на выходе RTS оно должно быть не менее 4В (точнее, 80 % напряжения питания микросхемы) и не более, чем на 0,6В превышать напряжение питания. Это условие обычно выполняется, так как напряжение стабилизации стабилитронов КС147А (VD6) лежит в пределах 4,2...5,2 В.

Если напряжение все же недостаточное (это может случиться из-за того, что указанные выше пределы соответствуют току стабилизации 10 мА, а в программаторе он значительно меньше), следует либо подобрать стабилитрон, либо заменить его на КС147Г, рассчитанный на меньший ток, или на импортный с напряжением стабилизации 5,1 В. Включать последовательно со стабилитроном диод (как показано на схеме штриховой линией) крайне нежелательно. Это приведет к тому, что стабилитрон перестанет работать как ограничитель отрицательного напряжения (при низком уровне на выходе DSR) и вступит в действие защитный диод внутри программируемой микросхемы. И хотя ток через этот диод не достигнет опасного значения (благодаря резистору R5), подобного режима лучше избежать.

Завершив описанные проверки, можно считать, что аппаратная часть программатора исправна, и приступать к его эксплуатации. Программное обеспечение и инструкции по работе с PonyProg можно "скачать" на сайте его автора Клаудио Ланконелли [5]. На этом же сайте имеется форум, где можно задать вопросы, касающиеся программатора.

Д. Долгий

  1. Скачать программу ТСОМ
  2. Радио, 2001, № 6, с. 25, рис. 2
  3. Радио, 2001, № 6, с. 25
  4. Радио, 2001, № 7, с. 21, рис. 8
  5. http://www.lancos.com/ppwin95.html

Материал подготовил А. Кищин (UA9XJK).

Rambler's Top100
Rambler's Top100
Copyright © Russian HamRadio

Hosted by uCoz