Модуль TE-STM8S208 на микроконтроллере для ответственных применений


PDF версия

В статье представлен модуль TE-STM8S208 компании «Терраэлектроника», выполненный на новом 8-разрядном микроконтроллере компании STMicroelectronics. Семейство STM8 ориентировано на ответственные применения. Современная архитектура и микроэлектронная технология 130 нм обеспечивают ему хорошую производительность, стабильность параметров и эксплуатационную надежность. Модуль TE-STM8S208 может быть использован как при изучении новых микроконтроллеров и макетировании систем управления, так и для установки в серийные изделия в качестве готового узла.

Рынок 8-разрядных микроконтроллеров (МК) в настоящее время является самым массовым, несмотря на явную тенденцию к переходу на 32-разрядные компоненты в развитых системах управления. Большое количество устройств автоматики вполне успешно управляется 8-разрядными МК. Несмотря на быстрое снижение цен на 32-разрядные приборы, они в настоящее время заметно дороже 8-разрядных. Кроме того, весьма важен багаж опробованных схемных и программных решений опытных инженеров, который велик именно в области 8-разрядных систем. Революционные скачки происходят в сфере мультимедиа, но изделия для ответственных применений эволюционируют, поскольку их запуску в эксплуатацию предшествует значительный объем тестов и испытаний.

Компания STMicroelectronics, один из ведущих мировых производителей электронных компонентов, параллельно с 32-разрядным семейством STM32 выпустило новое, ориентированное на ответственные применения, семейство 8-разрядных приборов STM8. Симбиоз современной архитектуры и микроэлектронной технологии 130 нм обеспечивает им хорошую производительность, стабильность параметров и эксплуатационную надежность. Семейство включает три группы продуктов:

– STM8S — МК общего назначения;

– STM8A — МК для автомобильного применения;

– STM8L — низкопотребляющие МК.

Микроэлектронная технология 130 нм предоставляет при создании 8-разрядных приборов значительно большую степень интеграции кристалла, чем технологии предыдущего поколения. Посмотрим, как использовано это преимущество в архитектуре семейства STM8 и МК STM8S.

Наборы функциональных блоков в различных линейках МК STM8S приведены на рисунке 1.

Рис. 1. Наборы функциональных блоков в линейках семейства STM8S

Процессорное ядро семейства STM8 8-разрядное, но работает с памятью программ через 32-разрядную шину и имеет 3-уровневый конвейер обработки команд. Это обеспечивает микроконтроллерам STM8S быстродействие в 20 MIPS при максимальной тактовой частоте 24 МГц. Таким образом, в процессорном ядре ресурсы технологии были направлены на усложнение структуры в целях повышения быстродействия.

Cемейство STM8 имеет гарвардскую архитектуру, но отдельные области программного кода и данных находятся в общем пространстве со сквозными адресами. Карта памяти микроконтроллеров STM8S приведена на рисунке 2. Объем флэш-памяти в этой группе может составлять до 128 Кбайт, EEPROM — до 2 Кбайт, RAM — до 6 Кбайт.

Рис. 2. Карта памяти микроконтроллеров STM8S

При тактовых частотах процессора менее 16 Мгц память работает без тактов ожидания. При больших тактовых частотах для обращений к флэш-памяти и EEPROM необходимо запрограммировать 1 такт ожидания.

В адресном пространстве 2 Кбайт занимает загрузчик, который позволяет загрузить код во флэш-память или EEPROM через один из последовательных портов: SPI, CAN или UART.

Микроконтроллеры STM8 имеют развитый механизм защиты памяти от чтения и записи. При установленной защите от чтения невозможны операции чтения/записи с флэш-памятью и EEPROM, а также работа внутреннего модуля отладки. При снятии этой защиты содержимое памяти затирается. Для предотвращения порчи содержимого память может быть защищена от записи. Эта защита имеет два уровня. Первым уровнем защиты управляет специальный блок MASS (Memory Access Security System). Вторым уровнем защиты является наличие специальной области памяти программ UBС (User-specific Boot Code), которая не может быть перезаписана в режиме ISP (In System Programming). В этой области находится таблица векторов сброса и прерываний.

Таким образом, применительно к памяти ресурсы технологии были направлены на увеличение адресного пространства, доступного объема и обеспечение повышенной защиты для использования микроконтроллеров в сложных условиях.

