32‑разрядный микроконтроллер 1986ВЕ4У компании «Миландр» с 24‑битным ΣΔ-АЦП
Применение данного микроконтроллера позволяет повысить точность измерительной аппаратуры на базе современных высокоточных аналого-цифровых и цифро-аналоговых преобразователей в совокупности с цифровой обработкой сигналов на базе жесткой логики и высокопроизводительного процессорного ядра.
Микроконтроллер построен на базе малопотребляющего процессорного RISC-ядра ARM Cortex-M0 с тактовой частотой до 36 МГц. Максимальный динамический ток потребления микросхемы не превышает 20 мА, а в статическом режиме не более 10 мкА. Это обеспечивается наличием различных режимов энергопотребления как ядра, так и периферийных блоков, что позволяет охватить большой спектр приложений с различными критериями энергосбережения.
Микроконтроллер содержит 128 кбайт флэш-памяти программ и 16 кбайт ОЗУ данных.
Структурная схема микроконтроллера приведена на рис. 1. Ядро микроконтроллера включает трехуровневый конвейер и имеет архитектуру фон Неймана. Ядро поддерживает систему команд ARMv6‑M, предусматривающую как 16‑разрядные инструкции Thumb, так и 32‑разрядные Thumb‑2. Для обеспечения полной отладки программ в ядро интегрирован двухпроводной отладочный интерфейс Serial Wire. Помимо микропроцессорного ядра, микроконтроллер содержит в своем составе обширный набор периферийных блоков, как аналоговых, так и цифровых. Особенностью микросхемы является наличие восьми независимых 24‑битных Σ∆-АЦП. Каждый Σ∆-АЦП может быть включен или отключен независимо и использоваться самостоятельно. Каждый Σ∆-АЦП имеет отдельный канал прямого доступа в память. Дополнительный 12‑битный восьмиканальный АЦП последовательного приближения используется для мониторинга напряжения питания основного или батарейного доменов, а также для измерения температуры или захвата внешнего сигнала. Аналоговая схема компаратора обеспечивает сравнение двух сигналов от различных источников: трех внешних портов, внутренней шкалы напряжений и внутреннего источника опорного напряжения. ЦАП с временем установления до 5 мкс позволяет формировать аналоговые сигналы на выходе микросхемы как от внешнего, так и от внутреннего опорного напряжения. Помимо этого, микроконтроллер снабжен традиционными интерфейсами UART и SSP, имеет два 16‑разрядных таймера с четырьмя каналами схем захвата и ШИМ с функциями формирования «мертвой зоны» и аппаратной блокировки. Также в микросхему интегрированы системный 24‑разрядный таймер и два сторожевых таймера.
Встроенные RC-генераторы 8 МГц (HSI) и 40 кГц (LSI), внешние осцилляторы 2–16 МГц (HSE) и 32 кГц (LSE) и схема умножения тактовой частоты PLL для ядра позволяют гибко настраивать скорость работы микроконтроллера.
За счет регулировки частоты периферийных блоков архитектура системной шины позволяет уменьшить потребление всей системы. Контроллер прямого доступа в память DMA способствует ускорению обмена информацией между ОЗУ и периферией без участия процессорного ядра.
Встроенный регулятор, предназначенный для формирования питания внутренней цифровой части, формирует напряжение 1,8 В и не требует дополнительных внешних элементов. Таким образом, для работы микроконтроллера достаточно одного внешнего напряжения питания в диапазоне от 2,2 до 3,6 В. Также в микроконтроллере реализован батарейный домен — часть схемы, которая может использовать питание от батарейки и продолжает действовать при отсутствии основного питания. В батарейном домене могут быть сохранены специальные флаги и работают часы реального времени. Встроенные детекторы напряжения питания способны отслеживать уровень внешнего основного питания, уровень напряжения питания на батарее.
Особенность микросхемы, в отличие от ранее разработанных микроконтроллеров серии 1986ВЕ, заключается в том, что она не содержит масочное ПЗУ с постоянной стартовой программой загрузки. Стартовая программа применяется для запуска пользовательской программы в обычном режиме либо для выполнения операции перепрограммирования памяти программ в режиме программирования. Стартовая программа хранится в специализированной странице встроенной флэш-памяти, как и программа пользователя, и помещается в нее на этапе производства. Тем не менее по желанию пользователя программа стартовой загрузки может быть самостоятельно модифицирована и обновлена во флэш-памяти. В оригинальной версии программы стартового загрузчика реализованы два режима работы: режим запуска выполнения основной пользовательской программы и режим UART-загрузчик для перепрограммирования памяти программ. При необходимости можно модифицировать программу-загручик или полностью переписать ее под свой проект. Для упрощения процесса написания программ для среды Keil uVision V5 создан специальный пакет стандартной библиотеки для работы со всеми периферийными устройствами данного микроконтроллера. Такой пакет доступен для скачивания с сайта компании «Миландр» (www.milandr.ru) и может быть подключен с помощью утилиты Pack Installer, входящей в среду Keil. Программная библио-тека также содержит примеры программ для работы с большинством периферийных устройств, которые предложены в качестве основы для написания собственных программ.
Микросхема выпускается в 64‑выводном металлокерамическом корпусе и рассчитана для работы в широком температурном диапазоне от –60 до +125 °C. Микроконтроллер также доступен для коммерческих применений в корпусе LCC‑64 (QFN‑64).
При проектировании Σ∆-АЦП учитывались характеристики подобных зарубежных аналогов, с целью будущего их замещения на микроконтроллер нашей компании. Прежде всего ориентиром являлась микросхема серии ADuC706x фирмы Analog Devices. В результате схема цифровой обработки цифровых отсчетов Σ∆-АЦП в составе микроконтроллера, состоящая из цепочки sinc4, двух полуполосовых и IIR-фильтра, позволяет формировать 24‑разрядные цифровые отсчеты при полосе входного сигнала от 1 Гц до 4 кГц. При этом амплитуда входного дифференциального сигнала может находиться в диапазоне до 2,4 В. Фильтр sinc4 реализован на жесткой логике, остальные фильтры выполнены на простейшем стековом вычислителе с масочным ПЗУ. Аппаратный блок контроллера Σ∆-АЦП используется для выполнения цифровой фильтрации в трактах Σ∆-АЦП, в том числе для цифрового усиления сигнала.
В отличие от АЦП последовательных приближений Σ∆-АЦП имеет собственные выводы питания, что обеспечивает уменьшение шумов цифровых схем. Σ∆-АЦП построен на базе Σ∆-модулятора 2‑го порядка с однобитным квантователем. В модулятор встроен усилитель с программируемым коэффициентом усиления (PGA). Цифровой фильтр с перестраиваемым коэффициентом децимации в совокупности с возможностью изменения тактовой частоты позволяет получать данные на выходе Σ∆-АЦП со скоростями от 8 до 4000 отсч./с. В качестве опорного напряжения Vref Σ∆-АЦП может использовать встроенный или внешний источник опорного напряжения с уровнем 1,2 В.
Входной сигнал, подаваемый на Σ∆-АЦП, должен быть дифференциальным и может иметь амплитуду до 2Vref. Кроме того, входы Σ∆-АЦП должны быть смещены по синфазному напряжению на уровень середины питания. Для устранения собственного смещения и низкочастотных шумов в Σ∆-АЦП реализован режим прерывателя входного сигнала. Эффективная разрядность Σ∆-АЦП зависит от полосы считываемых данных. В таблице 1 приведены значения шумов микросхемы для разных полос.
Полоса измерения, Гц |
СКО шума, мкВ |
1–4000 |
55 |
1–500 |
29 |
1–25 |
11 |
1–2 |
1,7 |
Применение встроенного PGA позволяет уменьшить шум, приведенный ко входу, и обеспечить большую чувствительность. В таблице 2 показаны значения среднеквадратичного отклонения (СКО) шума, приведенного ко входу, для полосы 1–24 Гц для различных коэффициентов усиления.
Усиление PGA, дБ |
СКО шума (1–24 Гц), приведенного ко входу, мкВ |
0 |
11 |
6 |
8,6 |
12 |
5,4 |
24 |
3,8 |
Структура и реализация Σ∆-АЦП позволяет также оцифровывать достаточно высокочастотные сигналы с низкими искажениями. На рис. 2 представлен спектр оцифрованного сигнала частотой 1 кГц.
В таблице 3 приведены типичные значения THD для различных усилений PGA при подаче на вход АЦП дифференциального сигнала с частотой 1 кГц.
Усиление PGA, дБ |
THD, дБ |
0 |
94 |
6 |
92 |
12 |
90 |
24 |
88 |
В настоящее время доступны ознакомительные образцы микросхемы, серийные поставки начнутся в начале 2015 года. Для начала работы с микросхемой создана демонстрационная плата, изображенная на рис. 3.
Плата имеет специальные разъемы для подачи различных аналоговых сигналов, обеспечивает связь с другими устройствами через интерфейс RS‑232. Для отображения информации может использоваться небольшой LCD-дисплей. Для отладки программ существуют различные отладочные адаптеры, например Keil Ulink2 или J‑Link в режиме SWD, подключаемые к специальному отладочному разъему.