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

Блок масштабирования позволяет изменять масштаб сигналов после аналого-цифрового преобразования. Масштабирование предназначено для коррекции ошибки усиления 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:
где — аргумент контура соответствующего канала, — оцифрованный сигнал канала АЦП (Dadc_sin, Dadc_cos) после удаления постоянной составляющей (знаковый). Аппаратно умножение выполняется как произведение 13-разрядного знакового сигнала на значение регистра с последующим делением на 1024 (взятие битов [22:10] произведения). Постоянная составляющая удаляется отдельным DC-блоком до масштабирования, поэтому настройка амплитуды не зависит от смещения среднего — отсюда двухэтапная процедура калибровки (амплитуда, затем смещение), описанная в разделе 8 Методики.
При значении по сбросу KampS = KampC = 0x0400 (1024) усиление .
Соответствие «напряжение → код». АЦП — 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, ) рассчитаны именно на номинальный входной сигнал 2,0 В пик-пик. Соответственно, в терминах нормированной амплитуды контура номинальный сигнал составляет ±0,8 (см. раздел Полоса пропускания контура).
Расчёт коэффициента при коррекции амплитуды. Если измеренный размах сигнала на входе контура (по arg_sin_kontur1/arg_cos_kontur1; методика измерения — в разделе 8.б Методики) отличается от целевого (размах модели 4096, ±2048), коэффициент пересчитывается пропорционально — штрихом обозначено новое (рассчитанное) значение:
Пример. Размах входного сигнала ±600 отсчётов () при исходном 0x0400 (1024):
На практике достаточно округлённого значения — например, KampS = 3072 () даёт размах ≈ ±1800; визуальный пример совмещения входных сигналов с моделью приведён в разделе Режим детектора.
При больших значениях KampS произведение может выйти за разрядность аргумента контура (13 бит, ±4095) — при этом выставляется флаг переполнения коррекции амплитуды. Также необходимо следить за пороговыми компараторами амплитуды (флаги UIN_High/UIN_Low по метрике C1Amp_metric, номинальное значение 400) и за тем, чтобы мгновенный сигнал на входах АЦП не выходил за диапазон 0…2,5 В (раздел 6 Методики подключения и настройки).