|
||||||||||||||||||||||||||||||||||||||||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[1] шом сопротивлении резисторов R1-R3 и наличии внутренних диодов по входам микросхемы DD1. Питание 5 В (VCC) подается от платы программируемого устройства. Конденсатор С1 уменьшает импульсные помехи. Резисторы R5-R9 демпфируют выбросы на фронтах импульсов. Если индикатор HL1 погашен, то можно программировать МК. Наличие свечения означает, что микросхему DD1 как будто бы изъяли из панели. Ручное отключение выходов адаптера иногда предпочтительнее программного, например при поисках причин неисправностей. Приведенные схемы не являются догмой. Допускается изготовить другой вариант адаптера, например, как показано на сайтах http: iron.fire.usi.ru, http: evm.wallst.ru/main/prog, http: www.ln.com.ua /~real/avreal/adapters.html#STK. Универсальный адаптер При программировании большого количества разнообразных AVR-контроллеров или при их входном контроле удобно иметь универсальный адаптер с панелями под микросхемы в корпусах DIP-8, DIP-20, DIP-28, DIP-40 (рис.7). Все выводы Мк с маркировками MISO, MOSI, SCK, RES, VCC, GND соединяются параллельно. Разумеется, одновременно на таком адаптере можно запрограммировать только одну микросхему, вставляемую в панель XS2-XS7. Какие из двух разновидностей 20- или 40-выводных микросхем вставлять в панели "DIP-20(1)", "DIP-20(2)", "DIP-40(1)", "DIP-40(2)", необходимо смотреть по справочным данным DATASHEET на сайте фирмы Atmel http: www.atmel.com. Кварцевый резонатор ZQ1 совместно с конденсаторами С4, С5 входит в типовую схему включения задающего генератора МК. Некоторые типы МК могут быть запрограммированы и без резонатора, от своего внутреннего RC-генератора, но "кашу маслом не испортишь". Единственное требование - для устойчивой генерации резонатор ZQ1 должен располагаться как можно ближе к выводам XTAL1, XTAL2 МК. Сопряжение с COM-портом выполнено аналогично схеме, показанной на рис.5. Индикатор HL1 светится только в процессе программирования. Индикатор HL2 указывает на наличие напряжения 5 В, которое формируется стабилизатором DA1. Конденсаторы С1-С3, С6-С8 блокировочные. Диод VD1 защищает адаптер от неверной подачи питающего напряжения. К разъему Х1 подключается любой малогабаритный блок питания, например, в корпусе "сетевая вилка", обеспечивающий напряжение 10...15 В при токе 100 мА. Для радиолюбителей универсальный адаптер представляет альтернативу программирования через разъем ISP, хотя он тоже предусмотрен (XS8). Реальный случай - в миниатюрной конструкции для разъема ISP физически нет места. Или в схеме не хватает входных/выходных линий, и необходимо задействовать MISO, MOSI, SCK в режиме полноценных портов. Опытный мастер обязательно предусмотрит на плате панель под МК и в любой момент сможет вынуть микросхему из устройства, чтобы запрограммировать внешним программатором. Такой подход гораздо практичнее, чем запаивание AVR "намертво" (вдруг захочется переставить МК в другую конструкцию). Параллельный программатор Все ранее рассмотренные адаптеры используют сигналы последовательного интерфейса SPI. Нередко комплекс, состоящий из управляющей программы и адаптера (рис.3-7), называют последовательным программатором AVR. Если существует последовательный, значит, должен быть и параллельный программатор AVR. На сайте ChaN (http: elm-chan.org/works/avrx/report e.html, Япония) приведена схема подобного устройства для 20- (рис.8) и 8-выводных (рис.9) микросхем. Там же J±C1 J-C6 Power С 5V 50mA PC Parallel Port 14 -SELIN a N2 i- z i О О 00 cvij яг co p-vvv-J Rl 1M U3 NJM2352D Q4 RN1202. 15 -ERROR IS -INIT 17 -AUTOFD 18 GND 120 GND 122 GND 124 GND MV -VW WV AAV AAV D-Sub25 m D3 1SS319 TTL-CM0S *Re-fer to document R33 4k7 D2 UPP 20pin AVR Ul 20Pin ZIF PAGELDATA7 R/BDATA6 BS2DATA5 XTAL1DATA4 ОЁDATA3 WR BS1 XA0 GND DATA2 DATA 1 DATA0 HA 1 RA1 100k U2 74HC299 A H! QA GIB QC 6)D QE GIF GIG QH H R 15-22 lk 10k E выложена управляющая программа под DOS (http: elm-chan.org/works/avrx/avrxtool.zip, 69 Кб) и Win-9x/XP (http: elm-chan.org/works/avrx/avrxtool32.zip, 91 Кб). Микросхемы в корпусах DIP-28, DIP-40 программируются через переходник к 20-контактной панели. Параллельный программатор позволяет прошивать МК не хуже последовательного, но использует значительно большее число линий связи и повышенное до 12 В напряжение. Как следствие, сложная схемотехника и уникальное программное обеспечение. Главное преимущество параллельного программатора заключается в способности восстановления неосторожно установленных программных битов, переводящих вход RESET МК в дополнительную линию порта. Это обычно случается у новичков при экспериментах на последовательном программаторе. После такой "трепанации" интерфейс ISP отключается, ведь входа сброса RESET как такового уже не существует. Последовательный программатор выдает сообщение о бракованном МК при его абсолютной годности. Параллельный программатор, как скорая помощь, "вылечивает" МК, позволяя вновь устанавливать программные биты в нужное положение. К счастью, в программе PonyProg опасные биты изначально заблокированы, поэтому даже при ошибочных действиях ввести МК в режим непрограммируемости нельзя. Если подытожить, то параллельный программатор - это сложная, не совсем обязательная, но довольно полезная в хозяйстве радиолюбителя вещь. Конструкция и детали Обычно адаптеры выполняют на отдельной печатной плате, соединенной шлейфом проводов длиной 20...30 см с 10-контактным разъемом ISP и 1,52-метровым кабелем с компьютером. Поскольку деталей немного, то используют "макетку" и монтаж тонкими проводами МГТФ-0,1. Плату закрывают корпусом или обвязывают скотчем. Иногда детали адаптера размещают прямо в разъеме LPT- или COM-порта. Работоспособность такого устройства требует поверки, особенно если не применяются буферные микросхемы. Если на компьютере вместо 9-контактного установлен 25-контактный COM-разъем, то в схемах, показанных на рис.5, 6, меняют распайку выводов, например: 3-2, 4-20, 5-7, 6-6, 7-4, 8-5 (DB9-DB25). Резисторы, конденсаторы, стабилитроны, диоды - любые малогабаритные. Буферные микросхемы в Интернете рекомендуют из серии HC, например 74HC245 вместо К555АП6 (рис.4). При этом в разрыв цепи VCC устанавливают диод Шотки анодом к контакту 2 розетки XS1. Его назначение - не допустить попадания напряжения 3 В, "просачивающегося" от LPT-порта в МК при отсутствии на последнем питания 5 В. Не рекомендуется замена КР1533АП6, КР1554АП6 ввиду неустойчивого программирования при подключении к цепи GND общего провода осциллографа. В универсальном адаптере (рис.7), при его интенсивной работе, лучше установить панели XS2-XS6 с нулевым усилием прижатия, хотя это и дорого. В параллельном программаторе (рис.8) преобразователь DC-DC на микросхеме U3 NMJ2352D можно заменить внешним источником питания 12 В, 50 мА. Его положительный вывод подключают к плюсовой, а отрицательный - к минусовой обкладкам конденсатора С3. Элементы L1, D1, U3, С2, R1-R3 при этом удаляют. Замена микросхемы 74HC299 - КР1554ИР24. "Цифровые" транзисторы RN1202, RN2202, RN2205 можно заменить двумя обычными резисторами и транзисторами КТ3102, КТ3107, в зависимости от типа структуры. Схемы соединения и номиналы резисторов показаны на рис.8, 9. Розетка IDC-10F - однократного применения, о чем часто забывают или не знают. Случается, что при обжимке плоского кабеля в розетку некоторые выводы закорачиваются. Тогда обламывают пластмассовые детали верхней части розетки, аккуратно припаивают провода непосредственно к ее контактам и заливают всю конструкцию компаундом. Допустимо вообще отказаться от 10-контактных разъемов и применить любые другие имеющиеся соединители с числом контактов не менее 6, например магнитофонные пары СГ-6, СШ-6. Для домашних разработок это не составит проблем, единственное, что воспользоваться в другом месте таким адаптером не удастся. Еще одно оригинальное решение предложено в Японии: сделать разъем конструктивным и "надевать" его прямо на выводы МК (рис.10). Главное, чтобы конструкция не смещалась относительно выводов микросхемы и досрочно не разрушилась, как карточный домик. Практическое задание. Собрать AVR-адаптер по одной из схем, показанных на рис.3-6, или по аналогичной, допускающей работу с программой PonyProg. По возможности сделать универсальный и параллельный программаторы. Литература 1. AVR910: In-System Programming. - Atmel, 2000, http: sin-bad.narod.ru/isp.htm (русский перевод). Микроконтроллеры AVR. Ступень 2 S С.М. Рюмик, г. Чернигов Что знаете доброго, того не забывайте, а чего еще не знаете, тому учитесь. Владимир Мономах В предыдущей статье цикла (РА 1/2005) приводились несложные схемы адаптеров для программирования микроконтроллеров (МК) семейства AVR. Надеемся, что один из них успешно собран и готов для дальнейшей работы. У электронщиков, специализирующихся на проектировании микроконтроллерных устройств, существует термин "быстрый старт". Относится он к случаю, когда надо в короткий срок опробовать в работе новый тип МК и заставить его выполнять простейшую задачу. Цель состоит в том, чтобы, не углубляясь в подробности, освоить технологию программирования и быстро получить конкретный результат. Полное представление, навыки и умения появятся позже в процессе работы. Обычно фирма-разработчик МК для таких экспериментов поставляет так называемый "стартовый набор" Starter Kit, который представляет собой печатную плату с разъемами, кнопками управления, индикаторами, интерфейсными схемами и, разумеется, с установленным МК. К стартовому набору прилагается управляющая программа и инструкция по программированию. Фирма Atmel для МК семейства AVR выпустила несколько подобных наборов: STK-100, STK-200, STK-300, STK-500, AVR Embedded Internet, AVR Butterfly. Первые три из них сейчас сняты с производства и заменены STK-500 (рис.1). Это наиболее подходящий для работы универсальный комплекс, который обслуживает подавляющее большинство типов МК AVR. Единственный его недостаток - стоимость $80-100. Можно ли самостоятельно собрать упрощенный аналог набора "быстрого старта", ориентируясь на подручные средства, минимальную цену и бесплатно распространяемые программы? Ответ положительный, при этом вся задача разбивается на несколько этапов: сборка адаптера программатора; освоение работы с компилятором; изготовление макетной платы "быстрого старта"; компиляция демо-программы, зашивка кодов в МК и наблюдение практического результата. Те, кто выполнил домашнее задание из "Ступени 1", могут считать первый этап пройденным. Остальные этапы будут рассматриваться далее. Компилятор языка Си для AVR Какие только языки программирования не используют для составления AVR-программ! В Интернете имеются ссылки на Ассемблер, Ada, Basic, Си, Forth и даже Pascal. Но на практике чаще всего используют Ассемблер и Си. Первый из них предпочтителен для создания критичных во времени процедур, а второй - для быстрой разработки программ. Если учесть, что в архитектуру AVR изначально были заложены принципы оптимизации Си-процедур, то альтернативы этому алгоритмическому языку нет. В таблице приведен перечень наиболее популярных Си-компиляторов. Самым мощным из них считается компилятор фирмы IAR Systems. Это немудрено, ведь ее сотрудники в середине 90-х годов принимали непосредственное участие в разработке системы команд AVR. Из других компиляторов больше на слуху ICCAVR и Code-Vision. Их полные версии требуют оплаты, что для начинающих радиолюбителей не в подъем. Пользоваться демо-верси-ями можно лишь на первых порах для решения ограниченного круга задач с урезанными функциями. На практике же поступают по-славянски изобретательно, тем или иным способом добывая патчи к программам. Интернет-форумы так и пестрят просьбами: "Намыльте лекарство для вижн AVR", что в переводе означает: "Вышлите мне, пожалуйста, по электронной почте пароль к Си-компилятору CodeVision AVR". Но зачем ломиться в открытую дверь, нарушая чьи-то авторские права? Существуют бесплатно распространяемые Си-компиляторы, и возможности у них колоссальные. Если выбирать из двух представленных в таблице freeware-компиляторов, то предпочтение следует отдать WinAVR. Во-первых, он поддерживает больше типов МК, во-вторых, его автором является коллектив профессиональных программистов, в-третьих, он солиднее по выполняемым функциям и, наконец, его версии постоянно обновляются. Осторожный читатель вправе заметить, что "бесплатный сыр бывает только в мышеловке". Рассеять сомнения поможет теоретическая подкованность. Классификация программного обеспечения Абсолютно бесплатных программ не бывает. Каждая из них имеет свою цену, другое дело, какую именно. Например, за скачивание с Интернета freeware-программы надо заплатить деньги провайдеру. Для перезаписи бесплатного софта с компьютера на компьютер надо приобрести дискету или CD. И даже если кто-то подарит вам безвозмездно программу, то время установки ее на компьютер можно пересчитать через износ вычислительной техники. Информация в Интернете делится на три большие группы: бесплатная, условно-бесплатная и платная. Freeware (сокращение от FREE softWARE) - бесплатные программы с возможностью многократного тиражирования и неограниченным сроком действия. Правила хорошего тона предписывают не изменять название программы, а также указывать авторов при ссылке на нее. Shareware (сокращение от SHARE softWARE) - условно-бесплатные программы. На компьютерном жаргоне их называют "шароварными". Авторы подобных программ вводят определенные ограничения. Например, действует лимит на
|
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | ||||||||||||||||||||||||||||||||||||||||