Выпуск #1/2022
С. Аряшев, С. Власов, П. Зубковский, С. Сидоров
МИКРОКОНТРОЛЛЕР «КОМДИВ-МК»
МИКРОКОНТРОЛЛЕР «КОМДИВ-МК»
Просмотры: 2277
DOI: 10.22184/1992-4178.2022.212.1.118.120
Рассмотрен микроконтроллер «Комдив-МК», выпущенный ФГУ ФНЦ НИИСИ РАН. Он обладает пониженным энергопотреблением и предназначен в основном для использования в устройствах промышленного Интернета вещей. Приведена информация о структуре, характеристиках и возможных применениях данного микроконтроллера.
Рассмотрен микроконтроллер «Комдив-МК», выпущенный ФГУ ФНЦ НИИСИ РАН. Он обладает пониженным энергопотреблением и предназначен в основном для использования в устройствах промышленного Интернета вещей. Приведена информация о структуре, характеристиках и возможных применениях данного микроконтроллера.
Микроконтроллер «Комдив-МК»
С. Аряшев, к. т. н., С. Власов, д. т. н., П. Зубковский , С. Сидоров, к. ф.‑ м. н.
Один из ведущих российских разработчиков микропроцессоров ФГУ ФНЦ НИИСИ РАН выпустил микросхему К5500ВК018 – микроконтроллер «Комдив-МК». Он обладает пониженным энергопотреблением и предназначен в основном для использования в устройствах промышленного Интернета вещей. О структуре, характеристиках и возможных применениях нового микроконтроллера рассказывается в статье.
Микроконтроллер «Комдив-МК» разработан на основе отечественных IP-блоков и содержит 64‑разрядное суперскалярное RISC-микропроцессорное ядро с архитектурой КОМДИВ64 (совместимо с MIPS64) и встроенные системные и периферийные контроллеры.
Список функций, выполняемых микроконтроллером «Комдив-МК», включает в себя прием информации с датчиков, в том числе аналоговых, прием информации по интерфейсам последовательной связи; нормализацию измеренных величин; ПИД-регулирование; циклическое самотестирование; управление актуаторами; информационное взаимодействие с верхним управляющим уровнем.
Обширный набор периферийных контроллеров позволяет строить на основе микроконтроллера «Комдив-МК» системы автоматизированного управления для широкого спектра применений и гибко настраивать их для различных задач. Основной сферой использования «Комдив-МК» является управление средствами автоматизации объектов ТЭК, промышленности, ЖКХ, транспорта и др. Кроме того, «Комдив-МК» может применяться для сбора и обработки данных в распределенных системах управления при автоматизации технологически-сложных объектов.
Основные технические характеристики микроконтроллера:
Состав микроконтроллера «Комдив-МК»
Ядро
Основа микроконтроллера – 64‑разрядное целочисленное ядро с архитектурой КОМДИВ64 и сопроцессор вещественной арифметики, соответствующий стандарту IEEE 754 с поддержкой вещественных чисел одинарной (32 разряда) и двойной (64 разряда) точности, а также пар вещественных чисел одинарной точности.
Высокая производительность достигается за счет 128‑разрядной внутренней шины и 7‑ступенчатого суперскалярного конвейера с предвыборкой инструкций и возможностью выполнения двух команд за такт, а также двухуровневой кеш-памяти: кеш-памяти первого уровня для команд и данных объемом по 16 Кбайт, общей кеш-памяти второго уровня объемом 512 Кбайт.
Виртуальная память поддержана буфером ассоциативной трансляции виртуальных адресов (JTLB) на 64 адреса (128 страниц).
Имеется быстрая встроенная статическая память на 512 Кбайт.
Встроенные контроллеры и другие блоки
Контроллер динамической памяти поддерживает до 2 Гбайт синхронной динамической памяти типа DDR3 / DDR3L SDRAM, при этом логическая модель контроллера памяти одинакова для DDR3 с напряжением питания 1,5 В и для DDR3L с напряжением питания 1,35 В. Разрядность шины данных составляет 16 бит.
Блок таймеров включает восемь однотипных независимых 64‑разрядных таймеров-счетчиков и 64‑разрядный сторожевой таймер. Работа всех таймеров возможна также в 32‑разрядном режиме. Каждый таймер-счетчик и сторожевой таймер имеют программируемый предделитель частоты и работают на одной из двух частот – опорной (частота системной шины) и внешней. Отмеряемые временные интервалы – от 1 такта. Типовое время срабатывания сторожевого таймера – 10 с. Любой таймер-счетчик также может быть сторожевым. Таймеры поддерживают функции регистрации событий, режимы ШИМ и меандр.
Контроллер прерываний на 48 входов перераспределяет все прерывания на шесть линий запросов на прерывание процессору. Контроллер поддерживает арбитрацию одновременных запросов, по фиксированным приоритетам; возвращает запрограммированный вектор прерывания в соответствии с приоритетом.
Блок регистров системного контроллера предназначен для управления поведением системы в целом (частоты, режимы и пр.).
Два контроллера Ethernet поддерживают режимы 10 / 100 Мбит / с, полу- / полный дуплекс, внутреннюю и внешнюю петли для диагностических целей, механизмы борьбы с блокировками канала Ethernet, управление потоком в соответствии со стандартом IEEE 802.3-2005, набор гибких схем адресной фильтрации входящих пакетов. Для связи с PHY используется интерфейс MII (RMII).
Контроллер EtherCAT содержит два порта, подключенных к тем же выводам, что и Ethernet. Блок каждого из двух портов EtherCAT производит прием и передачу данных от внешней микросхемы приемопередатчика Ethernet 100 Мбит / с с использованием интерфейса MII, управляет функционированием микросхемы приемопередатчика Ethernet по интерфейсу управления MI (management interface).
Пять контроллеров последовательных интерфейсов RS‑232C имеют типовой программный интерфейс, передающий и приемный буферы FIFO глубиной по 255 байт каждый.
Три контроллера шины I2C выполняют передачу данных на частотах 100 кГц, 400 кГц и 1 МГц в режимах ведущего (master) и ведомого (target), с поддержкой основной (7 бит) и расширенной (10 бит) адресаций. При наличии нескольких ведущих на шине выполняется штатная арбитрация.
Контроллер интерфейса QSPI (Quad Serial Peripheral Interface) используется для управления загрузочным ПЗУ. По включению питания осуществляет протокол загрузки, совместимый с обычным SPI.
Контроллер реализует режим ведущего. Данное устройство включает DMA-контроллер для пакетных передач из / в памяти. Доступен отображенный в память канал чтения из QSPI ведомого с аппаратной реализацией протокола QSPI. Адресуется одно устройство.
В адресное пространство процессора отражено прямо адресуемое окно размером в 1 Мбайт.
Три контроллера интерфейса SPI функционируют в режиме ведущего с выбором до четырех устройств (SPI0-4 CS, SPI1-4 CS, SPI2-1 CS). Устройства включают DMA-контроллер для пакетных передач из / в памяти. В адресное пространство процессора отражено прямо адресуемое окно размером в 16 Мбайт от каждого контроллера. Программируемая скорость – до 12 Мбит / с.
Контроллер прямого доступа в память (IDMA) 12‑канальный. Поддерживает передачи «память – память», «память – ЦАП» и «АЦП – память», «память – UART» в обе стороны. Задавать передачу можно как с использованием цепочки дескрипторов, так и в регистрах.
Два контроллера интерфейса CAN 2.0A / B с программируемой скоростью передачи информации до 1 Мбит / с поддерживают стандартный / расширенный тип сообщений; удаленный запрос данных; 32 независимых буфера, работающих либо на прием, либо на передачу; аппаратную фильтрацию принимаемых сообщений для каждого приемного буфера отдельно; режим автоответа при удаленном запросе; режим самотестирования.
Контроллер интерфейса USB для встроенных применений представляет собой Host-контроллер интерфейсов USB 2.0 и USB 1.1. Для связи с приемопередатчиками USB используется интерфейс ULPI.
Блок АЦП предназначен для измерений и контроля напряжений внешних и внутренних датчиков. Внешних каналов – 8, внутренних – 3, разрядность – 12 бит. Скорость выборок – не менее 50 в секунду. Поддерживаются следующие режимы:
Блок АЦП включает индивидуальные цифровые компараторы на каждый канал измерений и внутренний буфер измерений с возможностью DMA-передачи измерений «контроллер – память».
Блок также позволяет измерять внутренние параметры микросхемы, такие как температуру и напряжения.
Блок ЦАП предназначен для выставления заданного уровня напряжения относительного опорного на выводах микросхемы. Контроллер ЦАП реализует четыре аналоговых канала. Разрядность канала составляет 14 бит, частота выставления кодов – до 500 кГц.
Поддерживаются два режима работы ЦАП: статический, с заданием значений в регистре, и DMA – требуемый уровень напряжения задается списком значений в памяти.
Host-контроллер SDHC / SDIO пригоден для построения высокоскоростных сетевых средств защиты с функциями криптографической защиты и совместим со спецификациями SD Host Controller Standard Specification Version 4.2, SD Physical Layer Simplified Specification Version 3.01, MMC Specification Version 4.5. Поддерживает 1- и 4‑разрядные интерфейсы SDIO, сигналы детектирования карты и защиты от записи, прерывания и режимы передачи ADMA2. Контроллер позволяет вычислять CRC для данных и команд, программировать частоту тактового сигнала для SDIO. Внутренняя буферная память размером 2 Кбайт определяет максимальный размер блока данных. Есть возможность детектирования таймаута при передачах.
Контроллер часов реального времени RTC содержит столетний (2000–2099 гг.) Григорианский календарь (год, месяц, день и день недели) с учетом високосных годов. Время с точностью до секунды представлено в 24‑часовом формате (часы, минуты, секунды). Минимальное программно-видимое разрешение часов составляет 500 мс. Имеется встроенный однократный / регулярный будильник. Возможна цифровая подстройка точности хода часов.
Квадратурный декодер преобразует цифровой сигнал с датчика положения вала, позволяя вычислять скорость, направление вращения, а также текущее положение вала. Содержит антидребезговый фильтр.
Блок разовых команд GPIO содержит 48 управляющих линий ввода-вывода, разделенных на шесть портов. Все восемь линий каждого порта могут быть использованы на выход для передачи управляющих сигналов и выставлять прерывание по изменению уровня входного сигнала. Предусмотрены фильтрация дребезга на входе порта, защелкивание временной метки события на входе порта.
Контроллер внутрисхемной отладки EJTAG обеспечивает отладочный режим, загрузку программного обеспечения (ПО) по линии JTAG, возможность остановки ядра по команде из отладчика, возможность чтения памяти DDR и архитектурно-видимых регистров в режиме отладки, возможность выполнения пошаговой отладки ПО в исходных кодах (на языках С, С++) при помощи отладчика (требуется поддержка со стороны ПО отладчика).
Блок управления режимами энергосбережения позволяет программно отключать тактовую частоту неиспользуемых блоков микроконтроллера.
Программное обеспечение
Программирование микроконтроллера осуществляется на языке С для работы в среде операционной системы реального времени ОС РВ «Багет 2.6» разработки ФГУ ФНЦ НИИСИ РАН. Инструментальное кросс-средство программирования Си-компилятор СКРВ «Багет 3.3» функционирует на инструментальной ЭВМ в среде ОС Linux. Для отладки программ применяется отладчик ОРВ 2.6.
Для микроконтроллера К5500ВК018 разработаны библиотеки программ, работающие в среде ОС РВ «Багет 2.6» и обеспечивающие работу со специализированными протоколами: Modbus RTU, Modbus TCP, МЭК 60870-5-101, МЭК 60870-5-104, OPC UA.
Возможна также разработка программ для работы в среде ОС Linux, функционирующей на микроконтроллере.
Аппаратные средства разработки
В качестве отладочной платы для разработки программного обеспечения и освоения возможностей микроконтроллера применяется программируемый логический контроллер ПЛК «Багет-ПЛК1-01» на базе К5500ВК018. ●
С. Аряшев, к. т. н., С. Власов, д. т. н., П. Зубковский , С. Сидоров, к. ф.‑ м. н.
Один из ведущих российских разработчиков микропроцессоров ФГУ ФНЦ НИИСИ РАН выпустил микросхему К5500ВК018 – микроконтроллер «Комдив-МК». Он обладает пониженным энергопотреблением и предназначен в основном для использования в устройствах промышленного Интернета вещей. О структуре, характеристиках и возможных применениях нового микроконтроллера рассказывается в статье.
Микроконтроллер «Комдив-МК» разработан на основе отечественных IP-блоков и содержит 64‑разрядное суперскалярное RISC-микропроцессорное ядро с архитектурой КОМДИВ64 (совместимо с MIPS64) и встроенные системные и периферийные контроллеры.
Список функций, выполняемых микроконтроллером «Комдив-МК», включает в себя прием информации с датчиков, в том числе аналоговых, прием информации по интерфейсам последовательной связи; нормализацию измеренных величин; ПИД-регулирование; циклическое самотестирование; управление актуаторами; информационное взаимодействие с верхним управляющим уровнем.
Обширный набор периферийных контроллеров позволяет строить на основе микроконтроллера «Комдив-МК» системы автоматизированного управления для широкого спектра применений и гибко настраивать их для различных задач. Основной сферой использования «Комдив-МК» является управление средствами автоматизации объектов ТЭК, промышленности, ЖКХ, транспорта и др. Кроме того, «Комдив-МК» может применяться для сбора и обработки данных в распределенных системах управления при автоматизации технологически-сложных объектов.
Основные технические характеристики микроконтроллера:
- частота процессорного ядра: до 300 МГц;
- диапазон рабочих температур: от –40 до 85 °C;
- напряжения питания: 1,0; 1,35 / 1,5; 3,0 В;
- максимальная потребляемая мощность: 0,5 Вт;
- корпус: BGA 256, металлополимерный, 17 × 17 × 1,6 мм.
- Структурная схема «Комдив-МК» представлена на рис. 1.
Состав микроконтроллера «Комдив-МК»
Ядро
Основа микроконтроллера – 64‑разрядное целочисленное ядро с архитектурой КОМДИВ64 и сопроцессор вещественной арифметики, соответствующий стандарту IEEE 754 с поддержкой вещественных чисел одинарной (32 разряда) и двойной (64 разряда) точности, а также пар вещественных чисел одинарной точности.
Высокая производительность достигается за счет 128‑разрядной внутренней шины и 7‑ступенчатого суперскалярного конвейера с предвыборкой инструкций и возможностью выполнения двух команд за такт, а также двухуровневой кеш-памяти: кеш-памяти первого уровня для команд и данных объемом по 16 Кбайт, общей кеш-памяти второго уровня объемом 512 Кбайт.
Виртуальная память поддержана буфером ассоциативной трансляции виртуальных адресов (JTLB) на 64 адреса (128 страниц).
Имеется быстрая встроенная статическая память на 512 Кбайт.
Встроенные контроллеры и другие блоки
Контроллер динамической памяти поддерживает до 2 Гбайт синхронной динамической памяти типа DDR3 / DDR3L SDRAM, при этом логическая модель контроллера памяти одинакова для DDR3 с напряжением питания 1,5 В и для DDR3L с напряжением питания 1,35 В. Разрядность шины данных составляет 16 бит.
Блок таймеров включает восемь однотипных независимых 64‑разрядных таймеров-счетчиков и 64‑разрядный сторожевой таймер. Работа всех таймеров возможна также в 32‑разрядном режиме. Каждый таймер-счетчик и сторожевой таймер имеют программируемый предделитель частоты и работают на одной из двух частот – опорной (частота системной шины) и внешней. Отмеряемые временные интервалы – от 1 такта. Типовое время срабатывания сторожевого таймера – 10 с. Любой таймер-счетчик также может быть сторожевым. Таймеры поддерживают функции регистрации событий, режимы ШИМ и меандр.
Контроллер прерываний на 48 входов перераспределяет все прерывания на шесть линий запросов на прерывание процессору. Контроллер поддерживает арбитрацию одновременных запросов, по фиксированным приоритетам; возвращает запрограммированный вектор прерывания в соответствии с приоритетом.
Блок регистров системного контроллера предназначен для управления поведением системы в целом (частоты, режимы и пр.).
Два контроллера Ethernet поддерживают режимы 10 / 100 Мбит / с, полу- / полный дуплекс, внутреннюю и внешнюю петли для диагностических целей, механизмы борьбы с блокировками канала Ethernet, управление потоком в соответствии со стандартом IEEE 802.3-2005, набор гибких схем адресной фильтрации входящих пакетов. Для связи с PHY используется интерфейс MII (RMII).
Контроллер EtherCAT содержит два порта, подключенных к тем же выводам, что и Ethernet. Блок каждого из двух портов EtherCAT производит прием и передачу данных от внешней микросхемы приемопередатчика Ethernet 100 Мбит / с с использованием интерфейса MII, управляет функционированием микросхемы приемопередатчика Ethernet по интерфейсу управления MI (management interface).
Пять контроллеров последовательных интерфейсов RS‑232C имеют типовой программный интерфейс, передающий и приемный буферы FIFO глубиной по 255 байт каждый.
Три контроллера шины I2C выполняют передачу данных на частотах 100 кГц, 400 кГц и 1 МГц в режимах ведущего (master) и ведомого (target), с поддержкой основной (7 бит) и расширенной (10 бит) адресаций. При наличии нескольких ведущих на шине выполняется штатная арбитрация.
Контроллер интерфейса QSPI (Quad Serial Peripheral Interface) используется для управления загрузочным ПЗУ. По включению питания осуществляет протокол загрузки, совместимый с обычным SPI.
Контроллер реализует режим ведущего. Данное устройство включает DMA-контроллер для пакетных передач из / в памяти. Доступен отображенный в память канал чтения из QSPI ведомого с аппаратной реализацией протокола QSPI. Адресуется одно устройство.
В адресное пространство процессора отражено прямо адресуемое окно размером в 1 Мбайт.
Три контроллера интерфейса SPI функционируют в режиме ведущего с выбором до четырех устройств (SPI0-4 CS, SPI1-4 CS, SPI2-1 CS). Устройства включают DMA-контроллер для пакетных передач из / в памяти. В адресное пространство процессора отражено прямо адресуемое окно размером в 16 Мбайт от каждого контроллера. Программируемая скорость – до 12 Мбит / с.
Контроллер прямого доступа в память (IDMA) 12‑канальный. Поддерживает передачи «память – память», «память – ЦАП» и «АЦП – память», «память – UART» в обе стороны. Задавать передачу можно как с использованием цепочки дескрипторов, так и в регистрах.
Два контроллера интерфейса CAN 2.0A / B с программируемой скоростью передачи информации до 1 Мбит / с поддерживают стандартный / расширенный тип сообщений; удаленный запрос данных; 32 независимых буфера, работающих либо на прием, либо на передачу; аппаратную фильтрацию принимаемых сообщений для каждого приемного буфера отдельно; режим автоответа при удаленном запросе; режим самотестирования.
Контроллер интерфейса USB для встроенных применений представляет собой Host-контроллер интерфейсов USB 2.0 и USB 1.1. Для связи с приемопередатчиками USB используется интерфейс ULPI.
Блок АЦП предназначен для измерений и контроля напряжений внешних и внутренних датчиков. Внешних каналов – 8, внутренних – 3, разрядность – 12 бит. Скорость выборок – не менее 50 в секунду. Поддерживаются следующие режимы:
- режимы преобразования: однократный режим, режим сканирования, прерывистый режим;
- унитарный и дифференциальный режимы измерения с усреднением или без усреднения измеряемых параметров;
- режим автокалибровки для автоматической подстройки шкалы измерений;
- программный запуск измерений или автоматический запуск по событиям от таймеров или внешнего сигнала;
- режим экономичного энергопотребления с отключением блока АЦП.
Блок АЦП включает индивидуальные цифровые компараторы на каждый канал измерений и внутренний буфер измерений с возможностью DMA-передачи измерений «контроллер – память».
Блок также позволяет измерять внутренние параметры микросхемы, такие как температуру и напряжения.
Блок ЦАП предназначен для выставления заданного уровня напряжения относительного опорного на выводах микросхемы. Контроллер ЦАП реализует четыре аналоговых канала. Разрядность канала составляет 14 бит, частота выставления кодов – до 500 кГц.
Поддерживаются два режима работы ЦАП: статический, с заданием значений в регистре, и DMA – требуемый уровень напряжения задается списком значений в памяти.
Host-контроллер SDHC / SDIO пригоден для построения высокоскоростных сетевых средств защиты с функциями криптографической защиты и совместим со спецификациями SD Host Controller Standard Specification Version 4.2, SD Physical Layer Simplified Specification Version 3.01, MMC Specification Version 4.5. Поддерживает 1- и 4‑разрядные интерфейсы SDIO, сигналы детектирования карты и защиты от записи, прерывания и режимы передачи ADMA2. Контроллер позволяет вычислять CRC для данных и команд, программировать частоту тактового сигнала для SDIO. Внутренняя буферная память размером 2 Кбайт определяет максимальный размер блока данных. Есть возможность детектирования таймаута при передачах.
Контроллер часов реального времени RTC содержит столетний (2000–2099 гг.) Григорианский календарь (год, месяц, день и день недели) с учетом високосных годов. Время с точностью до секунды представлено в 24‑часовом формате (часы, минуты, секунды). Минимальное программно-видимое разрешение часов составляет 500 мс. Имеется встроенный однократный / регулярный будильник. Возможна цифровая подстройка точности хода часов.
Квадратурный декодер преобразует цифровой сигнал с датчика положения вала, позволяя вычислять скорость, направление вращения, а также текущее положение вала. Содержит антидребезговый фильтр.
Блок разовых команд GPIO содержит 48 управляющих линий ввода-вывода, разделенных на шесть портов. Все восемь линий каждого порта могут быть использованы на выход для передачи управляющих сигналов и выставлять прерывание по изменению уровня входного сигнала. Предусмотрены фильтрация дребезга на входе порта, защелкивание временной метки события на входе порта.
Контроллер внутрисхемной отладки EJTAG обеспечивает отладочный режим, загрузку программного обеспечения (ПО) по линии JTAG, возможность остановки ядра по команде из отладчика, возможность чтения памяти DDR и архитектурно-видимых регистров в режиме отладки, возможность выполнения пошаговой отладки ПО в исходных кодах (на языках С, С++) при помощи отладчика (требуется поддержка со стороны ПО отладчика).
Блок управления режимами энергосбережения позволяет программно отключать тактовую частоту неиспользуемых блоков микроконтроллера.
Программное обеспечение
Программирование микроконтроллера осуществляется на языке С для работы в среде операционной системы реального времени ОС РВ «Багет 2.6» разработки ФГУ ФНЦ НИИСИ РАН. Инструментальное кросс-средство программирования Си-компилятор СКРВ «Багет 3.3» функционирует на инструментальной ЭВМ в среде ОС Linux. Для отладки программ применяется отладчик ОРВ 2.6.
Для микроконтроллера К5500ВК018 разработаны библиотеки программ, работающие в среде ОС РВ «Багет 2.6» и обеспечивающие работу со специализированными протоколами: Modbus RTU, Modbus TCP, МЭК 60870-5-101, МЭК 60870-5-104, OPC UA.
Возможна также разработка программ для работы в среде ОС Linux, функционирующей на микроконтроллере.
Аппаратные средства разработки
В качестве отладочной платы для разработки программного обеспечения и освоения возможностей микроконтроллера применяется программируемый логический контроллер ПЛК «Багет-ПЛК1-01» на базе К5500ВК018. ●
Отзывы читателей