У меня есть опыт программирования на ассемблере и C для микроконтроллеров, но я не знаком с различными семействами MCU и DSP, предлагаемыми современными компаниями. (например: Texas Instruments, Atmel, Renesas)
Я хотел бы знать о хороших микроконтроллерах / DSP и о том, что такое развиваться вместе с ними. Пожалуйста, кратко изложите свое понимание различных семейств MCU / DSP, по одной семье на ответ.
Было бы очень интересно также, если вы подробно опишите, что является (являются) основными приложениями для этого (и) микроконтроллера, пожалуйста.
(Это «вики-сообщество», поэтому любой человек с> 100 репутацией может уточнить и улучшить ответы)
microcontroller
development
design
dsp
Эдвард
источник
источник
Ответы:
ARM является отраслевым стандартом для 32-битных контроллеров, хотя PIC32 обладает некоторыми приятными функциями. Они довольно просты в использовании. Мне нравятся чипы NXP LPC2000 и LPC1000 ARM, но новый чип Micro Micro ARM Cortex-M3 очень интересен из-за его очень низкого энергопотребления - так же хорошо, как MSP430 [Youtube]. Поддержка очень разнообразна, у чипов NXP есть группа LPC2000, которой я управляю, что, похоже, нравится людям - у нас более 8000 участников!
источник
Atmel AVR , возможно, в Arduino : я не согласен с Леоном и скажу, что линия Atmel AVR - отличная семья для начала. Это довольно разнообразно, от ATtiny, через ATmega, до Dragon (с которым я не работал). Я бы сказал, что AVR32 и Xmega - это разные семьи.
AVRfreaks - один из лучших форумов по электронике в сети (вскоре его превзойдет Chiphacker :), также существует сообщество Arduino, ориентированное на любителей. Arduino отлично подходит для изучения аппаратного обеспечения микроконтроллеров, хотя он не поможет вам в программировании (ОП заявил, что они знают ASM и C).
Набор WinAVR прост в сравнении с другими наборами инструментов. Просто скачайте, нажмите Next несколько раз, введите код и нажмите F5. Это не становится легче, чем это. Конечно, редактор AVR Studio не имеет всех функций, которые он должен иметь, но многие IDE от поставщиков не лучше и не хуже (* кашель * MPLAB * кашель *).
Я не уверен в доставке, но я бы сказал, что 6-контактный SOT23 ATtiny является нишевым чипом, и версия SO8 или DIP очень доступна. В связи с этим, они также отлично справляются с поставками как в DIP (для создания прототипов), так и в компактных пакетах SMT.
источник
Серия TI MSP430
аппаратные средства
Разнообразие аппаратных периферийных устройств не так гибко, как PIC Microchip, но поддержка цепочки инструментов для отладки программного обеспечения намного лучше, чем части Microchip. Недавно TI выпустила новую версию Code Composer для микроконтроллеров MSP430 и DSP TMS320F28xx, в которой используется Eclipse. Поддержка отладки отличная.
Они также очень просты в настройке регистров управления, намного проще, чем DSP 28xx.
MSP430 отлично подходит для приложений, требующих больших временных затрат, так как обычно он имеет больше регистров захвата / сравнения, доступных для использования. Это может значительно упростить системы, в которых вам приходится иметь дело со многими многими периферийными устройствами, требующими значительного времени.
развитие
Вы можете купить систему разработки за 150 долларов (есть более дешевый вариант MSP430 на USB-флешке за 20 долларов, но это своего рода ограничение), и вы получите настоящую систему прототипирования аппаратного обеспечения и отладчика. Вы также можете получить новую панель запуска TI, которая поставляется с 2 чипами и стоит $ 4,30.
источник
Микрочип ПИК 16F / 18F
Целевой рынок
Недорогие 8-битные микропроцессоры. 16F является одной из ранних линий процессоров Microchip и не особенно подходит для программирования на C / C ++ из-за:
Серия 18F новее и должна быть рассмотрена, если вы можете себе это позволить для своего проекта. По целевому рынку, комплекту периферийных устройств, пакетам микросхем, инструментам разработки и цене он похож на серию 16F. Ядро 18F было разработано, чтобы быть более поддающимся C и C ++, благодаря:
Програмное обеспечение
Программу довольно просто программировать, вы можете написать ее, используя 30 инструкций по сборке, или использовать компилятор Си . Это 8-битные микроконтроллеры, поэтому, если вы хотите работать со значениями> 255, вам придется найти / написать 2-байтовый код сложения / вычитания / умножения / деления. В его оперативной памяти 4 "банка", поэтому, если вы пишете в сборке, вам нужно переключаться назад и вперед, чтобы получить доступ к переменным, хранящимся в банках, отличных от текущих.
аппаратные средства
Эти микроконтроллеры работают довольно медленно, с типичной скоростью 4 MIPS и максимальной скоростью 20 MIPS. У них есть несколько встроенных аппаратных функций, которые работают нормально при правильной настройке, таких как АЦП, последовательный порт, параллельный порт, шина CAN, шина I2C, шина SPI, сравнение напряжения, EEPROM и, конечно, универсальные порты ввода-вывода. ,
Документация
Инструменты разработки
В Microchip появился новый инструмент - VDI, который упрощает настройку различных аппаратных функций MCU, которые генерируют код сборки или C-код. Лучше, чем заливать таблицы.
Microchip уже много лет предлагает MPLAB IDE , и, хотя программа постепенно улучшается, по сравнению с инструментами разработки для ПК (Visual C ++, Eclipse / NetBeans для Java / и т. Д.) Пользовательский интерфейс очень плохой, а программное обеспечение по-прежнему особенно глючит. Он также не поддерживает C ++, несмотря на то, что разница между C и большинством функций C ++ (исключая динамическое выделение памяти, виртуальные функции и некоторые другие функции) очень незначительна, а C ++ поддерживает модульность программирования. Есть сторонние поставщики IDE, особенно IAR, но они дорогие. (Hi-Tech недавно была куплена Microchip.)
Внутриконтурная отладка в некоторых частях обеспечивается ICD-интерфейсом Microchip, 2-контактным последовательным интерфейсом, доступ к которому можно получить через отладочные адаптеры ICD2, ICD3 , REAL ICE , PICkit2 / 3 и т. Д. Убедитесь, что у выбранной детали есть особенности ICD! Функции отладки несколько ограничены и имеют «занос», когда вы устанавливаете точку останова для одной инструкции, а программа останавливается несколькими инструкциями позже. Тем не менее, ICD лучше, чем ничего.
Поддержка
источник
Blackfin от Analog Devices Семейство Blackfin представляет собой гибридный DSP / микроконтроллер с сильным ядром RISC, а также с поддержкой инструкций по обработке видео / сигналов. Некоторые инструкции поддерживают SIMD.
аппаратные средства
Имеет ядро RISC. Диапазон скоростей от одноядерного 200 МГц до двухъядерного 600 МГц. Он может иметь периферийные устройства: 10/100 Ethernet MAC, UARTS, SPI, контроллер CAN, таймеры с поддержкой ШИМ, сторожевой таймер, часы реального времени и бесклеевой контроллер синхронной и асинхронной памяти. Он имеет динамическое управление питанием - автоматически отключает части процессора, которые не используются.
развитие
Двумя основными инструментами разработки являются VisualDSP ++ AD и набор инструментов GNU. Существует также SDK с большим количеством кода и замечаний по применению. Код SDK служит либо платформой, либо хорошим примером кода. На нем будут работать несколько операционных систем, включая uCLinux. Есть много доступных плат eval . В Инструкции являются обязательными.
Цены на данный момент от 2 $ в количестве 1000 штук.
источник
Parallax Propeller является oddbird 8-жильного (восемь «винтиков» плюс концентратора) микроконтроллер , который может сделать очень интересные / впечатляют вещи , включая поколение видео SD / VGA.
Он имеет свою собственную среду разработки, включая язык SPIN. Сборка (PASM) естественно доступна.
Существует значительная поддержка сообщества и видимые проекты с использованием чипа.
Существует не так много моделей, но чип, по-видимому, является результатом очень тщательного проектирования и длительной разработки, проведенной некоторыми чрезвычайно талантливыми и компетентными людьми. Это может быть доступно около $ 8.
Аппаратное (внутрисистемное) программирование, очевидно, состоит из последовательного порта уровня TTL и линии сброса. Доступен ключ под названием Prop Plug.
http://parallax.com
http://en.wikipedia.org/wiki/Parallax_Propeller
источник
Как насчет STM32 , другого семейства mcu на базе Cortex-M3?
Начать дешево, так как я нашел кое-что хорошее в Olimex.
Затем я использую gcc в качестве компилятора и OpenOCD для управления jtag.
источник
dsPIC33F и PIC24 : Microchip имеет семейство 16-битных 40-микроконтроллеров MIPS, называемых dsPIC33F, которые сочетают в себе набор команд PIC24F и периферийные устройства с функциями DSP, такими как два 40-битных аккумулятора с опциями округления и насыщения; однократное умножение и накопление; и до ± 16-битных сдвигов для 40-битных данных. Цены низкие (всего 2 доллара). Одна вещь, которая мне нравится в микроконтроллерах Microchip, это то, что многие их устройства доступны в DIP-упаковках, которые идеально подходят для макетирования. Я использовал один из них в проекте, где мне нужно было декодировать DTMF-сигналы; это было более рентабельно, чем выделенное аппаратное решение DTMF-декодера. PIC24 используется в удивительном UWatch, "Самые мощные в мире (и только!) Программируемые часы RPN / алгебраического научного калькулятора".
источник
Cypress PSoC1 (CY8C29466) имеет простое 8-битное ядро ЦП, окруженное FPGA-подобными цифровыми и аналоговыми блоками.
Он имеет как аналоговые входы, так и аналоговые выходы. Многие проекты, для которых потребовалось бы множество внешних компонентов с любым другим микроконтроллером - операционные усилители, PGA и т. Д. - могут быть выполнены с помощью одного чипа PSoC. Многие компьютерные мыши используют PSoC1. Например, он может декодировать тоны DTMF, поступающие на один входной контакт, и напрямую генерировать независимые аналоговые сигналы DTMF на двух выходных контактах - истинный аналоговый, а не ШИМ.
Цифровые и аналоговые блоки могут быть настроены на работу совершенно независимо от ядра - и, следовательно, с гарантированным фиксированным временем отклика, даже если процессор занят обработкой некоторого прерывания в течение этого времени.
Довольно низкая мощность. Поставляется в пакетах DIP и SMT.
8-битное, 24 МГц ядро примерно эквивалентно ядру PIC16F, причудливому переключению банков и прочему. Проприетарные компиляторы C доступны, но GCC вряд ли когда-либо будет портирован ни на один из них.
Проект "Gainer.cc" программирует системы на основе PSoC1 с использованием обработки через USB-кабель, очень похожий на более поздний проект "Arduino".
Http://www.psocdeveloper.com/ форум дружит. Для разработки под Linux есть несколько утилит: http://m8cutils.sourceforge.net/ .
источник
Микросхемы Freescale HCS08 являются прямыми конкурентами PIC10-18 и AVR, как правило, более дешевыми, но все же с довольно богатым набором периферийных устройств. Их библиотека заметок о приложениях и справочных материалов довольно хорошая.
Их CodeWarrior IDE (бесплатный компилятор для кода размером до 32 Кб) включает в себя несколько полезных библиотек «Инициализация устройства» для подхода, основанного на графическом интерфейсе, для переворачивания битов, и более продвинутый «Процессор Эксперт», который может генерировать драйверы более высокого уровня для периферийных устройств. Вы не обязаны использовать либо, и можете просто делать все в коде C, если это необходимо.
источник
Серия DSP TI TMS320F28xx .
Целевой рынок
Управление двигателем и преобразователи питания с цифровым управлением: они имеют очень гибкую ШИМ-периферию и быстрые АЦП.
аппаратные средства
Эти DSP имеют два основных недостатка:
Инструменты разработки
Отладка в режиме реального времени через порт JTAG с использованием Code Composer v4 (на основе Eclipse !!!).
Поддерживается SimLink MatLAB для автоматической генерации кода (опыт программирования не требуется)
DSP от TI раньше были очень дорогими для создания прототипа, потому что вам требовался модуль отладки в режиме реального времени за 1500 долларов (адаптер JTAG), но цена на него снизилась (есть недорогой за 150-200 долларов), и они продают платы по цене встроенные адаптеры JTAG.
источник
XMOS производит ряд очень мощных 32-битных процессоров параллельной обработки (1600 MIPS из четырех ядер с 32 аппаратными потоками). Они достаточно быстры для высокоскоростного USB и Ethernet в программном обеспечении. Их инструменты очень хороши, чипы превосходны, они по разумной цене (они начинаются с 7,50 долларов), и люди там очень полезны. У них есть два очень хороших форума поддержки; одна управляется компанией, другая является независимой.
источник
Мне придется проголосовать за Cypress PSoC3. Я использую PIC около 10 лет (PIC16, PIC18, dsPIC и PIC32). Они сводят меня с ума своей раздражающей периферийной конфигурацией и постоянным поиском в таблице данных, чтобы найти тот бит, который нужно очистить, чтобы заставить работать какой-то контакт.
С другой стороны, опыт, который я имел до сих пор с PSoC3s, был восхитительным. Самое главное, настройка цифровой и аналоговой периферии - это настоящее удовольствие. Последовательные порты, часы, прерывания, драйверы, компараторы АЦП и ЦАП могут быть подключены на схеме, и они отлично работают.
Например, вы можете подключить свой ШИМ для запуска АЦП для выборки в середине импульса, что делает измерение тока двигателя более точным. Попробуйте сделать это на ПОС.
Хотите 5 ШИМ, 5 квадратурных декодеров, АЦП, SPI порт и генератор CRC на одном чипе? Ты получил это. Вы хотите настроить АЦП для последовательной выборки тока в каждом двигателе в центре импульса? Ты получил это. Кроме того, вы можете подключить все эти входы и выходы практически к любому желаемому выводу.
Ах да, И, если в библиотеке нет периферийных устройств, вы можете написать свое собственное в verilog!
источник
Cypress PSoC5 имеет 32-битный ARM Cortex M3, окруженный FPGA-подобными цифровыми и аналоговыми блоками.
20-битное разрешение аналоговых АЦП и ЦАП.
Цифровые и аналоговые блоки могут быть настроены на работу совершенно независимо от ядра - и, следовательно, с гарантированным фиксированным временем отклика, даже если процессор занят обработкой некоторого прерывания в течение этого времени.
Довольно низкая мощность.
32-разрядное ядро ARM Cortex-M3 с частотой 80 МГц примерно соответствует ...
Http://www.psocdeveloper.com/ форум дружит.
источник
Собственная поддержка Atmel для AVR не очень хорошая, а их аппаратные средства немного ненадежны. Тем не менее, чипы хороши, а форум AVR Freaks очень хорош. У них серьезные проблемы с поставкой новых чипов, таких как XMega и 6-контактных чипов Tiny.
источник
У Zilog также есть несколько микроконтроллеров. Лично я не пытался программировать линейку микросхем Z8 Encore , но они посылают образцы. У них много разных чипов от 1 КБ до 16 КБ (может и больше) с периферийными устройствами, включая UART, ADC, I2C , SPI и т. Д.
На мой взгляд, это не очень хороший любительский микроконтроллер.
источник
Я использовал несколько семейств процессоров. Основная проблема при изучении нового процессора - это научиться кодировать сотни регистров конфигурации периферийных регистров. Это будет основной трудоемкий процесс при переходе от одного семейства к другому. основной код приложения написан на языке c, и не имеет значения, какое семейство мы использовали, я бы хотел, чтобы был разработан стандарт для периферийных регистров. Если кто-нибудь знает о каких-либо разработках в этом направлении, пожалуйста, поделитесь им.
источник
Я использую PIC, ARM, MSP430, AVR и несколько других.
Microchip имеет отличную поддержку и хорошие аппаратные и программные средства, отладка особенно проста и быстра. 8-битная архитектура немного устарела. Их новые 16-битные чипы превосходны. Они являются лидером на рынке 8-битных микроконтроллеров.
источник