Исходя из моих жестких требований быть в диапазоне от 36 до 72 МГц, иметь 16 Кбайт + SRAM, 128 Кбайт + флэш-память, будучи программируемым в C, я решил, что для своего приложения я хочу использовать микроконтроллер ARM Cortex M3.
Вопрос в том, по каким критериям люди выбирают, какую версию M3 использовать? Существует множество возможных поставщиков, таких как TI, ST, NXP, Freescale и т. Д. И т. Д.
Главным отличием с моей точки зрения будет простота программирования. В идеале я тестирую его на плате обсуждения / разработки, а затем внедряю в свою собственную печатную плату.
Ответы:
Я думаю, что @markt, безусловно, находится в нужном месте: Toolchain, периферия, пакеты, devkits.
Я добавлю несколько, и, возможно, сниму несколько. Toolchain, безусловно, важен, но БЕСПЛАТНО может или не может быть. Иногда работа без реальной поддержки может стоить дороже, чем вы думаете, и использование разумного коммерческого пакета вполне может стоить того для данной ситуации. Иногда возможность пройти тщательный аудит лицензий также важна, и использование бесплатного инструмента с ограничительной лицензией может укусить вас позже.
Мне нужна хорошая библиотека CMSIS для поддержки микроконтроллера. CMSIS - стандарт программного интерфейса микроконтроллеров Cortex - arm.com/products/processors/cortex-m/… - это уровень абстрагирования оборудования для микроконтроллеров серии Cortex-M. Теоретически, если библиотека совместима с CMSIS, она не зависит от производителя и ее проще менять на разные семейства, и вам не нужно заново изучать среду с нуля, чтобы иметь возможность использовать библиотеку. Одним из привлекательных аспектов среды ARM Cortex является возможность смены платформ без лишних хлопот. Если вы выбираете платформу, которая не покупается в структуре CMSIS, вы не сможете перемещаться так удобно.
Для меня дешевая и удобная плата разработчика является обязательным условием, но это может или не может быть столь же важным, как и некоторые другие вещи (я думаю, что серия STM32 имеет удивительные устройства). Если в семье есть очень удобные и дешевые доски разработчика, то вам, скорее всего, понадобится помощь от более широкой пользовательской базы. Кроме того, эти чипы, как правило, находятся в пакетах SMT. Когда вы неизбежно взрываете микросхему, или порт на микросхеме, или бит на порте на микросхеме, замена микросхемы - это PITA, включающая переработку SMD. Если вы можете купить две или три платы по 10–15 долл. Каждая и заменять их по мере их разрушения, вы даже не ДУМАЕТЕ о том, чтобы сделать эту переделку SMD!
Подумайте «Дополнительно». Вам может понадобиться что-то сверх того, что считается «периферийным». Например, может быть, у вас есть большие потребности в Bluetooth, и вы можете выбрать Nordic Semiconductor для такой поддержки. Вы можете подумать о некоторых других вещах, например о том, насколько легко загружается загрузка и т. Д.
Подумайте, Документация. Я был немного менее впечатлен тем, как трудно разобраться с некоторыми документами STM.
источник
Учитывая ваше желание создавать доски объявлений, подумайте, что там доступно.
Если вы переходите с другой платформы (PIC, Atmel и т. Д.), Примите во внимание, что во многих сферах перехода к ARM будет справедливая кривая обучения, но это хорошо и действительно того стоит.
источник
Если у вас нет сильных предпочтений (например, цены, размера, мощности и того, что перечислили другие), я бы подумал, кто вас поддерживает. Если производитель не отвечает на ваши вопросы, это может быть проблемой. Или у них есть местный дистрибьютор с FAE (Field Applciation Engineer), которого вы можете спросить? Это особенно важно для небольших компаний и хоббистов.
Некоторые детали могут быть недоступны в небольших количествах. Например, те, которые имеют DRAM в одной упаковке, предназначены для крупных покупателей (> 10 тыс. Единиц).
источник
Возможно, STM32L151VBT6 соответствует вашим требованиям. Даже когда мы использовали его в нашей компании, он имеет умеренную стоимость и хорошо с точки зрения энергопотребления. Также вы получите большую часть ресурсов по дизайну на http://www.st.com .
Основные характеристики микроконтроллера STM32L151VB:
Сверхмалое энергопотребление от 1,65 до 3,6 В
От -40 ° C до 85 ° C / диапазон температур 105 ° C
Режим ожидания 0,3 мкА (3 пробуждающих контакта)
0,9 мкА в режиме ожидания + RTC
Режим останова 0,57 мкА (16 пробуждений)
Стоп режим 1,2 мкА + RTC
9 мкА Режим низкого энергопотребления
Режим работы 214 мкА / МГц
Сверхнизкая утечка ввода / вывода 10 нА
Время пробуждения <8 мкс
Ядро: ARM®Cortex ™ -M3 32-битный процессор
Максимум от 32 кГц до 32 МГц
33,3 пик DMIPS (Dhrystone 2,1)
Блок защиты памяти
Сброс и управление поставками
Сверхбезопасный BOR с низким энергопотреблением (сброс по умолчанию) с 5 выбираемыми пороговыми значениями
POR / PDR со сверхнизким энергопотреблением
Программируемый детектор напряжения (PVD)
Источники часов
Кварцевый генератор от 1 до 24 МГц
Генератор 32 кГц для RTC с калибровкой
Высокоскоростной внутренний 16 МГц радиоуправляемый радиоприемник (+/- 1%)
Внутренний маломощный 37 кГц RC
Внутренняя многоскоростная малая мощность от 65 кГц до 4,2 МГц
ФАПЧ для тактовой частоты процессора и USB (48 МГц)
Запрограммированный загрузчик
USART поддерживается
Поддержка развития
Поддержка отладки последовательного провода
JTAG и трассировка поддерживается
До 83 быстрых входов / выходов (73 ввода / вывода с допуском 5 В), все они могут отображаться на 16 внешних векторах прерываний
Воспоминания:
Flash до 128 КБ с ECC
До 16 КБ ОЗУ
До 4 КБ истинной EEPROM с ECC
Регистр резервного копирования 80 байт
Драйвер LCD для сегментов до 8x40
Поддержка регулировки контрастности
Поддержка режима мигания
Повышающий преобразователь на борту
Богатая аналоговая периферия (до 1,8 В)
12-битный АЦП 1 Msps до 24 каналов
12-битный ЦАП 2 канала с выходными буферами
Два сверхкомпактных компаратора (режим окна и возможность пробуждения)
DMA контроллер 7х каналов
8x интерфейс связи периферии
1x USB 2.0 (внутренняя ФАПЧ 48 МГц)
3x USART (ISO 7816, IrDA)
2x SPI 16 Мбит / с
2x I2C (SMBus / PMBus)
10-кратные таймеры: 6-кратное 16-разрядное с до 4-х каналов IC / OC / PWM, 2-кратное 16-разрядное базовое время, 2-кратные сторожевые таймеры (независимые и оконные)
До 20 емкостных сенсорных каналов с поддержкой сенсорных кнопок, линейных и поворотных сенсорных датчиков. Блок вычисления CRC, 96-битный уникальный идентификатор.
источник