Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #93, СЕНТЯБРЬ 2006 г.

Кодим жесть

Долин Сергей

Хакер, номер #093, стр. 093-024-2


Особенности архитектуры

Микроконтроллеры делятся на два типа архитектур: CISC и RISC. CISC-архитектура, к которой принадлежит i8051 и х86, имеет большой набор команд, но достаточно медленно их выполняют. Например, выполнение команд в i8051 архитектуре идет за машинным циклом, который в AT89C51 равен 12 тактам. Микроконтроллеры AVR, PIC и ARM являются представителями RISC-архитектуры (Reduced Instruction Set Computers/сокращенный набор команд). Отличительная особенность RISC состоит в том, что команда выполняется за такт, и, следовательно, процессор работает быстрее на той же тактовой частоте. Но в любой бочке меда есть капля дегтя. У RISC-архитектуры очень небольшой набор команд. Например, у PIC16F628 самая сложная математическая команда SUBWF – вычитание (сложения нет). А дальше крутись, как можешь. Но народ и умножает, и делит, имея в запасе только узкий набор инструкций (в данном процессоре всего 35 инструкций!). У AVR ситуация немного лучше. У него нет команд деления, которые легко обыгрываются остальными операторами. В составе AVR имеется до 133 инструкций, что ставит данный МК в пограничное состояние между CISC- и RISC-архитектурой.

Как зашить контроллер

Думаю, лучшим контроллером для начинающих является AVR. К нему написано огромное количество библиотек и программного софта. В инете валяется куча схем на их базе. Сам производитель Atmel занимается поддержкой разработчиков, и постоянно на сайте atmel.com выкладывает популярные решения насущных задач. Новичкам рекомендую прикупить микроконтроллер ATmega8535-16PI (см. рисунок).

Для заливки программы в микроконтроллер необходим программатор. Можно купить готовый девайс, но, по-моему, его проще спаять самому. Контроллеры AVR программируются по шине ISP. Есть и другие способы программирования, но мы их рассматривать не будем. Для прошивки нашего контроллера мы должны подключиться к ногам MOSI (6-я ножка контроллера), MISO (7-я ножка), SCK (8-я ножка) и Reset (9-я ножка). Программатор выполнен в виде шлейфа припаянному к 25–контактному разъему типа «папа», вставляемого в LPT-порт.

На разъеме LPT-порта, соответственно, 2 – Reset, 3 – MOSI, 4 – SCK, 10 – MISO и любой от 18 до 25 – GND (смотри схему). Для прошивки контроллера МК мы будем использовать программу UniProf (avr.nikolaew.org).

Подключаем контроллер по описанной выше схеме, подаем на него питание и запускаем программу. Если все было запаяно правильно, то программа сама определит тип МК. Далее открываем файл прошивки (обычно с расширением GEN, BIN или HEX), потом жмем кнопку «Стереть контроллер» (без этой операции AVR не зашьется, а программа-прошивальщик даст ошибку записи) и кнопку «Зашить». Все! Программа залита в наш микрокомпьютер.

Назад на стр. 093-024-1  Содержание  Вперед на стр. 093-024-3