Jump to content

    
Sign in to follow this  
vepex

Какой контроллер выбрать

Recommended Posts

Здравствуйте. AVR достаточно освоил, но уперся в потолок производительности. Надо расти дальше, но стою на перекрестке - не знаю что выбрать.

 

Хочу спросить мнение профессионалов, которые реализовали множество проектов на разных микроконтроллерах (ARM).

 

Что выбрать Atmel (SAM3) или STM какие плюсы и минусы в них имеются? Задача - не критичная к скорости, но критичная к стабильности работа в локальной сети (Ethernet + PHY, на микросхемах физического уровня).

Главное хочу услышать не предвзятое мнение, а то обычно кто что использует - то и хвалят.

 

Сам выяснил одну вещь: Atmel труднодоступнее и немного дороже чем STM. Так ли это? И что касается остального: подключение (минимальная обвязка), программирование (среда разработки и язык), прошивка - как с этим обстоят дела?

Share this post


Link to post
Share on other sites

1) Забудьте про Atmel что-бы он не пытался делать. Вечный догоняющий пытающийся держать на игле своих авр-щиков. Посему забудьте навсегда.

2) Если иделие штучное - сделали и забыли, то все равно. Если предполагается долгая жизнь - начните с NXP.

 

 

 

Share this post


Link to post
Share on other sites

ST в настоящий момент контролирует больше половины мирового рынка "флешевых" ARMов, лучше ориентироваться на них. Если у Вас специфические задачи завязанные на Ethernet то можно посмотреть и в сторону TI (семейство Tiva c Ethernet PHY на борту)

Share this post


Link to post
Share on other sites
2) Если иделие штучное - сделали и забыли, то все равно. Если предполагается долгая жизнь - начните с NXP.

В свете слияния NXP и Freescale непонятно, что там дальше будет. Может случиться, что сольют всю линейку LPC.

В этом плане ST пока не в зоне риска :laughing:

Ну и я бы посоветовал STM32 не потому, что сам его использую (не его одного, кстати, сейчас делаю проект на LPC4370), а потому, что его многие здесь используют, поэтому могут помочь советом. Ну и вообще обширное семейство, всё там есть, работает нормально (с учётом еррат, но это у всех надо учитывать).

 

критичная к стабильности работа в локальной сети (Ethernet + PHY, на микросхемах физического уровня).

Нет такой проблемы "стабильность работы в сети" на уровне МК. Может быть кривой Ethernet MAC, но это должно быть написано в еррате (у STM32 в этом плане всё в порядке, ЕМНИП). Есть проблема кривых софтов. В форуме народ постоянно пишет, что мол, взяли этот пресловутый Куб, а у них потом что-то не работает. Как будто не догадываются, что все эти кубы - индусский говнокод. Что тут можно сказать? Учите язык Си, пишите хорошие софты.

 

Кстати, про софты: тут один участник форума постоянно нахваливает MQX, который идёт в комплекте с Kinetis от Freescale. Якобы этот софт вовсе не кривой, и всё там есть. Но тут та же неопределённость в связи со слиянием NXP и Freescale. Если бы меня попросили погадать, я бы поставил на то, что LPC сольют в пользу Kinetis.

Share this post


Link to post
Share on other sites
В свете слияния NXP и Freescale непонятно, что там дальше будет. Может случиться, что сольют всю линейку LPC.

Если бы меня попросили погадать, я бы поставил на то, что LPC сольют в пользу Kinetis.

 

Я работал и с Kinetis и с LPC23/24/17. Ну и ещё LPC11 с CAN на борту.

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

Кроме того Kinetis и LPC сильно различаются по структуре. При освоении MKL15 я думал мозг сламаю, пока разберусь что там и как друг с другом взаимодействует и что от чего зависит. LPC на порядок проще на начальном этапе освоения.

Буду считать плюсом слияния двух компаний, если Freescale сможет наладить выпуск Kinetis в Европе, или хотябы обеспечит их безпроблемную доставабельность.

 

Но тема топикстартера всёже не про слияние Freescale и NXP, а про выбор процессора.

LPC17 - хороший выбор для освоения и использования в серийных проектах. Простая структура, много литературы, много примеров, надёжны, доставабельны.

Kinetis - сложны для старта, но имеют отличное потребление в режиме глубокого сна (mkl15, LLS, 0.44 uA).

