В HTML      В PDF
микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Статьи > Микроконтроллеры

реклама

 
радиационно стойкие ПЗУ Миландр

Продажа силового и бронированного кабеля и провода в Москве

текст еще



Новые 8-битные микроконтроллеры семейства STM8S

В декабре 2008 года STMicroelectronics представила на рынок новый базовый продукт – линейку восьмибитных контроллеров общего назначения STM8S. Недорогой и надежный производительный контроллер с простой архитектурой предназначен для эффективной замены серий ST5, ST6, ST7 и ST9 в бытовой, портативной, медицинской и индустриальной электронике, включая управление приводом и освещением.

Кажется, что рынок восьмибитных микроконтроллеров имеет столь плотный и насыщенный спектр, что добавить нечто новое, отвечающее потребностям рынка, уже попросту невозможно. Но компания STMicroelectronics, оставаясь верной себе в продуманном, тщательно архитектурно-выверенном решении, добавила к этому спектру весьма ценный «нишевый» продукт – семейство STM8S. Архитектура новых устройств представлена на рисунке 1.

Архитектура микроконтроллеров семейства STM8S
Рис. 1. Архитектура микроконтроллеров семейства STM8S

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

Если вам хорошо известны восьмибитные микроконтроллеры от STMicroelectronics, то первое, на что вы обратите внимание, это 24-битный программный счетчик, с помощью которого стало возможным адресовать 16-мегабайтное адресное пространство памяти с отображенными в него регистрами. Мощность вычислительного ядра возросла, конечно, не в той степени, чтобы способствовать увеличению адресного пространства (хотя по сравнению с семейством ST7 добавлены операции деления 16-бит на 16-бит и 16-бит на 8-бит и более быстрого знакового умножения 8-бит на 8-бит). Большинство инструкций выполняются быстрее за счет трехстадийного конвейера, раздельной внутренней 32-разрядной шины для выборки инструкций и 16-разрядной шины данных. В командах, работающих с содержимым памяти, совмещены в одном машинном цикле операции чтения и записи. Все это дает возможность получить производительность процессора до 20 MIPS при тактовой частоте 24 МГц.

Структура внутренних шин ядра STM8S
Рис. 2. Структура внутренних шин ядра STM8S

CPU (ядро микроконтроллера) содержит шесть внутренних регистров для эффективной манипуляции данными в 20 режимах адресации. Но при первоначальном знакомстве это легко преодолевается с помощью бесплатного и доступного на сайте разработчика инструментального софта: http://www.st.com/stonline/products/support/micro/files/st_toolset.exe

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

Адресное пространство памяти микроконтроллеров
Рис. 3. Адресное пространство памяти микроконтроллеров

Начиная с семейства STM8S, восьмибитные микроконтроллеры от STMicroelectronics получили возможность удобной отладки с помощью системы SWIM (Single Wire Interface Module) и Debug Module, которая требует дополнительных программных ресурсов.

Определенную часть памяти занимает нестираемая программа Bootloader, которая может загружать рабочий код с хост-компьютера через один из интерфейсов. Flash-память у представителей семейства STM8S Performance Line, таких как STM8S207MB, STM8S208MB в настоящее время составляет 128 Кбайт, у микроконтроллеров STM8S Access Line – до 32 Кбайт.

Система отладки микроконтроллеров STM8S
Рис. 4. Система отладки микроконтроллеров STM8S

Перечислим основные характеристики STM8S и затем рассмотрим некоторых из них. (Более подробную информацию разработчики смогут найти в подробных Application Notes с примерами кода на сайте STMicroelectronics). Карта нового семейства показана на рис. 5.

Микроконтроллеры семейства STM8S
Рис. 5. Микроконтроллеры семейства STM8S

Cистема сброса, тактирования и управления режимами питания

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

