Подтвердить что ты не робот

Какую встроенную платформу (микроконтроллер) можно

Я программировал с 8 бит PIC в течение довольно долгого времени, но теперь нужно перейти к чему-то более мощному.

Я хотел бы, чтобы семейство чипов:

  • Я могу получить хорошую (бесплатную) IDE для
  • Паяльные пакеты, QFN или аналогичные (arm9 out)
  • Хорошо масштабируется - некоторые из моих проектов потребуют небольшой чип для PWM/переключателей и т.д., но мне в конечном итоге хотелось бы запрограммировать цветной сенсорный экран TFT LCD с графическими виджетами, не имея необходимости снова изучать новую платформу! (для больших чипов ARM7TDMI для этого достаточно лошадиных сил?)

Любые советы/советы, которые очень ценятся.

4b9b3361

Ответ 1

Появилась интересная новая волна mcu: s с ядрами ARM Cortex-M3, M1 и M0, которые сейчас попадают на рынок. (Игроки Cortex mcu сейчас выглядят как ST, NXP и Atmel).

И STM32, может быть, интересный выбор для начала. Для разработки вы можете использовать gnu toolchain, OpenOCD и cheep jtag.

На самом деле это очень похоже на toolchain/workflow, поскольку ARM7...

Как IDE, некоторые используют Eclipse.


Небольшое примечание. Мои предложения, приведенные выше, основаны на инструментах с открытым исходным кодом, поэтому нет блокировки вендора.

Вы должны иметь возможность переключаться между M3, M1 и M0 mcu с той же инструментальной цепочкой, если вы внимательно относитесь к различиям между ними. Поэтому, чтобы начать с mcu на основе M3 и узнать, что ядро ​​ARM Cortex может быть хорошей идеей.

И даже ты не так много M0 mcu: s там сегодня, я думаю, мы увидим их довольно много в будущем.

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

И последнее, поскольку мы говорим о 32-битном mcu в той же ценовой шкале, что и 8-битные mcu: средний или большой размер, вы получаете гораздо больше энергии за те же деньги.

Ответ 2

Рассмотрим устройства на базе ARM Cortex M3. Это дает преимущество, заключающееся в том, что вы не привязываетесь к одному поставщику, поскольку ядро Cortex M3 лицензировано для многих поставщиков, а ARM является самой распространенной встроенной архитектурой на планете. Cortex-M3 заменяет архитектуру ARM7 и является значительным улучшением.

Части варьируются от младших деталей от подобных Luminary, предназначенных для использования в приложениях, традиционно занятых 8-битными с более мощным 32-битным ядром, до более дорогих устройств с большой встроенной флэш-памятью/SRAM и многочисленными периферийными устройствами, такими как USB, Ethernet, Драйверы CAN, LCD, контроллеры внешней памяти и т.д.

Из множества поставщиков можно выбрать буквально сотни компонентов с одинаковой архитектурой и поддержкой одинаковых цепочек инструментов, включая GNU/GCC. Части с достаточным объемом памяти или интерфейсами внешней памяти могут даже загрузить Linux, если вы чувствуете необходимость (uCLinux - примечание к приложению), и доступно любое количество ядер RTOS, как бесплатных, так и коммерческих.

Ответ 3

У нас есть хорошие впечатления от устройств Atmel, таких как AVR. Там есть бесплатная IDE, называемая AVR Studio, которая неплоха.

Ответ 4

TI MSP430 имеет ряд преимуществ:

  • может быть запрограммирован с mspgcc в кодовых блоках,
  • 16 бит,
  • хорошо масштабируется с помощью небольших и больших чипов,
  • поставляется в паяльной упаковке.

Ответ 5

Если вы хотите остаться в 8-битных семьях, попробуйте использовать микроконтроллеры AVR. Большим преимуществом является бесплатный и очень хороший компилятор AVR-GCC (WinAVR для Windows).

Однако вы также можете рассмотреть архитектуры ARM. Вероятно, чипы ARM7TDMI - лучшее решение для кого-то из 8-битного мира. Эти чипы используются в iPod и других mp3-плеерах - они определенно соответствуют задаче, которую вы описываете. Они могут даже запустить версию Linux (ucLinux).

Многие производители выпускают чипы ARM7TDMI: серии ATMEL AT91, серии NPC (Philips) серии LPC, серии STM STR. Компилятор GCC для ARM очень хорош. Он может быть интегрирован с Eclipse (см. YAGARTO, например). Для отладки доступны недорогие инструменты и комплекты. Посмотрите Olimex. Вам понадобится некоторое время, чтобы настроить свои инструменты (toolchain, IDE, JTAG-отладчики). Если вы готовы потратить немного денег, есть много коммерческих решений, которые сэкономят вам много времени и облегчат вашу жизнь.

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

Ответ 6

На самом деле, я думаю, что архитектура AVR не настолько мощная, как PIC. Мы использовали ATMEGA128 для управления монохромным сенсорным дисплеем 240x80. Он работает, но я не рекомендую это делать. Переходите к чему-то большему с большим количеством бит.:)

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

Я думаю, что я бы пошел на готовый модуль с 64 + МБ ОЗУ и 32 бит (или ARM Thumb2) для управления цветными TFT. Вероятно, большинство 32-битных контроллеров не входят в паяемые пакеты. Dunno, если вы можете припаять BGA с горячим воздухом, тем не менее.

