Макет и программирование atmega328p & attiny45 в студии atmel 7

Макет и программирование atmega328p & attiny45 в студии atmel 7
Макет и программирование atmega328p & attiny45 в студии atmel 7
Anonim

Макетирование и программирование ATmega328P & ATtiny45 в Atmel Studio 7

В этом проекте мы построим схемы для программирования двух разных микроконтроллеров Atmel, и мы обсудим необходимую настройку программного обеспечения.

В этом проекте будет описано построение двух очень похожих схем: одно для программирования ATmega328P и другое для программирования ATtiny45. В статье приведена полная схема схем программирования, а также подробные фотографии паяных макетов. Кроме того, также будет внедрена Atmel Studio 7 IDE (Integrated Development Environment).

Во-первых, аппаратное обеспечение

ATmega328P является 28-контактным микроконтроллером от Atmel и является частью линии AVR. Вероятно, он наиболее известен как наиболее часто используемый μC в марке платформы разработки Arduino, но AT328P способен гораздо больше, чем может быть выжат из него. Если вы хотите увидеть некоторые доказательства этого утверждения, посмотрите на таблицу с 660 страницами.

ATtiny45 представляет собой 8-контактный μC и может считаться «младшим братом» ATmega328P. Он имеет многие из тех же функций, но, конечно, у него не так много контактов ввода-вывода.

Серийный периферийный интерфейс (SPI) используется для программирования ATmega328P и ATtiny45; это трехпроводная (плюс наземная) шина, состоящая из сигнала Master Out, Slave In (MOSI), сигнала Master In, Slave Out (MISO) и сигнала Serial Clock (SCK). Часы генерируются ведущим устройством и используются для обеспечения синхронной связи между ведущим и ведомым (или ведомыми); поэтому SPI является «синхронной» коммуникационной шиной.

Схемы программирования

Ниже приведены схематические схемы для схем программирования. Обратите внимание, что резистор R2 и LED1 строго не требуются для программирования, но включены в схему для целей тестирования, как определено ниже в этом проекте.

Image
Image
Image
Image

Выбор программиста

Доступно несколько программистов, которые будут обрабатывать ATmega328P и ATtiny45; Atmel-ICE находится в верхней части списка и является прекрасным программистом, который будет обсуждаться в следующей статье. Пока что у вас есть менее дорогостоящие варианты скинов, и программный программист Sparkfun AVR - это тот, который используется автором skinflint этой статьи. Если вы предпочитаете что-то другое, не стесняйтесь выбирать тот, который соответствует вашим предпочтениям и вашему кошельку. Просто убедитесь, что он использует Serial Peripheral Interface, как описано выше, и будьте готовы внести соответствующие изменения в информацию в этой статье.

ВНИМАНИЕ! Обязательно загрузите и установите соответствующий драйвер для AVR Pocket Programmer на свой компьютер, прежде чем подключать программиста в первый раз. Если Windows разрешено устанавливать неверный драйвер, это может быть очень проблематично исправить. Инструкции для получения драйвера AVR Pocket Programmer приведены ниже в этой статье.

AVR Pocket Programmer поставляется с ленточным кабелем, который должен быть подключен к Atmel μC. Он оснащен тремя разъемами: гнезда 2 × 5, который вставлен в гнездовой штырьковый разъем на AVR Pocket Programmer, еще 2 × 5 самки, что примерно на 9 дюймов (23 см) вниз по ленточному кабелю (который не используется в эта статья), плюс 2 × 3 женщины в конце ленточного кабеля. Распиновки показаны на фотографиях ниже.

Image
Image

Соединительные устройства для пайки безрисковых схем

На следующих фотографиях показаны схемы пайки бесконтактных схем программирования ATmega328P и ATtiny45. Шесть коротких перемычек используются для подключения требуемых проводов от гнезда 2 × 3 к соответствующим контактам на микроконтроллере в паяльной макете. Обратите внимание, что цвета проводов на фотографиях сборки соответствуют приведенным выше схемам.

Image
Image
Image
Image

Список деталей

В дополнение к некоторым перемычкам провода части, необходимые для сборки схем программирования, перечислены в следующей таблице.

Часть Ref. Описание Источник Предмет номер.
U1 IC, ATmega328P-PU, 32kB Flash, DIP-28, 1.8-5.5V Digi-Key ATmega328P-PU-ND
U1 IC, ATtiny45-PU, 4kB Flash, DIP-8, 2.7-5.5V Digi-Key ATTINY45-20PU-ND
R1 Резистор, ¼ Вт, 10 кОм Digi-Key 10KQBK-ND
R2 Резистор, ¼ Вт, 470 Ом Digi-Key 470QBK-ND
LED1 Диод, светоизлучение, T1 3/4, желтый Digi-Key 754-1889-ND
С1 Конденсатор, керамика, 0, 1 мкФ, 50 В Digi-Key 399-9797-ND
N / A Программист, AVR Pocket, PGM-09825 Digi-Key 1568-1080-ND
N / A Макет, беспаечный, 400 Контакт Digi-Key 377-2094-ND

Затем программное обеспечение

Драйвер для карманных программистов AVR

Драйвер Windows для программы AVR Pocket Programmer - тот же, что используется программистом Adafruit USBTiny. Перейдите на эту страницу Adafruit и нажмите ссылку для подписанного драйвера Windows USBtinyISP, созданного с помощью libusb v1.12. Это позволит вам загружать zip-файл, содержащий два файла installer.exe: один для 32-разрядных компьютеров и один для 64-разрядных компьютеров. Дважды щелкните по тому, что подходит для вашего ПК с ОС Windows, и драйвер будет установлен.

Только после установки правильного драйвера Windows вы должны подключить AVR Pocket Programmer к компьютеру в первый раз. Для подключения вашего ПК к программному программисту AVR вам понадобится кабель типа USB от A до Miniature B. Когда вы подключаетесь, загорается синий светодиод PWR и красный светодиод Stat1; два синих светодиода могут также загораться и / или мерцать. Windows попытается найти драйвер, и вы должны при необходимости подключить Windows к правильному расположению драйвера. После правильной установки программа AVR Pocket Programmer появится в диспетчере устройств в устройствах libusb-winXX в качестве «USBtiny»; он не будет перечисляться как COM-порт. Смотрите скриншот ниже:

Image
Image

Atmel Studio 7

Как и многие фирмы-разработчики микроконтроллеров, Atmel имеет интегрированную среду разработки (IDE), которая работает с их аппаратными предложениями: Atmel Studio 7. Хотя это не единственный способ программирования Atmel μC, это наиболее полнофункциональный метод для Windows 7, 8, и 10 (как 32-битные, так и 64-битные); к сожалению, он не может использоваться с операционными системами Linux или Mac.

Количество опций и вариантов в Atmel Studio 7 может быть огромным для нового пользователя. Таким образом, поэтапный подход будет представлен в этом проекте и значительно упростит процесс. Начните с загрузки и установки IDE на вашем ПК. Руководство пользователя Studio 7 и большое количество дополнительной информации также доступны для загрузки.

Поддержка нескольких аппаратных программистов включена в Studio 7, но точный выбор зависит от того, какой микроконтроллер Atmel вы собираетесь использовать. На скриншоте ниже программисты, поддерживаемые для ATMega328P, перечислены справа.

Image
Image

Как вы можете видеть, AVR Pocket Programmer отсутствует в списке. Однако его все еще можно использовать с Studio 7 с помощью программного обеспечения под названием AVRDude.

AVRDUDE

AVRDude - это утилита командной строки, которая используется для загрузки и загрузки на микроконтроллеры Atmel. Версии доступны как для Linux, так и для Windows. На момент написания этой статьи (7 июня 2017 года) последняя версия - 6.3; его можно скачать здесь. Пользователи Windows должны скачать avrdude-6.3-mingw32-zip (щелкнув эту ссылку, загрузите zip-файл!), Разархивируйте файлы и установите AVRDude. Обратите внимание: установка программы в корневом каталоге вашего основного жесткого диска не является существенной, но упростит ее использование с Atmel Studio 7. Если версия, доступная ниже 6.3, вы можете установить ее по своему усмотрению. Руководство пользователя для AVRDude доступно здесь.

