Распродажа

Электронные компоненты со склада по низким ценам, подробнее >>>

Журнал Радио

2004: 
1, 2, 3, 4, 5, 6, 7, 8
2003: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
2002: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
2000: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
1999: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
1998: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
1971: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
1947: 
1, 2, 3, 4, 5
1946: 
1, 2, 3, 4-5, 6-7, 8-9

Новости электроники

В 14 раз выросло количество россиян на MediaTek Labs ? проекте по созданию устройств "интернета вещей" и "носимых гаджетов"

Сравнив статистику посещения сайта за два месяца (ноябрь и декабрь 2014 года), в MediaTek выяснили, что число посетителей ресурса из России увеличилось в 10 раз, а из Украины ? в 12. Таким образом, доля русскоговорящих разработчиков с аккаунтами на labs.mediatek.com превысила одну десятую от общего количества зарегистрированных на MediaTek Labs пользователей.

Новое поколение Джобсов или как MediaTek создал свой маленький "Кикстартер"

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

Семинар и тренинг "ФеST-TIваль инноваций: MAXIMум решений!" (14-15.10.2013, Новосибирск)

Компания Компэл, приглашает вас принять участие в семинаре и тренинге ?ФеST-TIваль инноваций: MAXIMум решений!?, который пройдет 14 и 15 октября в Новосибирске.

Мне нравится

Комментарии

дима пишет в теме Параметры биполярных транзисторов серии КТ827:

люди куплю транзистар кт 827А 0688759652

тамара плохова пишет в теме Журнал Радио 9 номер 1971 год. :

как молоды мы были и как быстро пробежали годы кулотино самое счастливое мое время

Ивашка пишет в теме Параметры отечественных излучающих диодов ИК диапазона:

Светодиод - это диод который излучает свет. А если диод имеет ИК излучение, то это ИК диод, а не "ИК светодиод" и "Светодиод инфракрасный", как указано на сайте.

Владимир пишет в теме 2Т963А-2 (RUS) со склада в Москве. Транзистор биполярный отечественный:

Подскажите 2т963а-2 гарантийный срок

Владимир II пишет... пишет в теме Параметры биполярных транзисторов серии КТ372:

Спасибо!

Журнал Радио 1 номер 2004 год.

"РАДИО" НАЧИНАЮЩИМ

Программаторы и программирование микроконтроллеров

А. ДОЛГИЙ,
г. Москва 

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

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

Что будем записывать

Обычно в описании прибора программа, по которой должен работать микроконтроллер, представлена таблицей кодов — их следует загрузить в память микроконтроллера. Вот фрагмент такой таблицы в так называемом НЕХ-формате (табл. 1).

Подробнее о нем можно прочитать, например, в [1, 2].

Напомним, микроконтроллеры работают в двоичной системе счисления, различая лишь по два состояния (О и 1) каждого из своих выводов, многочисленных ячеек памяти и других внутренних узлов. Большинство двоичных ячеек-разрядов для ускорения и удобства выполнения различных операций над их содержимым объединены в группы — восьмиразрядные байты и более длинные слова. В публикуемых таблицах исключительно для удобства их восприятия человеком помещают не двоичные, а шестнадцатиричные изображения программных кодов. Каждые четыре двоичных цифры заменяют одной шестнадцатиричной:

Куда будем записывать

Внутреннюю память программ микроконтроллера в варианте, допускающем многократное изменение содержимого, часто называют FLASH-памятью, хотя этот термин характеризует ее устройство и принцип действия, а не функциональное назначение. Кроме программной имеется, как правило, и внутренняя электрически изменяемая память данных (EEPROM) для хранения различного рода констант, подбираемых в процессе настройки готового изделия или время от времени корректируемых в процессе эксплуатации.

Частью внутренней перепрограммируемой памяти микроконтроллера можно считать и конфигурационные ячейки — своего рода переключатели, управляющие некоторыми узлами микроконтроллера. Записав в эти ячейки нули или единицы, такие узлы можно включить, выключить, установить нужный режим их работы. Учтите, сделать это можно лишь в процессе программирования. Исполняемая микроконтроллером программа ни проверить его конфигурацию, ни изменить ее не может. Именно неправильно заданная конфигурация — часто единственная причина неработоспособности отлаженной и неоднократно проверенной программы.

Среди конфигурационных есть ячейки, управляющие защитой памяти. Включив ее, делают содержимое внутренней памяти недоступным для любых внешних воздействий, кроме полного стирания. Только уничтожив всю хранившуюся информацию, удастся отключить защиту. Таким образом предотвращают несанкционированное копирование программы. Учтите, однажды включенную защиту памяти микроконтроллера, рассчитанного на однократное программирование (OTP), уже не отключить никаким способом.

