Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Выбор микроконтроллера на Cortex M3 ядре
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Страницы: 1, 2
glebka
Уважаемые коллеги,

Выбираю микроконтроллер под задачу. Основными критериями являються: небольшой размер 48-64 ноги, ядро cortex m3, управление энергопореблением. Делаю выбор между TI, Atmel, NXP, ST и Freescale устройствами. Пока более подробнее рассматриваю ST32F205... но предидущего опыта использования ST нет, поэтому вопрос стоит ли его устанавливать в утройство промышленной автоматизации? Конечно без уровня SIL. Задача уровня померил, обработал. отправил дальше.
scifi
По заявленным критериям вроде бы все подходят. Поэтому и другие признаки надо будет рассматривать. Много чего можно придумать:
- сверхнизкое потребление
- хороший АЦП (разрядность, шум, скорострельность)
- наличие "библиотек"
- наличие недорогих средств разработки
- качество документации
и т.д. и т.п.
А по большому счёту МК - он и в Африке МК.
glebka
Цитата(scifi @ Jul 30 2013, 13:08) *
А по большому счёту МК - он и в Африке МК.


Согласен,

Со средствами разработки проблем нет.
Сейчас сижу на сайте рассматриваю всё что выложено, вроде пока жаловаться не могу.

ADC устраивает.

А что насчет библиотек ? Много ли придеться "перепиливать" драйвера от производителя?

Как насчет иммунитета к EMI и общей надёжности?

Пользовал NXP, у них реализована неплохая идея на LPCware, где собрана вся информация в одном месте.

Есть ли что-либо подобное для ST?

AlexandrY
Цитата(glebka @ Jul 30 2013, 12:40) *
Задача уровня померил, обработал. отправил дальше.


Тогда лучше всего серия Kinetis от Freescale.




dxp
QUOTE (glebka @ Jul 30 2013, 16:40) *
... небольшой размер 48-64 ноги, ядро cortex m3, управление энергопореблением. Делаю выбор между TI, Atmel, NXP, ST и Freescale устройствами.

Ещё EFM32 от EnergyMicro. Малое потребление и очень гибкая система управления энергопотреблением (a-la MSP430).
Punk
Цитата(AlexandrY @ Jul 30 2013, 15:14) *
Тогда лучше всего серия Kinetis от Freescale.

Почему? тоже перед выбором камня в серию стою
AlexandrY
Цитата(Punk @ Jul 31 2013, 08:03) *
Почему? тоже перед выбором камня в серию стою


Для промышленной автоматики я имел в виду.
Хорошие и разнообразные антисбойные механизмы, толерантность к 5В, встроенный EEPROM, глубокая защита кода,
широкий температурный диапазон (до 105C), больше чем у других каналов DMA (повышает реальную производительность),
поддержка дешевых DDRAM чипов памяти, 16-и разрядный АЦП до 4-х независимых каналов с встроенным масштабированием.
Т.е. делать анализатор 3-х фазной сети, PFC или 3-х фазный инвертор (по отдельности и все сразу) здесь очень удобно.
Для логических контроллеров тоже идеален.
Все пины могут быть источником прерываний или источником запросов DMA,
имеют фильтры против глитчей с настраиваемой полосой, работа и с сегментным LCD и с TFT дисплеями,
поддержка сенсорной клавиатуры, поддержка спец. протоколов автоматизации зданий и т.д.

Собственно меня лично привлек их софт, а именно открытая RTOS MQX.
Очень продуманная и укомплектованная ось. Превосходит по возможностям все мне известные открытые RTOS (FreeRTOS, uCOS, RL ARM, uITRON, TNKerne, scmRTOS, TI RTOS ... ) для такого класса микроконтроллеров.

Для старших в семействе (K70) есть качественно портированный линукс.

