Владимир Севбо, Михаил Титов
Микроконтроллеры фирмы STMicroelectronics
В современной радиоэлектронике существуют две обширнейшие, динамично развивающиеся темы — применение и производство микроконтроллеров. Темы эти теснейшим образом взаимосвязаны и на стыке порождают серьезную проблему выбора подходящего микроконтроллера (МК) для эффективного решения конкретной задачи в определенной предметной области. Решению этой проблемы посвящено множество статей в журналах по электронике, тематические выпуски, исследования и диссертации, разрабатываются специальные методики [1–5].
В рамках данной проблемы, как это ни странно звучит, фактор превосходства технических характеристик в условиях технологического паритета фирм и чрезвычайно быстрой реакции разработчиков на удачные решения конкурентов обычно не является основным. На первый план выд- вигаются факторы простоты и удобства применения, которые слагаются из функционального соответствия микроконтроллера решаемой задаче, обеспеченности средствами проектирования и удобствами их использования, а также наличия достаточной информации о перечисленных средствах. Подтверждением сформулированного тезиса может служить бесспорная истина, заключающаяся в том, что практически любая задача может быть решена в рамках большинства семейств микроконтроллеров. Многие авторы отмечают также лукавство приводимых фирмами технических параметров. Рекордные значения производительности, измеренные, например, на «удобных» наборах функций, легко теряются в практических задачах. Другие «рекорды», такие как размеры или потребление мощности в «спящем» режиме, во многих случаях становятся несущественными в рамках всей системы. Вызывают сомнения также широкие возможности и универсальность, взваливающие тяжелый груз излишней информации и неиспользуемых ресурсов на процесс проектирования и конечное изделие.
Важным мотивом выбора является опыт работы проектировщика с конкретным типом микроконтроллера. Однако собственный опыт с большим успехом часто может быть заменен наличием достаточного количества надежных примеров использования.
В свете вышесказанного, хотелось бы обратить внимание разработчиков на микроконтроллеры фирмы SТMicroelectronics (STM), до настоящего времени мало представленные в массовых отечественных изданиях. Между тем фирма SТM, входящая в семерку мировых лидеров по производству микроэлектроники, поставляет на рынок широкий ряд микроконтроллерных семейств от простейших SТ62, весьма функциональных 8-разрядных SТ72, SТ9, 16-разрядных SТ10, до мощных микроконтроллеров ST20, ST40, ST100 с элементами RISC- и DSP-архитектуры. Таким образом, продукция STM представляет собой реальный противовес продукции американских компаний-производителей МК.
На мировом рынке МК фирмы SТM давно и уверенно занимают свою нишу в бытовой и автомобильной электронике, промышленной автоматике и аппаратуре связи. Кстати, с некоторой долей уверенности можно предположить близкий бум применения микроконтроллеров в отечественных разработках, связанных именно с бытовой и автомобильной электроникой. Ориентированные на данные области применения МК фирмы STM, как правило, имеют специальные схемы защиты входов и фильтрации помех, что обеспечивает высокую устойчивость ко внешним электромагнитным помехам.
Широкий диапазон возможностей семейств МК фирмы SТM дает преимущества использования единой идеологии при решении всего комплекса задач, стоящих перед разработчиком, а также позволяет применять однотипные средства проектирования. Широкая номенклатура МК (только семейство SТ72 включает более 100 позиций) обеспечивает возможность максимально точно подобрать средство реализации для конкретной задачи, тем самым упростив, удешевив и ускорив разработку проекта. Последний фактор приобретает особое значение в нынешних условиях, когда успех сопутствует тем разработчикам и производителям РЭА, которые чуть раньше конкурентов выставят на рынок изделия, использующие последние достижения технологии. На ускорение разработок может существенно повлиять планируемое фирмой «ПетроИнТрейд» создание при Военном университете связи технического консультационного центра (ТКЦ) по изделиям фирмы STM.
При выборе семейства МК приходится учитывать также степень «политизированности» фирмы, приводящей к досадным фактам ограничений или неожиданным для разработчика отказам на поставку наиболее интересных высокотехнологичных позиций, необходимости лицензирования и т. п. Такое явление более характерно для фирм США (например, Analog Devices) и менее — для европейских, к представителям которых относится и фирма SТM.
Характеристики микроконтроллеров семейства ST62
Итак, ряд МК фирмы SТM открывается семейством ST62, ориентированным на относительно простые задачи в автомобильной, бытовой технике и промышленных устройствах. Специфика такой ориентации — в стремлении удовлетворить противоречивым требованиям высокой помехоустойчивости при низких стоимости и энергопотреблении. МК этого семейства имеют обычные для своего класса характеристики памяти — до 8 Кбайт памяти программ (ПЗУ или однократно программируемой памяти), до 128 байт ОЗУ, до 128 байт электрически программируемой энергонезависимой памяти для хранения констант, бит защиты памяти программ. 8-битовая гарвардская архитектура на основе аккумулятора реализует 40 команд, включая битовые, и 9 видов адресации. Ориентированные на широкий диапазон применений, МК имеют до 24 программно-настраиваемых многофункциональных двунаправленных линий ввода/вывода. Из них до 10 выходов могут иметь повышенную нагрузочную способность. Входы имеют хорошую шумовую защищенность и встроенную защиту от пробоя, цифровые входы снабжены триггерами Шмитта. Почти все варианты микроконтроллеров семейства снабжены функционально законченными 8-битовыми многовходовыми АЦП, двумя 8-битовыми таймерами, интерфейсами UART и SPI. В семейство входит группа микроконтроллеров со встроенным ЖКИ-интерфейсом. Диапазон питающих напряжений — от 2,4 до 6 В. Кроме того, имеется детектор пониженного напряжения, два режима пониженной мощности — ожидания и остановки. Верхняя граница рабочего диапазона температур для автомобильных применений имеет значение +125 °С.
Семейство обеспечено широким набором программных и аппаратных средств проектирования, реализующих концепцию интегрированной среды разработки (Ride IDE). Кроме того, имеется также блок-диаграммный и графический интерфейсы (ST-Realizer, Visual Micro Lab), а также ориентированные на специфические применения (Fuzzy Logic).
В табл. 1 приведены характеристики основных приборов семейства, позволяющие выбрать вариант, соответствующий решаемой задаче.
Таблица 1. Характеристики микроконтроллеров семейства ST62
Как видно из табл. 1, в рамках семейства выделены функционально-ориентированные подразделы, включающие различные по ресурсам и стоимости варианты исполнения микроконтроллеров. На сайтах фирмы и на CD-ROM имеется техническая документация по микроконтроллерам, средствам проектирования, а также рекомендации по типичным применениям с описанием различных особенностей применения, приемов эффективного использования ресурсов и примеров реализованных устройств. Кроме того, представлена методика, посвященная обеспечению высокой помехоустойчивости при использовании микроконтроллеров.
Однако микроконтроллеры ST62 по меркам сегодняшнего дня имеют низкую производительность (цикл команды составляет 1,625 мкс при тактовой частоте 8 МГц), малые объемы адресуемой памяти и вследствие этого невыигрышное соотношение производительность/ стоимость. Поэтому фирма STM в настоящее время основной акцент делает на развитие семейства ST72. Наряду с развитием зарекомендовавших себя собственных решений, привнесенных из семейства ST62, можно отметить сходство МК семейства ST72 с семейством MC68HC05/08 фирмы MOTOROLA. Соответственно, при сохранении своих традиционных сфер применения появляется возможность использования МК фирмы STM в областях, характерных для МК фирмы MOTOROLA.
Характеристики микроконтроллеров семейства ST72
Семейство ST72, по сравнению с ST62, предназначено для более серьезного применения и поддерживается языками высокого уровня. Ядро, построенное по фон-неймановской архитектуре с аккумулятором, имеет 6 внутренних регистров, включающих 16-разрядный счетчик команд, адресное пространство памяти в 64 Кбайта, параллельную 8-разрядную внутреннюю шину, два индексных регистра X и Y, а также 16-разрядный указатель стека (используется только младший байт, при этом размер стека может составлять 256 байт).
Система команд включает 63 инструкции длиной от 1 до 4 байт с 17 способами адресации, что позволяет выполнять логические побитовые операции, различные варианты передачи битов и байтов, обеспечивает эффективную передачу данных в АЛУ и быструю работу с таблицами. Минимальное время исполнения однобайтовой команды составляет 125 нс при внутренней тактовой частоте 16 МГц. Беззнаковое умножение 8 ґ 8 бит выполняется за 11 циклов (1,37 мкс). Реализуется также программируемая логика снижения мощности. Всего имеется 6 режимов снижения энергопотребления от 2 мА до 0,2 мкА.
Емкость однократно программируемого или ФЛЭШ ПЗУ может составлять от 4 до 60 Кбайт, емкость ОЗУ — до 2 Кбайт. 16-разрядный таймер, реализующий только функцию сброса (без возможности пуска/останова), может работать в одном из режимов: ШИМ, выходное сравнение по двум каналам, входной захват, формирование на внешнем выводе импульса заданной длины при наступлении внешнего события. Кроме того, как и семейство ST62, микроконтроллеры ST72 практически не требуют применения внешних управляющих схем благодаря наличию на кристалле сторожевого таймера, схемы сброса при включении и снижении питания ниже порога, вспомогательного внутреннего тактового генератора.
Построенное на основе стандартного ядра промышленных микроконтроллеров, семейство SТ72 ориентировано на огромный диапазон применений. К ним относятся промышленная автоматика, системы автоматического управления, бытовые приборы, системы автоматизации жилища, автомобильная электроника, связь, системы охраны и др. Для наилучшего удовлетворения требованиям задачи из более чем 100 вариантов исполнения МК семейства могут быть подобраны наилучшие комбинации функций, включающие АЦП, USB, автомобильные протоколы CAN и LIN, контроллер бесщеточных двигателей, ЖКИ-контроллер, операционные усилители (ОУ) и пр., а также различные объемы и виды памяти (ОЗУ, ПЗУ, ППЗУ, ЭППЗУ, Flash). Вся номенклатура приборов семейства SТ72 разбита на подгруппы, часть из которых представлена в табл. 2. Более полную информацию можно найти на сайте и CD-ROM фирмы, а также в ее консультационных центрах.
Таблица 2. Характеристики микроконтроллеров семейства ST72
Являясь лидером производства энергонезависимой памяти, фирма STM одной из первых в рамках семейства ST72 предложила широкий ряд МК, базирующихся на Flash. На этой основе активно разрабатывается концепция программирования в изделии (in-Suit), позволяющая не только упростить и ускорить процесс разработки изделий, но и сообщить этим изделиям новые свойства, дающие возможность получения различных версий для разных пользователей, а также модификации изделий непосредственно у потребителя. Весьма интересным представляется прибор ST72C171 — МК со встроенным программно-управляемым ОУ, содержащий два усилителя rail-to-rail с программным управлением, встроенный программируемый источник опорного напряжения, схемы выборки и хранения, АЦП и Flash-память. Фактически это система сбора данных на кристалле, позволяющая полностью обойтись без внешних компонентов и, кроме того, дающая возможность строить самокалибрующиеся ОУ, АЦП со сверхразрешением в заданных интервалах напряжения (АЦП-лупа), избирательные по мощности усилители.
Многочисленными подгруппами представлены традиционные для SТM направления: МК управления электродвигателями (SТ72141), МК с CAN-контроллерами (SТ72521), МК с USB-интерфейсом (SТ7261х, ST7263х, SТ7265х). В отдельные подгруппы выделены наименьшие по габаритам МК SТ72С254 в 28- или 32-выводных, а с максимальным объемом памяти программ (до 60 Кбайт) — в 64-выводных корпусах.
Микроконтроллеры семейства SТ72, так же как и SТ62, обеспечены широчайшим набором удобных в использовании средств проектирования производства SТM и других фирм.
Техническая поддержка семейства SТ72 обеспечивается по всему миру группами инженеров по областям применения (в скором времени, возможно, и Россия не будет здесь исключением). Поддержка заключается в организации обучения, «горячих» линий консультации, поставке программного обеспечения, драйверов, проверенных алгоритмов, готовых решений прикладных задач. Для быстрого старта проектов можно использовать многочисленные примеры, имеющиеся на сайтах и CD-ROM фирмы, а также в консультационных центрах.
Большое число интересных технических решений содержит семейство ST9 — самое высокопроизводительное семейство 8-разрядных микроконтроллеров фирмы STM, достаточно подробное описание которых можно найти в [5]. Однако эти изделия фирма планирует продавать в основном крупным производителям РЭА, поэтому подробно на них останавливаться не будем.
Из логики развития технологии и увеличения количества областей применения МК следует, что постепенно будет возрастать роль более мощных 16-разрядных МК. Об этом же свидетельствует и динамика продаж ведущих фирм по производству МК. При этом необходимо отметить, что, вследствие более широких возможностей по сравнению с 8-разрядными МК, номенклатура 16-разрядных приборов менее разнообразна. Для этого класса МК более характерно стремление обеспечить совместимость и унификацию основных архитектурных решений с МК других фирм, что упрощает задачи обеспечения их средствами поддержки и обучения пользователей.
Характеристики микроконтроллеров семейства ST10
Архитектура семейства 16-разрядных МК ST10 возникла в конце 1990 г. при сотрудничестве компаний SGS-Thomson и Siemens (ныне Infineon). Родоначальником семейства является сравнительно простой кристалл 80C166 с RISC-подобным ядром. Благодаря сокращенному набору команд программа становится менее склонной к ошибкам выполнения и более простой при верификации. Периферийные устройства тесно связаны с ядром ЦПУ, что делает общее поведение программного обеспечения в реальном времени существенно проще.
Сегодня семейство представлено следующими кристаллами: ST10R167Q3 (аналог С167СR производства Infineon), ST10F168Q6, ST10R272 и новый, только что вышедший процессор ST10F269, содержащий те же функциональные блоки, что и ST10F168, и дополнительно еще один интерфейс CAN, 12 Мб ОЗУ и математический сопроцессор. Имеются сведения о разработке ST10F280.
Основные данные по уже выпускаемым процессорам приведены в табл. 3.
Таблица 3. Характеристики микроконтроллеров семейства ST10
|
ST10R167 |
ST10F168 |
ST10R272 |
CPU |
ST10 |
ST10 |
ST10-DSP |
MAC |
- |
- |
+ |
FLASH |
- |
256k |
- |
ROM |
- |
- |
- |
RAM |
2k+2k |
2k+6k |
1k |
CapCom |
32кан. |
32кан. |
- |
Таймеры |
2GPT(5timers) |
2GPT(5timers) |
GPT1+GPT2(5) |
АЦП |
16кан/10-бит |
16кан/10-бит |
- |
USART |
1 |
1 |
1 |
Serial I/O |
SSC |
SSC |
SSP |
Watchdog |
Timer |
Timer |
Timer+osillator |
PWM |
4 |
4 |
1 |
Chip select |
5 |
5 |
5 |
PEC |
8кан. |
8кан. |
8кан. |
Количество внешних прерываний |
8 |
8 |
4 |
I/O (max) |
110 |
110 |
77 |
CAN |
CAN2.OB |
CAN.OB |
- |
Диапазон адресов |
16M |
16M |
16M |
Тип корпуса |
PQFP 144 |
PQFP 144 |
TQFP 100 |
Макс. частота синхронизации |
25МГц |
25МГц |
50МГц, PLL |
Рабочее напряжение, В |
5 |
5 |
3,3 |
Рабочие температуры, С |
-40...+123 |
-40...+85 |
-40...+85 или 0...70 |
Все МК семейства ST10 основываются на одной и той же базовой архитектуре и поддерживают единую систему команд (за исключением расширений для новых членов семейства). Это позволяет безболезненно переходить на следующий уровень производительности при реализации более сложного проекта.
МК семейства ST10 строятся по модульному принципу, предполагающему разделение на три основных системы: ядро центрального процессора (ЦП), контроллер прерываний и периферийные модули. В кристалл встроен управляемый событиями контроллер прямого доступа к памяти, который освобождает ЦП от участия в пересылках и сохранении данных. ЦП обнаруживает большинство ошибок, могущих возникнуть в процессе исполнения программы — переполнение стека, неверный операционный код, выход за пределы адресного пространства, — и реагирует на эти ошибки с помощью специальных векторов прерывания.
МК семейства ST10 основаны на фон-неймановской архитектуре и имеют единое адресное пространство для памяти программ, памяти данных, регистров и портов ввода/вывода. Адресация кода и данных происходит путем сегментации и разбиения на страницы адресного пространства до 16 Мбайт: 64 Кбайт — сегменты кода и 16 Кбайт — страницы данных. Обмен данными внутри кристалла организован при помощи четырех внутренних шин:
32-разрядная шина внутренней памяти программ, которая обеспечивает считывание двухсловных команд из встроенного ПЗУ за один цикл (или из 256 Кбайт Flash-памяти — у ST10F168);
две 16-разрядные шины встроенному двухпортовому регистровому ОЗУ (8–12 Кбайт), что позволяет одновременно производить запись и чтение данных;
16-разрядная шина для обмена с периферийными модулями;
дополнительная 16-разрядная X-шина, являющаяся внутренним продолжением внешней системной шины и служащая для подключения дополнительной памяти и новых периферийных модулей.
Банк регистров общего назначения содержит до шестнадцати 16-разрядных регистров, каждый из которых может использоваться как аккумулятор, указатель при косвенной адресации или для хранения индекса. При столь большом числе регистров становится возможным сократить частоту обращений ко внешней памяти и существенно повысить скорость. Любой регистровый банк произвольно размещается во встроенном ОЗУ.
Эффективное программирование МК семейства ST10 достигается благодаря мощной системе команд, поддерживающей вычисления над 8-, 16- и 32-разрядными операндами, операции умножения и деления, контроль границ стека, управление периферией через регистры специальных функций. Для увеличения скорости выполнения команд контроллеры семейства содержат четырехступенчатый конвейер команд. При тактовой частоте процессора 25 МГц цикл выполнения команды составляет 80 нс, время выполнения умножения 16ґ16 бит — 400 нс, деления 32/16 бит — 800 нс. В системе команд хорошо представлены операции булевой алгебры и манипуляции с битами.
МК ST10R167/168 имеют встроенные CAN-контроллеры, 16-канальные 10-битовые АЦП с временем преобразования 7,76 мкс и 110 линий ввода/вывода, индивидуально программируемых на ввод, вывод или специальные функции. Более подробно с особенностями функционирования и возможностями МК семейства ST10 можно ознакомиться по описанию его аналога — семейства С166 [6], а также на CD-ROM фирмы STM и на сайте http://mcu.st.com.
Основные области применения микроконтроллеров:
ST10R167, ST10F168, ST10F269 — автомобильная техника, авиация, измерительные приборы, управление процессами в реальном времени;
ST10R272 — средства телекоммуникаций.
С 1998 г. STMicroelectronics выпустила 80 млн процессоров ST10, из них 11 млн — с внутренней Flash-памятью.
Перечень используемых средств поддержки проектирования приведен в табл. 4.
Таблица 4. Средства поддержки проектирования для семейства ST10
|
ST10R167 |
ST10F168 |
ST10R272 |
Аппаратные средства (Starter KIT) |
MCB167 фирмы Keil |
KitCON ST10F168
фирма PHYTEC |
KitCON ST10R272
фирма PHYTEC |
Профессиональный пакет программного обеспечения № 1 |
PK166
(состав: CA166+отладчик dScope) фирма Keil |
PK166
(состав: CA166+отладчик dScope) фирма Keil |
PK166
(состав: CA166+отладчик dScope) фирма Кeil |
Профессиональный пакет
программного обеспечения № 2 |
CA166 (состав: A166+C166 Compiler + RTX166 Tiny) фирма Keil |
CA166 (состав: A166+C166 Compiler + RTX166 Tiny) фирма Keil |
CA166 (состав: A166+C166 Compiler + RTX166 Tiny) фирма Keil |
Профессиональный отладчик |
PLS Fast view фирма PLS |
PLS Fast view фирма PLS |
PLS Fast view фирма PLS |
В заключение хочется отметить, что микроконтроллеры как объект изучения требуют более детального рассмотрения вне рамок этой статьи. Мы будем и в дальнейшем публиковать различную информацию для разработчиков, использующих микроконтроллеры компании STMicroelectronics.
Литература
- Выбор микроконтроллера (по материалам фирмы MOTOROLA). — Инженерная микроэлектроника, № 1, 1998.
- Фрунзе А. Рабы своих семейств. — Компоненты и технологии, № 3, 2000.
- Фрунзе А. Контроллерный рынок России: факты и домыслы, парадоксы и закономерности. — Компоненты и технологии, № 4, 2000.
- Ахметов М. 8-разрядные микроконтроллеры, или В бой идут одни «старики». — CHIP NEWS, №1, 2000. С. 3–10
- С. Копытин. Микроконтроллеры семейства SIEMENS C166. — CHIP NEWS, № 1, 1999. С. 39–42.
- Копытин С. Микроконтроллеры семейства SIEMENS С166 (часть 2). — CHIP NEWS, № 4, 1999. С. 24–28.
st_support@pit.spb.ru
|