Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Unsorted (http://zx-pk.ru/forumdisplay.php?f=13)
-   -   Микроконтроллеры AVR для начинающих (http://zx-pk.ru/showthread.php?t=11978)

Ewgeny7 3rd February 2010 10:56

Микроконтроллеры 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 с драйверами.

З.Ы. У кого если есть что добавить - добавляйте! :)

spensor 3rd February 2010 11:48

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/. Удобны тем, что в функционале имеют виртуальные осциллографы, в студии этой фичи нет.

Ewgeny7 3rd February 2010 12:23

Немножко о такой злободневной теме, как фузы (фьюзы, fuses). Эти "зверьки" нужны для конфигурирования "железа" микроконтроллера. Они определяют например, будет ли подключен кварц, или обойдемся встроенным генератором. Т.е., они как соеобразный BIOS на ПэЦэ :)
Геморрой состоит в том, что в разных программах-программаторах они могут быть и "по человечески" инверсными, и неинверсными.
При ошибочном выставлении фьюзов мы рискуем остаться с "глухим" микроконтроллером, не слышащим программатора.
Выход из этой проблемки несложен. Дело в том, что по умолчанию бит опции SPIEN включен. Этот бит как раз отвечает за то, что МК будет откликаться на команды программатора. Поэтому, используя новый для вас программатор, полезно перед записью фьюзов сделать банальное чтение их же из МК. Если после чтения вы увидите, что "птичка" (галочка, единичка) в этом бите сброшена, значит данная программа работает с инверсными значениями фьюзов. И наоборот соответственно.
Посмотрев табличку фьюзов от аффтара прошивки, которую вы собираетесь заливать в МК, также обратите внимание на значение этого бита. В 99,9% прошивок значение этого бита не меняется! Если в табличке его значение не соответствует считанному из МК, то вводить эти ВСЕ биты в программатор нужно "наоборот".

Alex_kapfa 3rd February 2010 13:14

Полезные ссылки по микроконтроллерам 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; эта «птичка» установлена и выделена по сравнению с другими).

molodcov_alex 3rd February 2010 14:10

Quote:

Originally Posted by ewgeny7 (Post 254047)
AVReal. Старенькая

Почему ж эта "старенькая" программа постоянно обновляется и последняя версия вышла 31 января 2010 года? :D
Оффициальный сайт: 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

Ewgeny7 3rd February 2010 14:18

Quote:

Originally Posted by molodcov_alex (Post 254083)
Почему ж эта "старенькая" программа постоянно обновляется и последняя версия вышла 31 января 2010 года?

Старенькая в хорошем смысле.
Потому, что ей скоро триста лет в обед.
Дата рождения на обновляемость не влияет. :)

Сейчас опробовал связку AVReal + AVRealShell + ByteBlasterMV. Шелл (спасибо spensor'у) реально упрощает работу.
Очень рекомендую тем, кто еще не определился с инструментарием. Огроменный бонус состоит в том, что тем же ByteBlaster'ом прошиваются и другие чипы - ПЛИСы (CPLD, FPGA). А это очень полезно для сборки Спекки-2007 и прочих Пентагонов 2.2 и всякоразных SMUCов :) Фактически, получаете два программатора в одном.

Alex_NEMO 3rd February 2010 16:15

Quote:

Originally Posted by Alex_kapfa (Post 254070)
Полезные ссылки по микроконтроллерам AVR для начинающих:

Дабавлю свои "5 копеек":
http://eugenemcu.ru/
http://chipenable.ru/
http://arv.radioliga.com/ - тут уже больше для "продвинутых", хотя и новичкам есть что почерпнуть...

Mikka_A 3rd February 2010 17:39

Quote:

Originally Posted by ewgeny7 (Post 254047)
Пользуясь свободным временем на работе решил сделать небольшой FAQ для народа, впервые применяющего МК AVR..................:)

Хорошее дела начали, Товарищ! :wink: :v2_thumb:

Внесу свою лепту.

http://123avr.com/

действительно для чайников. доступно и доходчиво.

Из железа - таки рекомендую проггер на USB. Собирается легко, схемка примитивная... Сам контроллер для него в качестве исключения можно прошить "проводками"...

Alex_NEMO 3rd February 2010 18:25

Quote:

Originally Posted by Mikka_A (Post 254096)
http://123avr.com/

действительно для чайников. доступно и доходчиво.

А... преснопамятный курс от товарища avr123! Известная гадость, особенно "старые" версии типа http://avr123.nm.ru/. Куча перескоков между монтроллерами(AVR<>PIC), компиляторами/средами разработки, полно рекламы и т.д. На мой взгляд - больше запутывает, нежели помогает!

Alex_kapfa 4th February 2010 13:25

Нашел еще схему 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.