Вообщем с учетом того, что для каждого нового семейства ARM-ов надо инвестировать кучу времени в изучение периферии и адаптацию драйверов к своей платформе
семейство Kinetis, по крайней мере для автоматики, лучше всех оправдывает эти инвестиции.
scifi
Кстати, Freescale обещает выпускать K10, K20, K30, K40, K60 как минимум до 2021 года.
DASM
Первый раз вижу столь страное требование «кортех м3». Подиктовано, надеюсь, желанием купить потом у АРМ IP core и испечь свой ASIC ? А то ведь и М4 есть, и А серия, а не просто «хочу розовенькое»
glebka
Да я смотрел в на микроконтроллеры от EnergyMicro, корпрус QFN не понравился клиенту.

Попросили "Cortex M3" на замену PICа, спорить не стал : "хозяин -барин". Если поставлю М4, никто особенно возмушаться не будет, кроме того есть лицензия для IAR.

Слышал нелестные отзывы про документацию от фрискайла, сейчас прорабатываю этот вопрос подробнее, конечно STM доки (IMHO) выглядят лучше.


DASM
Фрискейл на моей памяти вообще никогда не был user friendly. Проблемы даже не с доками, а с банальной дистрибуцией. Хотя у меня негатив больше с тех времен, когда они были еще большой и жирной Мотролой. Я сейчас в основном в мелких чипах СТМ и использую, доки неплохие, но sowtware examples жуть какая-то. В целом впечатления от STM очень приятные.
glebka
Драйвера всё одно придётся "причесывать". А как ведуть себя STM в пром. устройствах?
DASM
99.99 % всех неполадок имхо - на совести программистов. Так называемый Watchdog - штука крайне бесполезная и вредная (вредная тем, что каждый раз запуская очередную халтуру на очередном семействе я должен читать даташит на теиу не включена ли эта дрянь по умолчанию). Бесполезная - потому что по сути просто выводит программиста на чистую воду - программер обязан писать логи работы, не важно куда, но делать это надо, тогда можно понять причину катастрофы. Вотчдог просто сбросит все и это даст понять, что виноват программист. Который виноват в любом случае. В остальном же разницы у процев нынче никаких - один техпроцесс, одна фабрика (полагаю), одно лицензированное у АРМ ядро. Отличия - цена, дистрибуция, прозрачность example, ну и степень изголения над перефирией (кстати то, что делают производители с перефирией и сподвигнуло меня перейти на Xilimx all-in - programmable, там хоть сам перефирию рисую. Вернее собираюсь рисовать. Так что не слушайте особо никого, если проц подходит по корпусу, темп. диапазону, цене и доставабельности - берите. И тут позиции STM лучше однозначно. Ну а однозначные советы "берите это" воспринимайте с улыбкой, не забывайте - многие тут работают в фирмах дистрибьютерах. Я тоже, но совсем не таких АРМ, так что мне верить можно rolleyes.gif Глубокая защита кода, как понимаете хорошо вскрывается терморектальным анализом, если охота возиться с ОС одного производителя без поддержки со стороны - ваше право, ну а такие "уникальные" фичи как LCD , программируемый slew rate (тем более когда все сводится к управлению моторами wacko.gif ) и тп - сейчас у всех. Freescale пожелаю только врагу, довелось иметь дело с их DSP56F серией - santa2.gif
jcxz
Неправда. Сторожевик - очень полезная вещь. Всегда использую в своих разработках, причём внешний и неотключаемый и работающий ВСЕГДА.
Баги в ПО есть всегда - это неизбежная реальность, даже у самых опытных программистов.
Кроме того - наверное вы не сталкивались с испытаниями на помехоустойчивость. И помеха может вогнать проц в совершенно неожиданное состояние на самом прямом ПО.
И тут поможет только сторожевик.
DASM
И как он поможет ? Просто видимо я не уточнил, виноват задачу. У меня сбой == сгоревшая плата, ну а если роутер например, или IP камера - то в принципе согласен, перезагруз полезен. Но это уже чуть больше, чем микроконтроллеры.
kolobok0
Цитата(DASM @ Aug 1 2013, 13:08) *
..сбой == сгоревшая плата...


ЗЛОЙ ОФФ:
это типа блок наведения ракеты sm.gif
mempfis_
Цитата(glebka @ Jul 30 2013, 12:40) *
Выбираю микроконтроллер под задачу. Основными критериями являються: небольшой размер 48-64 ноги, ядро cortex m3, управление энергопореблением. Делаю выбор между TI, Atmel, NXP, ST и Freescale устройствами.


Очень хорошее управление энергопореблением есть в CORTEX-Мx процессорах от Freescale. Довелось работать с KL15. Качество документации не хуже чем у NXP. Сложность освоения на том же уровне. Достаточно примеров на сайте + форум. Есть у них CORTEX-M4 серии Kinetis, хотя с ними работать не доводилось, но желание есть после пары серийных проектов на KL15.
NXP тоже не плохи, но по потреблению более прожорливые. Работал с LPC17.
glebka
Цитата(mempfis_ @ Aug 4 2013, 13:38) *
Качество документации не хуже чем у NXP.


Это хорошо, это радует. Я также работал с LCP17XX , мне понравилось, жаль что нет у них нет подходящего "мелкого". Хотя все "спецы" и позиционируют nxp продукты как далёкие от промышленной автоматизации в суровых услових.
Да семейство кинетикс выглядит неплохо, да и эвал. борды не очень дорогие. Попробую заказать\купить для "поиграться" перед принятием решения.

Хотя мне кажеться, что уважаемый DASM очень и очень прав, процессоры основных производителей из одной лёгкой "весовой" категории, идут "ноздря к ноздре".

pitt
В течение 3 месяцев проводил сравнение М3 от NXP, TI, Atmel, STM для использования в UGV в весовых категориях до 5 и до 10kg.. Один из критериев необходимость наличия CAN, Ethernet, I2C, PWM, обилия UART и подсистемы управления мотором.
Предварительный этап победил NXP, в основном, по качеству документации и примеров. На этапе эскизной проработки начались серьезные неувязки с дезайном железа CAN. Еще хуже дело обстоит с таймерами для генерации PWM.
Атмел вышел из гонки из-за их исполнения I2C.
STM32 был последний: документация(английская) нечитаемая, прилагаемая стандартная библиотека периферии написана ногами. К счастью, к самому железу серьезных нареканий нет.
Критерий энергосбережения не рассматривался по причине того, что при управлении моторами, потребляющими сотни Ватт, миллиамперы самого кристалла не имеют значения.

Dr.Alex
Цитата(AlexandrY @ Jul 31 2013, 09:13) *
Собственно меня лично привлек их софт, а именно открытая RTOS MQX.
Очень продуманная и укомплектованная ось. Превосходит по возможностям все мне известные открытые RTOS (FreeRTOS, uCOS, RL ARM, uITRON, TNKerne, scmRTOS, TI RTOS ... ) для такого класса микроконтроллеров.


Такой вопрос из чистого любопытства (поскоку сам применять пока не собираюсь):: как вы оцениваете возможность перенести этот MQX на любой другой арм?
AlexandrY
Цитата(Dr.Alex @ Aug 4 2013, 16:34) *
Такой вопрос из чистого любопытства (поскоку сам применять пока не собираюсь):: как вы оцениваете возможность перенести этот MQX на любой другой арм?


Тяжковато будет.
Это уровень повыше FreeRTOS, там реальная драйверная система, отладочные агенты, периферия с вызовом сервисов RTOS, режимы пониженного потребления, мощный Shell, защита памяти...
BSP с драйверами довольно крупный.

Я решил, что проще перейти на Kinetis чем портировать BSP MQX на другое семейство ARM-ов.
Иначе пришлось бы под три десятка драйверов периферии править.
Это еще не касаясь лицензионной чистоты.

Dog Pawlowa
Цитата(AlexandrY @ Aug 5 2013, 17:15) *

Раз уж Вы адепт, прежде чем я начал что-то делать, в том числе читать документацию - помажьте еще елеем Kinetis wink.gif
Требуется банальное коммуникационное устройство:
несколько кнопок (или тачскрин)
небольшой графический дисплей с простенькой GUI
интерфейсы 2-3xUART, Ethernet, USB
FTP и файловая система на пару файлов по какой-нить внутренней памяти (флэш, EEPROM) или может SD-карта?
Кинетис в этом случае имеет какие-нибудь преимущества?
Может старт-кит какой-нибудь существует?


AlexandrY
Цитата(pitt @ Aug 4 2013, 16:19) *
STM32 был последний: документация(английская) нечитаемая, прилагаемая стандартная библиотека периферии написана ногами.


Ну тогда вы должны были по идее выбрать Energy Micro.
Такой разукрашенный мануал как у них я еще не встречал. biggrin.gif
И примеров море. Особенно у IAR-а


Цитата(Dog Pawlowa @ Aug 5 2013, 17:27) *
Требуется банальное коммуникационное устройство:
несколько кнопок (или тачскрин)
небольшой графический дисплей с простенькой GUI
интерфейсы 2-3xUART, Ethernet, USB
FTP и файловая система на пару файлов по какой-нить внутренней памяти (флэш, EEPROM) или может SD-карта?
Кинетис в этом случае имеет какие-нибудь преимущества?
Может старт-кит какой-нибудь существует?


Kinetis для этого и предназначен.
Кнопки можно сделать сенсорные, периферия для этого встроена, драйвер для сенсорных кнопок уже есть в MQX.
Для MK70 есть в составе MQX движок eGUI.
Ethernet c полным стеком и USB дивайсы и хост тоже есть.
Есть FTP и сервер и клиент. Кроме того есть Telnet , WEB сервер, SNMP, PPP, NAT! и соответственно есть маршрутизация.
Т.е. не глядя и сразу начинаете делать свою плату без всяких китов.
Риск минимальный. Немного поглядывать на схему TWR-K70F120M в плане подключения TFT и DDR, чтобы потом не мучиться с BSP.
Сергей Борщ
QUOTE (AlexandrY @ Aug 5 2013, 16:49) *
есть Telnet с SSH
Возможно глупый вопрос - исходники открыты или только за деньги?
scifi
Цитата(Сергей Борщ @ Aug 5 2013, 19:34) *
Возможно глупый вопрос - исходники открыты или только за деньги?

Скачивается по ссылке.
Вроде бы требуется только регистрация на сайте Фрискейла.
agate
QUOTE (glebka @ Jul 30 2013, 13:40) *
ядро cortex m3,

Я как раз сейчас делайю проэкт на STM32F103. Очень доволен производитеностью. Если у вас АЦП то наверно надо и фильтровать. Так для примера пробовал
FIR 19th order обрабатывает int 256 самплов за 100мкц. С драверами проблем нет все можно найти на STM или в Кеил примерах. До этого пробовал Атмегу 8335 - небо и земля а цена такая-же $2.5

QUOTE (glebka @ Jul 30 2013, 13:40) *
ST32F205.

Одно маленькое но . STM просрали SPI железо. SC сигнал надо дергать в ручную (GPIO->ODR).
AlexandrY
Цитата(Сергей Борщ @ Aug 5 2013, 18:34) *
Возможно глупый вопрос - исходники открыты или только за деньги?

Telnet открыт, а с SSH я поторопился.
У них нет ни в исходниках ни в либах.
Сергей Борщ
Понятно, спасибо. "Будем искать".
HHIMERA
Цитата(agate @ Aug 6 2013, 06:14) *
Одно маленькое но . STM просрали SPI железо. SC сигнал надо дергать в ручную (GPIO->ODR).

Угу... wink.gif
Во первых... не SC, а NSS...
Во вторых... не GPIO->ODR, а GPIO->BSRR...
В третьих... не всегда это и надо...
В четвёртых... в F0 и F3 СS можно дёргать аппаратно...
AlexandrY
Цитата(Dog Pawlowa @ Aug 5 2013, 17:27) *
Может старт-кит какой-нибудь существует?


Работаем над таким KIT-ом
Платформа для разработки инвертеров до 4 кВт на MK60
Нажмите для просмотра прикрепленного файла
nanorobot
Цитата
Может старт-кит какой-нибудь существует?





http://www.freescale.com/webapp/sps/site/p...de=TWR-K70F120M На диджикее $109 или $179 в зависимости от комплектации
agate
QUOTE (HHIMERA @ Aug 6 2013, 11:20) *
Угу... wink.gif
В третьих... не всегда это и надо...

Оно всегда надо если оперируете с массивом данных или несколько slaves.
HHIMERA
Цитата(agate @ Aug 6 2013, 15:57) *
Оно всегда надо если оперируете с массивом данных или несколько slaves.

Тем более не надо... массив данных быстрее выплюнуть не дёргая CS в непрерывном режиме... а в случае нескольких slave - у каждого свой CS...
megajohn
Цитата(agate @ Aug 6 2013, 07:14) *
Одно маленькое но . STM просрали SPI железо. SC сигнал надо дергать в ручную (GPIO->ODR).


В NXP LPC177x_8x реализовано аппаратно, но нафиг не нужно - срабатывает при загрузке в регистр значения и до завершения передачи. А одно-двух байтовых транзакций почти и не бывает.

demiurg_spb
Цитата(HHIMERA @ Aug 6 2013, 17:53) *
Тем более не надо... массив данных быстрее выплюнуть не дёргая CS в непрерывном режиме...
А если хочется и ДМА заюзать?
agate
QUOTE (HHIMERA @ Aug 6 2013, 16:53) *
Тем более не надо... массив данных быстрее выплюнуть не дёргая CS в непрерывном режиме... а в случае нескольких slave - у каждого свой CS...

Угу,
Научите как терминате burst без NSS? Где конец передачи данных?
skripach
Цитата(megajohn @ Aug 6 2013, 17:04) *
но нафиг не нужно

Иногда нужно, например для байтовой синхронизации.
Dog Pawlowa
Цитата(nanorobot @ Aug 6 2013, 14:39) *
"http://www.freescale.com/webapp/sps/site/p...de=TWR-K70F120M"

Прикольно, электроникс так и дает ссылку с многоточием внутри.

nanorobot
Цитата(Dog Pawlowa @ Aug 7 2013, 01:03) *
Прикольно, электроникс так и дает ссылку с многоточием внутри.

Вторая ссылка рабочая
http://www.freescale.com/webapp/sps/site/p...de=TWR-K70F120M
glebka
Цитата(scifi @ Aug 5 2013, 19:46) *
Скачивается по ссылке.
Вроде бы требуется только регистрация на сайте Фрискейла.


Зарегистрировался, попытался скачать Process Expert Driver Suite. Пробовал на работе Opera, Internet Explorer, Firefox, Chrome - не получилось. Дома те же грабли. Написал в поддержку, молчат. Может кто выложит в удобное место?
AlexandrY
Цитата(glebka @ Aug 7 2013, 12:15) *
Может кто выложит в удобное место?


Это не так просто, там под 300 Мб и еще надо качать и ставить среду CodeWarrior (1.2 Гб) в начале.
С CodeWarrior и надо начинать. Попробуйте несколько раз запросить скачивание. Помогает.

Но я бы сказал, что этот эксперт еще те грабли. Во первых код генерит только под GCC или CodeWarrior (в скачанной IDE будет только GCC без ограничений)
Во вторых, как мне показалось, работать будут только уже созданные конфигурации под их KIT-ы.
Шаг влево-вправо будет караться зависаниями.
Т.е. такое же безфункциональное подобие библиотек от ST для STM32.
glebka
Цитата(AlexandrY @ Aug 7 2013, 18:38) *
Это не так просто, там под 300 Мб и еще надо качать и ставить среду CodeWarrior (1.2 Гб) в начале.
С CodeWarrior и надо начинать. Попробуйте несколько раз запросить скачивание. Помогает.

Но я бы сказал, что этот эксперт еще те грабли. Во первых код генерит только под GCC или CodeWarrior (в скачанной IDE будет только GCC без ограничений)
Во вторых, как мне показалось, работать будут только уже созданные конфигурации под их KIT-ы.
Шаг влево-вправо будет караться зависаниями.
Т.е. такое же безфункциональное подобие библиотек от ST для STM32.


Понятно, я четко просто следовал инструкции данной Freescale для FRDM платы. Вроде как про CODEWARRIOR ничего не было. Может тогда может подскажете другой способ получения работающей FREERTOS для K20D50M ? Потому как как єто основная цель. В 7.5 версии , по моему, есть пример для K70, скорее всего придётся перепиливать.
Кстати получение FREERTOS для STM32 прошло довольно гладко, может потому как в сети много примеров людей которые уже прошли все "грабли".
AlexandrY
Цитата(glebka @ Aug 7 2013, 20:49) *
Понятно, я четко просто следовал инструкции данной Freescale для FRDM платы. Вроде как про CODEWARRIOR ничего не было. Может тогда может подскажете другой способ получения работающей FREERTOS для K20D50M ? Потому как как єто основная цель. В 7.5 версии , по моему, есть пример для K70, скорее всего придётся перепиливать.
Кстати получение FREERTOS для STM32 прошло довольно гладко, может потому как в сети много примеров людей которые уже прошли все "грабли".


Вот здесь куча примеров для Kinetis и среди них есть порт FreeRTOS с uIP и lwIP на MK53 и MK60 под IAR и CodeWarrior.
Нажмите для просмотра прикрепленного файла

Перепиливать придется инициализацию портов и главное подсистему тактирования, потому как на KIT-ах для которых все эти примеры они (Freescale) с какого-то бодуна поставили внешние генераторы вместо кварцев.

Эксперт же делает сорсы адаптированные к MQX. Во FreeRTOS их будет тяжко интегрировать.
glebka
Цитата(AlexandrY @ Aug 7 2013, 22:13) *
Эксперт же делает сорсы адаптированные к MQX. Во FreeRTOS их будет тяжко интегрировать.


странно, на одном зарубежном сайте нашел пример как портировать FreeRTOS для FREEDOM борды как раз используя Processor Expert. Решил чтобы не возиться долго, попробовать этот путь. Спасибо за примеры, буду пробовать.
AlexandrY
Цитата(glebka @ Aug 7 2013, 21:34) *
странно, на одном зарубежном сайте нашел пример как портировать FreeRTOS для FREEDOM борды как раз используя Processor Expert. Решил чтобы не возиться долго, попробовать этот путь. Спасибо за примеры, буду пробовать.


Нет, конечно Expert генерирует не полную бессмыслицу.
Польза в нем есть, но только я усматриваю ее не в автоматической генерации BSP.
Скорее для выявления не очевидных связей между периферией не отраженных в мануале.
glebka
Цитата(AlexandrY @ Aug 7 2013, 23:11) *
Скорее для выявления не очевидных связей между периферией не отраженных в мануале.


Это звучит интригующе, wink.gif . Начальство не очень рвётся пользовать Freescale, вспоминая прошлые огрехи с документацией, пришлось сказать что они (Freescale) исправились и всё пойдет гладко , по крайней мере на начальном этапе.
jcxz
...и теперь (если они всё-таки не исправились и опять накосячат) виноваты перед начальством будете Вы в их косяках smile3009.gif
glebka
Цитата(jcxz @ Aug 8 2013, 07:55) *
...и теперь (если они всё-таки не исправились и опять накосячат) виноваты перед начальством будете Вы в их косяках smile3009.gif


Может так и случиться, но Freescale ответил на два моих вопроса очень оперативно , чего не помню про NXP . :-)


DASM
Цитата(glebka @ Aug 11 2013, 02:57) *
Может так и случиться, но Freescale ответил на два моих вопроса очень оперативно , чего не помню про NXP . :-)

в духе ртфм или уже новые индусы?
glebka
Цитата(DASM @ Aug 12 2013, 14:32) *
в духе ртфм или уже новые индусы?


Да нет, вроде как новые - стараються. Но жизнь покажет. Хотя для быстрого старта таки STM проще (спасибо форуму гораздо) более популярное изделие. Пробовал дома - игрался.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.