Перейти к основному содержимому

Блок масштабирования и преобразования координат

Схема блока масштабирования и преобразования координат
Схема блока масштабирования и преобразования координат

Блок масштабирования позволяет изменять масштаб сигналов после аналого-цифрового преобразования. Масштабирование предназначено для коррекции ошибки усиления ALIT и аналоговых цепей на плате, а также погрешностей датчика. Масштаб сигналов задается в регистрах C1KampS (вход IOSA1), C1KampC (вход IOCA1), C2KampS (вход IOSA2), C2KampC (вход IOCA2). Значения по умолчанию в этих регистрах предполагают сигнал на входе микросхемы амплитудой 2,5 В (пик-пик). Блок производит преобразование координат из трёхфазной системы координат в декартову систему координат для режима Сельсин. Выбор режима Сельсин производится установкой Mode[2:0]=4 (регистр AFE_config). В данном режиме используются входы, приведенные в таблице 5.

Таблица 5 – Использование входов микросхемы в зависимости от режима преобразования

ВходРежим СельсинРежим СКВТ
IOSA1Вход преобразователя sin(Θ + 0°)Вход 1-го преобразователя sin
IOCA1Вход преобразователя sin(Θ + 120°)Вход 1-го преобразователя cos
IOSA2Вход преобразователя sin(Θ - 120°)Вход 2-го преобразователя sin
IOCA2Не используетсяВход 2-го преобразователя cos

Значения битов Mode[2:0] регистра AFE_config определяют режимы совместной работы двух преобразователей (таблица ниже).

Таблица 6 – Режимы совместной работы двух преобразователей

Регистр Mode[2:0]Режим
000Оба преобразователя включены и работают независимо. Первый преобразователь подключен к выводам IOSA1, IOCA1, EXI1. Второй преобразователь подключен к выводам IOSA2, IOCA2, EXI2.
010Оба преобразователя включены и работают параллельно. Преобразователь 2 использует входы преобразователя 1 (IOSA1, IOCA1, EXI1).
011Оба преобразователя включены и работают параллельно. Преобразователь 1 использует входы преобразователя 2 (IOSA2, IOCA2, EXI2).
100Режим Сельсин. Оба преобразователя включены и работают параллельно. На входы преобразователей подается сигнал со входов IOSA1, IOCA1, IOSA2, EXI1. Включено преобразование координат из трёхфазной в декартову.
Примечание. В режиме подачи внешнего опорного сигнала Ex_source==01 преобразователь 2 использует опорный сигнал с вывода EXI1.
При использовании двух преобразователей параллельно пользователь может задать в регистре CMP_lth максимально допустимое различие между каналами. Если результаты двух преобразователей отличаются на величину большую, чем записана в регистр CMP_lth, выставляется бит Not_Equal в регистре Stat_main. В зависимости от настройки в регистре Mask_Stat это также может установить в состояние логического нуля выход Ready микросхемы.

Для экономии энергии любой из преобразователей может быть отключен установкой битов CONV1_en, CONV2_en в регистре Mode_config в состояние логического нуля. При этом для корректной работы выхода Ready необходимо бит MSK_Not_Equal также установить в состояние логического нуля.


Коррекция амплитуды: формулы и расчёт коэффициентов

Цифровой аргумент, поступающий в следящий контур (arg_sin_kontur1, arg_cos_kontur1), получается умножением оцифрованного сигнала АЦП на коэффициент усиления. Безразмерный коэффициент усиления каждого канала равен значению регистра, делённому на 1024:

k=KampS1024  (k=KampC1024),arg=Dadckk = \frac{\mathrm{KampS}}{1024} \; \left( k = \frac{\mathrm{KampC}}{1024} \right), \qquad \mathrm{arg} = \mathrm{Dadc}\cdot k

где arg\mathrm{arg} — аргумент контура соответствующего канала, Dadc\mathrm{Dadc} — оцифрованный сигнал канала АЦП (Dadc_sin, Dadc_cos) после удаления постоянной составляющей (знаковый). Аппаратно умножение выполняется как произведение 13-разрядного знакового сигнала на значение регистра с последующим делением на 1024 (взятие битов [22:10] произведения). Постоянная составляющая удаляется отдельным DC-блоком до масштабирования, поэтому настройка амплитуды не зависит от смещения среднего — отсюда двухэтапная процедура калибровки (амплитуда, затем смещение), описанная в разделе 8 Методики.

При значении по сбросу KampS = KampC = 0x0400 (1024) усиление k=1,0k = 1{,}0.

Соответствие «напряжение → код». АЦП — 12-разрядный, опорное напряжение VREF2P5 = 2,5 В, диапазон входа 0…2,5 В:

ПараметрЗначение
Младший разряд (1 LSB)2,5 В / 4096 ≈ 0,610 мВ
Синфазный уровень (среднее)1,25 В → код 2048
Номинальный сигнал 2,0 В пик-пик (±1 В)коды 410…3686 (±1638 от среднего) — это 0,8 дифференциального диапазона АЦП (±1 В из доступных ±1,25 В)

Значения по умолчанию (0x0400, k=1,0k = 1{,}0) рассчитаны именно на номинальный входной сигнал 2,0 В пик-пик. Соответственно, в терминах нормированной амплитуды контура номинальный сигнал составляет ±0,8 (см. раздел Полоса пропускания контура).

Расчёт коэффициента при коррекции амплитуды. Если измеренный размах сигнала на входе контура RR (по arg_sin_kontur1/arg_cos_kontur1; методика измерения — в разделе 8.б Методики) отличается от целевого (размах модели 4096, ±2048), коэффициент пересчитывается пропорционально — штрихом обозначено новое (рассчитанное) значение:

KampS=KampS4096RS,KampC=KampC4096RC,k=KampS1024\mathrm{KampS}' = \mathrm{KampS}\cdot \frac{4096}{R_S}, \qquad \mathrm{KampC}' = \mathrm{KampC}\cdot \frac{4096}{R_C}, \qquad k' = \frac{\mathrm{KampS}'}{1024}

Пример. Размах входного сигнала ±600 отсчётов (R=1200R = 1200) при исходном 0x0400 (1024):

KampS=1024409612003495    (k3,41)\mathrm{KampS}' = 1024\cdot \frac{4096}{1200} \approx 3495 \;\; (k' \approx 3{,}41)

На практике достаточно округлённого значения — например, KampS = 3072 (k=3,0k = 3{,}0) даёт размах ≈ ±1800; визуальный пример совмещения входных сигналов с моделью приведён в разделе Режим детектора.

Контроль переполнения и порогов

При больших значениях KampS произведение может выйти за разрядность аргумента контура (13 бит, ±4095) — при этом выставляется флаг переполнения коррекции амплитуды. Также необходимо следить за пороговыми компараторами амплитуды (флаги UIN_High/UIN_Low по метрике C1Amp_metric, номинальное значение 400) и за тем, чтобы мгновенный сигнал на входах АЦП не выходил за диапазон 0…2,5 В (раздел 6 Методики подключения и настройки).