Муфты электромонтажные от производителя Fucon
РадиоЛоцман - Все об электронике

Внешняя периферия с последовательным интерфейсом для приложений на микроконтроллерах

В то время как инженеры часто оценивают микроконтроллеры (МК) с точки зрения состава интегрированных периферийных устройств, необходимых для конкретного приложения, имеется много случаев, когда нужно добавить к МК внешние функциональные устройства. Например, вам может понадобиться датчик или исполнительное устройство, физически близко расположенное к внешнему устройству, но удаленное от МК. Или вы можете посчитать, что бюджетный МК в сочетании с некоторой внешней периферией будет лучшим решением для данного приложения. В любом случае, имеется постоянно пополняемый список периферийных устройств для МК, которые используют для коммуникации с ним интерфейсы I2C или SPI. В статье мы рассмотрим некоторую типичную периферию и как ее можно использовать с популярными МК.

Электромеханические реле Hongfa – надежность и качество 19 января 2023

Оба интерфейса I2C и SPI широко поддерживаются в микроконтроллерах. В некоторых случаях вам придется выбирать один или другой, т.к. МК используют одинаковые внутренние ресурсы для поддержки или I2C, или SPI. Кроме того, понадобится некоторое программное обеспечение для обработки протокола последовательной шины, но практически каждый производитель МК обеспечивает легкодоступную программную поддержку.

Интерфейс I2C имеет преимущество за счет использования меньшего числа сигнальных линий и, следовательно, меньшего числа используемых выводов МК. Самая распространенная реализация – двунаправленная линия данных и линия тактирования,  поддерживающая полудуплексную связь. Как правило, МК действует в качестве ведущего устройства (master) на шине, которое может связываться с несколькими ведомым устройствам (slave), хотя встречаются более гибкие реализации интерфейса, где на шине несколько ведущих. Ведущий обращается к ведомому по адресу, который в последовательности передается первым, устраняя необходимость иметь дополнительные сигналы выбора устройства (Chip Select).

SPI интерфейс требует от МК наличия, как минимум, от трех до четырех линий ввода/вывода. Интерфейс использует отдельные линии данных для полнодуплексной коммуникации. Более того, используется специальная линия выбора ведомого, поэтому если имеется несколько периферийных устройств с SPI интерфейсом, вы можете просто использовать незадействованные линии ввода/вывода МК в качестве линий выбора ведомых.

SPI интерфейс, в целом, предоставляет более высокую производительность за счет полнодуплексной и высокоскоростной передачи данных. Частота тактового сигнала SPI может быть в диапазоне 20 – 40 МГц. Передача данных по интерфейсу I2C может вестись со скоростью 10 – 100 Кбит/с, но в некоторых случаях, при использовании новых микроконтроллеров, скорость может быть несколько выше.

Мотивация и особенности

Давайте теперь рассмотрим причины использования внешней периферии микроконтроллера, подключенной по последовательным интерфейсам, и доступные функции. Преобразователи данных (АЦП, ЦАП) являются самым простым примером такого типа периферии, которая используется очень часто. Еще одной причиной использования внешнего преобразователя данных является то, что вам может потребоваться более высокая точность, чем может предложить преобразователь, встроенный в выбранный микроконтроллер.

Рассмотрим некоторые преобразователи от компании Linear Technology. Компания предлагает микросхемы АЦП и ЦАП с интерфейсом I2C или SPI. Кроме того, все они являются более точными в сравнении с АЦП/ЦАП, встроенными в стандартные МК. Возьмем, к примеру, относительно новые 16-разрядные МК компании Renesas Technology семейства RL78. Многие устройства в семействе, доступные и сейчас, имеют встроенный 8-битный АЦП, в то время как некоторые предлагают встроенный 10-битный АЦП. Для сравнения, дискретные АЦП Linear Technology имеют разрешение от 8 до 24 бит, а ЦАП – 8 - 18 битное разрешение. Даже в 8- или 16-разрядной системе вы сможете использовать датчик, который требует высокого разрешения.

Рассмотрим один конкретный пример – одноканальный 16-битный АЦП LTC2451. Типовая схема включения микросхемы с интерфейсом I2C изображена на Рисунке 1. АЦП использует дельта-сигма модулятор и может выполнять 30 или 60 преобразований в секунду. Ошибка преобразования по всей шкале составляет 4 младших значащих разряда, а временя преобразования  позволяет мультиплексировать входы. Кроме того, микросхема очень компактна, выполнена в 8-выводном корпусе для поверхностного монтажа SOT-23 с размерами 2 × 3 мм.

Схема включения микросхемы АЦП LTC2451
Рисунок 1. 8-выводная микросхема АЦП LTC2451 предоставляет 16-битную точность и подключается к микроконтроллеру по интерфейсу I2C.

Компактность системы

Внешняя периферия также может способствовать реализации более компактной системы. Это может показаться нелогичным, т.к. в большинстве случаев мы думаем об интегрированной периферии, как о пути к миниатюризации. Но пока мы остановились на преобразователях данных, давайте рассмотрим пример совместного использования АЦП и МК от компании Microchip.