Безусловный сброс происходит от цепи внешнего сброса, если таковая имеется. Этот же вывод может использоваться как выход с открытым коллектором для согласованного сброса других устройств, если они присутствуют в системе разработчика. В таком варианте логично использовать режим сброса по включению/выключению («проседанию» более чем на 10%) напряжения питания. Еще тремя источниками программного сброса являются оба сторожевых таймера (IWDG и WWDG) микроконтроллера и схема контроля за нелегальными командами CPU в случае “ILLEGAL OPCODE RESET”. Причина произошедшего программного сброса фиксируется в регистре статуса системы сброса Reset status register (RST_SR), так что ее можно установить специальной подпрограммой и, проанализировав другие параметры, отработать тем или иным способом. А функция “EMS Reset – одна из тех особенностей, благодаря которой многие разработчики используют STM8S в своих ответственных приложениях: внутренние схемы MCU умеют контролировать затянувшиеся циклы обращения к памяти (записи или чтения). Причина затягивания цикла может быть и в банальной ошибке программиста, но в полностью отлаженной и работающей программе это свидетельство «шокового электромагнитного воздействия» на выводы микроконтроллера. Поэтому чисто программно можно обработать и эту ситуацию.

Система сброса
Рис. 6. Система сброса

Система синхронизации

Внешними источниками синхронизации на входе HSE могут быть кварцевый резонатор или генератор с частотами от 1 до 24 МГц и скважностью 50%. В обычном режиме время установления тактовой частоты при использовании кварцевого резонатора составляет приблизительно 2048 периодов, но в микроконтроллерах STM8S его можно уменьшить. Для этого имеется регистр HSECNT и бит контроля HSERDY в External clock register (CLK_ECKR).

В микроконтроллерах STM8 имеется внутренний RC-генератор с частотой 16 МГц и 50% скважностью, для которого предусмотрена оригинальная процедура калибровки. Он характеризуется малым временем выхода в стабильное состояние. На выводе CCO может присутствовать частота от программно конфигурируемого с помощью регистра CCOSEL источника. Интересной особенностью системы синхронизации является наличие Clock Security System (CSS).

Система синхронизации
Рис. 7. Система синхронизации

Управление питанием (Power Management)

При включении питания и сбросе микроконтроллер начинает работать в основном активном режиме (Run mode). При этом все периферийные устройства включены и тактируются, а микроконтроллер потребляет максимальную мощность. Но даже в этом режиме, пока ядро микроконтроллера (MCU core) или процессор выполняет коды программы, приложение может сократить потребление энергии, понижая тактовую частоту, распределяя тактирующие импульсы только на те периферийные устройства, которые необходимо использовать, отключая неиспользуемые аналоговые компоненты, такие как, например, АЦП. Когда же процессору нет необходимости выполнять коды, весь микроконтроллер в целом может находиться в одном из трех следующих состояний:

  • ожидания WAIT;
  • активного останова Active Halt (конфигурируемого для медленного и быстрого «пробуждения»);
  • останова Halt (конфигурируемого для медленного и быстрого «пробуждения»).

Обычно один из трех режимов выбирают как компромисс между наименьшим энергопотреблением, скорейшим пробуждением и доступом к ресурсам.

Контроллер прерываний Interrupt controller (ITC)

Управляет аппаратными векторными прерываниями. Под каждый порт ввода/вывода выделяется отдельный вектор, для каждого вывода предусматривается отдельный бит-флаг. Каждая подсистема архитектуры способна вырабатывать прерывания при изменении состояния. Для программных прерываний используется команда TRAP. Контроллер прерываний может обрабатывать прерывания как с жестким, так и с циклическим приоритетом и обеспечивает обработку до четырех уровней вложенности. Максимальное количество векторных прерываний – 32, плюс три немаскируемых прерывания (RESET, TRAP и TLI). Маскирование производится битами I1 и I0 в регистре CPU Condition Code register (CCR). Приоритеты могут быть заданы в регистре (ITC-SPRx). Вектор прерывания от RESET обеспечивает переход на адрес 0x00 8000. В тех микроконтроллерах семейства, где имеется начальный загрузчик bootrom, соответствующая программа записывается в этих адресах компанией STMicroelectronics при изготовлении. Фиксированные адреса под вектора прерывания располагаются в области памяти от 0x00 8004 до 0x00 807C.

