Список разделов -> Оффтопик: «Немного не в тему, но кто чего знает полезного? (AVR)»
|
|
VIF
Мастер
Откуда: г. Батайск Сообщений: 831 Регистрация: 08.07.2004
|
По порядку....
В детстве (юности) имел совсем небольшой опыт создавания некоторых контроллеров на элементной базе тех лет (серия КР580 с ВВ55 и т.д., то же плюс Зайлог Зет80), писал небольшие программки на ассемблере, помню как было..., жутко интересно, требовало много времени и усилий, из компов реально доступен был только ZX Sincliar :о). В институте даже диплом был реальный - некоторый спец контроллер связанный с ПиСи для диагнстики некоторго оборудования.
Ну это уже далекие воспоминания....
Прогресс шагнул значительно в этой области, однако!
Посмторел намедни на AVR микроконтроллеры и прям возбудился!
Взять к примеру серию Attiny - довольно мощное ядро, встроенная ЕЕПРОМ и программируемые порты с АЦП и все это о 8-ми ногах, продается на каждом углу и стоит копейки!
А все это затронуло меня вот по какому вопросу.
Тута дочке в школу, попросили изготовить поделку связанную с ПДД, ну учитывая важность вопроса, я решил подойти к вопросу с полной ответсвенностью, т.е. ес-но захотелось изготовить светофор на СИД имитирующего работу реальных светофоров на улице.
Но когда я начал разбираться с вопросом глубже, то понял, что так просто простой схемой не отделаться!
Т.е. если посмотреть, то алгоритм работы простого современного светофора не так уж и прост!
На дискретах, наверняка получится довольно сложная схема.
Т.е. реально нужно 6-ть управляесых каналов.
Поэтому взгляд упал на Attiny, сначала хотел ПИК, но вспомнил, что тут есть народ который ближе связан с AVR ;о), поэтому у меня будет больше шансов воплотить этот проект на контроллере от Атмел.
Вот теперь по порядку.
Стоит ли начинать?
С чего начинать?
Скачал даташит на Attiny15
Буду пока изучать.
Как я понял нужно качать AVRstudio.
Может кто даст конкретную ссылку, с описанием ассеблера команд контроллеров АВР на русском языке?
Какую книгу кто посоветует?
Ну можно просто мнения на эту тему...
|
11:39 14-11-2005
|
|
|
winner
Виктор Бульба
Откуда: Обираловка Сообщений: 2961 Регистрация: 12.07.2004
|
VIF, зачем ассемблер? AVR-GCC (WinAVR) - самое то.
Полезный ресурс:
http://www.electronix.ru/
_________________ Errare humanum est |
11:49 14-11-2005
|
|
|
VIF
Мастер
Откуда: г. Батайск Сообщений: 831 Регистрация: 08.07.2004
|
Спсбо!
Подробнее, что такое AVR-GCC (WinAVR)?
|
12:00 14-11-2005
|
|
|
Sergant
Двоешник!
Откуда: SPb Сообщений: 895 Регистрация: 31.03.2004
|
пзу + счётчик(думаю 12-ти разрядов за глаза)+ генератор (секундный или больше) .....
генератор вешаем на счётчик, со счётчика на адресные линии ПЗУ подаем сигналы, с шины данных ПЗУ снимаем программу переключений и прочего(можно поизвращаться со стрелками и миганиями-главное чтобы ПЗУ хватило).
У меня так в БП от компа, собранны гирлянды на ёлку(8 штук висит) переключаються по программе прошитой в ПЗУ, меняеться скорость переключения ( обыкновенный переменный резистор )
Будьте проще.....
_________________ Укушу |
14:05 14-11-2005
|
|
|
VIF
Мастер
Откуда: г. Батайск Сообщений: 831 Регистрация: 08.07.2004
|
Идею понял.
Где-то видел схемку такую (автомат световых эффектов на елку). Но в железе получается все равно мимимум 3 корпуса, на МК схемотехника проще, (на Аттини15 встроенный RC-генератор), плюс, хотелось бы совместить полезное с приятным.
Есть идеи еще придумать пару девайсов на Тиньке, но уже используя возможности ЦАПа и пр.
|
14:45 14-11-2005
|
|
|
Sergant
Двоешник!
Откуда: SPb Сообщений: 895 Регистрация: 31.03.2004
|
Ну если хочется покывыряться, то тогда ДА....А так я гирлянды за один день на коленке сварганил( уже лет пять работают)
Насчёт контроллера-бери с 51-ым ядром(89-ую серию) проще программировать(асемблер на 86-ой похож)
_________________ Укушу |
15:15 14-11-2005
|
|
|
VIF
Мастер
Откуда: г. Батайск Сообщений: 831 Регистрация: 08.07.2004
|
2 Sergant
Дык масля сей темы как раз в том и заключается, что бы познать AVR с RISC архитектурой, команд в ихнем ассеблере не так уж и много, идеалогия написания на ассемблере не шибко отличается от програм для х51, х86.
Нужно с чего-то начинать.
Прельщает простота аппаратной части!
Как я понял для Атмелов валом программного обеспечения и различных симуляторов.
Я надеялся, что кто-то уже имеет подобный опыт, и я бы имел возможность напрямую задать пару впросов, если вдруг таковые появятся :о)
Короче начну изучать, а там посмторим.
Пока есть небольшие окна в работе и есть реальная задача...
|
15:44 14-11-2005
|
|
|
alex_iork
*******
Откуда: г. Волгоград Сообщений: 4803 Регистрация: 09.07.2004
|
VIF , зря таки вы отвергили сразу PIC, у этой штуки
таки тоже есть немало приятных вещей. Одна из них
есть даташиты на русском языке. Языки С есть как на Атмел так и на PIC. Я лично предпочитаю писать на С, а вот вставки на АSM, без них не обойтись.
|
20:13 14-11-2005
|
|
|
rezident
Вождь в отставке
Откуда: Пермь Сообщений: 4561 Регистрация: 31.03.2004
|
VIF, я пользую компиляторы для С/С++ и ассембера от IAR для MSP430 и ARM. Там же есть компиляторы и для многих других микроконтроллеров (для AVR в т.ч.). На сайте IAR после регистрации на имя Васи Пупкина (но с указанием какого-нибудь реального мыла) можно скачать 30-и дневную версию, которая легко патчится для снятия этого ограничения. Мыло при регистрации нужно для получения номера лицензии и ключа активации. Можно качать прямо с ftp.iar.com, если разберешься со структурой его каталогов (но там нет лицензии). А лицензию и серийник можено сгенерить "уникряком". Это такая программа, которая генерит лицензии и серийники для данного конкретного хоста (компьютера) причем лицензии для полнофункциональной, а не триальной версим. Если решишься воспользоваться продуктом именно IAR, то мыльни мне чего-нибудь, а я тебе отвечу "уникряком"
Для загрузки и отладки программы тебе понадобится либо JTAG интерфейс, либо интерфейс BootLoader-а. Для "малоногих" AVR-ок только BootLoader. Для работы с JTAGом нужно что-то типа ByteBlaster MV (собирается на коленке из одной м/с 74HC244). Насколько я слышал, популярным для AVR является AVReal (схема и софт). В PonyProg тоже есть поддержка BootLoader для AVR. В общем смотри сам.
Ссылки по теме.
IAR Embedded Workbench for AVR
Страничка AVReal
Схема ByteBlaster для превращения его в ByteBlaser MV (MV-Multi Voltage) достаточно лишь заменить 74LS244 на 74HC244 или 74AC244.
Успехов тебе на ембеддерском поприще!
P.S. добавлю еще ссылки на форумы, где можно пообщаться с коллегами-ембеддерами
Форум Телесистем
Форум на сахара.ру
Форум на электроникс.ру
|
22:07 14-11-2005
|
|
|
rezident
Вождь в отставке
Откуда: Пермь Сообщений: 4561 Регистрация: 31.03.2004
|
VIF, почитал я тут немного про AVR и понял, что имею довольно смутное представление об этой серии МК Одни только жалобы на "залоченные фьюзы" вводят меня в ступор. Я такого не встречал ни в MSP430, ни в LPC2000, ни в TMS320 с которыми приходилось тесно или частично встречаться. Везде есть нормальный JTAG интерфейс, с помощью которого можно и программу загрузить во Flash и отлаживать ее (просматривать состояние регистров, памяти, портов, расставлять точки останова и т.п.). Как альтернатива есть BootLoader, это такая управляющая программа от производителя, находящаяся во Flash или в ROM, которая позволяет через один из стандартных последовательных портов МК загружать firmware.
Про AVR многие пишут, что если "залочил фьюзы" при ISP (In Scheme Programm - внутрисхемное программирование), то пользуйся "параллельным программатором". Что это за фигня я могу только догадываться по аналогии с 51-ми микроконтроллерами. У них тоже требовался параллельный программатор, но про ISP тогда речи не было. Я конечно не считаю, что AVR это "отстой", т.к. для каждого МК есть свои области применения. Но если бы передо мной стояла альтернатива, то я бы AVR не выбрал для своих разработок. Хотя бы потому, что я его плохо знаю , потому что у Atmel нет какой-то стабильности (все время снимают с производства кристаллы и хотя вместо них на замену предлагают другие, но у них там опять же какие-то "фьюзы совместимости" прошивать нужно), да и после 16-битных и 32-битных МК он как-то... гм... не впечатляет Даже по ценам можно найти альтернативу этим самым "мелким" AVR, которые якобы "за копейки" продают.
Пример. Новый анонсированный LPC2101/2/3. 32-разрядный контроллер с ядром ARM7 (CPU конвейерного типа) с тактовой частотой ядра до 70МГц, с весьма шикарной периферией, со сравнительно небольшим ОЗУ и Flash по цене тех же 8-ми битников.
http://www.mt-system.ru/p73.mt?expand=366#n366
См. цены, это грубо говоря 100руб в розницу за кристалл я ядром ARM7 с 8кБ ОЗУ, 32кБ Flash, двумя 32-разр. таймерами, 10-разр. АЦП, встроенным RTC, двумя портами UART с FIFO (аля 16C550), двумя аппаратными I2C (400кГц), 1 SPI+ 1 SSP порты, до 32 GPIO (пины дискретного ввода/вывода) толерантных к 5В. Ну что еще нужно ембеддеру?
Ладно. Это я уже от темы отвлекся
Вот еще одна ссылка в тему программаторов для AVR
http://www.der-hammer.info/hvprog/index_en.htm
|
03:11 15-11-2005
|
|
|
Брат
******
Откуда: Бурятия Сообщений: 370 Регистрация: 06.04.2004
|
Резидент, спасибо за ссылки.
Тоже недавно подумал, что надо переходить на AVR. Я начал с Моторолы только потому, что имел книгу Т.В.Ремизевич.
Но сейчас появились новые , например HCS908,hcs912 не знаю,как
программировать, т.е. знаю, что надо BDM интерфейс покупать, а для старых (HC908) спаял три микрухи на плате и готов интерфейс.
О них по русски не говорят. Ждал справочник Шагурина ИИ по "Моторола"за 2004 год. Напрасно. По этой книге можно только выбрать
купить(и то новых нет), но не сделать.
|
08:44 15-11-2005
|
|
|
VIF
Мастер
Откуда: г. Батайск Сообщений: 831 Регистрация: 08.07.2004
|
Спасибо за сылки и рекомендации!
Есть пару моментов!
Пока в перспективе у меня не стоит вопрос о разработке сложных устройств на мк.
8-ми битных мк мне пока хватит для всех моих нынешних и будующих идей.
На Атмел реально имеется много документации на русском.
Нашел упрощенный курс про АВР http://avr123.nm.ru/
Как я понял - нет проблем с симуляторами и средствами для разработок для АВР от сторонних производителей.
С программатором проблем нет, мой рабочий программатор понимает Тиньки, в случае паралелльного программирования, для внутрисхемного - проблем так же не вижу, никаких программаторов ваять нет необходимости, есть софт и все работает по LPT порту (имею в виду мк о 8-ми бит Tinny).
Я просматривал мк ПИКи от Микрочип, но не нашел широкораспространненых в 8-ми ногих корпусах МК со встроенным АЦП.
|
09:38 15-11-2005
|
|
|
Sergant
Двоешник!
Откуда: SPb Сообщений: 895 Регистрация: 31.03.2004
|
вопрос - как ты собираешься светофором управлять?-ног маловато....
_________________ Укушу |
09:45 15-11-2005
|
|
|
VIF
Мастер
Откуда: г. Батайск Сообщений: 831 Регистрация: 08.07.2004
|
Чип о 8 ногах - 2 ноги земля и питание, остальные - это порты которые можно программировать, хочешь: как входы, из них 4 могут работают как 10-разрядный АЦП, два порта можно запрограммировать как диф вход (очень удобно, не нужно в некоторых случая городить корпус с ОУ для некоторых приложений), имеется возможность программировать один выход как ШИМ с частотой до 150 кГц, ну вмоем случае, ес-но запрограммировать все 6 выходов для упраления 6-тью независимыми каналами для управления СИД.
|
10:42 15-11-2005
|
|
|
VIF
Мастер
Откуда: г. Батайск Сообщений: 831 Регистрация: 08.07.2004
|
ЗЫ
Всё жя я пока остановился на AVR.
Аттини15 я уже купил, стоит 30 руб (и это в индустриальном исполнении -40 - +80С), есть как обычный ДИП так и СОИК.
Софта в И-нете - валом, но качать влом, большие объемы, попробую на местном радиорынке поискать готовые диски с софтом и описаниями мк, говорят - есть, если не найду начну потихоньку закачивать.
|
10:57 15-11-2005
|
|
|
VIF
Мастер
Откуда: г. Батайск Сообщений: 831 Регистрация: 08.07.2004
|
ЗЫ: ЗЫ:
Си++ канечно хорошо, но у меня простые задачи, и буду решать используя ассемблер.
|
10:58 15-11-2005
|
|
|
rezident
Вождь в отставке
Откуда: Пермь Сообщений: 4561 Регистрация: 31.03.2004
|
VIF, я тебя за C++ и не агитирую, я его и сам не знаю Я только в пределах ANSI C Просто программа нормально написанная на Си легко переносится и на другой контроллер. У меня уже есть такой (небольшой) опыт. Вот буквально недавно часть мной написанной на Си программы для MSP430 довольно легко перенесли на LPC2132. В ней работа с двухстрочным символьным LCD, матричной клавиатурой и обеспечение транспортного протокола связи на UART. Вроде мелочь, а для меня (все еще начинающего) програмиста, это первый опыт с переносимостью
|
13:04 15-11-2005
|
|
|
Sergant
Двоешник!
Откуда: SPb Сообщений: 895 Регистрация: 31.03.2004
|
Резидент , если в проге прямые обращения в порты, память и к ресурсам проца, создай заголовочный файл с символьными именами, где эти ресурсы описываются... А весь алгоритм обработки и прочии вычисления делай в другом. Тогда при переносе, тебе нужно будет просто поправить файл с именами.
_________________ Укушу |
13:08 15-11-2005
|
|
|
VIF
Мастер
Откуда: г. Батайск Сообщений: 831 Регистрация: 08.07.2004
|
Rezident
Мои задачи скромны.
Никакой символьной информации, соотв. нет дисплеев, матричных клав и пр. проблем :о).
Всего-лишь побитовая запись в регистры и вывод на порты.
В дальнейшем есть идея использовать ЦАП и ШИМ в других разработках, но опять же это будут устройства с несложным алгоритмом.
|
13:31 15-11-2005
|
|
|
Sergant
Двоешник!
Откуда: SPb Сообщений: 895 Регистрация: 31.03.2004
|
VIF , это называется -изобретать велосипед.... я от этого уже отхожу.... сейчас до е... матери всяких готовых контроллеров во всевозможных конфигурациях( типа отдельные платы для встраивания в аппаратуру)
Я по началу повёлся на разработку 4 плат на DSP+мелочёвка, написание прог.... соединение полученного блока с компьютером по USB для управления.....
А потом глянул и понял, что и по деньгам и с учётом трудозатрат-дешевле купить готовый промышленный комп (1,200 баков) и всё изготовление сводиться к разработке и изготовлению одной ISA платы.... и среда написания программ привычная ;-) и возможность дополнять устройство другими блоками(платами) по мере необходимости , и возможность удалённого управления по сети...... Как представил себе сколько бы мне времени понадобилось бы, чтобы все эти вкусности вместе собрать , так сразу и понял правильность составления конструкции из готовых кубиков....
Я и бы плату готовую взял, но мне нужен аналоговый выход +(-) 35 вольт , а стандартные только на 10в...
_________________ Укушу |
14:24 15-11-2005
|
|
|
Powered by phpBB © 2001, 2005 phpBB Group
|