Я работаю над проектом с группой и отвечаю за цифровую часть проекта, поэтому я буду писать код. Чтобы перейти от аналогового к цифровому, мне нужно выбрать микроконтроллер.
Я смотрел на микроконтроллеры TI и обнаружил, что их так много. У них есть:
Stellaris
Геркулес
Серия MSP430
И список просто продолжается ...
Мои вопросы:
Какой микроконтроллер используется и почему?
При каких условиях я должен использовать микроконтроллер X, а не Y?
Почему так много разных микроконтроллеров?
microcontroller
texas-instruments
Andy_A̷n̷d̷y̷
источник
источник
Ответы:
Я сотрудник TI, работающий в группе разработчиков MCU, но это не официальное заявление TI. В частности, это не официальное заявление о дорожных картах или приоритетах. Кроме того, я не занимаюсь маркетингом, поэтому, если я противоречу любому из наших маркетинговых материалов, они правы, а я неправ. :-)
MD ответ правильный, но я подумал, что некоторые подробности будут полезны. TI предназначен для разных приложений с разными требованиями. Когда вы конкурируете за гнездо MCU (а в этой отрасли существует большая конкуренция), важны как функции, так и цена. Разница в стоимости в десять центов может выиграть или потерять сокет. Одним из основных факторов, влияющих на стоимость, является размер кристалла - сколько всего материала на чипе. Таким образом, имеет смысл иметь разные товарные линии и разные семейства в пределах этих товарных линий. Продуктовые линейки отличаются в основном по типам периферийных устройств и архитектуре, в то время как семейства внутри линейных продуктов отличаются в основном по стоимости и набору функций.
Вот некоторые подробности о продуктовых линейках:
Как вы можете видеть, эти продуктовые линейки предназначены для самых разных приложений с очень разными требованиями. Установка микросхемы Hercules с тактовой частотой 300 МГц в устройство с батарейным питанием была бы катастрофой, но так же, как и установка MSP430 в подушку безопасности. Физический размер также может иметь значение. 337-контактный корпус BGA неудобен для установки в крошечный сенсор, но это не то, что нужно для промышленного оборудования.
В пределах производственных линий есть многократные семьи. Устройства C2000 Delfino работают быстрее, имеют больше периферийных устройств и имеют больше контактов на своих корпусах. Они также могут стоить (как минимум) вдвое дороже, чем устройство Piccolo. Какой тебе нужен? Это зависит от вашего приложения. MSP430 имеет некоторые продукты, которые балансируют энергопотребление и производительность, и другие, которые ориентированы исключительно на низкое энергопотребление. (Этот MCU с одной батареей максимально работает на частоте 4 МГц и 2 КБ ОЗУ.)
В каждой семье много продуктов, потому что новые продукты разрабатываются постоянно. Транзисторы становятся меньше / дешевле, поэтому на микросхему может уйти больше вещей. MCU среднего уровня сегодня был бы ультра-высокого класса десять лет назад. Каждый продукт, как правило, предназначен для нескольких конкретных приложений и, где это возможно, поддерживает другие.
Наконец, есть несколько вариантов каждого продукта (AKA - последняя цифра в номере детали). Обычно они имеют разное количество памяти и (возможно) небольшие различия в доступных периферийных устройствах. Опять же, это все о предоставлении ценового диапазона.
Короткая версия заключается в том, что каждый продукт обеспечивает свой баланс цены, производительности и функций. Это старая сегментация рынка. Наши клиенты являются производителями, которые заботятся гораздо больше о небольших различиях цен , чем конечные пользователи. Люди покупают каждый номер детали, который у нас есть, поэтому очевидно, что спрос там. :-)
ОБНОВЛЕНИЕ: Джереми спросил, как требования крупных клиентов влияют на процесс проектирования, и делаем ли мы индивидуальные микроконтроллеры. Я видел несколько микроконтроллеров TMS470 / 570, которые были сделаны для одного крупного покупателя автомобилей. В этой группе также было несколько микроконтроллеров, архитектура которых была разработана одним клиентом и для него. По крайней мере, в одном из них заказчик написал большую часть RTL. Они находятся под строгими ограничениями NDA, поэтому я не могу дать подробности.
Продукты общего рынка обычно имеют в виду по крайней мере одного крупного покупателя. Иногда крупные клиенты получают специальный номер детали. Иногда мы добавляем периферийное устройство, чтобы выиграть большой сокет. Но в целом, я думаю, что крупные клиенты больше пола, чем потолка, когда дело доходит до функций.
Крайним примером нестандартных деталей является наша группа высокой надежности. Я только слышал истории об этих парнях, но, видимо, они берут существующие продукты и переделывают их для работы в экстремальных условиях - высоких температурах, радиации, стреляющих в вас людей и т. Д. Я знаю человека, который покупает HiRel TMS470 для бурения в скважине где температура может достигать 200С. (Может быть, этот - в наличии у Arrow всего за 400 долларов / чип!) У них есть несколько стандартных продуктов, перечисленных на веб-сайте, но из того, что я слышал, они могут создавать на заказ даже в небольших количествах - вы Вы можете купить дюжину версий HiRel любого чипа, если захотите, потратив $ 50 000 за чип. :-)
Как правило, все в бизнесе является предметом переговоров, если вы тратите достаточно денег.
источник
MSP430 был / является разработанным ядром TI. Это 16-битное ядро, которое продается на рынке с крайне низким энергопотреблением. Поскольку рынок 16-битных микроконтроллеров быстро испаряется с распространением Arm Cortex-M0, появляются более новые MSP430, основанные на ядре Cortex. Старые MPS430 обычно конкурируют за 8-битные сокеты.
Stellaris, переименованный в Tiva, - это бывшие микроконтроллеры Luminary Micro. Эта компания была приобретена TI, возможно, 6 или 7 лет назад. Это были (есть?) Устройства на базе Cortex-M3 / M4. Более мощный / мощный, чем MSP430 в большинстве случаев.
C2000 (Piccolo / Delfino / etc.) Предназначены для управления в режиме реального времени (управление двигателем, преобразование / регулирование мощности и т. Д.). Это семейство также имеет более низкую функциональность DSP. Ориентирован больше на промышленный, и, возможно, какой-то автомобильный (один из немногих автомобильных микроконтроллеров TI).
Геркулес сосредоточен на безопасности. Избыточность, проверка ошибок во время выполнения, BIST, множество сторожевых функций. Критически важные приложения.
Есть несколько других частей, которые имеют некоторое сочетание функций и / или нишевых функциональных возможностей (например, встроенный беспроводной, двухъядерный, FRAM и т. Д.). Кроме того, предлагаются более мощные DSP и микропроцессоры.
Какова ваша заявка? Том? Сроки разработки? Какие периферийные устройства / ресурсы вам нужны? Сколько - и какого рода вычислительной мощности требуется? Можете ли вы обойтись с аналоговыми периферийными устройствами с более низкой производительностью MCU, или вы будете выполнять всю обработку тракта сигнала внешне / дискретно? Существует множество факторов при выборе процессора / контроллера для конкретной системы / приложения.
источник
Microchip - это еще одна компания, имеющая полную линейку микроконтроллеров - более 4000 из них хранятся на Digi-Key, включая все варианты комплектации. Как и TI, они охватывают диапазон от 8 бит до 32 бит:
Обратите внимание, что наименьшее значение указывается в байтах, а не в килобайтах.
Они варьируются в цене от 35 ¢ до 13,36 долларов США в единичных количествах. Я полагаю, что самые низкие цены могут пойти на 20 ¢ в больших количествах. Может быть, даже 10 ¢ для непроверенных (где покупатель проводит приемочные испытания вместо производителя). Самый дешевый 32-битный ARM вдвое больше в отдельных количествах при 76 ¢. Для продукта большого объема это большая разница. PIC10F200 является самым дешевым мкКл из всех почти 15000 что Digi-Key акций.
Microchip также имеет отличную репутацию за поддержание запасов своих старых микроконтроллеров (перечисленных в списке продуктов ниже как «Зрелые»), что является еще одной вещью, которую следует учитывать.
Как понять все это? Используйте селектор продукта. Digi-Key, Mouser и другие дистрибьюторы имеют довольно хорошие показатели, но они не включают в себя все параметры (у селектора продуктов Digi-Key µC меньше 20, в таблице ниже - более 50). Микрочип (и я представляю других производителей) имеет более обширные, такие как приведенный ниже. Обратите внимание, что вы можете указать диапазоны почти для всех параметров:
Теперь, когда Microchip приобрел Atmel, будет интересно посмотреть, что произойдет. Кажется, в некоторых строках есть несколько совпадений.
источник
Не вдаваясь в подробности, какие предложения TI имеет (на которые уже дан ответ), я хотел бы подчеркнуть, что вам нужны спецификации. Если у вас их нет, предположите, что ваша работа - идентифицировать их. Это может быть немного сложно, если вы новичок, но давайте назовем несколько спецификаций, которые могут возникнуть в проекте:
Что будет делать MCU? Это ограничено временем процессора? Собираетесь ли вы сделать некоторую «специальную обработку», например, с плавающей точкой? Это определит ядро процессора и требуемую тактовую частоту.
Или это ограничено временем автономной работы? Если так; вам нужно исследовать режимы ожидания, которые может предложить микроконтроллер, задержку на пробуждение, источники пробуждения, шину напряжения для цифрового и аналогового (например, если вы питаете его напрямую от батареи) и т. д. Кроме того, обратите внимание на все входы / выходы в системе также. У вас может быть отличный микроконтроллер, который потребляет 50 нА во время сна - но это незначительно, если, например, LDO или EEPROM потребляют 10 мкА в состоянии покоя.
Какой пакет можно / нужно использовать? Сколько контактов и какая технология? Сколько места у вас есть, что можно собрать?
Сколько кода вы собираетесь написать для него? Вы хоть представляете, сколько RAM / FLASH вам нужно? Некоторый практический опыт на доске объявлений может помочь с этим.
Какие интерфейсы вам нужно использовать в дизайне вашей системы, и как вы хотите их использовать? Основные начальные точки:
1) Ограничения скорости (например, мне нужен USART, работающий на 3MBaud)
2) Ограничения количества портов (например, мне нужно 5 USART)
3) Ограничения пропускной способности (например, мне нужен DMA для передачи 2 Мбит / с данных в / из USART)
4) Наблюдайте за любыми «событиями», которые могут произойти в системе, и с какими задержками вы должны столкнуться. Например, вы можете опросить пин-код устройства или вам нужен внешний пин-код для него?
Это может быть сложным вопросом, независимо от того, разрабатываете ли вы «снизу вверх» или «сверху вниз». Если вы проектируете «сверху вниз», вы можете выяснить, что на данный момент нет микроконтроллера с 16 модулями USART, которые проект системы принял как должное.
OTOH, если вы разрабатываете «снизу вверх», вы можете выбрать микроконтроллер, который вы знаете и с которым знакомы, но обнаружите, что он не имеет нужного количества ввода / вывода и нуждается в «клеевых микросхемах» для работы.
Если что-то; ознакомьтесь с предложениями продавцов. Приятно знать, где находятся ограничения, когда вы вводите все свои пожелания в параметрический поиск и получаете 0 результатов.
Всегда полезно определить узкие места в проекте и попытаться их устранить. Плата разработки может быть хорошим "практическим" опытом для тестирования вашего кода с точки зрения времени процессора, требований к памяти и "изюминок", которые может иметь микроконтроллер.
источник