Набор команд МК STM8S включает 80 инструкций, большинство из которых 2-байтные. Кроме обычного набора 8-разрядных команд пересылок и арифметики, имеются команды 16-разрядной арифметики, в которых используются 16-разрядные индексные регистры X и Y. В набор команд включены команды умножения (8×8 бит) и деления (16/8 бит, 16/16 бит). Существенным отличием от 8-разрядных МК прошлых поколений является 24-разрядный счетчик команд PC, который дает возможность использовать команду вызова с расширенным адресом (CALLF).

Наличие двух индексных 16-разрядных регистров (X, Y) позволяет использовать косвенную индексную адресацию при работе с таблицами данных, располагающимися в любом месте адресного пространства. В наборе команд имеется большая группа инструкций, выполняющих операции с регистрами X и Y: загрузку (LDW), арифметические операции (ADDW, DIVW, INCW, SUBW), логические операции (NEGW), сдвиги (RLCW, RRCW). Инструкция EXGW за один цикл производит взаимный обмен содержимого индексных регистров. Инструкция CLRW очищает индексные регистры.

Обзор системы команд позволяет заключить, что в архитектуре STM8 кроме быстрого 8-разрядного ядра с 32-разрядным интерфейсом памяти реализован также 16-разрядный процессор адресов. Аккумуляторами этого процессора являются регистры X и Y.

Современным решением в архитектуре STM8 является блок обработки вложенных прерываний. Он обеспечивает автоматическое сохранение/восстановление основных регистров (PC, Y, X, A, CC) в начале/конце процедур обслуживания (см. рис. 3). Это сокращает время задержки при обслуживании прерываний и упрощает программирование.

Рис. 3. Сохранение/восстановление блока регистров при прерываниях

При проектировании микроконтроллеров STM8 особое внимание уделялось устойчивости к высокому уровню внешних воздействий без использования внешних защитных элементов. Использованные методы защиты против электромагнитных помех и электростатики обеспечивают уровень защиты в соответствии со стандартом IEC 60335, класс B. Для обеспечения устойчивости используются контроллер синхросигнала с двумя независимыми сторожевыми таймерами, система CSS (Clock Security System), а также механизмы защиты важнейших регистров и защиты от неправильных кодов команд.

Микроконтроллеры STM8S способны работать с синхросигналом от трех источников: внешнего генератора или кварца с частотой 1…24 МГц, внутреннего RC-генератора на 16 МГц и внутреннего RC-генератора на 128 кГц. Система CSS переключает микроконтроллер на работу от внутреннего генератора на 16 МГц при обнаружении сбоя во внешнем синхросигнале. Время переключения между источниками синхросигнала составляет 2 мкс.

Для программирования и отладки в архитектуре STM8 предусмотрены модули SWIM (Single Wire Interface Module) и DM (Debug Module). Первый из них обеспечивает однопроводной интерфейс, а второй выполняет собственно отладочные операции в реальном времени. Вместе эти модули обеспечивают очень быстрое программирование (менее 6 с для флэш-памяти объемом 128 Кбайт) и отладку на уровне производительных внутрисхемных эмуляторов. Обращение по всем адресам пространства памяти, в т.ч. к регистрам, для выполнения операций чтения/записи выполняется в фоновом режиме и не требует дополнительных циклов ожидания.

Компания «Терраэлектроника» в рамках программы по инструментальному сопровождению электронных компонентов STMicroelectronics разработала многоцелевой модуль на микроконтроллере STM32S208, который является самым производительным в семействе.

Модуль TE-STM8S208 (см. рис. 4) способен функционировать на разных этапах жизни изделий:

1) при освоении архитектуры микроконтроллеров STM8. Небольшая цена, доступность портов микроконтроллера на контактных площадках, расширяемый набор демо-программ позволяют рекомендовать модуль в качестве средства перехода на современные микроконтроллеры для ответственных применений;

2) при макетировании встраиваемых систем в качестве средства отладки. Модуль позволит разработчику заняться созданием безопасных алгоритмов микроконтроллерного управления;

3) в серийном изделии в качестве готового узла. Компактный бюджетный модуль с развитым набором интерфейсов позволяет ускорить запуск изделия в эксплуатацию.

Рис. 4. Многоцелевой модуль TE-STM8S208