STM32 - тоже хороши для освоения, просты внутри. Но их портит навязывание STM своих библиотек, мешающих понять структуру и принцип работы периферии. Если забыть о существовании библиотек, то при освоении оставляют хорошее впечатление. Также поражает их цена - сейчас сам смотрю на STM32F0x стоимостью чуть больше 1$ в розницу. В нашей фирме в серийных проектах STM32 не используются (предпочитаем более надёжные на наш взгляд LPC или низкопотребляющие Kinetis), но для своих одиночных проектов с успехом применяю STM32F100/103.

Ещё упоминался Atmel - с тех времён, когда AT91SAM7S внезапно подскочил в цене и стал тяжело доставаем, ими не пользуемся, но в целом ARM7 процессоры были не плохи, думаю CORTEX тоже не стали хуже, но связываться с Atmel я бы не советовал из-за цены.

Share this post


Link to post
Share on other sites

А я бы посоветовал даже более широко, начните с ядра Кортес-М3 или М4, АРМы то разные бывают...

 

А в этой группе я бы выбирал между STM32 и LPC.

 

при сравнимой производительности и корпусе

 

STM32 
  плюсы
    обычно дешевле, 
    обычно больше интерфейсов (таймеров, SPI, UART), 
    у него огромное сообщество,
    есть методы быстрого старта типа библиотеки и среды куб
  минусы
    больше ошибок кристаллов
    чаще что-то не работает как написано
    есть методы быстрого старта типа библиотеки и среды куб

 

LPC 
  плюсы
    обычно работает все как написано
    тоже неплохое сообщество 
    не очень большое разнообразие моделей, потому чаще находятся готовые портированные модули типа ТСР стэка и так далее 
    чаще модули периферии стандартизованы, а не собственного разлива 
    нет распространенных библиотек быстрого старта
  минусы
    обычно дороже
    обычно не хватает таймеров или UARTов или каналов АЦП 
    нет распространенных библиотек быстрого старта

 

 

По внутренним ощущениям СТМ очень агрессивно рвут рынок, и не успевают за сами же собой по качеству, процессоры выходят каким-то недоделанными что ли, не ощущаю я лично надежности. LPC же как то сделало проц и гонит его таким какой он есть, у меня нет с ними чувства что что-то пойдет не так. Если брать что-то типа LPC1768 - так там вообще все работает как написано в мануале, а если что-то работает не так, то не правильно прочли. Они как-то более предсказуемы, но более скучны с точки зрения периферии и перекидывания ножек.

 

И отдельно про библиотеки быстрого старта. Когда они есть, тяжело ими не воспользоваться, а итогом бывает либо медленный код, либо тупики. Написаны они очень универсально, и кажется по тексту понятно что какая функция делает, и заставить себя в мануал заглянуть прям тяжело. Однако для хороших надежных систем все регистры должны быть настроены по мануалу, тогда и система работает как часики.

 

С кубовскими библиотеками я постоянно нарывался на то что идешь по ним шаг за шагом, вроде все хорошо, но потом обнаруживаешь что у них по их логике функция завершения опроса АЦП имеет таймаут 3 секунды сделанный на while, и получается что либо меняй всю идиологию, либо заплатки ставь, и думаешь что быстрее было бы сразу все самому написать, чем тут ковырятся. А так получается пол проекта на кубе, а пол в заплатках и своих функциях не то не се.

Share this post


Link to post
Share on other sites

Спасибо всем за советы (еще принимаются). Думаю пересяду на STM (честно говорят до сегодняшнего дня не хотел с Atmel уходить).

А что касается физики Ethernet (PHY) - цена я так понял что не сильно отличается, реально нет разницы $2 или $5 (если производство не серийное на 1000 штук).

Поиск на этом форуме показал, что люди нахваливают эти микросхемы: KSZ80XX, LAN87XX, RTL82XX, DP83838, и Micrel (модели не знаю) - что можете посоветовать?

Share this post


Link to post
Share on other sites
Если бы меня попросили погадать, я бы поставил на то, что LPC сольют в пользу Kinetis.

 

Правильно мыслите. Freescale дает гарантию на производство своих чипов в течении 10 лет.

 

Спасибо всем за советы (еще принимаются). Думаю пересяду на STM (честно говорят до сегодняшнего дня не хотел с Atmel уходить).

А что касается физики Ethernet (PHY) - цена я так понял что не сильно отличается, реально нет разницы $2 или $5 (если производство не серийное на 1000 штук).

