This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] PGA970:如何使用 PGA970 内部波形发生器在 P1/P2 上生成 LVDT 激励载波信号

Guru**** 2694555 points

Other Parts Discussed in Thread: PGA970

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1590081/pga970-how-to-generate-lvdt-excitation-carrier-signal-on-p1-p2-using-pga970-internal-waveform-generator

部件号: PGA970

您好:

我将 PGA970 与外部 MCU (ESP32) 用作 SPI 主器件。
现在、SPI 通信工作正常:我可以读取和写入寄存器MICRO_INTERFACE_CONTROLDIG_IF_CTRLDAC_CTRL_STATUS、如、、并且没有任何问题。

现在、我想使用 PGA970 内部波形发生器 以创建 LVDT 激励载波 P1/P2 但我不能完全确定 所需的寄存器设置的确切顺序


1.我的当前状态

  • SPI 接口: 好的

  • 我可以成功:

    • 设置MICRO_INTERFACE_CONTROL(例如 0x03)

    • 迭代 DIG_IF_CTRL

    • 通过DAC_CTRL_STATUS (bit0 = DAC_ENABLE = 1) 启用 DAC

  • 硬件:

    • P1 和 P2 引脚连接到 LVDT 主器件(类似于 PGA970EVM 配置)。 ti

所以通信似乎没问题。
现在我想 生成正弦载波信号 P1/P2 上的 LVDT 主器件。


2、我想做什么

例如、我想生成:

  • P1/P2 上的正弦波激励

  • 频率在几 kHz 范围内(例如,5kHz)

  • 振幅适合典型的 LVDT 激励

我从文档中了解 PGA970 包括:

但是、我不确定:

  1. 确切地进行了寄存器 我需要对其进行配置:

    • 波形频率

    • 波形振幅/增益

    • P1/P2 的输出级配置

  2. 我是否必须 初始化波形表 RAM 手动从内部 ARM M0 代码中调用、
    或者如果有的话 默认波形 在上电后可用。

  3. 最小寄存器组 和 A 建议的顺序 简而言之:

    • 打开波形发生器

    • 在 P1/P2 上驱动正弦波

    • 如果可能、仅使用 SPI(外部 MCU)和默认固件


3.向 TI 提问

请提供:

  1. a. 分步序列 (寄存器和示例值列表)更改为

    • 启用内部波形发生器

    • 设置激励频率(例如 5kHz)

    • 设置主驱动振幅

    • 将波形路由到 P1/P2 引脚

  2. 的列表 涉及的主要寄存器 、例如:

    • WAVEFORM_GEN_CTRL

    • OP_STAGE_CTRL

    • DAC_CTRL_STATUS

    • 任何频率/振幅/主输出控制寄存器

    • 任何 LVDT 操作控制寄存器(例如,如果适用) LVDT_OP_CTRL

  3. 对的澄清 波形表

    • 是否有内置的默认波形、或者我是否总是需要使用内部 M0 将波形数据(正弦样本)加载到 RAM 中?

    • 如果我必须加载它、您有吗 简单示例 或推荐模式?

  4. 如果可能 示例配置 适用于:

    • P1/P2 输出~5kHz 正弦波

    • 典型振幅适合 LVDT 主驱动

任何显示 a 的简短示例(寄存器映射+值) 已知良好的设置 在 P1/P2 上获得可见的正弦波会非常有用。