Как будем записывать

В обычном рабочем режиме внутренняя память микроконтроллера для внешнего доступа закрыта. Чтобы получить возможность читать и записывать информацию, нужно подать на определенные выводы микросхемы специальную комбинацию уровней напряжения, не встречающуюся при обычной работе. У большинства современных микроконтроллеров для программирования предусмотрен последовательный интерфейс (не путать с интерфейсом, служащим для связи микроконтроллера с другими устройствами в рабочем режиме). Это значит, что двоичные значения кодов и команд, управляющих процессом программирования, подают на предназначенный для этого вывод микросхемы поочередно разряд за разрядом, сопровождая синхронизирующими импульсами на другом выводе. Таким образом, в процессе программирования активно участвуют всего две цепи. Иногда требуется еще одна — для вывода (тоже последовательным кодом) содержимого памяти и ответов микроконтроллера на команды, управляющие программированием. Но во многих случаях двустороннюю связь организуют по одной цепи.

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

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

Часто задают вопрос, нельзя ли записать программу в микроконтроллер, не имея компьютера? Ответ неожиданный: можно. В принципе достаточно переключателя, чтобы устанавливать на входе программирования уровни 0 или 1 в соответствии с кодовой таблицей, и кнопки для подачи синхроимпульсов. Естественно, кнопка и переключатель должны быть снабжены узлами подавления "дребезга" контактов. Оперируя этими органами, вполне возможно занести в память микроконтроллера всю программу.

Беда в том, что самая простая программа состоит из нескольких сотен нулей и единиц, а в более сложных их тысячи. Многие ли обладают достаточным терпением и аккуратностью, чтобы безошибочно все это набрать вручную? Ведь после любого сбоя придется повторять работу с самого начала. Лучше уж поручить эти однообразные операции компьютеру.

Программатор = адаптер + управляющая программа

Прежде чем продолжить рассказ, разберемся немного в терминологии. Слово "программатор" употребляют сегодня как минимум в двух значениях. Во-первых, это устройство, с помощью которого соединяют компьютер (источник данных) с микросхемой, в которую должны быть занесены эти данные. Этот прибор правильнее называть адаптером программирования. Во-вторых, программатор—программа, под управлением которой компьютер формирует все необходимые для записи данных в микроконтроллер сигналы на выводах одного из своих портов (того, к которому подключают адаптер).

Путаница в понятиях нередко приводит к взаимному непониманию в спорах о том, какой программатор лучше. Один утверждает, что — программатор А, его можно собрать за день. Второй утверждает — что программатор Б, он удобнее в пользовании. Действительно, адаптер А очень прост, но сопровождающая его программа А неудобна. Сложный в изготовлении адаптер Б работает под управлением программы Б, оснащенной многими сервисными функциями. Так что оба правы. Но нередко спорящим невдомек, что адаптер А вполне может работать с программой Б, и наоборот. Именно такая ситуация будет рассмотрена ниже.

Как подключить адаптер

Для связи компьютера с программируемым микроконтроллером через адаптер пригодны два вида стандартных портов, известных под аббревиатурами LPT и СОМ. То, что порт LPT параллельный, а СОМ последовательный, в данном случае значения не имеет. Важна возможность формировать нужные импульсы, программно изменяя уровни напряжения на отдельных линиях этих портов, и "читать" ответные сигналы микроконтроллера. Число практически равноправных выходных и входных линий вполне достаточно в портах обоих типов. Поэтому с точки зрения правильности и скорости программирования подключение адаптера к порту того или иного типа не дает никакого выигрыша.

Некоторое преимущество СОМ-порта состоит в том, что из его выходных сигналов легко получить не только напряжение +5 В мощностью, достаточной для питания самого адаптера и программируемой микросхемы, но и +12 В для переключения в режим программирования микроконтроллеров, например, серии PlCmiсrо (более известных под названием PIC-контроллеры). Здесь удается обойтись без дополнительного внешнего источника питания, который, как правило, необходим LPT-адаптерам. Хотя известны конструкции с питанием и от такого порта [3].

К тому же к розетке порта LPT1 в компьютере обычно подключен принтер, который на время работы с программатором приходится отключать. Очень редко компьютеры бывают снабжены вторым параллельным портом LPT2, к которому можно подключить адаптер, не отключая принтер от LPT1. Справедливости ради нужно сказать, что современные принтеры все чаще снабжены интерфейсом USB и порт LPT остается свободным.

