Я использую 8-битный AVRS уже несколько лет. В последнее время я чувствую себя ограниченным скоростью передачи периферийных данных и библиотеками более высокого уровня.
У меня возникли проблемы с поиском/выбором новой линейки микроконтроллеров для изучения. я посмотрел на
Чипы NXP выглядят действительно красиво, но, как и в случае со всем, кроме PIC/AVR/Ardiuno, кривая обучения довольно крутая.
Мне было интересно, может ли кто-нибудь предложить линейку микроконтроллеров, которые удовлетворяют (в порядке важности) следующим требованиям.
Я готов снова взглянуть на Freescale и NXP, если кто-нибудь может показать мне, что я пропустил некоторую информацию об их наборе инструментов и программистах. Я думаю, вы могли бы сказать, что AVR32 — это именно то, что я ищу, но я просто не доволен их выбором микросхем. Все они имеют более высокое количество выводов и низкий запас на digikey.
Спасибо.
Я определенно рекомендую NXP - достойный набор микросхем, хорошие периферийные устройства (UART с гибким baudgen и FIFOS, SPI с FIFO и т. д.), отличная документация* и гибкие возможности программирования. Получите отладчик JTAG/SWD (части Cortex используют SWD — меньше выводов, чем JTAG, и могут выполнять такие действия, как установка точек останова во время работы). Я использую бесплатную версию встроенного рабочего места IAR для кикстарта — у него ограничение на код 32 КБ, что меня устраивает, но имейте в виду, что обновления размера кода стоят дорого. Кажется, что многие люди нормально работают с GCC/winarm. Некоторые компоненты Cortex (например, LPC1343) могут загружать прошивку с USB-накопителя с помощью встроенного загрузчика. Доступность запчастей, как правило, хорошая - я никогда не пытался найти запас. Существует также множество devboards/breakouts, доступных для частей NXP.
АРМ, АРМ, АРМ.
ARM лицензирует свои процессорные ядра многим компаниям. Это означает, что вы найдете хорошие инструменты, поддержку и документацию из более чем одного источника.
PIC, AVR и MSP430 страдают от того, что полностью принадлежат одной компании.
Имейте в виду, что с микроконтроллерами ARM Cortex-M3 от NXP будет ближе к Cortex-M3 от ST или Luminary, чем ARM9 или ARM7TDMI от NXP. Чаще всего компиляторы, отладчики и программисты являются общими для разных ядер, а не производителей.
Получение набора инструментов Codesourcery GCC ARM и дешевого ключа ARM JTAG поможет вам пройти долгий путь.
Я бы выбрал NXP. За короткое время Cortex-M3 стал стандартом для контроллеров ARM (я предполагаю, что под Freescale вы подразумеваете Coldfire). Начиная с ARM7TDMI NXP также имеет традицию обширного семейства устройств на выбор.
Что касается программиста для NXP, IMO любой программист JTAG должен выполнять эту работу (CMIIW).
редактировать
В настоящее время я читаю о mbed , который выглядит как самый простой способ начать работу с NXP Cortex M3 (используемый контроллер LPC1768). Вы программируете/компилируете онлайн (поэтому Linux не является проблемой) и программируете через USB (устройство выглядит как запоминающее устройство, на которое вы можете скопировать скомпилированную программу). Программист не требуется. Программы, написанные для mbed, должны быть напрямую переносимы на LPC1768 на других платах.
Попробуйте 16-битные PIC24 и dsPIC. Многие из них доступны в DIL и обеспечивают скорость до 40 MIPS. Доступно бесплатное программное обеспечение для разработки, а отладчик/программатор PICkit 3 стоит довольно дешево — 50 долларов. В следующей версии MPLAB будет поддержка Linux, доступна бета-версия.
Я думал, вы сможете получить бесплатные инструменты для ARM. Программирование должно выполняться из последовательного загрузчика или (открытого) JTAG. Некоторые микросхемы и модули STM32 и NXP, которые я рассмотрел, оставили у меня такое впечатление.
Мне тоже вспомнился этот вопрос .
Если вы действительно хотите перейти на 32-битную версию, попробуйте PIC32. Высокая доступность от Microchip. Для отладки Linux MPLAB X находится в бета-версии 4 и поддерживает Linux, Windows и Mac OS X. Я думаю, вам также понадобится PICkit 3 или аналогичный программатор за 50-60 долларов.
Однако я бы больше склонялся к 16-битным dsPIC и PIC24, потому что они намного дешевле, их можно отлаживать с помощью PICkit 2 и их легко программировать. Также они доступны в DIP-пакетах, хотя для вас это не имеет значения (?). Я немного предвзято отношусь к ним, учитывая, что использую их в своем проекте.
Единственный 32-битный процессор, выпускаемый в настоящее время в корпусе DIP, — это Parallax Propeller . (Тот же чип также доступен в гораздо меньших 44-контактных корпусах QFP и 44-контактных QFN, все с 32 контактами ввода-вывода общего назначения). Для него также есть несколько инструментов разработки, которые работают под Linux .
Таким образом, он легко соответствует вашим первым 2 критериям и большинству (увы, не всем) вашим остальным критериям.
Взгляните на СЭЗ Домино . Он не отвечает всем вашим требованиям, но предлагает довольно много, если вам не нужен контроль на самом низком уровне.
Серия чипов Cypress PSoC сочетает в себе функции, которых я не видел ни в одной другой ИС.
Чип PSoC5 включает в себя 32-битный ARM Cortex M3, но, насколько я могу судить, все они упакованы во что-то вроде TQFP100. Серии микросхем PSoC1 и PSoC3 включают в себя множество микросхем в корпусе DIP, но все они имеют одно или другое 8-битное ядро.
В дополнение к ЦП, чип также имеет программируемое межсоединение, что-то вроде небольшой FPGA, и несколько встроенных аналоговых операционных усилителей.
ARM Atmel могут удовлетворить все требования, в основном
Чипы для ручной пайки. (Я могу сделать LQFP 100)
Они поставляются в TQFP, и вы можете использовать один из меньших на 64 контакта.
32 бит
Чек об оплате
Хост Linux
Разрабатываю исключительно в Linux
Бесплатный набор инструментов
GCC ARM Toolchain, который теперь проще настроить с помощью скриптов сборки, таких как набор инструментов вызова руки.
Хорошая/бесплатная IDE
У тебя есть я там. Предположительно можно настроить eclipse или, может быть, kdevelop для выполнения этой работы, но я не пробовал. Я использую вим и кейт.
Стартовая стоимость <500$ для неограниченного программирования/отладки/компиляции
Программирование и компиляция обойдутся вам примерно в 100 долларов за прототип минимальной платы. Чипы поставляются со встроенным загрузчиком в ПЗУ, который позволяет программировать чип. Вам не нужен отладчик, чтобы запрограммировать его. Вы можете получить фирменный (и заблокированный) сеггер Atmel примерно за 100 долларов. Если вы можете себе это позволить, я бы посоветовал не покупать заблокированный, а заплатить 200 или 300 за разблокированный. Есть также другие варианты, которые намного дешевле, которые я не пробовал. Usbprog выглядит очень многообещающе.
поддержка CAN
Почти уверен, что он там, хотя вы должны проверить, чтобы быть уверенным. Я им не пользуюсь, поэтому не уверен, что у всех он есть.
Поддержка Ethernet/USB
Поддержка USB есть. Поддержка Ethernet должна быть добавлена извне. Хотя примеров на выбор много.
Я использую демонстрационную плату lpc4330-xplorer для NXP LPC4330. Я использую созданный вручную набор инструментов, но вы можете использовать Yagarto (если вас не волнует жесткий FP) или любой компилятор ARM, если вы можете копаться в сценариях компоновщика. У NXP есть несколько действительно отличных периферийных устройств, таких как State Configurable Timer (вы можете прочитать: генератор функций), который способен делать довольно много вещей. У них также есть несколько хороших SGPIO. Кроме того, у них есть множество таймеров на борту. Это также двухпроцессорный процессор (чип на базе M4-M0). Конечно, вся их линейка LPC довольно хороша.
Честно говоря, линейка Cypress pSOC тоже выглядит неплохо, но у меня не было возможности ее использовать. Все остальные определенно имеют свое применение и аудиторию, но я использую среду разработки Linux, не IDE и несколько инструментов командной строки. Я выбираю этот путь, потому что, когда что-то идет не так, а это всегда происходит, мне легче выследить проблему, если мне не нужно отслаивать слои инструментов. Кроме того, нет ограничений по коду. И, хотя это не совсем ясно из интернет-поиска, линейка LPC довольно хорошо поддерживается открытым исходным кодом.
Наконец, LPC предоставляет достаточное количество примеров кода в LPCOpen. Опять же, чтобы быть справедливым, если вы хотите, чтобы он скомпилировался с помощью инструментов с открытым исходным кодом, это требует небольшой работы, но это не сложно. У них даже был довольно хороший пример веб-сервера. У них также есть поваренная книга SCT (чтобы понять SCT, нужно немного, но как только вы это сделаете, это действительно приятно), но может потребоваться некоторое время, чтобы разобраться с примерами, а примеры SCT в LPCOpen жалкие. Но установка и запуск чипов NXP того стоит. Я даже провожу немного времени с NuttX (я устал от кода на голом железе ВСЕ время) и lpc4330-xplorer.
В любом случае, удачи в том, что вы выберете.
Вот мои варианты:
Стивенвх
XTL
Стивенвх
Ник Т
Дэвидкари
Питер Гибсон