Чтение из АЦП





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

Описание

Блок производит последовательный опрос всех заданных каналов АЦП или получает коды АЦП из буфера приема контроллера 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» в режиме моделирования не используются.

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

Имя Описание Тип линии связи
sort_adc Порт указания направления вращения Математическая
u Порт для входного напряжения, используется в режиме моделирования Математическая

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

Имя Описание Тип линии связи
mean_adc Массив значений измеряемых величин: размерность массива равна количеству опрашиваемых регулярных каналов, тип данных - float (double в режиме моделирования) Математическая
meaninj_adc Массив инжектированных каналов: размер массива - 4, тип данных - float (double в режиме моделирования) Математическая

Свойства

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

Параметры

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

Примеры