Чтобы проверить правильность установки и работы AVRDude, выполните следующие действия:

  1. Нажмите кнопку «Пуск» Windows.
  2. В поле поиска введите cmd и нажмите Enter. Откроется окно подсказки DOS.
  3. В командной строке DOS перейдите в каталог, в котором вы установили AVRDude.
  4. Введите avrdude -c USBtiny и нажмите Enter. Если все будет хорошо, AVRDude вернет список поддерживаемых устройств Atmel.

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

Image
Image

Все вместе

Предполагая, что программист подключен к AVR на вашем паяльном макете, как описано выше, вы почти готовы запрограммировать свой AVR. Загрузите файл New Blink.zip с помощью кнопки ниже, разархивируйте его и сохраните на своем ПК в удобном месте.

Новый Blink.zip

Теперь следуйте этой процедуре.

  1. Запустите Atmel Studio 7.
  2. В левой части экрана запуска нажмите «Новый проект». Откроется экран «Новый проект».

    Image
    Image
  3. На экране «Новый проект» выберите «Исполняемый проект GCC C»; назовите проект New Blink, как показано выше, и нажмите «ОК». Откроется экран выбора устройства.

    Image
    Image
  4. На экране «Выбор устройства» выберите устройство AVR, которое вы используете: ATmega328P или ATtiny45, как показано ниже. Нажмите «ОК». Будет создан новый проект и откроется экран проекта New Blink.

    Image
    Image
  5. В раскрывающемся меню «Инструменты» выберите «Внешние инструменты …» и нажмите кнопку «Добавить».
  6. В поле «Название» введите имя инструмента, который вы создаете; это хорошо, если имя описывает инструмент. Например, вы можете ввести комбинацию имени программиста и имени устройства.
  7. В поле «Команда» введите адрес DOS для местоположения, в котором вы установили AVRDude, а также команду для запуска AVRDude.
  8. В поле «Аргументы» введите одну из двух следующих строк в зависимости от того, какой AVR вы используете. Для ATmega328P введите:

-c usbtiny -p m328p -v -U flash:w:$(TargetDir)$(TargetName).hex:i

Для ATtiny45 введите:


-c usbtiny -p t45 -v -U flash:w:$(TargetDir)$(TargetName).hex:i

  1. В поле Начальная папка введите адрес DOS для места, где вы установили AVRDude.
  2. Убедитесь, что поле «Использовать окно вывода» отмечено, а два других флажка не отмечены. Окно должно быть похоже на экран ниже, но отражает AVR, который вы используете.

    Image
    Image
  3. Нажмите «Применить» и затем нажмите «ОК». Окно внешних инструментов должно закрываться.
  4. Перейдите в папку, в которой вы разархивировали и сохранили New Blink.c в начале этого раздела, откройте файл, выберите все содержимое и скопируйте его в буфер обмена.
  5. Перейдите в окно New Blink.c в Atmel Studio 7, выберите все содержимое и вставьте содержимое буфера обмена в окно New Blink.c. Он должен выглядеть так, как показано ниже.

    Image
    Image
  6. Если в верхнем правом углу окна проекта окно разработчика решений Atmel Studio 7 не открывается, щелкните раскрывающееся меню «Вид» и выберите «Обозреватель решений». Обозреватель решений должен открываться в правом верхнем углу окна проекта.
  7. Щелкните правой кнопкой мыши файл main.c и выберите переименование. Переименуйте файл main.c в New Blink.c.
  8. Откройте раскрывающееся меню «Файл» и нажмите «Сохранить все».
  9. Нажмите раскрывающееся меню «Сборка» и выберите «Создать решение».
  10. Откройте раскрывающееся меню Инструменты и щелкните имя инструмента, созданного на шагах с 5 по 11 выше. Скомпилированный новый код Blink должен быть загружен в AVR на вашем макете, и светодиод 1 должен начать мигать: на 1/2 секунды и выключить на ½ секунды, 60 раз в минуту.

Начало

По общему признанию, это был долгий процесс для простого мигания светодиода, но на самом деле вы успешно устранили четыре основных препятствия: создание аппаратной платформы для программирования микроконтроллера AVR, установка интегрированной среды разработки (Atmel Studio 7), интеграция внешнего программы (AVRDude) и определения инструмента программирования для AVR по вашему выбору. Будьте уверены, что для будущих проектов Atmel вам станет легче, что намного веселее. Следите за ними на AllAboutCircuits.com.

Попробуйте этот проект сами! Получить спецификацию.