非常感谢您的支持。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yangjo Choi、  

    欢迎来到 E2E!

    为了解决您的问题、  

    [报价 userid=“672411" url="“ url="~“~/support/sensors-group/sensors/f/sensors-forum/1590081/pga970-how-to-generate-lvdt-excitation-carrier-signal-on-p1-p2-using-pga970-internal-waveform-generator
    • A 分步序列 (寄存器和示例值列表)更改为

      • 启用内部波形发生器

      • 设置激励频率(例如 5kHz)

      • 设置主驱动振幅

      • 将波形路由到 P1/P2 引脚

    • 的列表 涉及的主要寄存器 、例如:

      • WAVEFORM_GEN_CTRL

      • OP_STAGE_CTRL

      • DAC_CTRL_STATUS

      • 任何频率/振幅/主输出控制寄存器

      • 任何 LVDT 操作控制寄存器(例如,如果适用) LVDT_OP_CTRL

    [/报价]

    请参阅数据表第 7.5.6 节中的信息:  

    [报价 userid=“672411" url="“ url="~“~/support/sensors-group/sensors/f/sensors-forum/1590081/pga970-how-to-generate-lvdt-excitation-carrier-signal-on-p1-p2-using-pga970-internal-waveform-generator

    对的澄清 波形表

    • 是否有内置的默认波形、或者我是否总是需要使用内部 M0 将波形数据(正弦样本)加载到 RAM 中?

    • 如果我必须加载它、您有吗 简单示例 或推荐模式?

    [/报价]

    您是否有权访问示例固件? pga970_pwaveform.c 文件中提供了 10kHz、15kHz 和 5kHz 波形的示例。 可以在 pga970_switch.h 文件中启用所需的波形。 没有默认波形、则必须将其加载到固件中。 但由于您需要 5kHz 波形、它已在固件中。 如果要计算另一个频率的值、可以使用第 7.5.6 节中的公式。  

    [报价 userid=“672411" url="“ url="~“~/support/sensors-group/sensors/f/sensors-forum/1590081/pga970-how-to-generate-lvdt-excitation-carrier-signal-on-p1-p2-using-pga970-internal-waveform-generator

    如果可能 示例配置 适用于:

    • P1/P2 输出~5kHz 正弦波

    • 典型振幅适合 LVDT 主驱动

    [/报价]

    主激励信号的振幅将取决于您使用的 LVDT。  

    谢谢、

    Maggie

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当 I 通过 SPI 将 0xF0 写入 AMUX_CTRL 寄存器(地址 0x67)、然后读回时、该值始终为 0x00。
    同一器件上的其他寄存器可以正确写入和读回、因此 SPI 通信和页面选择似乎是有效的。
    AMUX_CTRL (0x67) 是否确实可从数字接口写入、在什么情况下可以设置 TEST_MUX_S1_EN[3:0]= 0xF?
    如何使此寄存器读回 0xF0 而不是 0x00?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yangjo Choi、  

    如果您已将内部 MCU 置于复位状态、则您应该能够对 AMUX_CTRL 寄存器进行写入。 您是否可以共享(以十六进制或二进制表示)您要发送以写入 AMUX_CTRL 的 SPI 命令?

    谢谢、

    Maggie

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我通过写入 MICRO_INTERFACE_CONTROL (DI PAGE 0x0、OFFSET 0x0C)= 0x03、将内部 MCU 复位。
    当前值为:

    - MICRO_INTERFACE_CONTROL (P0、0x0C)= 0x03
    - DIG_IF_CTRL (P2、0x06)= 0x01
    - ALPWR (P2、0x50)= 0x04
    - DAC_CTRL_STATUS (P2、0x38)= 0x31
    - LVDT_OP_CTRL (P2、0x3C)= 0x3F
    - Waveform_GEN_CTRL (P-2、0x78)= 0x03 (WAVE_EN=1、WAVE_STATUS=1)

    对于 SPI DI 命令、我使用具有以下格式的 24 位字:

    CMD =(PAGE << 21)|(addr << 13)|(RW << 12)|(DATA << 4);

    - bits[23:21]= DI 页面
    -位[20:13]=寄存器偏移
    位[12]= 0:读取、1:写入
    位[11:4]= DATA[7:0](对于写入)
    -位[3:0]= 0
    - MSB 首先在 MOSI 上发送。

    要将 0xF0 写入 AMUX_CTRL (DI 第 0x2 页、偏移 0x67)、该命令为:

    CMD =(0x2 << 21)|(0x67 << 13)|(1 << 12)|(0xF0 << 4)
    = 0x004CFF00

    因此、MOSI 字节为:0x4C、0xFF、0x00(MSB 在前)。

    为了读回寄存器、我发送:

    CMD =(0x2 << 21)|(0x67 << 13)|(0 << 12)|(0x00 << 4)
    = 0x004CE000

    MOSI 字节:0x4C、0xE0、0x00(发送两次;第二个响应包含之前的寄存器值)。

    即使我发送 0x4C FF 00 来写入 0xF0、使用 0x4C E0 00 的回读始终在 MISO 上返回 0x00。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    您的命令看起来正确。  

    因此 MISO 响应事务的 MSB 上没有看到 0x05? 您运行的 SPI 速度是多少? 如果您尝试从第 0x2 页上的 0x66 读取、会发生什么情况?

    谢谢、

    Maggie

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、  

    感谢您的答复。 美国今天和明天都在度假。 我将在下周回到办公室时作出回应。 感谢您的耐心。  

    此致、

    Maggie

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、  

    您的 Vdd 低于最低规格 (3.5V)、因此应将其连接到 LVDT_PWR。 您需要配置 AMUX_ACT 和 AMUX_TOUT_MUX_CTRL 以使用 TOUT 引脚。 您是否在 LVDT_LPBK_CTRL 寄存器中禁用了环回?

    您无需连接 LVDT 即可观察 P1/P2 上的波形。  

    谢谢、

    Maggie

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:
    我正在尝试使用 PGA970 内部波形发生器生成 LVDT 主激励信号。
    SPI 接口工作正常、器件响应所有寄存器读取/写入。

    但是、在 PI/PE(初级激励引脚)上未观察到交流波形。
    仅存在~2.49V DC(在 REFCAP 处测量)。
    此外、P1/P2 仅输出直流电平。

    下面是步骤、寄存器设置和测量结果。

    White check markμ s  1.硬件设置

    PGA970 位于定制 PCB 上

    AVSS→GND 已连接(已验证)

    REFCAP = 2.489V DC

    LVDT 初级线圈未连接(仅使用示波器进行测试)

    LVDT_PWR 上的外部 5V 电压

    White check markμ s  2. SPI 和数字接口

    ESP32 主器件
    SPI 模式 1
    1MHz
    数据表中采用 24 位命令格式

    所有寄存器读取/写入操作正常。

    White check markμ s  3.问题

    即使在启用后:

    DAC

    波形发生器 (WAVE_EN = 1)

    Wave RAM 编程成功

    增益/VCM 设置

    TEST_MUX_LVDT_EN = 0xF

    SKIP_FILTER = 1(内部 PI→PE)

    P1、P2 引脚上仍然没有波形、仅限直流。

    White check markμ s  4.波形发生器初始化日志

    (原始日志)

    === PGA970 basic init start ===
    REVISION_ID1 = 0x02
    MICRO_IF(在之前)= 0x03
    MICRO_IF(在之后)= 0x03
    DIG_IF_CTRL(之后)= 0x01
    ALPWR(之前)= 0x04
    ALPWR(之后)= 0x04
    === PGA970 basic init start ===
    REVISION_ID1 = 0x02
    MICRO_IF(在之前)= 0x03
    MICRO_IF(在之后)= 0x03
    DIG_IF_CTRL(之后)= 0x01
    ALPWR(之前)= 0x04
    ALPWR(之后)= 0x04
    ==== PGA970 basic init done ===

    强制关闭后的 Waveform_GEN_CTRL = 0x00

    [步骤 4] TARGET_FREQ = 7500.00Hz、四分之一波 N = 33
    [步骤 4]波 RAM 写入完成。

    [步骤 4]波 RAM 转储(前 16 个样本):
    样本[0]= 0
    样本[1]= 0
    样本[2]= 24
    SAMPLE[3]= 24
    样本[4]= 48
    样本[5]= 48
    样本[6]= 72
    样本[7]= 72
    样本[8]= 95
    样本[9]= 95
    样本[10]= 117
    样本[11]= 117
    样本[12]= 138
    样本[13]= 138
    SAMPLE[14]= 158
    样本[15]= 158

    ===步骤 5:waveform_table_LEN ==
    [步骤 5] waveform_table_LEN = 0x20

    ===步骤 6:waveform_DAC_offset (DAC_offset)==
    [步骤 6] DAC_OFFSET = 0x3333

    ===步骤 7:LVDT_OP_CTRL.GAIN_CTRL (WAVE_GAIN)==
    LVDT_OP_CTRL(在之前)= 0xDA
    LVDT_OP_CTRL(在之后)= 0xDA
    GAIN_CTRL 位= 0b1

    ===步骤 8:LVDT_OP_CTRL.SEM(WAVED_GAIN 模式)==
    LVDT_OP_CTRL(在之前)= 0xDA
    LVDT_OP_CTRL(在之后)= 0xDA
    SEM 位= 1

    ===步骤 9:LVDT_OP_CTRL.DACVCM_CTRL ==
    LVDT_OP_CTRL(在之前)= 0xDA
    LVDT_OP_CTRL(在之后)= 0xDA
    DACVCM_CTRL 位= 0b10

    ===步骤 10:LVDT_OP_CTRL.DIFF_VOCM_CTRL ==
    LVDT_OP_CTRL(在之前)= 0xDA
    LVDT_OP_CTRL(在之后)= 0xDA
    DIFF_VOCM_CTRL 位= 0b10

    ===步骤 11:LVDT_OP_CTRL.SKIP_FILTER ==
    LVDT_OP_CTRL(在之前)= 0xDA
    LVDT_OP_CTRL(在之后)= 0xDA
    SKIP_FILTER 位= 1

    == STEP12:AMUX_TOUT_MUX_CTRL (0x66) TEST_MUX_LVDT_EN = 0xF ==
    寄存器 0x66(之前)= 0xF
    寄存器 0x67(之前)= 0xF
    寄存器 0x66(之后)= 0xF
    寄存器 0x67(在之后)= 0xF
    TEST_MUX_LVDT_EN (0x67[3:0])= 0xF

    ===步骤 13:LVDT_LPBK_CTRL.EN_LB = 0(禁用环回)==
    LVDT_LPBK_CTRL(在之前)= 0xDA
    LVDT_LPBK_CTRL(在之后)= 0xDA

    ==== STEP14:Waveform_GEN_CTRL.WAVE_EN = 1(波形开启)==
    Waveform_GEN_CTRL(在之前)= 0x0
    Waveform_GEN_CTRL(在之后)= 0x3
    WAVE_EN = 1
    WAVER_STATUS = 1

    White check markμ s  5、WAVE RAM 编程正确

    (您的 Wave RAM dump 그대로)

    四分之一波样本已验证。

    White check markμ s  6. AMUX / TEST_MUX 行为

    有一种令人困惑的行为:

    将 0xF 写入 AMUX_CTRL (0x67)→不会改变

    将 0xF 写入 AMUX_TOUT_MUX_CTRL (0x66)→
    则 0x66 和 0x67 均显示 0xF

    这是正确的吗?
    TEST_MUX_LVDT_EN 实际上是通过 0x66 而不是 0x67 控制吗?

    Exclamationμ s  7、主要问题

    尽管进行了所有正确的设置:

    DAC_ENABLE = 1

    WAVE_EN = 1

    WAVER_STATUS = 1

    TEST_MUX_LVDT_EN = 0xF

    LVDT_OP_CTRL = 0xDA(SEM=1、SKIP_FILTER=1、增益/VCM 正常)

    PI/PE 或 P1/P2 输出端未出现正弦波。

    必须满足哪些额外条件才能使波形发生器输出出现在 PI/PE 引脚上?

    8.需要进一步澄清

    波形 DAC 输出是否需要任何特定的 ALPWR 位?
    (数据表中的部分不是很清楚)

    波形路径是否需要 OP_STAGE_CTRL?

    9.请求

    请查看寄存器序列并帮助确定仍缺少哪个模拟块或寄存器配置才能启用 P1/P2 波形。

    再次感谢您的帮助。

    此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、  

    您能否分享示波器或逻辑分析仪图、其中显示您与 AMUX_CTRL 寄存器和 LVDT_LPBK_CTRL 寄存器的 SPI 通信。 请清楚地标记您发送的信号和命令。 S3_ADC_CFG_1 和 S1_S2_DEMOD_CFG_1 的值是多少。  

    什么是 Vdd? 仍然低于 3.5V 吗?

    谢谢、

    Maggie

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    PGA970–使用内部波形发生器时 P1/P2 上无 5kHz 输出

    尊敬的 Maggie:

    我正在将 PGA970 与基于 SPI 的 ESP32 搭配使用、并尝试使用内部波形发生器在初级输出 P1/P2 上生成 5kHz 正弦波。
    以下是我的电源电压和测得的直流电平:

    VDD:5.03 V
    DVDD:1.846V
    AVDD:2.998 V
    REFCAP:2.48V
    LVDT_PWR:5.03V
    顶部/吨(在连接器处短接在一起):2.487 V DC

    运行 SPI 初始化和配置代码后、我读回以下寄存器值:

    MICRO_IF = 0x03
    DIG_IF_CTRL = 0x01
    ALPWR(之后)= 0x04

    Waveform_GEN_CTRL(在之后) = 0x00

    波形 RAM(TI 5kHz 波形表)回读:

    === TI 5kHz 波表读回===
    WAVE_RAM[0x0000]<= 0x0043
    WAVE_RAM[0x0002]<= 0x00C9
    WAVE_RAM[0x0004]<= 0x014E
    WAVE_RAM[0x0006]<= 0x01D3
    ...
    WAVED_RAM[0x0060]=> 0x109F
    WAVE_RAM[0x0062]=> 0x10A3

    波形发生器配置:

    [步骤 5] waveform_table_LEN = 0x31 // N = 50、N−1 = 0x31

    [步骤 6] waveform_GEN_CTRL = 0x00 // wave_EN = 0(在偏移配置期间)
    [步骤 6]目标直流电压= 0.625000
    [步骤 6]计算得出的代码= 0x2000
    [步骤 6] Waveform_DAC_OFFSET1 = 0x00
    [步骤 6] Waveform_DAC_Offset2 = 0x20
    [步骤 6]读回= 0x2000

    [步骤 7~11] LVDT_OP_CTRL = 0x19
    [Step12] AMUX_CTRL = 0xF0
    [步骤 13] EN_LB 位= 0 (LVDT_LPBK_CTRL = 0x00)

    [Step14] WAVEFORM_GEN_CTRL = 0x03
    WAVE_EN = 1
    WAVER_STATUS = 1

    [步骤 15] DAC + DAC_GAIN 启用 (7.5.7)
    DAC_CTRL_STATUS = 0x31
    DAC_CONFIG = 0x01
    OP_STAGE_CTRL = 0x3F
    DAC_LPBK_CTRL = 0x00

    在初级相关引脚上测得的直流电平:

    P1:1.43V 直流
    P2:1.10V 直流
    PI:0 V(直流)


    示波器上的 P1、P2、PI 或 PE 上没有明显的 5kHz 交流分量(交流耦合)。

    我的问题:

    您能否告诉我、在寄存器配置中是否缺少任何内容、以便使用内部波形发生器在 P1/P2 上获得 5kHz 正弦波?

    非常感谢您的帮助。

    此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    配置波形发生器后、是否将内部微控制器切换回运行状态?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Maggie:

    最初、MICRO_INTERFACE_CONTROL 设置为 0x03 以允许 SPI 配置。

    配置完成后、我将 MICRO_INTERFACE_CONTROL 更改为 0x01。

    Waveform_GEN_CTRL 已启用 (WAVE_EN = 1、WAVE_STATUS = 1)。

    但是、即使启用了 Waveform_GEN_CTRL、我也不会在 P1 和 P2 上看到正弦波输出。

    是否需要任何额外的寄存器设置或条件
    在 p1 和 p2 上输出波形发生器信号?

    非常感谢您的帮助。
    此致、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否可以在配置后将 MICRO_INTERFACE_CONTROL 更改为 0x00?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在配置序列结束时、我通过设置 MICRO_INTERFACE_CONTROL = 0x00 将器件切换为 RUN 模式。

    Waveform_GEN_CTRL.WAVE_EN = 1
    WAVE_STATUS = 1(已确认)

    即使在切换到 RUN 模式后、也不会在 P1/P2/PE(仅限直流电平)上观察到波形。

    您能否再次检查是否缺少将波形驱动到这些引脚所需的任何额外步骤?

    如果需要、我可以提供所有信息。
    完整寄存器转储(第 0/2 页)、
    波形 RAM 前 50 个条目(写入+回读)、
    确切的配置顺序(步骤)。

    请告诉我哪些具体信息最有帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、  

    您使用的是 TI EVM 还是定制电路板?

    谢谢、

    Maggie

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    我们无法购买 TI EVM、因此我们设计并使用了定制电路板。

    定制电路板包含单个 PGA970 器件以及数据表 (SLDS201A) 中指定的所需电容器。
    电源轨、去耦电容器和接地均根据数据表和 EVM 指南实现。

    数据表中与第 7.5.6“打开波形发生器“(步骤 1–14)对应的 SPI 通信已经过充分验证。
    所有相关寄存器都可以使用预期值正确写入和读回。

    AVDD、DVDD 和 REFCAP 的直流电平均满足数据表要求并已通过测量确认。

    但是、我们面临的问题是、即使在数据表指示应该存在波形输出的情况下、也不会在 P1、P2 或 PE 上观察到波形输出。
    换句话说、器件似乎已正确通电并进行了数字配置、但波形发生器输出不会出现在 P1/P2/PE 输出引脚上。

    我可以购买 PGA970 EVM 吗?

    谢谢您、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、  

    如果您已经验证了数字通信、并且遵循了数据表中的步骤、则可能是硬件问题。 您能和我分享您的原理图吗? 如果您无法公开共享、您可以向我发送朋友请求并通过私人消息共享。  

    谢谢、

    Maggie

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的答复。

    LVDT_PWR 由 5V 直流电源供电。
    P1、P2 和 PE 通过连接器直接连接到外部 LVDT 主器件、无需外部缓冲器或放大器。
    P1/P2 与 LVDT 线圈之间除连接器外没有连接其他外部组件。

    如果您发现 LVDT_PWR 使用或 P1/P2 连接有任何问题、请告知我。

    如果您也需要 PCB 布局、请告诉我、我可以在必要时提供。

    再次感谢您的帮助。

    此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、  

    我认为原理图没有任何问题。  S3_ADC_CFG_1 和 S1_S2_DEMOD_CFG_1 的值是多少?

    谢谢、

    Maggie

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    读回值为:

    S3_ADC_CFG_1 = 0x03
    S1_S2_DEMOD_CFG_1 = 0x03

    再次感谢您的帮助。

    此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、  

    您可以尝试向两个寄存器写入 0x00 吗?

    谢谢、

    Maggie

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Maggie、

    我正在通过 Data/Waveform RAM 访问接口 (DI 页面= 0x01) 对波形表进行编程。
    对于每次写入、我首先设置 DATA_WAVE_PAGE_ADDR (P2、0x19) 以选择波形 RAM 块、然后使用 DI 页面 0x01 写入较低的 8 位地址 (0x00~0xFF)。

    示例(当前实现):

    写入 DATA_WAVEL_PAGE_ADDR (P2、0x19)= 0x08(或 0x09 用于高位地址)

    然后、使用 DI 页面 0x01 以及 addrLow = 0x00、0x01、…写入波形 RAM 数据

    我可以读回我写入的相同值、但仍然无法在 P1/P2/PE 处获得正确的正弦波。

    问题:
    访问 Waveform RAM 时、您能否确认 DATA_WAVE_PAGE_ADDR 的正确方法/位字段?
    具体来说:

    是否应该将 DATA_WAVEL_PAGE_ADDR 写入 0x08/0x09 以选择波形 RAM、或者它是否仅使用页面选择位 (0/1) 并忽略其他位?

    对于波形 RAM 地址映射、波形表是否应该在字节地址 0x0000(字对齐)处出现、addrLow 是字节地址的低 8 位?

    是否需要任何额外的寄存器将波形发生器指向波形 RAM 基址(或偏移)、或者它是否始终固定为 0x0000?

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、  

    是否应该用 0x08/0x09 写入 DATA_WAVE_PAGE_ADDR 来选择波形 RAM、或者它是否仅使用页选择位 (0/1) 并忽略其他位?

    DATA_WAVER_PAGE_ADDR 应写入 0x08/0x09、以便对波形 RAM 进行编程。  

    对于波形 RAM 地址映射、波形表是否应在字节地址 0x0000(字对齐)处找到、addrLow 是字节地址的低 8 位?

    是的、当 GUI 填充波形表并将其加载到 FRAM 中时、它会将 0x4D 加载到地址 0x00、将 0x00 加载到地址 0x01、将 0xE8 加载到地址 0x02、依此类推。

    谢谢、

    Maggie

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Maggie、
    我引用了 pga970_pwaveform.c (CSS) 中的 5kHz 波形表、并使用 SPI 数据/波形访问将四分之一波形值加载到 Waveform RAM 中:
    DATA_WAVE_PAGE_ADDR = 0x08(波形 RAM 页选择)
    写入页面= 0x01、地址范围 0x0000 ~(字节寻址)
    我仅根据数据表中的建议、在 WAVE_EN = 0 时对 Waveform RAM 进行编程。

    我看到了

    当我更改 Waveform RAM 数据时、波形会发生变化。 但是、我无法获得干净的正弦波。
    波形 RAM 转储 (WAVE_EN=0) 与我写入的内容相匹配。 对于 16 位表、RAM 字节按预期读回(MSB/LSB 交替):
    例如 0x000:0x00、0x001:0x43、0x002:0x00、0x003:0xC9、...

    我的问题

    pga970_pwaveform.c 中的波形 RAM 格式是否应该作为字节或 16 位字写入(正确的地址增量是多少)?

    波形发生器是否将 Waveform RAM 作为 DAC 采样表、或者是否将其用作不同的 LUT(例如,相位/段加权)、需要额外的寄存器配置来产生正弦波?

    除了 waveform_table_LEN、waveform_dac_offset 和启用发生器之外、是否有任何额外的寄存器或必要的步骤使输出真正正弦(不是方形/分段)?

    感谢您的支持。

    此致、
    YJ Choi.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、  

    为什么要写第 1 页?

    写入页面= 0x01、地址范围 0x0000 ~(字节寻址)

    波形 RAM 应以字节形式写入。 波形发生器使用 Waveform RAM 作为 LUT 来生成波形。  

    谢谢、

    Maggie