На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
    > Популярные микроконтроллеры. Посоветуйте литературу, плз. , Решил отказаться от Zilog в пользу чего-то более распространённого...
      Сабж.

      В некоторой степени знакОм с идеей микроконтроллеров вообще, кодил для Zilog`овских МК, собирал пару схемок... в общем, так, фигня всякая... Выбор контроллеров от Zilog был обусловлен тем, что в то время я свободно писАл на ассемблере Z-80...

      Ща думаю во первых, взяться за дело посерьёзнее, во вторых - на более распространённом железе...

      Скажу спасибо как за информацию о заслуживающих покупки печатных книгах, так и за сцылки на полезную инфу в электронной форме и просто за полезные советы "в тему".
        За ссылками - сюда (сообщение #1687050)

        Апдейтал сегодня: За ссылками - сюда (сообщение #1760300)

        От себя добавлю, после Z-80 перейти на Atmel или PIC(самые распространенные для быстрых проектов) не составит большого труда, наличие на борту кучи "вкусностей" таких как ЦАПы, АЦП, ШИМы, таймеры, поддержка USB, CAN, I2C, SPI, 1-wire... и конечно же UART(COM), возможность использовать многозадачность ну и конечно же куча уже готовых решений причем с минимальной обвеской( в некоторых случаях вообще никакой, у многих контролеров задающий генератор -встроенный).
        Более серьезные приложения - Motorolla, ARM-ы, но их уже с натяжкой можно назвать микроконтроллерами, скорее "портативные полнозначные ЦПУ". В любом случае Atmel-ы и PIC-и по производительности "сделают" Zilog (Z-80 серия в смысле, современные микроконтроллеры от Zilog совсем не уступают а где то даже в чем то круче Атмелов и Пиков, другое дело популярность у них однозначно меньше)

        Наличие мощных микроконтроллеров позволили появится на рынке запрограммированных Бэйсиком микроконтроллеров(базирующихся на Атмеле,Пик...), которые сокращают время разработки конечного устройства (там где не требуются супер скорости) буквально до нескольких часов(много ссылок на подобные микроконтроллеры здесь). Для многих приложений автоматики их хватает с головой, без закапывания с головой в даташиты и запоминания где какой бит регистров что значит(Если же нужно создать действительно реал тайм то без ассемблера и даташитов конечно же не обойтись). Один из очень популярных новых проектов - http://www.arduino.cc/ сводящий процесс программирования к базовым функциям языка С (http://www.arduino.cc/en/Reference/HomePage)

        Более подробные книги - это конечно же даташиты на конкретный микроконтроллер, так как отличаются они друг от друга очень, очень сильно, поэтому универсальной (проффесиональной) литературы ИМХО на эту тему и нет.
        При нынешних ценах на МК можно выбрать самый "крутой" изучить его и использовать где угодно, и для простых проектов и сложных ибо цена не особо сильно отличается.
          Цитата Печальный Самурай @
          ....Скажу спасибо как за информацию о заслуживающих покупки печатных книгах, так и за сцылки на полезную инфу в электронной форме и просто за полезные советы "в тему".

          думаю стоит сюда заглянуть...
          достаточно толковый форум...

          http://electronix.ru/forum/index.php

          с уважением
          (круглый)
            AlexJ, kolobok0. спасибо.

            Цитата AlexJ @
            За ссылками - сюда (сообщение #1687050)

            Цитата AlexJ @
            Самоучитель по программированию PIC контроллеров для начинающих(http://www.ikarab.narod.ru/)

            кратко ознакомился, впечатление ужасное. извлечь полезную инфу (а она там есть) почти невозможно: ужасная лексика на уровне девятиклассника, омерзительное оформление (весь текст жирным шрифтом "таймс"), полное пренебрежение удобством пользователя (это я о линках на doc-файлы, применённых там, где автор "ниасилил" использование таблиц, а также о пренебрежении размером графических файлов, они в несколько раз больше, чем возможно было сделать.)... сожалею, но этим сайтом пользоваться невозможно.
            Также заметна излишняя самоуверенность автора в советах типа "а эти детали из схемы можно выбросить".

            но пользу я всё-таки извлёк: линк на http://www.microchip.ru :) можт сам бы догадался, но не скоро :)
            Цитата AlexJ @
            ного ссылок на подобные микроконтроллеры здесь

            инглиш :(
            я читаю инглиш, но без удовольствия :(

            /* .me ушёл на microchip.ru читать ПДФки... */
              Цитата Печальный Самурай @
              но пользу я всё-таки извлёк: линк на http://www.microchip.ru :) можт сам бы догадался, но не скоро

              Там вроде приличный склад доков, сайт часто упоминается, ты вряд ли прошел бы мимо. Мне встречался еще один интересный сайтик про контроллеры, но не помню название. Что-то вроде ..telesystem.. или не очень... А, вот в книжке нашел: www.telesys.ru www.atmel.ru
                Цитата Печальный Самурай @
                но пользу я всё-таки извлёк: линк на http://www.microchip.ru :) можт сам бы догадался, но не скоро :)

                Блин, сорри, что-то я думал что это(microchip.ru(com) atmel.ru(com)) и так общеизвестно :(
                Сейчас добавлю в ссылки, спасибо за подсказку.
                  Евстифеев, MEGA-AVR

                  Можно еще поискать в Гугле так:
                  Микроконтроллеры site:ihtik.lib.ru

                  Но лучше, на мой взгляд, скачивать даташиты с сайтов производителей.
                  AVR, x51,ARM - www.atmel.com
                  PIC - www.microchip.com

                  и.т.п.

                  сюда можно заглянуть
                  Сообщение отредактировано: ЫукпШ -
                    Zilog-и остаются лучшим выбором для высоконадежных устройств.
                    PIC-и когда-то занимали лидирующие позиции на рынке микроконтроллеров, с тех пор много воды утекло, а пики там и остались, как по архаичной архитектуре, по отладочным средствам, по поддержке производителем. Единственное достоинство -- дешево.
                    AVR-ки Atmel-овские --- на сегодня, самое, пожалуй, 'народное' семейство микроконтроллеров. Просто. Доступно. Много документации на русском. Доступные отладочные средства, доступные компиляторы. Такое впечатление, что их скоро начнут продавать в хозяйственных магазинах.
                    MSP430 от Texas Instruments Разносторонняя и подробная поддержка производителем. Множество доступных средств разработки. Современные отладочные средства. Гибкая, удобная архитектура. При схожей цене с ПИКами это производительное, надежное семейство.

                    Цитата Печальный Самурай @
                    я читаю инглиш, но
                    посоветую Atmel
                    Сообщение отредактировано: MeG -
                      http://www.ti.com - MSP430
                      http://www.renesas.com - разные 4-32 бит
                      http://www.epson.jp/device/e/products_en.html сложно покупать, в основном большие партии
                      http://www.parallax.com - BASIC Stamp
                      Сообщение отредактировано: m_fox -
                        Цитата m_fox @
                        http://www.parallax.com - BASIC Stamp

                        Только не это! Жутко тихое хозяйство, если просто в цикле хлопать выводом вверх-вниз - максимум 2000 Гц
                        Если уж связываться с чипами превращенными в интерпретаторы Бэйсика, то однозначно лучше(заткнет по многим статьям Бэйсик-штамп и в том числе по цене) PICAXE а посерьезней CUBLOC.
                          Цитата ЫукпШ @
                          Но лучше, на мой взгляд, скачивать даташиты с сайтов производителей.

                          даташиты, как правило, описывают не детальку в целом, а её характерные особенности, отличающие её от типичных представителей семейства.
                          Например, в даташите на транзистор никто никогда не станет описывать принцип p-n перехода и его работу в схеме с общей базой...

                          даташиты - это более высокий уровень... для начала нужна инфа по общим принципам работы, программирования и конструирования, потом надо выбирать конкретную железку под задачу, и только после этого есть смысл изучать даташит на конкретную железку.


                          Поскольку я работал только с Zilig, и то не слишком серьёзно (да и немало времени прошло с последнего раза), мне фактически надо всё заново изучать, тем более касательно другой архитектуры...

                          Цитата AlexJ @
                          Блин, сорри, что-то я думал что это(microchip.ru(com) atmel.ru(com)) и так общеизвестно
                          Наверное, общеизвестно. Но только не новичкам :)
                            Цитата Печальный Самурай @
                            для начала нужна инфа по общим принципам работы, программирования и конструирования,

                            Попробуй начать отсюда
                              Цитата Печальный Самурай @
                              даташиты - это более высокий уровень... для начала нужна инфа по общим принципам работы, программирования и конструирования, потом надо выбирать конкретную железку под задачу, и только после этого есть смысл изучать даташит на конкретную железку.

                              Это как с велосипедом - если худо-бедно катался когда-то, то и через двадцать лет через несколько дней поедешь ненамного хуже, чем каталася тогда.

                              Могу посоветовать такой подход - на сайтах нескольких производителей разных контроллеров полезть в application notes и поискать близкое к своей задаче, просмотреть, вытащить даташиты на применённые в этих аппнотах контроллеры.
                                И не зацикливаться на одном решении. Иногда альтернативное, выглядещее куда хуже, здорово выигрывает.
                                У нас вон на работе создали следящую систему считывающую данные с периодовм в 11 мс (обещают улучшить до 4-5 мс), хотя глядя на характеристики и 1 мс не предел.
                                  Есть еще книжка вообщем-то неплохая, автор Шпак Ю.А. "Программирование на языке С для AVR и PIC микроконтроллеров." Вообщем-то вводит в курс дела неплохо...Но слишком поверхностно.

                                  Вообще, выбор железа от задач зависит, последнее время я всё больше с ARM7 работаю, камни хорошие, конечно масса тонкостей, но скоро они подешевеют так, что их можно будет и в простейшие устройства ставить...
                                    Цитата avreal @
                                    Это как с велосипедом - если худо-бедно катался когда-то, то и через двадцать лет через несколько дней поедешь ненамного хуже, чем каталася тогда.

                                    не, не совсем. я тут "для прикола" попробовал на спектруме попрограммить — не только моск забыл что к чему, но даже руки забыли, где на клаве какая команда...
                                    Цитата avreal @
                                    Могу посоветовать такой подход - на сайтах нескольких производителей разных контроллеров полезть в application notes и поискать близкое к своей задаче, просмотреть, вытащить даташиты на применённые в этих аппнотах контроллеры.
                                    вариант хорош, когда умеешь работать и с теми, и с этими железками. Мне же предстоит фактически заново осваивать всё. Насколько я в курсе, мнемоники команд Zilog не похожи ни на что :)
                                    Кроме того, я ведь фактически выбираю не контроллер под конкретную задачу, а семейство контроллеров для изучения. Задачи есть, но это вторично.




                                    По совету MeG
                                    Цитата MeG @
                                    AVR-ки Atmel-овские --- на сегодня, самое, пожалуй, 'народное' семейство микроконтроллеров.

                                    а также по советам нескольких коллег, решил остановиться на AVR 8bit RISC.
                                    Честно скажу, от качества подачи материала на сайте atmel.ru я не просто в шоке, я в ужосе. дизайн из чередины девяностых, вёрстка кошмарная.
                                    ОЧЕНЬ надеюсь, что железо они делают лучше, чем сайты. <_<

                                    (добавлено примерно через час).
                                    Почитал гостевуху на томже сайте, понял, что в случае реальных проблем от них никакой поддержки получить будет невозможно...

                                    Цитата ЫукпШ @
                                    Попробуй начать отсюда
                                    спасибо, оказалось очень информативно, намного полезнее, чем atmel.ru. Сижу читаю...
                                    Сообщение отредактировано: Змей -
                                      почитав вот тут (имеется в виду не только данный линк, а весь раздел про Atmel), и посмотрев на цены решил остановиться на ATmega48, в качестве базовой модели. Вполне функционально, избыточность функций невелика, цена разумна.

                                      как я понял, ядро и система команд идентичны по всей линейке, и при необходимости я смогу [под конкретную задачу] без проблем использовать как более функциональный, так и менее навороченный экземпляры семейства. Так?

                                      печалят только две вещи: наличие абсолютно ненужного мне АЦП во всех без исключения моделях (он мне не мешает, но ведь я за него плачУ... и не представляю ни одной задачи, в которой он МНЕ мог бы понадобиться.) и "гарвардская архитектура" этих камней. Ненавижу гарвардскую архитектуру, она не раз доставляла мне кучу неудобств, и ни разу не оказалась чем-то полезной.
                                      Есть одна задумка, там было бы очень удобно загружать в ведОмые девайсы программу под активную задачу... Под неё придётся или брать более мощные МК, чтоб разместились программы всех задач (т.е. чтоб не хитрить с перезагрузками задач.), или не выпендриваться и строить ведомые девайсы на старых и привычных Z80, благо там нет проблемы с загрузкой программы с внешнего источника в ОЗУ и последующим исполнением её оттуда :)

                                      Или можт пока не поздно «перекинуться» на другую линейку??? Или вообще просто посерьзнее взяться за Zilog`и? Но в "чип и дип" их нет нифига...

                                      В опчем, буду благодарен за любые советы, которые помогут мне как-то определиться с выбором направления.
                                      Сообщение отредактировано: Змей -
                                        Можно заливать во Flash ведомого ATmega48. Смотря как часто нужно менять программу (довольно странная задача) Flash память имеет ограниченный ресурс перезаписи содержимого.
                                          Цитата MeG @
                                          Можно заливать во Flash ведомого ATmega48.

                                          у него ресурс десять тысяч раз. это максимум на пару месяцев...

                                          Цитата MeG @
                                          довольно странная задача
                                          вполне типичная задача :D есои очень упростить ситуацию — ведомая железка должна работать в нескольких режимах (например, условно "работа"-"отладка"-"тест") , все режимы имеют достаточно сложные алгоритмы. т.е. было бы крайне удобно (в плане бабла) не держать одну большую программу (для которой понадобится более крутой и дорогой МК), реализующую эти алгоритмы, а просто при необходимости заливать нужную прогу.

                                          Я делал подобную штуку на Z80, но там была другая причина — отладить загрузчик, записываемый в ПЗУшку ведомого, намного легче и быстрее, чем отладить рабочий софт... а с такой архитектурой нет нужды разбирать железки, в которых стоЯт ведомые,чтоб перешить ROMки, достаточно на управляюший ими комп бросить новые загружаемые софты для ведомых.

                                          хотя конечно с памятями после Z80 тут чудовищно неудобно. я уж как-то привык к единому адресному пространству, на которое можно повесить RAM и ROM в желаемой пропорции, да задействовав страничную адресацию... (в той железке, что я выше говорил, после загрузки софта ПЗУшка отрубалась нафиг, и все 64К памяти адресовались в ОЗУ.)

                                          ну, короче, проехали. вчера посмотрел так по сайтам, похоже натурально Atmel лучший выбор. где не покатит атмел — буду пока по старинке юзать Z80

                                          думаю, тему можно прикрывать... бум щщитать, что вопрос решён.
                                            Цитата
                                            наличие абсолютно ненужного мне АЦП

                                            Его цена копейки, я не уверен, что все-то что вы разрабатываете выпускается в таких кол-вах, при которых эти копейки могут играть роль.

                                            Цитата
                                            Или можт пока не поздно «перекинуться» на другую линейку???


                                            С такой задачей, в полной мере справится ARM7 LPC2xxx, он есессно может и исполнять из ОЗУ и вообще, архитектура более современная и умная, наличие одного JTAG'a чего стоит.
                                              Цитата Quasar @
                                              Его цена копейки, я не уверен, что все-то что вы разрабатываете выпускается в таких кол-вах, при которых эти копейки могут играть роль.
                                              знаешь, как быть богатым? просто не трать деньги туда, куда их тратить не нужно, и их будет намного больше. :)

                                              Цитата Quasar @
                                              наличие одного JTAG'a чего стоит.

                                              это того самого, который во всех (вроде так, но неуверен) Atmel`овских MEGA`х есть??? ;)

                                              Цитата Quasar @
                                              ARM7 LPC2xxx,

                                              цитато прям из яндекса:
                                              Цитата
                                              LPC2000 компании Philips - первый представитель нового поколения микроконтроллеров, построенных на базе 16/32-битного RISC-процессораARM7


                                              в продаже я их вообще почему-то не нашёл (искал по обобщению "ARM7" и по "LPC2000"), но судя по разрядности, если сравнить с ценами на 32битные Atmel, это слишком дорого. :( ради возможности комфортно работать с памятью задействовать 32битный камень (к тому же, он наверняка её неэффективно использует, типа один адрес-один DWORD.)

                                              в общем, Quasar, спасибо, конечно, за участие, но думаю, что пока буду копать Atmel.
                                                Цитата Змей @
                                                как я понял, ядро и система команд идентичны по всей линейке, и при необходимости я смогу [под конкретную задачу] без проблем использовать как более функциональный, так и менее навороченный экземпляры семейства. Так?

                                                Да.
                                                Цитата

                                                печалят только две вещи: наличие абсолютно ненужного мне АЦП во всех без исключения моделях (он мне не мешает, но ведь я за него плачУ... и не представляю ни одной задачи, в которой он МНЕ мог бы понадобиться.) и "гарвардская архитектура" этих камней. Ненавижу гарвардскую архитектуру, она не раз доставляла мне кучу неудобств, и ни разу не оказалась чем-то полезной.


                                                Есть и без АЦП - ATINY2313, ATMEGA8515.. да видимо еще много других.
                                                А чего тебя волнует этот Гарвард ?
                                                Для программиста на "С" все микропроцессоры "одинаковы" - есть некие
                                                ресурсы к которым программа может получить доступ. Как правило посредством
                                                обращения к регистрам.
                                                Выбираем быстродействие процессора и совокупность дивайсов на борту.

                                                По поводу LPCxx.
                                                Загляни |pp=[v=p,t=pfp,i=45994,fi=,ps=0]|[1]]сюда.
                                                тут есть сводная таблица.
                                                в компэле
                                                Зависит,конечно, от чипа. Но цена может быть $10-12, те не запредельная.

                                                какой то прайс
                                                Сообщение отредактировано: ЫукпШ -
                                                  Цитата ЫукпШ @
                                                  Есть и без АЦП

                                                  блин, косяк :) ща глянул снова в продакт-лист, их там и правда немало без АЦП. :) что-то я наверное не туда глядел :)

                                                  Цитата ЫукпШ @
                                                  А чего тебя волнует этот Гарвард ?
                                                  кроме прочего — старая привычка — когда пишу на асме, мне очень тяжело делить идеи "программа" и "данные", я люблю самомодифицируемый код, он позволяет добиться значительной оптимизации, легкочитабелен при наличии сырков и почти непонятен когда сырков нет (т.е. код защищён от реверса не закрытостью, а сложностью.]
                                                  Цитата ЫукпШ @
                                                  Для программиста на "С"
                                                  Си это скучно. если бы я хотел кодить на Си, я бы кодил на компе. А я хочу реального секса :) С извращениями :)

                                                  Цитата ЫукпШ @
                                                  Но цена может быть $10-12, те не запредельная.
                                                  это хорошая цена для промышленных целей, но не для хоуммейдов. :( переплачивать в несколько раз ради возможности исполнять из ОЗУ — нет, спасибо. Не очень-то и хотелось. А другие возможности, которые возможно у них есть, мне вообще врядли пригодятся хоть когда.
                                                    Цитата
                                                    в продаже я их вообще почему-то не нашёл (искал по обобщению "ARM7" и по "LPC2000"), но судя по разрядности, если сравнить с ценами на 32битные Atmel, это слишком дорого


                                                    Вот как раз с Atmel'ми их сравнивать не надо, если вы про AVR32 говорите...У Atmel'ов кстати есть и ARM7 процы серия SAM7, но они вроде подороже LPC...

                                                    LPC2000 уже достаточно не новый представитель )).

                                                    Вот здесь http://terraelectronica.ru/ я нашел самый дешевый LPC2101 68.60р.


                                                    Цитата
                                                    это того самого, который во всех (вроде так, но неуверен) Atmel`овских MEGA`х есть???


                                                    Ну не во всех, например Mega8 его не имеет, а я например во основном с этим камнем и работал.

                                                    Цитата
                                                    ради возможности комфортно работать с памятью задействовать 32битный камень (к тому же, он наверняка её неэффективно использует, типа один адрес-один DWORD.)


                                                    Ну не только ради этого, производительнее ядро, работать это всё может на частотах порядка 60-65МГц... На счет использования адресного пространство. ARM7 имеет 4-ех Гиговое адресное пространство, в котором лежат вся периферия, ОЗУ, Флешь и т.п. Соответственно обращение ко всему происходит с помощью 32 разрядного адреса.

                                                    Ну вообще, если вы настроены на секАс с ассемблером, то наверное вся мощь ARM7 вам ни к чему :)
                                                      ARM + Linux
                                                      Отлаживаться можно на PC, отлаженную задачу компилировать под целевую систему и через Ethernet заливать.
                                                        Цитата Змей @
                                                        все режимы имеют достаточно сложные алгоритмы. т.е. было бы крайне удобно (в плане бабла) не держать одну большую программу (для которой понадобится более крутой и дорогой МК), реализующую эти алгоритмы, а просто при необходимости заливать нужную прогу.

                                                        Если меги48 показалось достаточно для одного режима, то в мегу168, а то и в мегу88, влезут все, а цена у них отличается не в два раза на шаг, а меньше.

                                                        -Added
                                                        Цитата Змей @
                                                        Цитата Quasar @
                                                        Его цена копейки, я не уверен, что все-то что вы разрабатываете выпускается в таких кол-вах, при которых эти копейки могут играть роль.
                                                        знаешь, как быть богатым? просто не трать деньги туда, куда их тратить не нужно, и их будет намного больше. :)

                                                        С мелкими массовыми кристаллами ещё вопрос. Если бы они были железно уверены, что если они развалят тираж N штук мег48 на две приблизительно равных части (в два раза туда-сюда), то они выпускалы бы вариант без АЦП и он был бы дешевле. А если варианта без АЦП будет идти в десять раз меньше, то цена у него может оказаться та же. Упаковка, хранение, транспортирование, услуги посредников занимают в цене существенную часть и они одинаковы для обеих вариантов. Да даже разварка кристалла в корпус. Поэтому доля АЦП в конечной цене гораздо меньше, чем его доля площади на кристалле.

                                                        А АЦП не такая и бесполезная штука :)
                                                        Клавиатурку кнопок так на 10-16 на один вывод повесить можно (если нет требования иметь возможность декодировать множественные нажатия, да и полностью независимых кнопок штуки 4-6 вполне можно прицепить), резистор переменный между землёй-питанием распереть и рулить каким-то параметром работы схемы, ...
                                                        Про термопары никто особо и не думал, когда АЦП такого рода в микроконтроллеры вставлял ;)

                                                        -Added
                                                        Цитата Quasar @
                                                        Цитата
                                                        это того самого, который во всех (вроде так, но неуверен) Atmel`овских MEGA`х есть???


                                                        Ну не во всех, например Mega8 его не имеет, а я например во основном с этим камнем и работал.

                                                        Какэто-какэто? Мега8 не имеет АЦП?
                                                        Надеюсь, это описка.
                                                        Сообщение отредактировано: avreal -
                                                          Цитата avreal @
                                                          Мега8 не имеет АЦП?

                                                          это невнимательность ;) мы вообще-то про jtag говорили :whistle:
                                                            А, ну да, невнимательность.

                                                            Но я пока так и не понял, чего такого крутого в jtage для AVR-ок, отладку по-старинке делаю с помощью осциллографа и, для более толстых кристаллов с бОльшими ресурсами - отладочная печать на терминалку.
                                                            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                            0 пользователей:


                                                            Рейтинг@Mail.ru
                                                            [ Script execution time: 0,0642 ]   [ 16 queries used ]   [ Generated: 24.04.24, 10:29 GMT ]