Многофункциональные УВВ (устройство ввода – вывода).
В данном разделе будет представлена общая информация об устройствах ввода-вывода (УВВ), которые доступны пользователю в различных версиях микроконтроллеров STM32. Для удобства УВВ разделяются на две группы: микроконтроллерные УВВ общего назначения и коммуникационные УВВ. Все УВВ микроконтроллеров STM32 отличаются высокой степенью сложности и очень плотно связаны с блоком ПДП. Каждое УВВ обладает избыточными схемными блоками, которые позволяют минимизировать участие ЦПУ в выполнении каждым конкретным УВВ задач.
На первый взгляд набор встроенных УВВ, в т. ч. два АЦП, таймеры общего назначения, I2C, SPI, CAN, USB и часы реального времени (ЧРВ), кажется идентичным самым простым микроконтроллерам. Но если детально рассмотреть каждое из этих УВВ, то выяснится, что они гораздо более сложные. Например, 12-битный АЦП оборудован датчиком температуры[a1] и поддерживает несколько режимов преобразования, а МК с двумя АЦП могут использовать их совместно еще в девяти режимах преобразования. По аналогии с этим, каждый из четырех таймеров, оснащенных блоками захвата и сравнения, могут использоваться как отдельно, так и совместно, образую более сложные массивы таймеров. У расширенного таймера (advanced timer) добавлена поддержка управления электродвигателями. Для этого у него предусмотрено 6 комплементарных ШИМ-выходов с программируемой паузой не перекрытия и вход экстренного останова, который переводит ШИМ-выходы в предварительно запрограммированное безопасное состояние. У интерфейса SPI предусмотрен аппаратный генератор CRC для 8 и 16 слов, что упрощает реализацию интерфейса карт Flash памяти SD и MMC.
В отличие от простых микроконтроллеров, у STM32 также предусмотрен 7-канальный блок прямого доступа к памяти (ПДП). Каждый канал может использоваться для передачи данных между регистрами любого из УВВ и запоминающими устройствами 8/16 или 32-битными словами. Каждое из УВВ может выполнять роль потокового контроллера ПДП, при необходимости отправляя данные или посылая запрос на их получение. Арбитр внутренней шины и матрица шин минимизируют потребность в арбитраже доступа к шинам со стороны ЦПУ и каналов ПДП. Это означает, что блок ПДП является универсальным, простым в применении и реально автоматизирует передачу потоков данных внутри микроконтроллера.
Микроконтроллеры STM32 отличаются, казалось бы, невозможным сочетанием характеристик малого энергопотребления и высокой производительности. Они способны работать от 2В-ого источника питания на тактовой частоте 72МГц и потреблять, при этом, ток, с учетом нахождения в активном состоянии всех встроенных ресурсов, всего лишь 36 мА. Если же использовать поддерживаемые ядром Cortex экономичные режимы работы, то потребляемый ток можно снизить до ничтожных 2 мкА в режиме STANDBY. Для быстроты возобновления активной работы микроконтроллера используется внутренний RC-генератор на частоту 8 МГц. Его активность сохраняется на время запуска внешнего генератора. Благодаря быстроте перехода в экономичный режим работы и выхода из них результирующая средняя потребляемая мощность еще больше снижается.
УВВ общего назначения микроконтроллеров STM32 состоят из портов ввода-вывода (ПВВ) общего назначения, контроллера внешних прерываний, аналогово-цифровых преобразователей, таймеров общего назначения, расширенного таймера и часов реального времени с энергонезависимыми (за счет резервирования питания) регистрами и входом обнаружения вмешательства. У МК STM32 предусмотрено до 80 двунаправленных линий ввода-вывода. Все линии ввода-вывода разделены на 5 портов по 16 линий ввода-вывода в каждой.
.
Каждая цифровая линия ввода-вывода может выполнять функцию линии ввода-вывода общего
назначения или альтернативную функцию . Каждый из выводов может выполнять дополнительную функцию одного из
16 входов внешних прерываний.
Данные порты называются A…E и совместимы с напряжением 5В. Многие из внешних выводов могут выполнять альтернативную
функцию линии ввода-вывода, встроенного УВВ, например, модуля УСАПП или I2C. Кроме того, 16 входных линий встроенного
блока внешних прерываний могут быть соединены с любыми из линий портов ввода-вывода.
Каждый ПВВ поддерживает возможность раздельной конфигурации линий на ввод или на вывод. Кроме того, предусмотрены регистры как для записи целых слов, так и для воздействия на отдельные биты. После завершения конфигурации доступ к ней можно заблокировать
У каждого ПВВ имеется два 32-битных конфигурационных регистра. Совместно они образуют 64-битный
конфигурационный регистр. Эти 64 бита разделены на 4-битные поля, позволяющие настроить соответствующую
им линию ввода-вывода. В свою очередь, 4-битное поле конфигурации состоит из 2-битного поля режима и
2-битного поля конфигурации. Поле режима позволяет указать, в каком направлении работает линия: на ввод
или на вывод, а поле конфигурации позволяет настроить характеристики управления:
· если линия настроена как вход, то к ней можно подключить подтягивающий к плюсу или минусу резистор;
| ||||||||||||||||||||||||||||||||||
После завершения настройки портов, конфигурационные параметры можно защитить. Для этого необходимо выполнить запись в регистр блокировки конфигурации. В этом регистре для каждого вывода предусмотрен бит блокировки. После его установки блокируется возможность записи в соответствующие поля конфигурации и режима. После установки всех требуемых бит блокировки, необходимо в бит 16 регистра блокировки записать последовательность 1, 0, 1. Этим будет активизирована блокировка. Убедиться в активизации блокировки можно, если сразу после записи выполнить подряд два считывания этого же бита. Считывание значений 0, 1 свидетельствует об успешной активации блокировки. Доступ к линиям ввода-вывода осуществляется через регистры ввода и вывода данных. Для выполнения действий над отдельными битами можно использовать либо поддерживаемый ядром Cortex способ "bit banding" применительно к регистрам ввода и вывода, либо воспользоваться двумя специальными регистрами битовой обработки. Регистр установки/сброса бит - 32-битный регистр. Верхние 16 бит связаны с каждой из линий ПВВ. Запись в них логической 1 приводит к сбросу соответствующей линии ввода-вывода. Идентично этому, запись логической 1 в любой из младших 16 бит приведет к установке соответствующей линии ввода-вывода. Второй регистр битовой обработки - регистр сброса бит. Этот регистр 16-битный. Запись в его биты логических 1 приводит к сбросу соответствующих линий ввода-вывода. Сочетание регистров ПВВ, способа "bit banding" и регистров битовой обработки предоставляют пользователю отличные возможности управления всеми линиями ввода-вывода МК STM32 и могут чрезвычайно эффективно использоваться в применениях с интенсивным использованием линий ввода-вывода.
Безопасность
Многие современные применения, помимо высокой производительности и многофункциональных УВВ, должны обладать инструментами, обеспечивающие безопасность. Данное требование было учтено у МК STM32. В них интегрирован ряд аппаратных блоков, отвечающих за безопасность работы микроконтроллера, в т.ч. маломощный супервизор питания, система защиты синхронизации и два отдельных сторожевых таймера. Первый сторожевой таймер относится к оконному типу (windowed watchdog). Его необходимо обновлять только в пределах отведенных временных рамок. Если это сделать слишком рано или слишком поздно, то он сгенерирует сигнал срабатывания. Другой сторожевой таймер полностью независим от первого. Он синхронизируется от отдельного внутреннего генератора, который не связан с главной системной синхронизацией. У МК также используется система защиты синхронизации, которая может выявлять перебои в работе основного внешнего генератора и безопасно переключаться на работу от внутреннего RC-генератора частоты 8 МГц.
Альтернативные функции
Регистры альтернативных функций управляют переключением линии ввода-вывода между ПВВ и одним из встроенных УВВ. Чтобы схемотехническое проектирование было более гибким, линии ввода-вывода УВВ могут быть связаны с одним из нескольких выводов МК.

