Быстрее, надежнее, эффективнее! MSP430 с FRAM
Для автономно работающего прибора необходимость отслеживания уровня питающего напряжения и принятия специальных мер в случае его критического падения возникла не на пустом месте. Непреднамеренный сброс или отключение питания в результате сбоя приводит к потере данных, что всегда неприятно. В ряде случаев возникает необходимость сохранения данных приложения (контекста приложения) при штатном отключении питания. Одним из возможных решений является запись данных в EEPROM, на флеш-память, или на внешнюю энергонезависимую память.
В каждом из предложенных решений есть несколько подводных камней. Например, размеры EEPROM, как правило, ограничены несколькими сотнями байт. Запись во флеш-память требует соблюдения специальных процедур и предварительного стирания блоков или секторов в случае, если адреса, по которым требуется произвести запись, уже содержат данные. Кроме того, это достаточно ощутимые затраты времени, исчисляемые десятками, а то и сотнями миллисекунд. Внешняя память дополнительно к затратам времени увеличивает энергопотребление устройства и размеры печатной платы.
Технология энергонезависимой памяти FRAM
Возможный выход в решении описанных выше проблем лежит в создании энергонезависимой оперативной памяти. FRAM - это одна из технологий энергонезависимой встраиваемой памяти, являющаяся на сегодняшний день наиболее простой в реализации, энергоэффективной и универсальной.
Ячейка типа 1T-1C, разработанная для FRAM, схожа по своему устройству с обоими типами ячеек, широко используемых в DRAM-памяти, включая структуру, состоящую из одного конденсатора и одного транзистора. В конденсаторе DRAM-ячейки используется линейный диэлектрик, тогда как в конденсаторе FRAM-ячейки применяется диэлектрическая структура, включающая в себя сегнетоэлектрик, Обычно его роль играет пьезокерамика PZT (цирконат-титанат свинца) [1, 2].
Сегнетоэлектрик (рис. 1) обладает нелинейной связью между применяемым электрическим полем и хранимым зарядом. В частности, сегнетоэлектрическая характеристика имеет вид петли гистерезиса, который очень схож в общих чертах с петлей гистерезиса ферромагнитных материалов.
Рис. 1. Структура кристалла сегнетоэлектрика
Диэлектрическая константа сегнетоэлектрика, как правило, значительно выше, чем у линейного диэлектрика вследствие эффекта полупостоянных электрических диполей, формируемых в кристаллической структуре сегнетоэлектрического материала. Когда внешнее электрическое поле проникает через диэлектрик, диполи выравниваются по направлению прикладываемого поля, приводя к небольшим сдвигам позиций атомов и смещениям прохождения электрического заряда в кристаллической структуре (рис. 2). После удаления заряда диполи сохраняют свое состояние поляризации. Обычно двоичные «0» и «1» хранятся в виде одной из двух возможных электрических поляризаций в каждой ячейке хранения данных. Например, под «1» понимается отрицательный остаток поляризации «-Pr», а под «0» - позитивный остаток поляризации «+Pr».
Рис. 2. Поведение слоя сегнетоэлектрика под действием внешнего электрического поля
Функционально FRAM похожа на DRAM. Запись происходит путем проникновения поля через сегнетоэлектрический слой при заряжании электродов, принуждая атомы внутри принимать ориентацию вверх или вниз (в зависимости от полярности заряда), за счет чего запоминается «1» или «0».
Принцип чтения несколько отличается от его реализации в DRAM. Транзистор переводит ячейку в особое состояние, сообщая «0». Если ячейка уже содержит «0», то на линиях вывода ничего не произойдет. Если ячейка содержит «1», то переориентация атомов в прослойке приведет к короткому импульсу на выходе, так как они вытолкнут электроны из металла на «нижней» стороне. Наличие этого импульса будет означать, что ячейка хранит «1». Так как процесс перезаписывает содержимое ячейки, то чтение из FRAM - деструктивный процесс, который требует регенерации данных в ячейке в случае их изменения при считывании.
FRAM: новые технологии - новые преимущества
Технология FRAM присутствует на рынке уже более 10 лет, начиная с микросхем энергонезависимой памяти Ramtron International Corporation.
Основные свойства FRAM:
- FRAM является энергонезависимой памятью (данные сохраняются после отключения питания);
- FRAM-память с произвольным доступом. В ней отсутствует деление на блоки или сегменты. Чтение или запись данных происходят аналогично обычной ОЗУ;
- процедура чтения или записи памяти не требует инициализации, снятия блокировки или настройки регистров управления;
- запись ячейки в FRAM требует меньше энергии, по сравнению с DRAM или флеш-памятью, поскольку не требует зарядки конденсатора ячейки памяти;
- запись ячейки возможна во всем рабочем диапазоне напряжения питания памяти;
- практически не ограниченное число циклов записи- порядка 1015;
- память нечувствительна к наличию магнитных полей, т.к. кристаллы сегнетоэлектрика не содержат ионов железа;
- гарантированное время хранения данных- до 19 лет, при температуре 85°С.
Сравнение FRAM с основными типами памяти представлено в таблице 1.
Таблица 1. Сравнительные характеристики FRAM, SRAM, EEPROM и Flash памяти| Параметр | FRAM | SRAM | EEPROM | Flash |
|---|---|---|---|---|
| Сохранность данных при отключении питания | + | – | + | + |
| Скорость записи (блок данных) | 7 мс | <10 мс | ~1 сек | ~1 сек |
| Средний ток потребления при записи, мкА | 100 | <60 | 4000 | 4000 |
| Количество циклов перезаписи | ~1015 | Не ограничено | ~100 000 | ~10 000 |
| Возможность побитного программирования | + | + | – | – |
| Универсальное решение (хранение программ, хранение данных) | + | – | – | – |
Внедрение технологии FRAM в микроконтроллеры открывает новые уникальные возможности по организации программного обеспечения, размещения и хранения данных. Даже при едином адресном пространстве память контроллера разделена на области - память программ, оперативная память, энергонезависимая память. Для приложений, требующих большого объема оперативной памяти, требовалось покупать контроллер из выбранной линейки, с нужным объемом памяти, но чаще всего это вело и к увеличению объема флеш-памяти, которая бывает излишней. С FRAM пространство памяти становится действительно линейным и единообразным (рис. 3).
Рис. 3. Организация памяти в обычных контроллерах и в контроллерах с FRAM
Все пространство памяти может быть свободно и единообразно использовано прикладными задачами - один и тот же тип памяти может быть использован и для хранения программ, и для оперативной обработки данных, и для длительного хранения данных.
Контроллеры семейства MSP430FR57xx
В середине 2011 года компания Texas Instruments начала выпуск нового семейства микроконтроллеров MSP430 со встроенной FRAM-памятью - MSP430FR57xx [3-5].
Данное семейство является уникальным сочетанием оригинальной низкопотребляющей архитектуры и энергонезависимой памяти с динамически разделением на области. Обладая энергопотреблением порядка 100 мкА/МГц, контроллеры данного семейства имеют широкий набор периферийных устройств, включая коммуникационные порты, линии ввода-вывода, таймеры, АЦП и ЦАП (рис. 4).
Рис. 4. Структура микроконтроллеров семейства MSP430FR57xx
Архитектурные особенности контроллеров семейства MSP430FR57xx [6, 7]:
- 16-ти битное RISC-ядро с низким энергопотреблением и рабочей частотой до 24МГц;
- напряжения питания 2...3,6В;
- 1кбайт SRAM;
- до 16 кбайт FRAM (версии с 4/8/16 кбайт FRAM);
- аппаратный умножитель(32х32);
- 3-х канальный DMA;
- модуль CRC;
- система тактирования от нескольких источников;
- потребление в активном режиме- 100мкА/МГц, в спящем режиме (LPM4.5 )- 0,32мкА;
- выход из спящего режима- 100мкс;
- высокопроизводительная аналоговая периферия:
- АЦП: 10 бит, до 200К выборок/с при потреблении менее 150мкА, до 14 каналов;
- аналоговый компаратор- до 16 каналов, встроенный источник опорного напряжения, гистерезис.
- коммуникационные порты: UART, SPI, I2C.
В семействе MSP430FR57xx представлено более 20 различных контроллеров с FRAM-памятью в корпусах от 24- до 40-QFN, а также в TSSOP-корпусах - от 28- до 38-TSSOP (таблица 2) [8].
Таблица 2. Микроконтроллеры семейства MSP430FR57xx| Наименование | Частота, МГц | FRAM, кБ | SRAM, байт | АЦП 10-бит, каналов | Компаратор | USCI_A (UART; SPI) | USCI_B (I2C; SPI) | Таймеры 16-бит | Корпус |
|---|---|---|---|---|---|---|---|---|---|
| MSP430FR5725 | 8 | 8 | 1024 | 14 | 16 | 2 | 1 | 5 | 40VQFN |
| MSP430FR5728 | 8 | 16 | 1024 | 8 | 10 | 1 | 1 | 3 | 24VQFN |
| MSP430FR5729 | 8 | 16 | 1024 | 14 | 16 | 2 | 1 | 5 | 38TSSOP, 40VQFN |
| MSP430FR5730 | 24 | 16 | 512 | 8 | 10 | 1 | 1 | 3 | 24VQFN |
| MSP430FR5735 | 24 | 8 | 1024 | 14 | 16 | 2 | 1 | 5 | 40VQFN |
| MSP430FR5738 | 24 | 16 | 1024 | 8 | 10 | 1 | 1 | 3 | 24VQFN |
| MSP430FR5739 | 24 | 16 | 1024 | 14 | 16 | 2 | 1 | 5 | 38TSSOP, 40VQFN |
Ключевые особенности встроенной FRAM [3]:
- скорость чтения/записи больше в 160 раз, по сравнению с традиционной FLASH, при этом потребление энергии при работе с FRAM меньше в 250 раз;
- практически бесконечное число циклов перезаписи (1015);
- сохранение состояния после отключения питания и во всех режимах микроконтроллера;
- динамическое управление границами разделов и правами доступа.
FRAM-память в MSP430FR57xx поддерживает режимы побайтной и пословной записи. Имеет автоматические и настраиваемые такты ожидания доступа к памяти. Дополнительно реализована защита от ошибок памяти при помощи кодов с коррекцией ошибочного бита, битом ошибки и флагом индикации ошибки. В ходе выполнения программы из FRAM контроллер памяти использует двухканальный ассоциативный кэш на 4 байта, таким образом, за один раз выбирается 64 бита. Данное решение в ряде случаев ускоряет работу программ и дополнительно снижает количество циклов доступа к FRAM [1] (рис. 5).
Рис. 5. Структура FRAM-контроллера
Скорость работы, сравнимая со скоростью работы с RAM (время доступа ~50 нс), а также сохранение состояния после пропадания питания позволяют использовать FRAM как единый универсальный массив памяти, что дает разработчику гибкие возможности по оптимизации встраиваемых приложений.
Так, для записи слова данных во флеш-память контроллерам необходимо от десятков микросекунд до нескольких миллисекунд времени (к примеру, MSP430F5438A тратит на запись слова от 37 до 85 мкс в зависимости от режима работы и условий программирования). И это в том случае, если не требуется предварительное стирание сегмента. Время записи одного слова FRAM составляет порядка 100 нс при отсутствии предварительного стирания сектора или отдельного блока.
Процессы неразрушающего чтения ячеек FRAM (чтение с восстановлением) абсолютно прозрачны для приложения и защищены от потери питания в любом режиме энергопотребления контроллера. Цепи питания FRAM в контроллере отделены от цепей основного питания, более того они включают в себя встроенный LDO-стабилизатор и конденсатор, способный хранить достаточный заряд для завершения процедуры записи ячейки при любом сбое питания.
Периферийные устройства
Наличие аналоговых периферийных устройств позволяет использовать данное семейство контроллеров для сбора и обработки аналоговых данных. Контроллеры семейства MSP430FR57xx включают в себя достаточно высокопроизводительный 10-битный АЦП со скоростью преобразования до 200 К выборок/секунду, встроенным источником опорного напряжения на 1,5; 2,0 и 2,5 В, управляемым временем выборки сигнала и двухпороговым компаратором. Ток потребления АЦП в активном режиме не превышает 150 мкА.
Основные возможности АЦП [3]:
- встроенное УВХ с программируемым временем выборки сигнала и периодом опроса;
- запуск преобразования программный или по прерыванию таймеров;
- возможность выбора между внутренним источником опорного напряжения и внешним источником;
- до 12 внешних входных каналов преобразования;
- 4 канала от внутренних источников: датчик температуры, монитор батареи, источник опорного напряжения;
- двухпороговый компаратор для отслеживания входных сигналов;
- несколько режимов преобразования: одиночное преобразование, периодический опрос одного канала, опрос последовательности каналов, периодический опрос последовательности каналов;
- выделенный регистр векторов прерывания АЦП.
Структурная схема АЦП представлена на рисунке 6 [3].
Рис. 6. Структура АЦП-контроллеров MSP430FR57xx
Универсальные последовательные коммуникационные интерфейсы eUSCI_A и eUSCI_B поддерживают несколько режимов обмена данными. eUSCI_A поддерживает UART и SPI-режимы, eUSCI_B - SPI и I2C. Это позволяет подключать к контроллеру внешние устройства и модули, такие как интеллектуальные датчики, навигационные модули, беспроводные приемопередатчики и модули, управляющие или ведомые контроллеры.
В режиме асинхронного приемопередатчика eUSCI_A подключается к внешним устройствам посредством двух внешних выводов UCAxRXD и UCAxTXD. eUSCI_A в режиме UART обеспечивает независимые буферы данных для приемника и передатчика, независимые сдвигающие регистры приемника и передатчика. Возможны режимы передачи данных с семью или восемью битами данных, с проверкой четности, а также - прием или передача данных начиная с младшего или старшего бита. Поддерживаются режимы мультипроцессорной работы, независимые прерывания по приему, передаче, получению стартового бита.
Структурная схема eUSART_A в режиме UART представлена на рисунке 7 [3].
Рис. 7. Структура eUSART_A в режиме UART
В SPI-режиме могут работать и eUSART_A-, и eUSART_B-интерфейсы. В данном случае подключение обеспечивается четырьмя линиями UCxSIMO, UCxSOMI, UCxCLK, и UCxSTE.
Основные возможности интерфейсов в режиме SPI:
- данные длиной 7, или 8 бит;
- передача младшим или старшим битом вперед;
- режимы ведущего и ведомого устройств;
- независимые буферы и сдвиговые регистры приемника и передатчика;
- режимы длительной передачи и приема данных;
- поддержка операций ведомого устройства в режиме LPM4;
- поддержка нескольких режимов SPI.
Структурная схема eUSART_x в режиме SPI представлена на рисунке 8 [3].
Рис. 8. Структурная схема eUSART_x в режиме SPI
Последовательный интерфейс eUSCI_B поддерживает режим двухпроводной последовательной шины I2C. В данном режиме поддерживается 7- и 10-битная адресация устройств, режимы работы с несколькими ведущими устройствами на шине, режим ведомого устройства с четырьмя аппаратно поддерживаемыми адресами. Поддерживается стандартный набор скоростей до 100 кбит/с, а также скоростной режим до 400 кбит/с. Ряд операций поддерживается также и в режимах низкого энергопотребления контроллера. Структурная схема eUSCU_B в режиме I2C представлена на рисунке 9 [3].
Рис. 9. Структурная схема eUSCU_B в режиме I2C
Средства разработки и отладки
В качестве среды разработки предлагается использовать Code Composer Studio (доступна бесплатная версия с ограничением по коду в 16 кбайт). Также контроллеры данного семейства поддерживаются IAR-EW430 v5.20.
Для быстрого старта разработки на MSP430FR5739 предлагается использовать отладочную плату MSP-EXP430FR5739 (рис. 10). Плата оснащена USB-программатором-эмулятором ezFET, трехосевым акселерометром, NTC-термистором, парой кнопок и разъемом для подключения стандартных радиомодулей TI для CC1xх, CC2xх, модуля Wi-Fi.
Рис. 10. Отладочная плата MSP-EXP430FR5739
Целевые приложения контроллеров
семейства MSP430FR57xx
Уникальное сочетание свойств контроллеров семейства MSP430FR57xx позволяет просто и элегантно решить ряд проблем в системах сбора и хранения данных, контроля и управления доступом, в ряде других встраиваемых приложений с автономным питанием.
Применение контроллеров с FRAM для узлов беспроводных сенсорных сетей существенно снижает затраты энергии на обновление программного обеспечения узла, позволяет предотвратить потери данных при выходе системы питания узла из строя или при разряде его источника питания.
Так, при удаленном обновлении программного обеспечения беспроводного узла может расходоваться почти месячный запас энергии, обеспечивающий работу приемопередатчика, стирание и запись блоков памяти, перемещение и хранение блоков данных. Контроллер с FRAM практически исключает затраты энергии и времени работы контроллера на запись новой прошивки - нет предварительного стирания блоков, меньшее время записи, побайтный режим записи. За счет этого расход ресурса источника питания сокращается примерно до четверти дня.
Аналогичная ситуация будет и с системами сбора и хранения данных, таких как трекеры, расходометры, сейсмодатчики, автоматические метеостанции, охранно-пожарные сигнализации, системы мониторинга жизнедеятельности. Способ записи и расхода энергии FRAM позволяют вести более комплексное наблюдение за счет большего по сравнению с EEPROM объема памяти и возможности длительного хранения данных. Отпадает необходимость во внешних носителях данных.
В системах контроля и управления доступом возникает проблема многократной перезаписи небольшого объема данных при небольших габаритах и энергопотреблении. Ресурсы EEPROM или Flash-памяти могут быть быстро исчерпаны. Контроллер с FRAM позволяет уменьшить число позиций в списке материалов, продлить срок службы устройства, использовать дополнительные алгоритмы для защиты данных.
Заключение
Лучшее в своем классе энергопотребление и богатый набор периферии позволяют использовать семейство для разработки бытовых автономных устройств, а также для промышленных применений. Микроконтроллеры с FRAM-памятью идеально подходят для построения автономных устройств с возможностью ведения длительного лога данных, узлов беспроводных систем сбора данных, работающих по стандартам ZigBee, 6LoWPAN.
В первой половине 2013 года Texas Instruments планирует представить контроллеры FRAM с объемом памяти до 64 К, уменьшенным временем выхода из спящего режима и богатым набором периферийных устройств.
Литература
1. Priya Thanigai. MSP430FR57xx FRAM Quality and Reliability // http://www.ti.com/lit/an/slaa526/slaa526.pdf2. Volker Rzehak. Low-Power FRAM Microcontrollers and Their Applications// http://www.ti.com/lit/wp/slaa502/slaa502.pdf
2. Volker Rzehak. Low-Power FRAM Microcontrollers and Their Applications//3. MSP430FR57xx Family User's Guide.// http://www.ti.com/lit/ug/slau272a/slau272a.pdf
4. MSP430 Microcontroller 16 bit Microcontroller 16 bit MCU - TI.com|// http://www.msp430.com/
5. FRAM Series Product Search from Texas Instruments// www.ti.com/fram
6. MSP430FR573x, MSP430FR572x Mixed Signal Microcontroller// http://www.ti.com/lit/ds/symlink/msp430fr5720.pdf
7. MSP430TM16-bit Ultra-Low Power MCUs - FRAM Series - MSP430FR5720 - TI.com// http://www.ti.com/product/msp430fr5720#technicaldocuments
8. MSP430FR57xx - новые микроконтроллеры с FRAM памятью// http://www.compel.ru/2011/05/19/msp430fr57xx-novye-mikrokontrollery-s-fram-pamyatyu/.
Получение технической информации, заказ образцов, поставка - e-mail: [email protected]