Компания Microchip предлагает широкий ассортимент АЦП и ЦАП с интерфейсами I²C и SPI. Сосредоточимся на одном примере – микросхеме 10-битного АЦП MCP3021 с интерфейсом I²C, преобразователь которой использует топологию последовательного приближения. Миниатюрное устройство выполнено в корпусе SOT-23 с пятью выводами, но предлагает высокую точность измерений, в сравнении с преобразователями, встроенными в бюджетные модели микроконтроллеров.

Также вы можете выбрать 6- или 8-выводный микроконтроллер компании Microchip или других производителей. Например, в семейство МК Microchip PIC10 входит множество устройств в 6-выводном корпусе SOT-23. Сочетание миниатюрного микроконтроллера и такого же миниатюрного АЦП может оказаться более компактным и дешевым решением, отвечающим требованиям вашего приложения, чем использование одного микроконтроллера со встроенным АЦП.

Гибкость периферии

Какой тип внешних периферийных устройств вы можете подключить к микроконтроллеру по последовательному интерфейсу? Список можно продолжать очень долго. Самый простой пример –  расширитель портов ввода/вывода микроконтроллеров. Многие бюджетные микроконтроллеры имеют малое количество линий ввода/вывода. Даже если у вас есть микроконтроллер с большим количеством выводов, иногда требуется, чтобы некоторые сигнальные линии физически были расположены дальше от МК, например ближе к какому-либо датчику.

Компания NXP Semiconductor предлагает микросхему расширителя портов PCA9502, которая может работать с ведущим на шине SPI или I²C. Микросхема имеет 8 линий вода/вывода и очень компактна – выполнена в корпусе SOT616 (4.1 × 4.1 мм). Также компания выпускает микросхемы серии SC16IS740/50/60, которые позволяют добавить в проект последовательный интерфейс UART c поддержкой скорости передачи данных до 5 Мбит/с. В состав SC16IS750 и SC16IS760 дополнительно входит 8-канальный расширитель портов ввода/вывода.

Тем не менее, более полезной может быть периферия, которая отвечает специфическим требованиям конкретного приложения. Например, Microchip предлагает широкий спектр цифровых потенциометров с интерфейсом I²C. Их можно использовать совместно с термисторами в приложениях контроля температуры. На Рисунке 2 показан пример, где потенциометр MCP4018 используется для калибровки термистора и учета его нелинейной характеристики.

Последовательно включенный цифровой потенциометр компании Microchip может использоваться в различных приложениях, в том числе для калибровки нелинейного термистора.
Рисунок 2. Последовательно включенный цифровой потенциометр компании Microchip может использоваться в различных приложениях, в том числе для калибровки нелинейного термистора.


Для повышения надежности приложений, связанных с измерением температуры, компания Microchip предлагает I2C датчики температуры. Датчик MCP9808 имеет точность ±0.5°С в диапазоне -20°С до +100°С и выпускается в различных корпусах, размеры которых не превышают 2 × 3 мм.

Ассортимент периферии с последовательными интерфейсами расширяется специальными устройствами для организации пользовательского или человеко-машинного интерфейса. Компания Microchip выпускает контроллер резистивного сенсорного экрана AR1000 (Рисунок 3), совместимый с интерфейсами I²C и SPI. Контроллер подключается к МК и поддерживает работу с 4-, 5- и 8-проводными сенсорными экранами различных производителей. Выходными данными контроллера являются цифровые координаты, которые отправляются непосредственно в МК по последовательному интерфейсу.

Контроллер сенсорного экрана Microchip AR1000
Рисунок 3. Контроллер сенсорного экрана Microchip AR1000 позволяет организовать современный пользовательский интерфейс в приложении.

Как вы видите, последовательные интерфейсы придают значительную гибкость приложениям на микроконтроллерах. В некоторых случаях I2C и SPI могут быть полезны при реализации функций, которые не интегрированы в микроконтроллер. Однако в таких случаях ограничивать свое внимание последовательными интерфейсами не стоит. Необходимо учитывать, как внешняя периферия может сказаться на размерах, энергопотреблении и стоимости системы. Кроме того, нужно убедиться, что вы не жертвуете в этом случае точностью при передаче сигнала между встроенной периферией и интерфейсом реального мира, где локальная периферия будет оптимальным вариантом в отношении точности. Вы можете также обнаружить, что распределенная периферия может внести некоторые преимущества, такие как компактность и более высокая точность системы.

digikey.com

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: MCU Serial Interfaces Can Link a Broad Set of Peripherals

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • "Интерфейс I2C имеет преимущество за счет использования меньшего числа сигнальных линий и, следовательно, меньшего числа используемых выводов МК. Самая распространенная реализация – двунаправленная линия данных и линия тактирования, поддерживающая полудуплексную связь" Не могу согласиться с данным текстом, да, количество выводов микросхемы меньше. Сигнал передается всего по 1 входу, что влечет за собой уменьшение тактовой частоты работы, а в результате - уменьшение производительности в N раз. Другой вопрос, когда в этом нет необходимости и можно выиграть в себестоимости.