Система пробуждения Auto-wakeup (AWU)

Оригинальная подсистема, периодически вызывающая пробуждение из режима Halt на некоторое время для осуществления функций контроля и возвращающая затем MCU в состояние Halt. Этот временной интервал образуется путем деления частоты низкочастотного тактирующего сигнала внутреннего (LSI)RC-генератора или более высокочастотного сигнала HSE-генератора.

LSI clock measurement

С помощью этой подсистемы удобно контролировать, например, точность (LSI)RC-генератора, сравнивая показания таймера TIM3 на входе capture 1.

Бипер Beeper (BEEP)

Эта подсистема генерирует звуковой сигнал частотой 1, 2 или 4 кГц когда сигнал LS clock имеет частоту 128 кГц. Одновременно можно использовать систему для калибровки частоты (LSI)RC-генератора по более точной частоте HSE-генератора.

Независимый сторожевой таймер Independent watchdog (IWDG)

Независимый сторожевой таймер можно использовать для обнаружения как программных, так и аппаратных сбоев. Он тактируется частотой 128 кГц от встроенного RC-генератора, работающего независимо от источников тактирования ядра микроконтроллера.

Оконный сторожевой таймер (WWDG)

Оконный сторожевой таймер может использоваться для обнаружения ошибок, трудных для тестирования на этапе разработке программного обеспечения, например, возникающих вследствие редкого сочетания условий и внешних факторов. Цепь сторожевого таймера вырабатывает сигнал сброса MCU по завершении запрограммированного интервала, в течение которого ни одна из программ не очистила бит T6. Величина «оконного интервала» может быть обновлена до истечения обратного отсчета. То есть ваша программа должна или очистить предназначенный для этого бит, или увеличить значение в счетчике. Если этого не произойдет, счетчик обнулится, и при установленном бите T6 произойдет сброс микроконтроллера.

Кратко о таймерах

В микроконтроллерах STM8S имеются таймеры трех типов: advanced control (TIM1), общецелевые (TIM2/TIM3/TIM5), и базовые (TIM4/TIM6). У них различные особенности, но все они базируются на общей архитектуре. Это упрощает дизайн различных приложений при использовании разных таймеров (с идентичной картой регистров, общими базовыми особенностями).

Универсальный асинхронный приемопередатчик (UART)

Полнодуплексные каналы UART в микроконтроллерах STM8S (UART1, UART2 или UART3) служат для обмена данными по индустриальному стандарту в формате NRZ асинхронных последовательных данных (UART). Универсальные асинхронные приемопередатчики STM8S имеют широкий диапазон скорости обмена данными и поэтому могут использоваться для мультипроцессорной коммуникации. Они поддерживают также протокол LIN(Local Interconnection Network) версий 1.3, 2.0, 2.1 и J2602 в режиме мастера.

Контроллер (beCAN)

Поддерживает CAN-протокол версии 2.0 A, B Active.

Основные параметры:

  • итрейт (скорость передачи в битах) до 1 Мбит/с;
  • поддерживает опцию Time Triggered Communication;
  • возможность выбора источника тактирования (fMASTER или fCANEXT).

Передача

  • три почтовых ящика на передачу (transmit mailboxes);
  • конфигурируемый приоритет передачи;
  • метка времени в SOF-передаче.

Прием

  • один трехуровневый буфер FIFO на прием;
  • шесть масштабируемых банков фильтров;
  • листинг идентификаторов;
  • конфигурируемое переполнение FIFO;
  • метка времени в SOF-приеме.

Функция связи с фиксированной длительностью

  • запрещение режима автоматической ретрансмиссии;
  • 16-битный таймер;
  • программируемое разрешение таймера;
  • метка времени посылается в двух последних байтах данных.

Управление

  • маскируемые прерывания;
  • оптимизированная для программ карта почтовых ящиков (mailbox mapping) в выделенном адресном пространстве.

Аналогово-цифровой преобразователь Analog digital converter (ADC)

