Чтение из АЦП
![]() |
![]() |
| Векторный | Си | |
| в палитре | на схеме |
Описание
Блок производит последовательный опрос всех заданных каналов АЦП или получает коды АЦП из буфера приема контроллера 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 | Перечисление |
| Разрядность АЦП | 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 | Тип события Таймера после возникновения которого происходит запуск АЦП
преобразований:
|
CaptureCompareEvent | Перечисление |
| Канал Таймера | CHANNEL | Канал таймера:
|
CHANNEL4 | Перечисление |
| Значение кода АЦП при нулевом токе [цифр. ед. АЦП] | Null_ADC | Начальное значение кода | [0] | Массив |
| ADC_Injected_ConversionMode | Группа свойств инжектированных каналов | |||
| Количество преобразований | Number_Of_InjectConversion | Количество АЦП преобразований, настройка в ПО STM32CubeMX. Инжекторных каналов не может быть больше 4х | 0 | Целое |
| Тип преобразования | Injected_ConversionMode | Предоставляет возможность опрашивать наряду с инжектированными каналами
регулярные каналы в случае, если установлено значение «Auto_Injected_Mode».
При выборе этого значения сначала происходит опрос регулярных потом инжектированных.
|
None | Перечисление |
| Значение кода АЦП при нулевом токе [цифр. ед. АЦП] | Null_InjectADC | Начальное значение кода | [] | Массив |
| Транслировать скрипт в код автоматически | autotranslate | В случае активизации опции autotranslate, будет сгенерирован Си-код секции
моделирования блока (эта опция используется при удаленной отладке проекта на целевой
системе):
|
Нет | Двоичное |
Параметры
Блок не имеет параметров.

