Управление в реальном времени с C2000 от Texas Instruments
Вычисления в реальном времени
Приложения реального времени накладывают определенные требования: это скорость расчета алгоритмов управления системы с обратными связями и быстрая реакция на внештатные события. Микроконтроллеры C2000 построены на проприетарном ядре компании Texas Instruments — С28x, что делает их уникальными на рынке аналогичных устройств. Для расчета различных регуляторов в этих микроконтроллерах реализовано несколько вычислительных блоков (рис. 1).
Основным вычислительным модулем микроконтроллера является CPU — Central Processing Unit, частоту тактирования которого можно выбрать из диапазона 40–300 МГц. В CPU реализована аппаратная поддержка DSP-функций, позволяющая выполнять атомарные операции (чтение-изменение-запись) и умножение 32‑битных чисел за один цикл. CPU производит вычисления с фиксированной точкой.
Для увеличения производительности в C2000 есть несколько дополнительных вычислительных узлов. Для математических операций с плавающей точкой предусмотрен модуль FPU. Благодаря модулям VCU и CLA есть возможность разгрузить основное CPU-ядро и использовать его для дополнительных задач. Блок VCU (Vitterbi & Complex Math & CRC Unit) выполняет вычисления комплексной математики (быстрое преобразование Фурье, реализация цифровых фильтров) и обработку информации в телекоммуникационных приложениях, в частности, расчет контрольной суммы CRC и декодирование Витерби.
CLA (Control Law Accelerator) представляет собой отдельный сопроцессор с поддержкой плавающей точки, который работает параллельно с основным CPU и используется для обработки критичных по времени участков программы. CLA позволяет реализовать минимальную задержку между получением информации о регулируемом объекте посредством АЦП и воздействием на него необходимым периферийным модулем.
Дополнительным ускоряющим работу фактором является наличие контроллера прямого доступа к памяти DMA. Этот контроллер позволяет осуществлять обмен данными между различными периферийными модулями и внутренней памятью микроконтроллера без участия основного ядра CPU. Модуль DMA содержит до 32 каналов обмена данными.
Три направления C2000
Во всем семействе микроконтроллеров C2000 можно выделить три основных подсемейства: Piccolo, Delfino и Concerto (рис. 2), а также небольшую группу устройств, не попавших в эти направления. Разнообразие модельного ряда устройств на базе ядра C28x позволяет разработчику выбрать наиболее оптимальное устройство для решения конкретной задачи.
Направление Piccolo включает в себя микроконтроллеры с тактовой частотой до 90 МГц, которые могут опционально содержать дополнительные модули VCU, FPU и CLA. Практически все устройства серии Delfino, за исключением высокотемпературной модели, содержат модуль FPU. Тактовая частота микроконтроллеров этой серии достигает 300 МГц. Самым мощным представителем C2000 является подсемейство Concerto. Устройства этого подсемейства являются двухъядерным решением: дополнительно к ядру C28x добавлено ядро ARM Cortex M3, а также модули FPU и VCU. Всего в семейство микроконтроллеров C2000 входит более 150 совместимых по коду устройств, цена которых начинается от $3.
Аппаратные особенности
АЦП
Одним из основных узлов любой системы управления является аналого-цифровой преобразователь. Скорость работы 12‑битного ядра модуля АЦП в микроконтроллерах C2000 достигает 12,5 MSPS. Модуль АЦП содержит два устройства выборки и хранения и два восьмиканальных мультиплексора, что позволяет синхронно обрабатывать до восьми пар внешних сигналов. Запуск преобразования может осуществляться как программно, так и от аппаратных событий модуля ШИМ, внутренних таймеров либо внешних выводов. Структурная схема модуля АЦП представлена на рис. 3.
Аналоговый компаратор
Компаратор, реализованный в C2000, имеет две ключевые особенности.
Первой из них является возможность подключения к инвертирующему входу встроенного 10‑битного ЦАП. Этот ЦАП позволяет управлять порогом срабатывания компаратора, и его можно использовать для различных установок защиты в приложениях управления.
Второй особенностью компаратора является непосредственная связь с модулем ШИМ. В случае срабатывания компаратора выводы ШИМ устанавливаются в необходимое разработчику состояние, независимо от сигнала тактирования системы. Переключение выводов происходит в блоке обработки ошибки модуля ШИМ (рис. 4).
Эта особенность используется для быстрой реакции на внештатные события (перегрузка по току, короткое замыкание и др.). Количество встроенных аналоговых компараторов зависит от конкретной модели устройства.
ШИМ
В контроллерах серии C2000 содержится от 4 до 12 аппаратных модулей широтно-импульсной модуляции, каждый из которых имеет по два вывода с возможностью независимой модуляции. Помимо стандартных функций формирования симметричного и фронтового ШИМ-сигнала, поддерживаются аппаратные функции формирования «мертвой зоны» (для учета времени задержки переключения силовых ключей) и модуляция ШИМ-сигнала высокочастотной составляющей (для силовых приборов с импульсными трансформаторами в цепи управления).
Регистр периода и регистры сравнения снабжены дополнительными буферными регистрами, которые в официальной документации называются теневыми. Использование теневых регистров дает возможность загружать значение в активный регистр строго в определенный момент, синхронно с аппаратным событием. Это позволяет избежать ошибок и ложных срабатываний, которые могут возникнуть при непосредственной асинхронной записи в активный регистр.
С помощью блока обработки ошибки можно перевести выводы PWM_A и PWM_B в зависимости от требований приложения в единичное или нулевое состояние при появлении сигнала ошибки. В качестве последнего могут выступать до трех внешних сигналов и выходы встроенных компараторов.
Отдельно следует отметить наличие модуля ШИМ высокого разрешения — HRPWM. В этом модуле реализована технология MEP (micro edge positioner) — микропозиционирование фронта импульса. Использование этой технологии позволяет получить минимальную ширину импульса ШИМ-сигнала (65 пс в семействе Delfino C2834x). Этому же значению равно и минимальное приращение ширины между двумя соседними импульсами.
Интерфейсы передачи данных
Для обмена данными микроконтроллеры семейства С2000 содержат как стандартные для микроконтроллеров общего назначения интерфейсы I2C, SPI и SCI (более известный как UART), так и более специализированные — McBSP, eCAN, LIN.
Из особенностей следует отметить, что в модуле SPI реализована настраиваемая длина передаваемого слова — от 1 до 16 бит. Модули SCI и SPI содержат четырехуровневый FIFO-буфер приемопередачи.
Разработка приложений для С2000
Для разработки приложений для микроконтроллеров C2000 компания Texas Instruments предоставляет программное приложение Code Composer Studio. CCS является интегрированной средой разработки для встраиваемых микропроцессоров и контроллеров. Code Composer Studio предоставляет весь набор инструментов, необходимых для разработки и отладки встраиваемых приложений. При установке среды можно выбрать необходимый пакет компиляторов под конкретное семейство микроконтроллеров Texas Instruments. В набор инструментов входят редактор кода, среда сборки проекта, отладчик, симуляторы, операционная система реального времени и многое другое.
Из инструментов отладки нужно отметить возможность вывода данных из памяти контроллера на экран в виде графика (рис. 5) с их автоматическим обновлением, что позволяет проводить отладку без дополнительных инструментов визуализации данных, таких как осциллограф. Очень удобна функция изменения данных в памяти контроллера «на лету», напрямую — через окно отображения Expressions (рис. 5). Code Composer Studio поддерживает установку на операционные системы Windows и Linux.
Для поддержки разработчиков существует специальный ресурс знаний по микропроцессорам Texas Instruments [1], где представлено большое количество информации по встраиваемым процессорам этой фирмы. В частности, в разделе [2] представлено все необходимое для того, чтобы быстро приступить к использованию микроконтроллеров C2000 в новых разработках.
Предварительное знакомство с микроконтроллерами С2000 и оценку их возможностей можно выполнить на доступном отладочном средстве известной серии LaunchPad (рис. 6).
Оно реализовано на базе контроллера TMS320F28027 подсемейства Piccolo. Кроме того, LaunchPad можно использовать как микропроцессорный модуль в более сложных системах.
Заключение
Микроконтроллеры семейства C2000 компании Texas Instruments оптимальны для реализации систем управления реального времени. Архитектура, основанная на DSP-ядре с использованием продвинутой периферии управления, делает их уникальными на рынке микропроцессорных решений. Среда разработки приложений Code Composer Studio с большим количеством примеров под конкретную модель семейства позволяет быстро начать разработку собственных проектов с расширенными возможностями отладки.