![]() |
Микроконтроллеры AVR для начинающих
4 Attachment(s)
Пользуясь свободным временем на работе решил сделать небольшой FAQ для народа, впервые применяющего МК AVR.
Поскольку МК этой серии применяется в большинстве новых Спектрум-девайсов, надеюсь, что эта инфомация будет полезной :) Итак, программы для прошивания МК. Классика жанра - AVReal. Старенькая, консольная, но вполне работающая. Хелп встроен прямо в программу. Для работы под ХР потребует установки дров, коие есть в комплекте поставки. Для работы требует программаторы ByteBlasterMV или STK200. И тот, и другой очень похожи друг на друга и неплохо собираются "на коленке". Схему байтбластера можно покурить здесь - http://www.altera.ru/cgi-bin/go?35 , схема STK200 - http://hardlock.org.ua/mc/other/stk200/index.html Самой простой будет судя по всему Uniprof. Эта прога хороша еще и тем, что в достаточно подробном и понятном хелпе есть также описание и самих программаторов, работающих с этой программой. Это и пресловутый "пять проводков" на порт LPT, и чуть более сложный из десятка резисторов/диодов адаптер для COM-порта. Именно такие адаптеры у меня работают и дома и на работе. Он хорош еще и тем, что подходит для среды разработки Algorithm Builder (визуальный ассемблер). Я начинал писать программы для МК именно в этой среде, чего могу порекомендовать и прочим "чайникам" :) Классическим инструментом написания программ является конечно же атмелевский ассемблер/отладчик/симулятор AVR Studio, который бесплатно доступен на альма-матер www.atmel.ru Если же от ассемблера вас "не торкает", а родным является язык C, то тут можно порекомендовать WinAVR, CodeVision, что-то там еще... :) Для полноты картины можно упомянуть и о языке BASIC. Есть такое чудо на МК. Вполне себе неплохо работает. http://www.mcselec.com/index.php?opt...d=14&Itemid=41 Для тех, у кого на напряженка с портами LPT и COM, остается вариант USB-программатора. Покупать оригинальный атмелевский - вариант для маньяков/олигархов. Самодельный проггер сделать несложно и самому. Я сделал себе на днях и теперь доволен как слон :) самодельный проггер называется USBAsp, программа его поддержки - AVRDude (АВРчувак :) ). Минус программатора в том, что для его изготовления понадобится и ATMega8 (ATMega48), причем прошитая... Сайтик с подробной инструкцией по изготовлению и работе с проггером - http://easyelectronics.ru/usb-progra...vr-usbasp.html На этом же сайте найдете просто море полезной информации о МК и об электронике вообще. Также порекомендую "пушистый" сайт маньяков-электронщиков www.radiokot.ru На этом сайте есть раздел "Статьи", где можно порыться в свое удовольствие, а также "жирный" форум. В аттаче я прилагаю файлы Uniprof'a и AVReal'a с драйверами. З.Ы. У кого если есть что добавить - добавляйте! :) |
1 Attachment(s)
Для прошивания чипов через программаторы на LPT очень удобна оболочка ChipBlasterAVR http://www.hpinfotech.ro/html/cbavr.htm (по сути CodeVisionAVR без Си редактора/компилятора). Если все-же склоняетесь к AVReal, то для него есть GUI (впрочем автор AVReal его не признает, но это удобнее/привычнее консоли), качать к примеру отсюда: http://www.miek.narod.ru/avrealshell.zip.
Для отладки прог помимо "правильного" AVR Studio удобно пользоваться AVR Simulator IDE http://www.oshonsoft.com/downloads.html и VMLAB http://www.amctools.com/. Удобны тем, что в функционале имеют виртуальные осциллографы, в студии этой фичи нет. |
Немножко о такой злободневной теме, как фузы (фьюзы, fuses). Эти "зверьки" нужны для конфигурирования "железа" микроконтроллера. Они определяют например, будет ли подключен кварц, или обойдемся встроенным генератором. Т.е., они как соеобразный BIOS на ПэЦэ :)
Геморрой состоит в том, что в разных программах-программаторах они могут быть и "по человечески" инверсными, и неинверсными. При ошибочном выставлении фьюзов мы рискуем остаться с "глухим" микроконтроллером, не слышащим программатора. Выход из этой проблемки несложен. Дело в том, что по умолчанию бит опции SPIEN включен. Этот бит как раз отвечает за то, что МК будет откликаться на команды программатора. Поэтому, используя новый для вас программатор, полезно перед записью фьюзов сделать банальное чтение их же из МК. Если после чтения вы увидите, что "птичка" (галочка, единичка) в этом бите сброшена, значит данная программа работает с инверсными значениями фьюзов. И наоборот соответственно. Посмотрев табличку фьюзов от аффтара прошивки, которую вы собираетесь заливать в МК, также обратите внимание на значение этого бита. В 99,9% прошивок значение этого бита не меняется! Если в табличке его значение не соответствует считанному из МК, то вводить эти ВСЕ биты в программатор нужно "наоборот". |
Полезные ссылки по микроконтроллерам AVR для начинающих:
Учебный курс по микроконтроллерам: http://easyelectronics.ru/category/avr-uchebnyj-kurs Конфигурация Fuse бит: http://easyelectronics.ru/index.php?s=fuse+bit Также по микроконтроллерам AVR для начинающих интересно рассказано на: http://myrobot.ru/ Вот здесь можно прочитать, как запрограммировать микроконтроллер AVR при помощи Altera Byte Blaster: http://radiokot.ru/start/mcu_fpga/avr/03/ Мне лично очень удобно «заливать» прошивку в микроконтроллер и выставлять Fuses в программе PonyProg2000: http://www.lancos.com/ppwin95.html У нее на мой взгляд очень удобный графический интерфейс. В Pony Prog установленный бит (отмеченный птичкой) считается активным (bit=0). Кстати, последняя версия этой программы не позволяет сбросить SPIEN бит (бит, который разрешает или запрещает программирование по SPI; эта «птичка» установлена и выделена по сравнению с другими). |
Quote:
Оффициальный сайт: http://real.kiev.ua/avreal Ссылки на скачивание: http://real.kiev.ua/avreal/download/ Описание: http://real.kiev.ua/old/avreal/ru/description Адаптеры: http://real.kiev.ua/old/avreal/ru/adapters.html |
Quote:
Потому, что ей скоро триста лет в обед. Дата рождения на обновляемость не влияет. :) Сейчас опробовал связку AVReal + AVRealShell + ByteBlasterMV. Шелл (спасибо spensor'у) реально упрощает работу. Очень рекомендую тем, кто еще не определился с инструментарием. Огроменный бонус состоит в том, что тем же ByteBlaster'ом прошиваются и другие чипы - ПЛИСы (CPLD, FPGA). А это очень полезно для сборки Спекки-2007 и прочих Пентагонов 2.2 и всякоразных SMUCов :) Фактически, получаете два программатора в одном. |
Quote:
http://eugenemcu.ru/ http://chipenable.ru/ http://arv.radioliga.com/ - тут уже больше для "продвинутых", хотя и новичкам есть что почерпнуть... |
Quote:
Внесу свою лепту. http://123avr.com/ действительно для чайников. доступно и доходчиво. Из железа - таки рекомендую проггер на USB. Собирается легко, схемка примитивная... Сам контроллер для него в качестве исключения можно прошить "проводками"... |
Quote:
|
Нашел еще схему USB-го программатора AVR. Говорится, что она совместима по командам с оригинальным программатором AVR910 от ATMEL:
http://prottoss.com/projects/AVR910....programmer.htm Может кто-нибудь делал эту схему и может рассказать о ее недостатках, по-возможности, сравнить ее с USBAsp, который, как я понял из описания, поддерживается только программой AVRDude. Обе схемы достаточно просты и похожи. Помогите, пожалуйста, определиться, какую схему выбрать. Теоретически совместимый с "атмеловским" AVR910 программатор лучше поддержан программно. |
| All times are GMT +4. The time now is 05:14. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.