Встроенное управление двигателем: новое семейство микроконтроллеров от Microchip
Продолжающиеся разработки в области производительности и интеграции микроконтроллеров продолжаются с такими продуктами, как PIC32MK.
Новое семейство PIC32MK разделено на две группы (подсемейства?): PIC32MK MC и PIC32MK GP. Номера деталей и другие формы идентификации продукта часто кажутся безнадежно неясными, но в этом случае метки «MC» и «GP» приятно просты: Microchip указывает, что подсемейство MC оптимизировано для приложений с управлением двигателем и что подсемейство GP является оптимизированный для приложений общего назначения. Я не уверен, что на самом деле можно оптимизировать что-то для универсальной функциональности, но это детали.,,, Я, конечно, ничего не имею против устройств общего назначения, но мне нравится идея микроконтроллеров, которые разработаны с учетом конкретного приложения. Ожидается, что электронные продукты сделают больше и в то же время будут развиваться быстрее, и это помогает, когда мы сможем использовать микроконтроллер, который уже настроен на те функции, которые нам, вероятно, понадобятся.
MCU или DSP?
Одна вещь, которая попалась мне на глаза, была частота процессора: 120 МГц. Затем я заметил поддержку DSP и математики с плавающей запятой и, конечно же, это 32-битное устройство (как указано в названии PIC32MK). Для меня это больше подтверждает, что линия между микроконтроллерами и DSP становится все более размытой.
Когда я впервые начал работать со встроенными системами, я не думаю, что мы бы использовали слово «микроконтроллер» для описания 32-разрядного устройства с плавающей запятой на 120 МГц, но теперь даже производитель согласен идентифицировать такой устройства как «MCU». В любом случае, моя точка зрения заключается в следующем: не позволяйте терминологии отвлекать вас от того, что это высокопроизводительные процессоры - они могут быть вполне адекватными для требовательных приложений, и они могут быть чрезмерными, если вы просто ищете базовый микроконтроллер,

Устройства PIC32MK включают в себя контроллер DMA (прямой доступ к памяти). Это еще одна особенность, которую я больше ассоциирую с DSP, чем с микроконтроллерами, хотя я считаю, что DMA становится все более распространенным среди MCU. В любом случае, я не жалуюсь - функциональность DMA серьезно помогает в определенных приложениях. Диаграмма взята из таблицы данных PIC32MK
Особенности

Диаграмма предоставлена Microchip
Вы можете видеть здесь, что у нас типичное множество цифровых периферийных устройств, аналоговых модулей, схем генератора и т. Д. По моему опыту, для микроконтроллеров очень часто есть интегрированные АЦП, но ЦАП и операционные усилители являются более редкими. Я понимаю, что подсемейство MC предлагает не один, а четыре встроенных операционных усилителя. Очень часто требуется использовать op-amp или two (или four) в конструкциях с смешанными сигналами, а использование встроенных устройств, как правило, намного удобнее.
Op-amps, которые интегрированы в микроконтроллеры, возможно, не известны своей выдающейся производительностью, но я предполагаю, что многие приложения могут справиться с любым качеством, предлагаемым встроенными усилителями. Одной вещью, на которую вам обязательно нужно следить, являются требования к стабильности.
Если вы прочитали серию отрицательных отзывов (особенно часть 8), вы знаете, что операционные усилители общего назначения должны быть «внутренне компенсированы», так что они менее склонны к колебаниям при включении в типичную схему усилителя с обратной связью. Часто эта компенсация такова, что операционный усилитель может быть настроен на единичное усиление и по-прежнему поддерживать адекватную фазовую маржу. Однако это не всегда так, и операционные усилители в семействе PIC32MK не являются стабильными при всех условиях:

Поэтому помните, что вы не можете использовать эти операционные усилители как буферы с единичным коэффициентом усиления, если вы явно не настроите их для режима с единичным усилением. Это удобная функция, позволяющая реализовать (стабильный) буфер, используя только один вывод (инвертирующий входной терминал) и внешние компоненты. Подробнее об этом можно узнать на стр. 483 таблицы данных PIC32MK.
Блок управления двигателем
Что именно квалифицирует устройства PIC32MK MC как оптимизированные для приложений управления двигателем? На странице продукта перечислены следующие функции, относящиеся к функции управления двигателем чипа:
- АЦП
- DACs
- ОУ
- компараторы
- Таймеры PWM
- интерфейсы квадратурного энкодера
Все они довольно общие, за исключением последнего. Я не отрицаю, что АЦП и ЦАП и операционные усилители и что не может быть полезно в приложениях с управлением двигателем, но они также полезны во многих других проектах. Но я никогда не видел «интерфейс квадратурного энкодера», указанный в спецификации MCU, поэтому давайте рассмотрим более подробно.
Интерфейс квадратурного энкодера (QEI) предназначен для работы с кодировщиками, то есть с устройствами, используемыми для получения обратной связи по положению от механических устройств. Вы можете увидеть длинный список функций на стр. 501 таблицы данных. Следующая диаграмма дает вам представление о сигналах, генерируемых кодером:

Диаграмма предоставлена Microchip
Дело здесь в том, что выходные сигналы энкодера не являются особенно простыми. Модуль QEI обеспечивает фильтрацию и выделенную логику декодирования, которая помогает микроконтроллеру правильно и удобно интерпретировать эти сигналы.
Если у вас есть опыт работы с устройствами PIC32, не стесняйтесь делиться своими мыслями в разделе комментариев.