Чтение из АЦП

| Векторизован | Си |
в палитре на схеме

Блок "Чтение из АЦП" производит последовательный опрос всех заданных каналов АЦП или получает коды АЦП из буфера приема контроллера DMA и преобразует их в значения измеряемых величин.

Блок позволяет получить заданное количество АЦП преобразований. Блок может непосредственно обращаться к регистрам контролера АЦП или получать значения кодов АЦП от контроллера ДМА, существует возможность использовать сигнал переполнения от таймера для запуска АЦП преобразований. На выходе блока массив значений измеряемых величин, размерность массива соответствует количеству выбранных каналов. Настройка контроллера АЦП реализуется с помощью ПО STM32CubeMX.

В режиме моделирования по значению входного напряжения U получаемого от модели датчика формирует массив измеряемых величин в соответствии с соотношением:

Mean_adc[i] = (maxADC / UmaxADC) * U[i],

где maxADC - максимальное значение преобразуемой величины; UmaxADC - максимальное значение напряжения.

В режиме работы кода библиотеки с контроллером АЦП на микропроцессоре:

Mean_adc[i] = (maxADC / maxCode_ADC) * Code_ADC[i] - Null_ADC[i],

где MaxADC - максимальное значение преобразуемой величины; maxCode_ADC_ADC - максимальное значение кода АЦП; Null_ADC - начальное значение кода АЦП; i - номер канала.

Инжектированные каналы meanInj_adc в режиме моделирования не используются.

Входные порты

Выходные порты

Свойства

Название Имя Описание По умолчанию
Разрядность АЦП nADC Для задач моделирования, задаем разрядность АЦП, для оценки влияния дискретизации АЦП на измеряемую величину 12
Max значение Uвх [В] UmaxADC Используется в режиме моделирования 3.3
Максимальное значение кода АЦП maxCode_ADC см. спецификацию на МК STM32 4095
Максимальное значение преобр. величины maxADC Необходимо для вычисления значения измеряемой величины 3.3
Контроллер АЦП ADC Выбор контроллера ADC1 | ADC2 | ADC3
ADC_Regular_ConversionMode Группа свойств регулярных каналов
Количество преобразований Number_Of_Conversion Количество АЦП преобразований, настройка в ПО STM32CubeMX 1
Таймер Timer Таймер по сигналу, которого происходит запуск преобразований 4
Канал Таймера CHANNEL Канал таймера CHANNEL1 | CHANNEL2 | CHANNEL3 | CHANNEL4
Событие Таймера External_Trigger_Conversion_Source Тип события Таймера после возникновения которого происходит запуск АЦП преобразований Out_Event | CaptureCompareEvent
Значение кода АЦП при нулевом токе [цифр. ед. АЦП] Null_ADC Начальное значение кода [0]
Непрерывные преобразования ADC_ConversionMode Опрос канала/каналов производится циклически (нет необходимости перезапуска). (Да | Нет)
Используется DMA Dma_use Используется контроллер DMA (Да | Нет)
Запуск АЦП от Таймера Start_Timer Запускать преобразование по событиям от Таймера (Да | Нет)
ADC_Injected_ConversionMode Группа свойств инжектированных каналов
Количество преобразований Number_Of_InjectConversion Количество АЦП преобразований, настройка в ПО STM32CubeMX. Инжекторных каналов не может быть больше 4х. 1
Тип преобразования Injected_ConversionMode Предоставляет возможность опрашивать наряду с инжектированными каналами регулярные каналы в случае если установлено значение Auto_Injected_Mode, при выборе этого значения сначала происходит опрос регулярных потом инжектированных None | Auto_Injected_Mode
Значение кода АЦП при нулевом токе [цифр. ед. АЦП] Null_InjectADC Начальное значение кода [0]
Транслировать скрипт в код автоматически autotranslate В случае активизации опции autotranslate, будет сгенерован Си-код секции моделирования блока (эта опция используется при удаленной отладке проекта на целевой системе) (Да | Нет)

Параметры

Блок не имеет параметров.

Примеры работы

Примеры работы с контроллером АЦП приведены в примерах: