и
МИКРОКОНТРОЛЛЕРЫ
в
-
"И нтеллектуальны й"
програм м атор
Многие годы занесение программы в микроконтроллеры
выглядело следующим образом - более или менее слож-
ный программатор (в том числе пресловутые “три про-
водка”), подключаемый к параллельному или последова-
тельному порту компьютера, и более или менее “наворо-
ченная” программа, управляющая этим процессом. Увы,
такая схема, судя по всему, доживает последние дни, и
причиной тому - изменения, произошедшие с самими
компьютерами. Широкое внедрение в практику протоко-
ла USB привело к тому, что на новых компьютерах па-
раллельных портов, как правило, нет вовсе, а последо-
вательные, видимо, совсем скоро прекратят свое суще-
ствование. Очевидный выход из этой ситуации заключа-
ется в том, что программаторы теперь разрабатываются
специально для подключения к шине USB. Неотъемле-
мой частью такого программатора является управляющий
микроконтроллер, поскольку протокол USB требует се-
рьезной “обвязки” как со стороны компьютера, так и со
стороны устройства, подключенного к USB-порту. Боль-
шинство программаторов, разработанных специально для
USB-портов, как и прежние программаторы, управляют-
ся со стороны компьютера с помощью программы. Меж-
ду тем, с появлением в самом программаторе значитель-
ных вычислительных мощностей, стало возможным реа-
лизовать и совершенно иной подход к записи программ
в микроконтроллеры, а именно - полностью избавиться
от управляющей программы на стороне компьютера.
Основой такого подхода является тот факт, что прак-
тически все компиляторы программ для микроконтрол-
леров подготавливают откомпилированную программу в
виде т.н. НЕХ-файла. Это - обычный текстовый файл, за-
полненный по определенному, достаточно несложному,
формату. Программы для программаторов считывают
этот файл, преобразуют его в набор байтов, и уже этот
набор заносят в память программ (или данных) микро-
контроллера. Но ведь теперь и управляющий микроконт-
роллер на стороне программатора вполне может спра-
виться с задачей анализа такого файла, превращения его
в набор байтов и собственно записью! Ему остается толь-
ко каким-то образом получить такой файл из компьюте-
ра. И вот здесь ему на помощь могут придти специализи-
рованные микросхемы-преобразователи USB-интерфей-
са, выпускаемые фирмой FTDI Chip - если точнее, мик-
росхема FT245BM. При ее подключении к компьютеру и
установке соответствующих драйверов, в списке обору-
дования компьютера появляется виртуальный последо-
вательный порт, например COM4. Теперь со стороны ком-
пьютера достаточно просто скопировать НЕХ-файл с про-
граммой в этот виртуальный порт, а уж микроконтроллер
“на том конце” этого порта примет скопированный файл,
разберет его в соответствии с форматом, и запишет его
в память программируемого устройства. Копирование
файлов - стандартная операция любой операционной
Александр Черномырдин
г. Магнитогорск
E-mail: chav1961@radioliga.com
системы. В Windows при таком подходе программирова-
ния микроконтроллера она будет выглядеть так:
copy program.hex COM4:
В операционной системе Linux и других Unix-подоб-
ных системах это можно выполнить так:
dd <program.hex >/dev/ttyUSBO
Вот, по сути дела, и весь процесс программирования!
Такой подход, помимо того, что полностью устраняет уп-
равляющую программу со стороны компьютера (которая,
как правило, является “вещью в себе”), и “отвязывает”
процесс программирования от конкретной операционной
системы (что может быть актуально в свете очередной
“битвы с контрафактом”), дает еще одно преимущество -
он позволяет выполнять процесс программирования не в
интерактивном режиме, а в автоматическом (например,
из скрипта или пакетного файла).
Основное возражение против такого подхода - “а как
быть с ошибками”? Во-первых, сам факт ошибки програм-
матор должен отслеживать. Если после записи в СОМ-
порт файла с программой, к примеру, считать из этого
же порта информацию, программатор вполне в состоя-
нии подготовить и вернуть некое сообщение (например,
“ОК” или “ERROR”), в соответствии с которым можно бу-
дет построить дальнейшую работу. Тем же, кому непре-
менно требуется знать, что сбой записи произошел имен-
но в 20-м байте памяти программ, хочется задать резон-
ный вопрос - “а что вам это знание даст?”. И чем Ваши
действия в этом случае будут отличаться от действий при
сбое в 19-м или, скажем, в 21 -м байте?
Схема программатора
Схема программатора, построенного на указанном
принципе, приведена на рис. 1. Он предназначен для про-
граммирования микроконтроллеров фирмы ATMEL, рабо-
тающих в режиме низковольтного программирования
(serial downloading). В нем использованы две микросхемы
- управляющий микроконтроллер АТМедав и преобразо-
ватель USB-интерфейса FT245BM. Каких-либо схемно-тех-
нических особенностей программатор не имеет, вся его
функциональность реализована программным путем. Про-
грамматор собран на плате из двухстороннего стеклотек-
столита толщиной 1,5 мм размерами 50x23 мм. Монтаж
программатора выполнен на верхней стороне платы, ниж-
няя используется в качестве экрана и для соединения об-
щих проводников схемы. При сборке конструкции корпус
Таблица 1. Типы компонент и критерии замены
Об оз на ч ен и е
Тип
Критерий замены
R 1 .
..R 1 1
чип 0805
Ррасс > 0,125 Вт
С 1
чип танталовый
Любой электролитический и > 5 В
Ого
Осо
чип 0805
Любой керамический
V D 1
K P F -3 2 3 6 S R S G M B C
Любой трехцветный или три раздельных
V T 1
IR FD 9 0 14
Любой р-канальный с I > 0,5 А
U Радиолюбитель - 0 3 /2 0 0 8
предыдущая страница 32 Радиолюбитель 2008-03 читать онлайн следующая страница 34 Радиолюбитель 2008-03 читать онлайн Домой Выключить/включить текст