СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №3/2015

ЭЛЕМЕНТЫ И КОМПОНЕНТЫ 34 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 3 2015 Современные 32-разрядные ARM-микроконтроллеры серии STM32: аналого-цифровой преобразователь В статье приведено описание аналого-цифрового преобразователя 32-разрядных ARM-микроконтроллеров серии STM32 от компании STMicroelectronics. Рассмотрена архитектура и состав его регистров, а также приведены практические примеры программ. Олег Вальпа (г. Миасс, Челябинская обл.) В ВЕДЕНИЕ Одним из наиболее важных и вос- требованных блоков для любого микроконтроллера является анало- го-цифровой преобразователь (АЦП), именуемый в технической англоязыч- ной литературе как Analog-to-Digital Converter (ADC). Он позволяет преобразовывать ана- логовые сигналы в цифровые зна- чения, которые в дальнейшем могут обрабатываться процессором. Суть преобразования сводится к сравне- нию аналогового сигнала с опор- ным напряжением и формирова- ние числового значения, соответ- ствующего аналоговому сигналу в диа- пазоне разрядности АЦП. Например, 12-разрядный АЦП с опорным нап- ряжением 3,3 В преобразует аналого- вые сигналы от 0 до 3,3 В в диапазон цифровых значений от 0 до 4095 еди- ниц с определённой периодичностью во времени. С помощью АЦП микроконтрол- лер способен решать гораздо больше задач для автоматизации процессов. Кроме того, при наличии встроенно- го в микроконтроллер АЦП существен- но упрощается схема разрабатываемо- го устройства и значительно умень- шается его стоимость. Как правило, кроме самого АЦП микроконтроллер имеет встроенный аналоговый муль- типлексор, позволяющий увеличить количество аналоговых входов путём поочерёдной коммутации нескольких выводов микроконтроллера и последу- ющего преобразования сигналов от этих выводов. Микроконтроллеры серии STM32 [1] также имеют встроенный 12-разряд- ный АЦП последовательного прибли- жения с тактовой частотой до 14 МГц. Некоторые модели STM32 имеют даже два или три блока АЦП. А РХИТЕКТУРА И ФУНКЦИОНИРОВАНИЕ АЦП Рассмотрим подробнее архитекту- ру и функционирование блока АЦП для STM32. Аналого-цифровое преоб- разование сигналов данным АЦП может осуществляться в одиночном режиме, непрерывном режиме, режиме ска- нирования или прерывистом режи- ме. Результат преобразования сохра- няется в 16-разрядных регистрах АЦП с выравниванием данных по левому или по правому краю. Встроенный АЦП микроконтролле- ров серии STM32 обладает расширен- ными функциями. Основные характе- ристики этого АЦП: ● разрядность – 12 бит; ● минимальное время преобразова- ния – 1 мкс; ● количество каналов – 16 внешних и 2 внутренних; ● количество значений времени пре- образования для каждого канала – 8; ● возможность задания одиночного или непрерывного преобразования; ● автоматическая калибровка; ● наличие оконного компаратора; ● возможность запуска преобразова- ния от внешних источников; ● работа с блоком прямого доступа к памяти (ПДП). АЦП питается от источника с напря- жением от 2,4 В до 3,6 В. Источник опор- ного напряжения (ИОН) АЦП соединён либо внутренне с напряжением пита- ния АЦП, либо со специальными внеш- ними выводами в зависимости от моде- ли и количества выводов кристалла. Структурная схема АЦП микроконт- роллеров серии STM32 приведена на рисунке. Как видно из рисунка, АЦП име- ет 16 внешних аналоговых каналов и 2 внутренних, которые коммутиру- ются с помощьюмультиплексора вхо- дов. Внешние каналы подключены к выводам микроконтроллера. Перед использованием этих выводов в каче- стве аналоговых необходимо сконфи- гурировать их как аналоговые входы. Дополнительные два канала задейство- ваны под внутренние сигналы. Один – для контроля внутреннего опорного напряжения, а второй – для датчика температуры, который расположен на кристалле. Для данного АЦП введены такие спе- циальные термины, как регулярные и инжектированные каналы. Суть этих понятий заключается в способе опро- са каналов. Регулярные каналы опра- шиваются и преобразуются с опреде- лённой периодичностью, то есть регу- лярностью. Инжектированные, то есть внедрённые каналы, опрашиваются по специальному запросу от программы между регулярными опросами. Если необходимо опрашивать пери- одически несколько каналов, то для АЦП можно сформировать список этих каналов и записать его в специаль- ные регистры. После этого АЦП будет поочерёдно преобразовывать сигналы из каналов данного списка последова- тельно друг за другом. Например, для поочерёдного измерения напряжения в каналах 3, 7, 5 и 1 необходимо запи- сать эту последовательность в специ- альные регистры и запустить процесс преобразования АЦП. В результате дан- ные каналы будут последовательно опрашиваться и преобразовываться, а результат этих преобразований запи- сываться в регистры данных. При этом порядок следования каналов не имеет значения. Более того, один и тот же канал может опрашиваться несколь- ко раз за цикл. Количество измерений в группе регулярных каналов может достигать 16. Допускается непрерывное измерение выбранных каналов, то есть по окончании измерения автоматиче- ски запускается новый цикл. Максимальное количество измере- ний в группе инжектированных кана- лов равно четырём. Если запустить измерение инжектированных кана- лов, то измерение регулярных кана-

RkJQdWJsaXNoZXIy MTQ4NjUy