роботы
робототехника
микроконтроллеры
Главная
Новости
Спорт
Шаг за шагом
Статьи
Wiki
Форум
Downloads
Ссылки
Контакты
 

Простейший робот
Схема и описание простого робота на одной микросхеме. Робот может двигаться на свет или следовать за рукой.  

Схема и описание первого проекта на микроконтроллере AVR
"Hello, world!" для микроконтроллера.  

Робот на микроконтроллере AVR
Схема робота на микроконтроллере. Примеры программ.  

ПРОГРАММАТОР AVR :: AVRDUDE :: USB-программатор USBasp



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

Наиболее распространенным способом программирования для AVR является внутрисхемное программирование (функция ISP - in-cirсuit serial programming) через коммуникационный интерфейс SPI. Этой возможностью обладают все микроконтроллеры AVR, кроме Tiny11 и Tiny28. Данный режим удобен тем, что позволяет программировать AVR, расположенный в готовом устройстве, то есть вам не нужно вытаскивать микроконтроллер из платы каждый раз, когда вы хотите его перепрограммировать.

Интерфейс SPI


Интерфейс SPI (Serial Peripheral Interface) представляет собой 3 линии: SCK, MISO и MOSI.

SCK (SPI ClocK)
Тактовый сигнал, который программатор формирует на линии SCK.

MOSI (Master Out, Slave In - вход ведомого, выход ведущего)
Линия передачи данных от программатора (ведущий), к программируемому микроконтроллеру (ведомый). Во время каждого импульса на линии SCK передается один бит от программатора к программируемому микроконтроллеру по линии MOSI.

MISO (Master In, Slave Out - выход ведомого, вход ведущего)
Линия передачи данных от программируемого микроконтроллера (ведомый) к программатору (ведущий). По каждому импульсу на линии SCK передается один бит от микроконтроллера к программатору по линии MISO.

Для обеспечения нормальной связи по трем SPI линиям необходимо соединить общую землю (GND) на программаторе и программируемом устройстве.

Для входа и нахождения в режиме последовательного программирования используется линия сброса (RESET). Она должна удерживаться в активном состоянии (низкий уровень) во время программирования AVR. Также при стирании чипа на линии RESET должен быть сформирован импульс в конце цикла стирания.

Кроме того, может использоваться вывод контроллера XTAL1 для тактировки контроллера программатором.

При программировании AVR программатор всегда функционирует как ведущее устройство, а микроконтроллер как ведомое.


Программная часть


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

AVRDUDE

В состав пакета WinAVR входит мощная утилита AVRDUDE. Она позволяет загружать программы и данные в память микроконтроллера, а также считывать их оттуда. AVRDUDE использует SPI-интерфейс. Существуют версии для Windows и Linux. Первоначальный код был написан Брайеном Дином (Brian S. Dean) и имел название avrprog.

AVRDUDE может использоваться через командную строку, чтобы читать или записать все типы памяти кристалла, или при помощи графического интерфейса. Использование AVRDUDE из командной строки удобно для полного программирования всей памяти кристалла, в то время как графический интерфейс полезен для исследования содержания памяти, изменения отдельных байтов EEPROM, fuse и lock битов и т.д.

AVRDUDE поддерживает множество типов программирующих устройств, работающих через USB-интерфейс, параллельный порт (LPT) и последовательный порт (COM).

Для работы с AVRDUDE через графический интерфейс можно воспользоваться программой USBASP AVRDUDE PROG, предназначеной для работы с программатором USBASP, о котором пойдет речь дальше.

Аппаратная часть


USBASP — USB-программатор для AVR

программатор USBasp USB ISP AVR Программатор USBasp — наиболее распространенный бюджетный программатор, работающий с USB-портом. Его цена, как правило, не превосходит 300 рублей (2017 г.).

Обычно программатор USBasp комплектуется кабелем с двумя разъемами на концах. Расположение выводов на ISP-разъеме программатора и на кабеле можно увидеть на следующем рисунке. (NC означает "not connected" – не подключен.)

разъем программатора USBasp USB ISP AVR


Для работы программатора необходимо установить драйвер.
Скачать драйвер USBasp для 32- и 64-разрядных Windows 10, 8.1, 7, XP.

Перед установкой драйвера следует вставить USB-разъем программатора в свободный USB-порт компьютера. При этом в диспетчере устройств должно появиться новое устройство.

Установка драйвера программатора USBasp


Чтобы установить драйвер USBasp необходимо запустить файл InstallDriver.exe из распакованного архива. В Windows XP можно просто указать мастеру установки нового оборудования папку с распакованными файлами драйвера.

После окончания установки драйвера в диспетчере устройств должен появиться значок программатора без желтого восклицательного знака.

Установка драйвера программатора USBasp завершена


После установки драйвера в Windows XP, перед началом работы с программатором может понадобиться перезагрузка.





Простейший программатор AVR

программатор stk200 (простая версия)

Схема простого программатора AVR

Разъем, подключаемый к параллельному порту ПК, показан со стороны пинов
Если у вас есть компьютер с параллельным портом и операционной системой Windows XP и ниже, можно использовать самый простой программатор, который состоит из 25-контактного разъема для параллельного (LPT) порта, 4-х резисторов (150 Ом) и соединительного кабеля, длина которого не должна превышать 1,5 метра. Резисторы необходимы для предохранения параллельного порта в случае неправильного монтажа и некоторых других неприятностей.

Схема получила свое название от отладочных плат Atmel для быстрого начала работы с микроконтроллерами AVR. Если вы хотите, чтобы ваш программатор почти в точности соответствовал программатору STK200, то следует поставить перемычку для определения программатора программным обеспечением (для AVRDUDE не обязательно). Перемычка должна соединять выводы 2-12.

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

При использовании этого программатора в make-файле необходимо указать:

AVRDUDE_PROGRAMMER = stk200

AVRDUDE_PORT = lpt1

Настройка AVRDUDE при работе с параллельным портом

В Windows 2000 и Windows XP запрещена прямая работа с параллельным (LPT) портом, поэтому для нормальной работы AVRDUDE необходимо установить драйвер giveio.sys. Для установки этого драйвера зайдите в папку WinAVR\bin и запустите файл install_giveio.bat (удалить драйвер из системы можно, запустив файл remove_giveio.bat).
В Windows 98 никаких специальных настроек не требуется.

Для работы с простейшим LPT-программатором подойдет также свободная GNU-утилита PonyProg, преназначенная для программирования Flash-микросхем с последовательным доступом. PonyProg существует в Windows и Linux версиях. Имеет поддержку русского языка. Может использовать стандартный последовательный порт (COM) или параллельный (LPT) порт.






myROBOT.ru Это оригинальная статья myROBOT.ru
Постоянный адрес статьи: http://myrobot.ru/stepbystep/mc_programmer.php






Статьи раздела
МИКРОКОНТРОЛЛЕРЫ

Все статьи курса
Что такое микроконтроллер.

Микроконтроллеры: краткий обзор.

Микроконтроллеры AVR.

Устройство микроконтроллера AVR.

Модели семейства AVR.
Программирование микроконтроллеров.

Среда разработки WinAVR.

Makefile и компиляция программы.

Программатор AVR. AVRDUDE. USB-программатор USBasp.

Первый проект на микроконтроллере AVR.





Copyright © myrobot.ru, 2005-2013


OpenHosting