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.

[参考译文] ADS1248:ADS1248系统监视器问题

Guru**** 2539500 points
Other Parts Discussed in Thread: ADS1248

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/777433/ads1248-ads1248-system-monitor-issuse

器件型号:ADS1248

您好!

我在定制 板上使用 ADS1248芯片。 ADS1248的连接与以下器件完全相同:  

我正在跟踪伪代码(寄存器写入推测代码用于温度测量。) 以使用系统监控器获取温度。 我能够成功写入和读取寄存器。 但无法获得正确的温度读数。 每次我尝试读取转换结果时、我得到的值都是8388608。 我不会检查 DRDY 引脚、只需发送0x04、然后在5秒后尝试读取转换结果。

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

    START 引脚是否为高电平? 对于所有寄存器写入和开始转换、START 引脚必须为高电平。 0x04是 SYNC 命令、需要将该命令两次发送回以进行同步。 ADS1248数据表的图79中显示了 SYNC 命令。 您能否发送一些通信照片? 我特别想看到用于设置系统监控器的寄存器写入。 您可以向我发送您正在使用的寄存器设置吗?

    您选择了哪个基准? 我建议使用内部基准、至少从开始、然后您可以通过测量输出电压来验证寄存器写入是否能够打开基准。 将寄存器设置更改为系统监视器后、任何正在进行的转换都将由于寄存器写入而重新启动、因此您无需使用 SYNC 命令。 在适当的时间段后、使用 RDATA 命令检索结果。 RDATA 命令包括发送0x12、后跟3个 NOP 字节。

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

     您好!

    那么、这些是我要遵循的步骤

    将启动引脚拉至高电平

    2.拉低芯片选择

    使用0x06复位 ADC

    4. Wati 持续5秒

    为 SDATAC 发送0x16

    发送{0x40、0x03、0x01、0x00、0x33、 0x00}

    正在发送{0x20、0x0E}

    发送15个 NOP 并读回寄存器(寄存器读操作显示每个寄存器的正确值)

    这些值如下所示

    [0]:1 [1]:0 [2]:33 [3]:0 [4]:0 [5]:0 [6]:0 [7]:c0 [8]:f [9]:40 [10]:90 [11]:ff [12]:0 [13]:0 [14]:0

    9.等待18秒钟

    发送0x12、然后发送3个 NOP。 (我已附上此操作的屏幕截图。 逻辑分析仪在某种程度上具有误导性。 但数据发送和接收是正确的。 我在微控制器方面确认了这一点。)

    因此、我在整个运行期间保持 START 引脚为高电平、并保持芯片选择为低电平。

    此外、我还有关于 CLK 引脚的问题、如您在参考设计中所见、CLK 引脚保持开路、我的电路中也是如此。 CLK 引脚是否正确或是否应接地?

    谢谢你

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

    很抱歉、我之前在您发送的原理图中没有看到过这一点。 CLK 引脚悬空、数字输入引脚永远不会悬空。 这可能是您的问题。 如果您希望使用 ADS1248的内部振荡器、CLK 引脚应连接到 GND。 否则、您必须为 CLK 引脚提供时钟源。 由于 DGND 引脚(2)紧邻 CLK 引脚(3)、因此这2个引脚之间应很容易形成焊料短路。

    我不确定为什么逻辑分析仪显示出干扰。 如果您的 SPI 信号不是纯净的、那么这也可能是一个问题。

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

    您好!

    我已经将 CLK 引脚接地。 但是、我仍在接收数据

    (由于系统监视器不需要任何 START 命令、因此我不发送 SYNC 命令。)

    DATA[0]= 80  DATA[1]= 0   DATA[2]= 0

    我的寄存器读写操作正常、因此现在我将放弃逻辑分析仪问题。

    如果我使用内部基准电压、温度转换公式是什么?

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

    这是负满量程、是不正确的。 我看到一些奇数值被写入一些寄存器。 我建议您只写入需要写入的寄存器、而不是 OFC、FSC 等 因此、尝试仅写入寄存器0x00到0x05。 这将确保增益系数符合预期。

    此外、使用仪表验证 VREFOUT 引脚是否为2.048V、以确保基准电压实际工作。 我还会监视 DRDY 引脚、以确保器件实际转换(START 引脚必须为高电平才能使 ADC 进行转换)。 您使用的默认速率为5sps、因此您应该会看到每200ms 一次的 DRDY 脉冲。 您还可以尝试其他系统监视器、例如电源监视器、以确保设备处于活动状态。

    您通常会看到25摄氏度下的测量电压为118mV。温度系数为405uV/摄氏度。因此、如果您测量120mV、则该值将比25摄氏度下的值大2mV。将405uv 除以2mV。 这在25摄氏度以上大约为4.94摄氏度、或29.94摄氏度

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

    您好!
    我只写入{0x40、0x02、0x08、0x00、0x33};
    因此其余寄存器中的值是默认值。
    我没有在 VREFOUT 上获取任何电压。 在整个运行过程中、我的 START 引脚为高电平、芯片选择为低电平。
    我是否需要执行偏移校准、增益校准? 在系统监测下获取温度的理想步骤是什么?

    谢谢你

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

    如果您在 VREFOUT 上看不到电压、则您的寄存器写入将无法正常工作。 您当前正在发送的是一条寄存器写入命令、从寄存器0开始写入3个寄存器。 0x33打开内部基准、为其加电并将系统监控器设置为温度测量。 如果基准未开启、则寄存器设置未被写入。 如果 SPI 时钟线上出现毛刺脉冲或噪声、在启动寄存器写入命令之前切换 CS 可能会让您受益。

    此致、
    Bob B
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我发现问题是 AVDD 线路、现在一切都正常。 那么、数字代码转换为电压的公式是什么?

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

    请参阅 ADS1248数据表9.4.2节中的第44页。 公式20。 输出代码以二进制补码的形式传输、因此在将数据捕获到有符号整数(32位)时、返回的24位值必须进行正确的符号扩展。

    此致、
    Bob B