Установленный в модуле микроконтроллер STM8S208MB имеет ядро с максимальной тактовой частотой 24 МГц. Объем флэш-памяти программ составляет 128 Кбайт, оперативной памяти — 6 Кбайт, EEPROM — 2 Кбайт. Интегрированный на кристалл 10-разрядный АЦП имеет 16 каналов. Из последовательных интерфейсов присутствуют SPI, I2C, CAN и два порта UART. Микроконтроллер заключен 80-выводный корпус LQFP.

На плате модуля установлены слот карт памяти microSD, разъем BH-10 интерфейса RS-232, клеммные разъемы интерфейсов RS-485 и CAN, разъем miniUSB моста USB-UART. Четыре линии отладочного интерфейса SWIM выведены на штыревой разъем. К линиям портов микроконтроллера подключены два светодиода и две кнопки для подачи логического 0.

На два двухрядных штыревых разъема модуля выведены линии портов микроконтроллера. Через этот разъем доступны интерфейсы SPI, I2C микроконтроллера, а также входы АЦП.

Аппаратный мост USB-UART позволяет загружать код программы во внутреннюю память микроконтроллера. Разъем SWIM предназначен для отладки.

Компания STMicroelectronics сопровождает семейство STM8 системой программирования ST Visual Develop (STVD), которая включает оболочку, редактор текста, кросс-ассемблер и отладчик. Для разработки программ на языке С можно использовать компилятор Cosmic STM8 32K compiler или Raisonance STM8/ST7 C compiler. Известные разработчики инструментальных систем — компании Raisonance и IAR — поддерживают семейство STM8 продуктами Raisonance IDE RIDE7 и IAR Embedded Workbench for STM8 IDE (EWSTM8). На компакт-диске из комплекта модуля находятся бесплатные версии этих систем, а также тестирующие и демонстрационные программы.

Для упрощения и ускорения разработки прикладных программ для семейства STM8 компания STMicroelectronics разработала и бесплатно предоставляет библиотеку функций обслуживания периферийных блоков МК — STM8S/A Standard Peripheral Library.

Эта библиотека содержит драйверы и вспомогательные функции, которые обслуживают периферию МК STM8:

stm8s_adc1, stm8s_adc2 — аналого-цифровые преобразователи;

stm8s_awu — таймер вывода из режимов пониженного энергопотребления;

stm8s_beep — блок формирования звуковых сигналов;

stm8s_can — блок интерфейса CAN;

stm8s_clk — схема управления тактированием;

stm8s_exti — блок обработки внешних прерываний;

stm8s_flash — энергонезависимая память;

stm8s_gpio — порты ввода/вывода;

stm8s_i2c — блок интерфейса I2C;

stm8s_itc — контроллер прерываний;

stm8s_iwdg — сторожевой таймер;

stm8s_rst — схема сброса;

stm8s_spi — блок интерфейса SPI;

stm8s_tim1 … stm8s_tim6 — таймеры/счетчики;

stm8s_uart1 … stm8s_uart3 — блоки UART;

stm8s_wwdg — оконный сторожевой таймер.

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

Обзор семейства STM8 показывает, что в классе 8-разрядных МК на рынке появилась современная архитектура, которая существенно меняет методы построения систем для ответственных применений.

В аналого-цифровых системах управления реализация отдельных функций управления возлагалась на отдельные части системы. Таким образом, при сбое или неисправности в некоторой части системы управление в целом не терялось. При замене таких систем микроконтроллерными системами первого поколения выяснилось, что МК может выполнять весь набор функций управления, но при сбое или неисправности нарушается работа всей системы. Для повышения надежности ответственных систем применялось резервирование полнофункциональных каналов и их «горячее» переключение. Решение о переключении принимал блок-арбитр. Таким образом, повышение надежности достигалось с помощью внешних относительно микроконтроллера аппаратных средств значительного объема. При использовании МК семейства STM8 внешние средства для защиты от сбоев могут быть минимизированы, поскольку структура МК уже содержит необходимую избыточность.

Применение современной архитектуры микроконтроллеров STM8 требует отработки соответствующих методов проектирования и программирования. Модуль TE-STM8S208 позволит освоить современные микроконтроллеры для ответственных применений, выполнить макетирование встраиваемой системы, ускорить запуск серийного изделия в эксплуатацию.

Разработчики могут приобрести микроконтроллеры STM8 и модули TE-STM8S208 в «Терраэлектронике», а также получить консультации инженеров по вопросам их применения.

Оставьте отзыв

Ваш емейл адрес не будет опубликован. Обязательные поля отмечены *