В микроконтроллерах семейства STM8S имеется два идентичных 10-битных АЦП со следующими характеристиками:

  • режимы однократного и непрерывного преобразования;
  • делитель частоты преобразования от 2 до 18;
  • возможность внешнего запуска преобразования от (ADC_ETR) или таймерного триггера (TRGO); функция сглаживания входных данных за счет усреднения последовательности измерений;
  • прерывание по окончании преобразования;
  • режим непрерывного преобразования с буферизацией;
  • допустимый входной диапазон сигнала преобразования: VSSA ? VIN ? VDDA;
  • режим сканирования для одиночного и непрерывного преобразования;
  • аналоговый сторожевой таймер на нижний и верхний порог;
  • прерывание по включению аналогового сторожевого таймера.

Аналогово-цифровой преобразователь
Рис. 8. Аналогово-цифровой преобразователь

Для микроконтроллеров семейства STM8S, как отмечалось выше, существует и бесплатная среда разработки от STMicroelectronics. Ее можно скачать с сайта STMicroelectronics. После инсталляции, которая не должна вызвать никаких затруднений, можно за несколько минут начать работать с программой в режиме симуляции выбранного вами микроконтроллера. Просто запустите программу stvdebug.exe, расположенную в директории Путь установки\STMicroelectronics\st_toolset\stvd\.

Подходящий для вашей разработки микроконтроллер можно подобрать по таблице 1.

Таблица 1. Некоторые представители семейства STM8S

Наименование Flash-память, Кбайт RAM, Кбайт Данные EEPROM, Кбайт A/D-конвертер, бит Функции таймера (IC/OC/PWM) Серийный интерфейс Корпус I/O (high sink) Питание, В
STM8S208MB 128 6 2 16x10 1x8-бит, 3x16-бит (9/9/12) CAN, SPI, 2xUART, I2C LQFP80 68(11) 3...5,5
STM8S208RB 128 6 2 16x10 CAN, SPI, 2xUART, I2C LQFP64 52(9)
STM8S207MB 128 6 2 16x10 SPI, 2xUART, I2C LQFP80 68(11)
STM8S207RB 128 6 2 16x10 SPI, 2xUART, I2C LQFP64 52(9)
STM8S207R8 64 4 1.5 16x10 SPI, 2xUART, I2C LQFP64 52(9)
STM8S207R6 32 2 1 16x10 SPI, 2xUART, I2C LQFP64 52(9)
STM8S207CB 128 6 2 10x10 SPI, 2xUART, I2C LQFP48 38(9)
STM8S207C8 64 4 1.5 10x10 SPI, 2xUART, I2C LQFP48 38(9)
STM8S207C6 32 2 1 10x10 SPI, 2xUART, I2C LQFP48 38(9)
STM8S207S8 64 4 1.5 9x10 1x8-бит, 3x16-бит (8/8/11) SPI, 2xUART, I2C LQFP44 34(8)
STM8S207S6 32 2 1 9x10 SPI, 2xUART, I2C LQFP44 34(8)
STM8S207K6 32 2 1 7x10 SPI, UART, I2C LQFP32, VQFN32 25(8)
STM8S105C6 32 2 1 10x10 1x8-бит, 3x16-бит (9/9/12) SPI, UART, I2C LQFP48 38(9)
STM8S105C4 16 2 1 10x10 SPI, UART, I2C LQFP48 38(9)
STM8S105S6 32 2 1 9x10 1x8-бит, 3x16-бит (8/8/11) SPI, UART, I2C LQFP44 34(8)
STM8S105S4 16 2 1 9x10 SPI, UART, I2C LQFP44 34(8)
STM8S105K6 32 2 1 7x10 SPI, UART, I2C LQFP32, VQFN32 25(8)
STM8S105K4 16 2 1 7x10 SPI, UART, I2C LQFP32, VQFN32 25(8)

Андрей Савичев
компания КОМПЭЛ

Источник: журнал "Новости электроники"






 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (495) 514 4110. e-mail:info@eust.ru
©1998-2016 ООО Рынок Микроэлектроники