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

Программируемый генератор

Программируемый генератор

Микросхема содержит два независимых программируемых генератора, формирующих опорный сигнал на выводах EXO1/EXO2. Питание выходного буфера генератора подводится непосредственно с выводов VDDEXO1/VDDEXO2, GNDEXO1/GNDEXO2. Напряжение питания генератора не зависит от напряжения VDDD, VDDA и выбирается исходя из конкретной схемы усилителя возбуждения в диапазоне от 3,3 В до 5,0 В.

С помощью настройки EXO_mode выбирается режим работы генератора:

  • EXO_mode = 00 — генератор выключен
  • EXO_mode = 01 — вывод импульсного сигнала (меандр)
  • EXO_mode = 10 — вывод синусоидального сигнала
  • EXO_mode = 11 — вывод постоянного уровня

Для включения одного из режимов необходимо выбрать соответствующий режим и выставить биты EXO1_en/EXO2_en регистра Mode_config в единицу.

Генератор синусоидальных сигналов

На рисунке ниже представлена структурная схема генератора сигналов.

Структурная схема генератора синусоидальных сигналов
Структурная схема генератора синусоидальных сигналов

В цифровом формирователе кода на каждом такте Fclk инкрементируется 20-ти разрядный счетчик, значение которого перемножается на 16-битный коэффициент C1EXInc, C2EXInc. Далее для [19:12] разрядов произведения ставится в соответствие знаковое 8-ми разрядное значение единичного синуса, затем перемножается на беззнаковый коэффициент (176 + AMP_CODE) / 1024 и для обеспечения линейности усиления на выходном буфере добавляется значение 63 - AMP_CODE / 4. Полученное 8-ми разрядное значение переводится в напряжение с опорным сигналом 2,5 В и усиливается выходным буфером с коэффициентом 2 относительно 0 В.

По формуле (5) определяется частота сигналов fex, по формуле (6) задается амплитуда сигналов Vexo:

fex=EXInc1048576fclk(5)f_{ex} = \frac{EXInc}{1048576} f_{clk} \tag{5} VEXO=2VREF2P5(sin(2πfex)(176+AMPCODE4)+65+AMPCODE4256)(6)V_{EXO} = 2 \cdot V_{REF2P5} \cdot \left( \frac{ \sin\left( \frac{2\pi}{f_{ex}} \right) \cdot (\frac{176+AMP_{CODE}}{4}) + 65 + \frac{AMP_{CODE}}{4} }{256} \right) \tag{6}

Частоты fex1, fex2 выбираются исходя из спецификации датчика. Пользователь осуществляет восстановление (фильтрацию) и усиление сигналов генераторов перед подачей на датчики.

Для исключения нелинейности усиления коэффициент AMP_Code должен быть выбран таким образом, чтобы значение Vamp было ниже напряжения питания выходного буфера VDDEXO1/VDDEXO2 как минимум на 0,4 В.

Опорное напряжение для ЦАП может быть в диапазоне [2.5В ... 3.3В], и должно быть подано на вывод REFDAC. Имеется возможность использовать внутренний ИОН, для чего требуется установить бит VREF_DAC_en в единицу. И в том и другом случае требуется шунтирование вывода REFDAC конденсатором 0,1 мкФ.

Генерация импульсного сигнала

Генерация импульсного сигнала выполняется 8-битным счетчиком тактируемым системной частотой FINT. Частота импульсов определяется значением Amp_code[7:0] в соответствии с формулой (7):

Fimp=FINTAmp_code(7)F_{imp} = \frac{FINT}{Amp\_code} \tag{7}

Скважность меандра определяется 8-битными значениями EXInc[15:8], EXInc[7:0] регистров C1EXInc/C2EXInc. Когда значение 8-битного счетчика равно EXInc[15:8], на выводе EXO1/EXO2 устанавливается уровень VDDEXO1/VDDEXO2, когда значение счетчика равно EXInc[7:0], выход подключается к GNDEXO1/GNDEXO2. Если задать бит EXO_inv регистра C1ExoStngs/C2ExoStngs, то выход инвертируется. При выставлении бита PWR_X2 регистра C1ExoStngs/C2ExoStngs ток коммутации вывода EXO1/EXO2 на VDDEXO1/VDDEXO2 и GNDEXO1/GNDEXO2 будет увеличен в 2 раза. Для синхронизации двух 8-битных счетчиков в импульсном режиме требуется установить бит EXO_sync в регистре AFE_config в единицу.

Вывод постоянного уровня

В режиме постоянного уровня, на выходе EXO1/EXO2 будет формироваться напряжение в соответствии с формулой (8):

VEXO=2VREF2P5(AMPCODE255)(8)V_{EXO} = 2 \cdot V_{REF2P5} \cdot \left( \frac{AMP_{CODE}}{255} \right) \tag{8}

Пользователь должен убедиться, что напряжение питания VDDEXO1/VDDEXO2 превышает расчетное значение Vexo.