Весьма заманчиво было бы использовать USB для связи компьютера с адаптером программирования. Прежде всего потому, что в этом интерфейсе специально предусмотрена подача на подключаемое устройство от компьютера питающего напряжения 5 В. К сожалению, организация аппаратного и программного взаимодействия по этому интерфейсу довольно сложна. Так что разработка USB-програм-матора — дело будущего.

Последовательных портов в компьютере обычно два (СОМ1 и COM2), адаптер можно подключить к любому. Но вилки этих портов зачастую разнотипны. Одна из них, как правило, СОМ 1, девяти-, а COM2 — 25-контактная, что нужно учитывать при изготовлении адаптеров. При несовпадении типа разъемов можно приобрести переходник или изготовить его по схеме, показанной на рис. 1. Для подключения адаптера с 25-контактной розеткой к девятиконтактной вилке порта разъем Х1 должен быть розеткой (с буквенным индексом F), а Х2 — вилкой (с индексом М). В противоположном случае — наоборот.

Длина соединительных кабелей, шлейфов или проводов компьютер — адаптер и адаптер — программируемая микросхема во всех случаях должна быть минимальной — 0,2...0,5 м. Понятно, это доставит некоторые неудобства, так как разъемы портов размещены на обычно труднодоступной тыльной стороне корпуса системного блока. Но придется смириться с неудобствами. Именно длинные провода — одна из главных причин сбоев в процессе программирования.

Sl-Prog — программируем все

Описание сравнительно несложного адаптера, предназначенного для работы под управлением известной программы РоnуРrоg, было опубликовано в [1]. Рекомендации по его проверке можно найти в [4]. Адаптер состоит из основной платы, подключаемой к разъему СОМ-порта, и нескольких сменных плат-переходников с панелями для программируемых микросхем различных типов, в том числе микроконтроллеров самых распространенных серий PlCmicro, AVR и AT89S. Среди радиолюбителей за этим устройством закрепилось название РоnуРrоg, хотя К. Ланконелли (Lanconelli), автор исходного варианта адаптера и обслуживающей его программы, предпочитает называть свой адаптер SI Prog. Будем следовать его примеру.

Адаптеры для PlCmicro

Фирма Microchip (разработчик микроконтроллеров серии PlCmicro) рекомендует для их программирования адаптер, собранный по схеме, показанной на рис. 2. Ее оригинал приведен в фирменном руководстве по применению (application note) AN589 (<http://www. microchip, com/download/appnote/devsoec/16cxx/00589a.pdf>), подтем же названием известен и сам адаптер.

Его вилку ХР1 соединяют с 25-контактной розеткой порта LPT на корпусе системного блока компьютера. Соединение с общим проводом (GND) цепей BUSY и РЕ дает возможность управляющей программе определить, что к LPT-порту подключен именно адаптер. Если разъем порта свободен или к нему подключен принтер, сочетание логических уровней в этих цепях иное.

Напряжение +13,5 В подают от любого источника, способного отдать ток не менее 50 мА. Микросхема DA1 — стабилизатор напряжения 5 В. На транзисторах VT1 —VT3 собран узел управления напряжением в цепи, переводящей микроконтроллер в режим программирования. В зависимости от логических уровней на линиях DATA4 и DATA5 оно принимает три значения: 0, 5 и 12 В.

Выводы различных микроконтроллеров подключают к адаптеру в соответствии с табл. 2.

ЛИТЕРАТУРА

  1. Долгий А. Разработка и отладка устройств на МК. Часть 1. — Радио, 2001, ╧5, с.17—19.
  2. Долгий А. Как проверить НЕХ-файл. — Радио, 2003, ╧ 8, с. 27, 28.
  3. Балахтарь А. Программатор с питанием от LPT-порта для КР1878ВЕ1. — Радио, 2004, ╧1,с. 29, 30.
  4. Долгий А. Как проверить Pony Prog. — Радио, 2003, ╧ 5, с. 25, 26.
Редактор ≈ Б. Иванов,
графика ≈ А. Долгий
(Продолжение следует)

Вернуться к содержанию журнала "Радио" 1 номер 2004 год





Дмитрий пишет...

Читая ваш сайт я удивлён таким прекрасным сайтом , в нем много можно найти полезного,большое спасибо за ваш блогородый труд.

24/02/2016 07:39:23



Ваш комментарий к статье
Журнал Радио 1 номер 2004 год. :
Ваше имя:
Отзыв: Разрешено использование тэгов:
<b>жирный текст</b>
<i>курсив</i>
<a href="http://site.ru"> ссылка</a>