Опоздавшее высокоприоритетное прерывание отложит выполнение низкоприоритетного
прерывания, не выполняя при этом каких-либо дополнительных операций над стеком
Альтернативные функции у МК STM32 управляются через регистр переназначения
и отладки. Каждое из цифровых УВВ (УСАПП, CAN, таймеры, I2C и SPI) имеет одно- или двухбитное поле, которое позволяет назначить работу с различной комбинацией выводов. После выбора альтернативных функций выводов, необходимо в конфигурационных регистрах ПВВ переключить назначение вывода с линии ввода-вывода на альтернативную функцию. Регистр переназначения также управляет конфигурацией выводов отладочного JTAG-порта. Сразу после сброса, порт JTAG активизируется с отключенной функцией трассировки данных. JTAG можно переключить в режим двухпроводного отладочного интерфейса, а неиспользуемые выводы использовать в качестве линий ввода-вывода общего назначения.
АЦП
В зависимости от модели, в микроконтроллеры STM32 может быть встроено один или два аналогово-цифровых преобразователя. АЦП питаются отдельным напряжением, которое в зависимости типа корпуса может находиться в пределах 2.4┘3.6В. Источник опорного напряжения (ИОН) АЦП соединен либо внутренне с напряжением питания АЦП, либо со специальными внешними выводами. АЦП характеризуется 12-битной разрешающей способностью и частотой преобразования 1МГц. У него имеется до 18 мультиплексированных каналов, 16 из которых можно использовать для измерения внешних сигналов. Оставшиеся два канала связаны со встроенным датчиком температуры и внутренним ИОН.
Дата добавления: 2020-01-07; просмотров: 364; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!

Каждая цифровая линия ввода-вывода может выполнять функцию линии ввода-вывода общего
назначения или альтернативную функцию . Каждый из выводов может выполнять дополнительную функцию одного из
16 входов внешних прерываний.
Данные порты называются A…E и совместимы с напряжением 5В. Многие из внешних выводов могут выполнять альтернативную
функцию линии ввода-вывода, встроенного УВВ, например, модуля УСАПП или I2C. Кроме того, 16 входных линий встроенного
блока внешних прерываний могут быть соединены с любыми из линий портов ввода-вывода.
Каждый ПВВ поддерживает возможность раздельной конфигурации линий на ввод или на вывод. Кроме того, предусмотрены регистры как для записи целых слов, так и для воздействия на отдельные биты. После завершения конфигурации доступ к ней можно заблокировать
У каждого ПВВ имеется два 32-битных конфигурационных регистра. Совместно они образуют 64-битный
конфигурационный регистр. Эти 64 бита разделены на 4-битные поля, позволяющие настроить соответствующую
им линию ввода-вывода. В свою очередь, 4-битное поле конфигурации состоит из 2-битного поля режима и
2-битного поля конфигурации. Поле режима позволяет указать, в каком направлении работает линия: на ввод
или на вывод, а поле конфигурации позволяет настроить характеристики управления:
· если линия настроена как вход, то к ней можно подключить подтягивающий к плюсу или минусу резистор;