А почему именно AVR?

Автор: | 06.02.2010

Вот история моего выбора. На заре появления микроконтроллеров у нас на радиорынках, возникло у меня непреодолимое желание применить их для хозяйственных целей. А в то время выбор на радиорынках состоял из одних PICов. С не детской ценой и строго «под заказ». Но, то ли отпугивала цена, то ли неуверенность в том, что осилю это чудо, но так и не получалось заняться микроконтроллерами Pic. Прошло определенное время, цена на контроллеры уже не пугала, так как они здорово подешевели, да и закончил учиться, начал работать, зарабатывать денюжку. Можно бы начать освоение, но опять мешали обстоятельства – осталась та неуверенность в том, смолу ли осилить, и работа, та что, вроде бы, должна помогать в денежном плане нещадно отбирала время, рубая на корню давние порывы, нырнуть в загадочный и манящий мир микроконтроллеров.

Программированием баловался с тех же ранних лет. Сначала был ,Бейсик потом ассемблер на Z80, потом были х86. Дальше был провал, заполняемый играми, работой и еще какой то фигней. Все это время, общаясь со старшими|младшими товарищами, которые чего-то там вытворяли с микроконтроллерами, испытывал непреодолимое желание начать таки с ними разбираться. И вот настал момент когда звезды стали нужным образом и я твердо решил: начну – полюбому начну. Чтобы начать не с нуля, тупо мигая светодиодиками, нужен был маштабный проект, чтоб было интересно, увлекательно и со смыслом. И вот, в срочном порядке, в интернете был нарыт проект на который должны быть брошены все силы, деньги и время. Понятное дело, решено было начать изучать микроконтроллер, который маячил с ранних лет красненьким флажком – PIC. Благо на работе приятель давно занимается PIC-ами и с программатором проблем не должно было быть. По моей просьбе мне был анонсирован данный девайс (программатор) и в анонсе проскакивали фразы «все виды PIC-ов», «внутрисхемное программирование», «внутрисхемная отладка», «USB» и другие страшные слова. Принеся на работу свой девайс, он с гордостью мне его вручил. В руки я получил здоровенную коробку (кто помнит в такие коробочки на заре компьютеризации засовывали 5 дюймовые дисководы (по крайней мере, я засовывал) с одной стороны одиноко торчал хвостик USB а с другой — также одиноко, торчал хвостик с разъемом внутрисхемного программирования. Вид этого монстра, скажу честно, немного меня озадачил, и сразу захотелось заглянуть внутрь этого «черного ящика». Так как мой коллега давно занимался электроникой и болтики крепления вещь противоречащая его существу, то на широко раскрытые глаза и тыкающий в ящик палец он пожал плечами и снял верхнюю крышку. Внутри “Черного ящика» меня ожидал еще один сюрприз — на дне лежала небольшая платка. Коллега прихватил плату ко дну коробки горячим клеем. Плата была заводской, содержала под десяток разнокалиберных микросхем довольно плотно упакованных на плату. Надо ли говорить, что для неподготовленного мозга начинающего электронщика это было слишком – мозг ушел в ступор. Друг, увидев мое состояние, решил не травмировать больше неокрепшую психику и бережно вернул крышку девайса на место. На вопрос «а че, самому собрать нельзя?» друг сделал печальную мину и выдал фразу «та пробовал – натра..лся — решил, проще купить». Так у меня началось знакомство с программатором для микроконтроллеров. И я в один миг лишился иллюзий по поводу того, что все будет легко и просто. Ладно, думаю – поюзаю девайс друга первое время, потом куплю себе свой. Про цену готового программатора у друга я не спросил, побоялся еще больше омрачить знакомство с микроконтроллерами. Пришло время начать знакомство с загадочным PIC-ом. Как оказалось линейка PIC-ов довольно-таки обширная и для выбора нужного экземпляра моих знаний просто не хватило. Другом был рекомендован чип который, по его мнению, был довольно универсальным. Также был вручен электронная книга с описанием и пожелание удачного знакомства с микроконтроллером. После беглого ознакомления с документом меня ожидало разочарование. Так как у меня с ранних времен остались положительные впечатления от ковыряния в ассемблере Z80, то решено было изучать ассемблер. С Z80 все было легко и понятно и я приготовился к тому, что с PIC-ками будет еще проще. Я ошибался. Ну, во-первых, меня просто до глубины души возмущала такая нелогичность как 14битные ячейки памяти программ. Ну не укладывалось у меня в мозгу, как так может быть, чтоб слово программы было так бессовестно кастрировано. А как тогда хранить данные в памяти? Разбивать байты на части или терять 6ти битные обрезки. И это во времена, когда память стоит дешевле семечек. Дальше — больше. Ну нафига в микроконтроллере с размером памяти в 4-16 килобайт страничная организация памяти? Ну хоть убейте не понимаю. А размазать по 4 страницам управляющие регистры вперемешку с ячейками памяти — это вообще мазохизм какой то. Еще, почему-то, в книжке преподносилось как достоинство небольшое (скудное) количество инструкций ассемблера – 30 с хвостиком. Короче, писать на ассемблере мне резко перехотелось. Ладно, думаю, буду писать на Си – он все разрулит. И тут я себе представил офигевший компилятор Си который, по ходу программы, переключается между страницами, пытается хранить константы в 14 битных ячейках памяти, строит комбинации из этих самых «всего 30+ инструкций», при этом тратя на каждую инструкцию по 4 такта. В общем разочарование полное. На мое счастье тот самый стартовый проект, о котором я говорил ранее, был в 2х вариантах. Вернее сначала он был сделан на PIC-е, а вторую версию автор переделал с применением Atmel ATtiny2313. Так как я уже до этого почитывал топики с холиварами PIC vs AVR, то я решил посмотреть как там дела у конкурента. И был сразу поражен различием архитектуры у вроде-бы равнозначных микроконтроллеров. Гениальное произведение корпорации Атмел с архитектурой RISC сразу меня покорило.
Создатели умудрились сделать микроконтроллер быстрый, простой, можно даже сказать элегантный. Почти все команды микроконтроллера выполняются за 1 такт, память линейная с четкой разбивкой по функциональности, куча команд контроллера(больше 130) подогнанных под Си (теперь компилятор не фигеет – он фривольно работает с вариантами оптимизации кода) и самое главное, для меня ставшее неожиданным сюрпризом – 32!!! аккумулятора — регистра общего назначения. То есть с каждым из них можно делать все что угодно – любые операции! Программаторы у AVR очень просты – самый примитивный называется «5 проводков» — реально 5 проводков цепляются на LPT порт и шьется микроконтроллер. Я был покорен AVR. С таким жирным набором плюсов было решено делать проект только на AVR и только на ассемблере. Вот так я выбирал микроконтроллер.

Прошу прощения у приверженцев PIC. В некоторых моментах я, конечно-же, не прав, так как поверхностно изучал PIC и не написал ни одной программы для него. Если где-то в тексте Вы видите несоответствия – напишите я поправлю.

В качестве заключения дам небольшой совет. Если вы выбираете контроллер и Вам нужен ассемблер и быстродействие – хорошим выбором будет AVR (как вариант можно выбрать новые серии PIC, но ни ценой, ни доступностью они Вас не порадуют). Если вы планируете писать свои программы на Си или другом языке высокого уровня, то, в принципе, разницы не будет.

(Visited 905 times, 1 visits today)

А почему именно AVR?: 23 комментария

  1. Уведомление: программаторы микросхем « Эхо блогосферы

  2. Константин

    Я тоже когда решил начать с PICов… я сильно в них разочаровался, Я немог понять зачем нужны банки и нафига между ними переходить? Но подкупил пик меня 35 командами, типо так легко их запомнить… (вообще немог понять как с ними работать:( 🙁 🙁
    Потом как то наткнулся на русскую документацию АВР, посмотрел их команды и они мне понравились, поинтересней, но минусы тоже есть…
    ЗЫ: Программированием я раньше не увлекался…

  3. kosmogon

    PIC тоже рано или поздно надо будет заниматься. По схемотехнике они таки впереди. Хоть и не всегда, но это надо. Их более высокое входное сопротивление по входам, и более сильноточные токоограничивающие диоды Шоттки по входам. Более высокий выходной ток по выходам при пониженном питании. Ну и опять же, народу сидящего на PIC не мало. И эти люди здесь могли бы сказать не мало интересного и поучительного. Хотя я лично пока занимаюсь, и буду заниматься АВР. И тини2313, и мега48 — эти мне нравятся. И разница в цене между ними копейки буквально.

  4. black7

    kosmogon :
    PIC тоже рано или поздно надо будет заниматься. По схемотехнике они таки впереди. И разница в цене между ними копейки буквально.

    Хы, думаю про PIC ки скором времени можно будит забыть.. будущее всё-таки за ядром ARM … а новое семейство Cortex кажется затмила всех, начиная от стоимости камня заканчивая производительностью, сх решениями ….

  5. anatoliy

    @black7
    Наивный:-) многих решений свою нишу уже несколько десятков лет держит 8051! А всё по тому что для каждой задачи свой инструмент 🙂

  6. black7

    @anatoliy

    Думаю решать о наивности тут не стоит ,но всё-таки если вы считаете что еще через 10 лет 8051 будит актуален)) нужно подумать кто наивен……anatoliy ваше заявления напоминает людей которые глотку рвали в форумах доказывая что pic это «святое» а avr «херня» ,приводя какие-то умные доводы не кому не нужные… а в свое время умные инженеры признали актуальность и мощь камня avr .. На даный момент это уже промышленный стандарт и в пиаре не нуждается….

    Я лично начал отслеживать информацию о камнях ARM с января этого года … сколько шума вокруг новой линейки Cortex… у других я не видел такова… не веришь мне прочти модные издания прессы… комментарии уважаемых людей на форумах …

    Директор маркетингу STMicroelectronics Томас Энсергю: Мы предполагаем, что ARM Cortex-М станет промышленным стандартом «де-факто», каким было в прошедшие десятилетия ядро 8051. Основными причинами являются высокая производительность и легкость доступа. Под «легкостью доступа» я понимаю следующие взаимосвязанные аспекты:
    Применение ядра многими производителями чипов;
    Привлекательность цены благодаря условиям лицензионного соглашения с компанией ARM;
    Легкость применения и широкий выбор инструментальных средств.
    Конечно, мы не думаем, что ядра собственной разработки полностью выйдут из применения, однако ожидаем, что доля Cortex-М будет расти гораздо быстрее и, в конечном счете, оно займет ведущие позиции в 32-разрядной архитектуре. Одним из признаков этого является то, что производители чипов, традиционно разрабатывавшие собственные ядра, теперь также включают Cortex-М в линейку своей продукции.

    Вот диаграмма продажи МК на ARM Cortex-M3 по всему миру , из нее видно что 2010 продажи выросли с 30 до 100 мил. Штук…

    [URL=http://www.radikal.ru][IMG]http://s016.radikal.ru/i337/1105/6b/d440463b2bac.jpg[/IMG][/URL]

    anatoliy думаю глупо говорить о наивности , это мировое признания … причем это начало, лицензия на производства была куплена 2007 году в первые Компанией ST, далия одумались другии , а это Texas Instrument, NXP, ATMEL, Analog Devices, Renesas щас наверно список вырос ….

  7. anatoliy

    @black7
    Имхо это как с PC убогая архитектура возвяденная в ранг культа из-за дешевезны. ARM я сам то-же уважаю. Но для каждой задачи свой инструмент! или вы индикацию на светодиодах и опрос клавы предлагаете делать на ARM?

  8. black7

    @anatoliy
    Anatoliy, не хотел и не хочу обидеть вас. Согласен и это очевидно)), что каждой задачи свой инструмент(в частности свой контролер)… но помигать диодом можно в протесе и на ассемблере , а если говорить полноценном проекте то к выбору камня нужно подходить основательно , помимо всего цена это не последний показатель ….
    Что вас смущает ARM? (производительность тебя не смущает, как я понял..)

    С помощью 32-разрядным МК(цена от 99цетов) глупо мигать диодами и обрабатывать кнопочки … возами за туже цену+- 8-разрядным МК .

    Не нравятся привычные корпуса TQFP ? STM выпускает TSSOP, и даже начала в Dip..
    Этот тип корпуса крупный ? компания NXP выпускает в корпусах bga…. В одной линейки ядра камни совместимы хоть и фирмы произ. разные…. По вашему это не + большой? А ты о цене только …..

    Anatoliy если подытожить нашу переписку ,дабы не создавать «топор войны» я не знаю как понимать пафос типа «наивный», если ваша цель жизни собирать индикацию на светодиодах и опрос клавы производить это ваша права, я не чего вам не предлагал а констатировал факты что ядро ARM вытесняет своих конкурентов и что характерно это что очень стремительно, думаю объяснять с чем это связано не стоит…

    Что касается моих предложений, если они нужны )), я прилагаю полноценные проекты выполнять на ядре ARM(да и не правильно говорить что я предлагаю это производители предлагают), где опрос клавиатуры не будит сводится к свечению диода на макетной плате)) а будит конечное устройства где выбор камня обоснован спецификой проекта…

  9. anatoliy

    @black7
    Да упаси Боже воевать топором:-) Кстати тут есть мысля сделать универсальный обучаемый ЭБУ на авто. Туда использовать буду ARM. AVR сошли с дистанции первыми. Потом ушли Ti. Остались PIC c CAN и ARM. Начал делать на PIC Но повылазили ошибки округления. И для моего алгоритма управления производительности хватает впритык. Буду делать на ARM 100Мгц тактовой. И по разрядности проблемы исчезают.
    Я ARM использовал раза 2-3 и то всегда для ся доказывал необходимость их применения. У мя в среднем проекте 1-2 МК. Индикацию и управление всегда делаю на отдельном 8битном AVR.
    Я повторюсь но даже наши вояки наладили выпуск ARM!
    Но имхо должен быть дифференцированный подход к выбору кристалла. Те кристалл для встроенного устройства должен иметь максимальную загрузку. Я просто нутром не понимаю ставить 32 разрядку в АОН или в контроллер сигнализации, А недавно просто убили меня. Обнаружил ARM в электросчётчике и ККМ. Она же 99% времени спит!!
    Ну не понимаю я и все тут 🙁

  10. anatoliy

    @anatoliy
    Так вспомнилось у нас в одной конторе была игра по строительству проектов на низкоресурсных МК. Собирались мужики в курилке. Шеф давал ТЗ. И все назвали на чем они бы сделали и сколько Mипсов на это ему нужно. Выигрывал тот кто назвал самые низкие значения. Потом шеф говарил делай! В потом была ох****я премия победителю. Или если он лопухнулся. То приведшему игроку!

  11. black7

    @anatoliy
    Anatoliy, вот и познакомились)),хоть мы захламляем тему флудом ,но так как тут не кто не пишет позволю себе ответить))….а если что , GetChiper удалит…
    Если последний пост правда, и вы Инженер то на порядок, и не один умней меня
    (Я студент ,все что я разработал, это устройства управления микроволновой печью, и на этом на все забил ,хотя хочу осваивать мк снова …,)) и при этом приводите доводы что камни на ядре ARM можно встретить где хочешь и критикуете меня за слова -«будущее всё-таки за ядром ARM»))) …

    «Я просто нутром не понимаю ставить 32 разрядку»- мне очень понятно открыл каталог смотрю на цены в первую очередь, а тут ядро не привязанное к фирме производителя,(к примеру Япония- землетрясения- закрытия заводов и появления дефицита компонентов)…. У STM Совместимость пинов при масштабировании корпусов вообще красота не нужно 2 раза разводить плату для смены камня ,ну и мощь развитая периферия, надежность что первое при выборе на что смотрят, малое энергопотребления итд.. ну я бла, бла, бла, если вы работаете с ними то все сами знаете не по слухам))

    Кстати как я понял 8 разрядный МК ARM , был разработан как раз для таких целей как вы говорите- «Индикацию и управление всегда делаю на отдельном 8битном»

    А вояки ,у нас для вас ))) стараются все делать на ПЛИС с MК по возможности не связывается))

  12. anatoliy

    @black7
    мы не флудим а стимулируем GetChiperа на создание форума :-))

    «А вояки ,у нас для вас ))) стараются все делать на ПЛИС с MК по возможности не связывается))»
    А внутри ПЛИС Cortex-M3 😀 Всё зависит от задач. Если в космос лететь то ПЛИС однозначна отдыхает. Она к радиации не очень относиться. Хотя это смотря куда ее закорпусировали. Если в советский каменный корпус из бериллиевой керамики то очень даже может быть 🙂 Да ещё с буржуйскими МК не связываются исторически, Бояться аппаратных закладок. А наши почти не производят. Все чипы для оборонки делает Малайзия.

  13. black7

    @anatoliy
    «Если в космос лететь то ПЛИС однозначна отдыхает»- Хы , у нас на кафедре ПЛИС то, в космос запускать собираются)) прикупили макету у altera ,Cyclone II ..есть уже прототипы «наземных» некоторых функциональных блоков. Ну вдруг всё-таки запустят)))))) Прадо МК предпочитают в проекте SMP430 … (наверно потому-то ,несколько лет назад было самое то, да и образцы достать не проблема))

  14. anatoliy

    @black7
    Ну может у вас там защита по другому реализована. Я как-то беседовал с космическими электронщиками, как услышал сколько Р гамма излучения должен выдержать космический проц мне поплахело 🙁 У них железка должна протянуть в течении часа при 1000р/мин! ИМХО у них требования особые. Это военные. Для студентов можно и попроще запустить 🙂 Кстати всё удивляюсь что у нас не один из российских студенческих спутников долго не просуществовал. Виток-три витка не больше. После беседы с вами думаю что Altera не космическая попалась. 😀 Дома валяется плата от какой-то космической железки. Мужики подарили. Я сначала думал прикол. Керамическая плата а на ней напаяны СМД резисторы кондеры и дросели. И больше не чего. И разьём на краю. Все залито тостым слоем компауда. Как потом объяснили кристаллы лежат на алюминиевой пластине внутри керамической платы. Вот такое вот чудо мысли! У Altera есть космические ПЛИС но их в россию не продадут. Собственные у нас то-же есть но цене не обрадуетесь :-(( Как-то интересовался, за российский MIPS просили 2k$.

  15. black7

    @anatoliy
    В космос отправлять то будут космические altera( смотрю на сх, EPM240F100C4N ,EP3C25E144I7)..
    Насчет altera и цен, для реальных учебных заведений они делают скидки,где-то под 50% (так у нас и купили отл плату)….
    То что долго не летают это да, всё-таки у Каролева было ОКБ и у него не с первого раза получилось, а студентам второго раза не дают ,да студенты разрабатывают а не первоклассные инженеры)) Вот к примеру за 10-15 лет у нас убили такую отрасль как электроника ,а в стране были заводы всесоюзного значения, принимали участия по легендарному проекту «станции мир», всевозможные военные проекты… об этом все узнаешь от стариков та как не какова наследия осталось…….

  16. black7

    Все что не возят ,можно купить у производителя(если цена не смущает за 1 шт,а партией достаточно дешево …. Также можно выпросить ,если реальный проект , можно расписать так что вам еще спасибо скажут что вы просите))… К примеру узнал что наши выпросили у Hittite образцы ,хотя речь на сайте о сэмплах не упоминается ,а цены как говорится космические….

    @black7

  17. anatoliy

    @black7
    Ну про разводку на семплы написано много талмутов:-D Меня больше интересуют отечественные производители. Ведь до сих пор в России делают уникальные железки:-) От себя добавлю что в моей деревне почтальоны выучили что если приходит коробочка с надписями на буржуйском то это мне 😀

  18. black7

    Anatoliy, не знаю новость ли для вас это но говорили вас интересует «Русские элементы».. вот К1986ВГ2Т
    Российский дизайн-центр ЗАО «ПКК Миландр» заключил лицензионное соглашение с компанией ARM Ltd. о приобретении в исходных Verilog-кодах микропроцессорного ядра ARM Cortex-M0.. начале июня первые обрасцы….

    http://forum.milandr.ru/viewtopic.php?t=254&start=0&postdays=0&postorder=asc&highlight=&sid=18ca5cb7192a839a5f408b6626efad18

  19. anatoliy

    @black7
    Давно к Миландр приглядываюсь. У них FIFO прикольные камни. Да Российский ARM это круто. Надо попробовать их развести на семплы 😀 В ЭБУ себе воткнуть 😀

  20. nikolyan

    Мне как новичку проще осваивать Pic.И так сложилось что знакомые пишут проги для него.а я так, присматриваюсь и учусь.Тк своего опыта не имею,опыт живого обучения-лучший опыт.Придумываю задачи и мы вместе их решаем.Я не вдавался в подробности почему друзья не любят авр,говорят-pic надежнее.Ничего против не имею, частенько путал питание, когда с pic дым шел, а в последствие он работал.Ну и была упомянута нестабильность авр в работе.Но мне неважно, заказал себе микры, для интереса попробую повторить устройства с вашего сайта 🙂

  21. GetChiper Автор записи

    Если друзья работают с PIC, для вас лучшим вариантом будет работать с PIC. Но попробуйте и авр — сравните.

  22. crezi-alex

    Зачем жи так друга «крутым хакером» заклеймил? а в целом как мне это все близко к нам пики до сих пор возят только под заказ и только типо 16ф676 или 16ф628, а раньше 16ф84, но в другом городе продают свободно зацепил по возможности по 10 штук. Месный радио рынок не хожу цены не одекватные и продовцы с тебя откровенно смеются. Последний раз искал там «кондюк» на 3н3 1500в на экомку(лампу). Мне предложили пойти книжки поштудировать и потом когда маркеровку научусь читать приходить. Мне конечно стало обидно за нроведенные годы в универе пришлось опустить его на землю и показать товар 🙁 Ой я отвлекся. Раньше все делал на жаской логики и мыслишки «оседлать камень» была друг как не странно тоже немного «хакер» 🙂 потому что мы в разветку ходили за деталями и ему не повезло 🙁 но тут я снова отхожу в сторону. Занемается пиками (пикоман)и поднатаскает меня после чего у меня просто взорвался мозг и мне дал книгу где предворительно исправил опичатки в тексте и мпилаб иде около 10 версий с полным перечнем где чего глючит там 🙂 думаю скоро появятся общии темы для разговора но не тут то было скачал еще одну (я раньше немного програмировал и терменологии дума что зною) в книге опустили все терменологию програмирования по тому что начинающие не знают такие умные слова и автор заменил их массивам терменов из электронники и снова взрыв мозга. скачат третью книгу там уже за 24фххх думаю э не надо начинать с чегото по проще. Пошел в книзный супермаркет и меня приманила книга Белова по дороги к кассе остановился возле книги Гринна с его не повторимой философией подошел дяденька в костюме представившийся службой безопасности и задал вопрос сколько вас? и зачем вы пришли? ответив ему на вопрос почувствывал себя одним из инопланетян пришедших завоевать эту планету и я поспешил на кассу купив две книги и не оправившись от шока вышал из магазина в руках держа только гринна. Поже ко мне пришло сознание 🙁 наглости ради написал автору с крикам неспроведливости (жаль нет смайла с слезами) Белов коректо и прилично ответил и выслал рабочую версию книги в друзья набиватся не стал а то примут за сверх наглость полестав немного книгу написал первую асм. программу, а потом еще и «си». Почему он также понятно про пики не накисал? так и развело нас с дугом он пики юзает, а я авр 🙁 прогроматоры для пиков ждм для стк200/300 пять проводков не пробывал читал как люди им порт на сваем пк выполили ;)боюст. Прошу прощение за затянутое сообщение и излишние эмоции передаю привет другу Гриши 🙂 и Белову, но они врятли будут сдесь…

Добавить комментарий