Ответ 7

Если вы уже знаете 8-разрядные ПОС, то переход на их 16 или 32-разрядные ПОС позволит вам использовать все те же IDE/компилятор/программатор/отладчик, которые вы использовали для использования.

Microchip предлагает чипы с особой поддержкой для ЖК-дисплеев, управления двигателем (PWM) и (конечно) переключателей. Проверьте плату Explorer 16.

Ответ 8

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

Высокая степень parallelism может быть немного трудна в работе с первой попыткой, но после того, как у вас это получилось, это очень приятно (я никогда не работал с Propellers, но я Ранее мы работали с небольшими массивами преобразователей INMOS, которые также создают сильно параллельную среду.)

Ответ 9

Я был в аналогичной ситуации (кроме того, что у меня нет свободного требования к компилятору).

Является консультантом R & D для индустрии медицинских изделий. Я использую 8-разрядные ПОС в течение длительного времени. Однако некоторые из моих проектов стали большими и более сложными, и мне нужен был более мощный uC или небольшой одноплатный компьютер. Я перешел в семейство LPC2000 (ARM7) с компилятором IAR и построил свой первый инструмент на базе LPC2368.

Самый маленький контроллер семейства LPC2000 - 48-контактный, и для него требуется небольшое количество внешних схем. Итак, для миниатюрных проектов я буду продолжать использовать ПОС.

  • Ник

Ответ 10

Я предполагаю, что вы знаете о линейке продуктов Arduino? http://arduino.cc

Он по-прежнему 8 бит, но у него есть IDE, и вы можете купить/сделать "экраны" для добавления дополнительных функций, например, Ethernet, ЖК-дисплеи, светодиоды, контроллеры мотора, аудио и т.д. И т.д.

Я использовал следующее "Цветной ЖК-дисплей и экран джойстика для Arduino"

http://www.nuelectronics.com/estore/index.php?main_page=product_info&cPath=1&products_id=10

Color LCD & Joystick shield for Arduino
(источник: nuelectronics.com)

Ответ 11

Я перешел на 16-разрядный микрочип dspic (я использую dpic 33Fja64mc510 и mc804, а также pic18F67j60 для нескольких небольших устройств с поддержкой Ethernet)

Преимущество:

  • многие диапазоны доступны от одного и того же поставщика, которые можно использовать с одной и той же инструментальной цепочкой. (MPLAB/C30). комбинированные платы разработки и предложения поддержки, все под одной крышей. Поскольку uc-программирование - это только побочный бизнес для меня (5-10% случаев), это важно для меня.
  • много периферии (2 uarts, 2 spi/i2c PMP, таймеры 6/8 и т.д.).
  • Мне понадобилось оборудование квадратурного кодировщика.
  • решение для одного чипа для большинства. Нет необходимости использовать плунжер или флеш-память. Кристалл, сила + сила и идите. хорошо для спецификации.
  • доступны относительно высокие устройства pincount.

минус

  • несмотря на то, что в прошлом году он был на дорожной карте, все еще нет 16-битного чипа со встроенной сетью Ethernet.
  • детали MC с высоким pincount не обновляются с некоторыми другими недавними позитивами (RTC, периферийный pinselect). Какой афайк также был изначально на дорожной карте.

Как-то кризис или PIC32 привели к задержкам на 16-битных строках.

Ответ 12

Я знаю, что вы сказали, что AVR недостаточно мощным, но исходя из ваших требований (управляя сенсорным экраном и имеющим графические виджеты), на самом деле это: http://rossum.posterous.com/avr-homebrew-device-with-iphone-aspirations

Конечно, даже этот парень предлагает получить Arm Cortex-M3, поэтому, возможно, что-то вроде этого будет больше того, что вы ищете: http://www.sparkfun.com/commerce/product_info.php?products_id=8559

Ответ 13

В зависимости от ваших требований вы можете посмотреть .NET Micro Framework и устройство, такое как одна из плат от DeviceSoutions.net (есть несколько других, но это единственный бренд, который я использовал.)

Эта платформа хороша для простых интерактивных дисплеев, но в настоящее время не работает как ОС реального времени. (Я только использовал .Net Micro Framework 2.0 и 3.0 более новые версии и аппаратные средства, возможно, разные.)

Моими частями этой настройки микроконтроллера была возможность использовать С# и .Net для разработки встроенных проектов. Что касается бесплатной IDE... это отлично работает с Visual Studio Express.

(и нет, я не работаю ни для Microsoft, ни для DeviceSolutions.Net... Я просто поклонник платформы)

Ответ 14

Добавив свои собственные два цента, вы также должны сузить свои критерии с помощью поддержки микроконтроллера. Я работал с AVR, PIC и ARM. В ARM я специально использовал LPCxpresso. Переход от Arduino к PIC был неплохим, поскольку PIC имел хорошую поддержку. То, что я нашел сложным, переместилось на LPCxpresso, поскольку там не было поддержки сообщества, например, сообщества LPCxpresso. Существует поддержка, но вы также должны думать о том, сколько поддержки мне нужно, когда я застрял в конкретной проблеме, хочу ли я ее использовать, или я хочу, чтобы он поддерживал онлайн-сообщество?