Поиск на этом форуме показал, что люди нахваливают эти микросхемы: KSZ80XX, LAN87XX, RTL82XX, DP83838, и Micrel (модели не знаю) - что можете посоветовать?

 

Просто для знакомства с Kinetis можете почитать вот это - http://habrahabr.ru/post/256611/

 

У Freescale действительно лучшие прикладные открытые библиотеки.

Если вы не чистый схемотехник, то должны понимать их значение.

 

В последней версии SDK под Kinetis сразу даются порты 4-х RTOS с исходниками самих этих осей: uCOS-II, uCOS-III, FreeRTOS и MQX.

Это еще не считая проект mbed.org где Kinetis играет большую роль.

 

Кстати MQX в последнее время штатно идет с TCP стеком с SSL (все с исходниками).

Также там скорее всего первым появится и полнофункциональный IPv6

Share this post


Link to post
Share on other sites
Поиск на этом форуме показал, что люди нахваливают эти микросхемы: KSZ80XX, LAN87XX, RTL82XX, DP83838, и Micrel (модели не знаю) - что можете посоветовать?

У меня KSZ8081. Выбирался самый дешёвый вариант. Работает - а что ещё надо?

Share this post


Link to post
Share on other sites
zltigo а почему NXP? Какие у них плюсы по сравнения с контроллерами от STM, TI или Freescale?

На данный момент они не сняли с производства ни один из даже самых первых ARM контроллеров. Это было к вопросу о времени жизни изделия.

 

Share this post


Link to post
Share on other sites

Принцип отсева простой:

1. Начните с обзора того, что вы можете купить у местных поставщиков.

2. тут у вас важное решение: единственный критерий дальнейшего отбора - цена или же некий баланс.

3. Если выбрана цена, то просматриваете по диагонали список ошибок(errata) и переходите к п. 5

4. По списку ошибок и цене смотрите какой из МК слеплен из ...а, а какой приемлемый.

5. Оснащение и порог вхождения. Оцените во сколько обойдётся зажечь светодиодик. Обычно у АРМ'ов есть UART и USB загрузчики, т.е. можно отделаться конвертером.

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

 

а то обычно кто что использует - то и хвалят

и этот тред не исключение))

 

и немного оффа

Atmel труднодоступнее и немного дороже чем STM

тут таже ситуация - за цену одного SAM'а ведро не SAM'ов дают.

если бы не список выше, то я бы выбрал архитектуру MIPS - нравится их ассемблер; и продукцию Микрочипа, у которого одни из лучших ценовых предложений по инструментарию(программатор, отладчик).

Но с компиляторами ЯВУ у них был просер да и п.1 имеет место

http://kosmodrom.com.ua/prodlist.php?page=...%EA%EB%E0%E4%F3

Share this post


Link to post
Share on other sites
В свете слияния NXP и Freescale непонятно, что там дальше будет. Может случиться, что сольют всю линейку LPC.

Невероятно. Нет смысла "сливать" свою линейку, которую пестовали и по отношению к котрой проводили политику "до последнего потребителя".

Ну купили они кого-то, ну и что? Как жили те, так и будут. Вот я сейчас работаю на купленном ими-же Jennic. Он на самом деле живет своей жизнью в котрой самое отвратительное, через 3-4 года снятие с производства предшественника :(.

 

Нет такой проблемы "стабильность работы в сети" на уровне МК.

Практически да.

Как будто не догадываются, что все эти кубы - индусский говнокод.

А вот с говнокодом, котрорый еще не просто говнокод, а еще все чаще и чаще "заменитель" документации - берите говнокод, ибо документации или нет или тоже говно, это реально проблема :(

 

 

Правильно мыслите. Freescale дает гарантию на производство своих чипов в течении 10 лет.

Ну а теперь о NXP расскажите :) :) :) что они сняли :) из ARM. Короче - будут жить оба.

 

 

Share this post


Link to post
Share on other sites
Невероятно. Нет смысла "сливать" свою линейку, которую пестовали и по отношению к котрой проводили политику "до последнего потребителя".

Всё решит бухгалтерия. Посчитают затраты на содержание и если увидят, что слив линейки даст профит, то вопрос решён. К тому же что значит "своя линейка"? Почему вы думаете, что там в руководстве сидят сентиментальные типчики? У высшего начальства акционерного общества главная задача - зарабатывать деньги для акционеров.

Надеюсь, что даже в случае слива линейки не будут сворачивать производство хотя бы лет 10.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this