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.

[参考译文] ADS130B04-Q1:ADS130B04-Q1中设置了内部时钟的问题

Guru**** 2487425 points
Other Parts Discussed in Thread: ADS130B04-Q1

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1245180/ads130b04-q1-problem-with-set-internal-clock-in-ads130b04-q1

器件型号:ADS130B04-Q1

大家好!

我在 ADC 转换器 ADS130B04-Q1中设置内部时钟时遇到问题。 当我将时钟寄存器中的 CLK_SEL 位设置为0时、ADC 转换器会复位。 我没有外部时钟、CLKIN 引脚连接到 DGND。 我加入了一个逻辑流程。

在文件中、删除扩展名.CSV。

e2e.ti.com/.../Session.sal.csv

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

    您好、Filip、

    欢迎来到 E2E 论坛。  您能否告诉我您是如何在写入 CLK_SEL 位时确定 ADC 已复位的? 似乎您曾尝试在时序中读取数据、但 您要在一帧中发送更多时钟、您能解释一下您的时序吗?

    此致、

    戴尔

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

    大家好,Dale

    我认为 ADC 正在重新启动、因为 DRDY 引脚变为低电平。 在第二种情况下、0x04寄存器的值不会改变。
    当我在 CLK_SEL = 1的情况下发送0x03寄存器的设置时、一切都正常。 0x03和0x04寄存器的新值均被成功写入。

    "在一帧中发送更多时钟"是什么意思? 您能解释一下吗?
    我发送3个 x8位来设置每个命令、然后再各发送3个 x8位来读取命令的结果。"
    所有设置:
    -重置
    -待机
    - RREG 0x03
    - RREG 0x04
    - WREG 0x03
    - WREG 0x04
    - RREG 0x03
    - RREG 0x04
    -唤醒

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

    e2e.ti.com/.../Session_5F00_CLK_5F00_SEL_3D00_1.sal.csve2e.ti.com/.../Session_5F00_CLK_5F00_SEL_3D00_0.sal.csv

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    I 更正了 logic.e2e.ti.com/.../8863.Session_5F00_CLK_5F00_SEL_3D00_1.sal.csv.e2e.ti.com/.../6136.Session_5F00_CLK_5F00_SEL_3D00_0.sal.csv 中的 CPOL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    再次大家好
    我在发送 WREG 命令时发现了错误、我只发送16位、不发送18位、但问题仍然是 exist.e2e.ti.com/.../5023.Session_5F00_CLK_5F00_SEL_3D00_0.sal.csve2e.ti.com/.../7824.Session_5F00_CLK_5F00_SEL_3D00_1.sal.CSV

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

    您好、Filip、

    首先、您要在一个帧中发送6个字+ 6个字=12个字、该帧从/CS 的第1个下降沿开始到下一个下降沿、每个字有24个时钟/位。 若要读取转换数据、每帧实际上只需要6个字(状态字+ 4通道数据+ CRC 字)。 要发送包括 RREG 和 WREG 在内的命令、MOSI 上只需要两个字(一个命令字+一个 CRC 字)、如果您愿意、可以发送总共6个字中其余字全为0的字来写入或读取寄存器、 但不需要在一个帧中发送12个字。 这就是我说过 您要在一个帧中发送更多不需要的时钟的原因。

    其次、/DRDY 不是用于监控器件是否复位的信号、因为 只要 ADC 运行、您就可能会看到/DRDY 脉冲。 您的两个时序之间的区别是第一次计时中的03h 寄存器(CLK_SEL=0文件)未成功写入0F1F 数据、因此您在读回时钟寄存器时仍然获得默认的0F8Eh 数据、 但是、 第二次计时中的03h 寄存器(CLK_SEL=1文件)成功写入了0F9Fh 数据、因此您在读取时钟寄存器时得到了0F9Fh 数据。 此外、您将发送6181h 命令来写入时钟寄存器、该命令不仅会写入时钟寄存器(03h 地址)、还会写入增益寄存器(04h 地址)。 仅写入时钟寄存器的正确命令为6180h。

    下面是读取增益寄存器(0x4地址)的 RREG 命令示例、该寄存器之前写入了1000h 数据、您可以看到10000h 数据在下一帧中在 DOUT 移出:

    下面的第二个时序是将 0600h 数据写入06h 地址寄存器的 WREG 命令示例:

    请注意、在这些时序示例中已禁用 CRC。  希望这些时间有助于您理解。

    谢谢、此致(&R)、

    戴尔

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

    大家好,Dale

    第一个问题:为什么我不能设置 CLK_SEL=0? 我想在器件中使用内部振荡器、但不能。 我知道我的操作没有成功地在寄存器0x03中写入0FFF、但是为什么呢? 我可以在该寄存器中写入值0F9F 而不会出现问题。 也许我必须做其他事情吗?

    第二个问题是、我尝试只对 RREG 和 WREG 命令使用2个字、但它不起作用。 我希望从寄存器0x03和0x04写入和读取数据。

    我已添加一个文件。

    e2e.ti.com/.../4643.Session.sal.csv

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

    您好、Filip、

    我正在尝试帮助你弄清楚原因、所以我将示例时序与你分享、以便简化你的时序。我希望你可以根据我的示例时序(RREG 和 WREG)重新写入寄存器。 在您尝试推荐的时间安排之前、我不知道您的问题"为什么"的答案。

    我检查了您的新时序(4643.Session.Sal)、您可在单帧中为 WREG 命令发送6个字节(2个字)、正确无误。 您正在 以一个帧发送6个字节(2个字)以读取寄存器(RREG 命令)、这不是必需的、但  如果您愿意、可以继续执行、如果未使用 CRC、则需要3个字节(1个字- 24位)。

    让我来分析一下您的新时序(字大小为24位、MOSI 是从控制器到 ADC 的数据、MISO 是从 ADC 到控制器的数据):

    帧1   

    • MOSI: 您发送了0x620000命令+ 0x0F8F00数据(DL: 将0x0F8F 数据写入具有地址04h 的增益寄存器)

    帧2    

    • MOSI: 您发送了0xA20000命令+ 0x000000 NOP (DL: 读取 具有地址04h 的增益寄存器)
    • MISO: 0x420000 + 0x000000 (DL:0x4200您  在帧1中发送的写入命令(0x6200)的来自 B04 ADC 的正确响应)

    帧 3     

    • MOSI: 您发送了0x620000命令+ 0x0F8F00数据(DL: 将0x0F8F 数据写入 具有地址04h 的增益寄存器)
    • MISO: 0x0F8F00 + 0x000000 (DL: 0x0F8F 是寄存器数据和 B04 ADC 针对   在帧2中发送的读取命令(0xA200)的响应、寄存器数据是您之前写入增益寄存器的新数据、响应也是正确的、 这说明 您在前一帧中的写入操作成功)

    帧 4     

    • MOSI: 您发送了0xA20000命令+ 0x000000 NOP (DL: 读取 具有地址04h 的增益寄存器)
    •  0x420000 + 0x000000  (DL: 0x4200您  在帧3中发送的写入命令的 B04 ADC 的正确响应(0x6200))

    文件中的其余四个帧只是重复你的帧1-4。

    根据该时序分析、您成功地对增益寄存器进行了编程、 您可以使用相同的时序将数据写入地址为03h 的时钟寄存器吗?

    此致、

    戴尔

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

    尊敬的 Dale:

    我通过将0x0F8F 连接到0x03寄存器、收到 answare 0x41FF 我认为0x41FF 应该是0x4180? 位"CLK_SEL=1"
    我读取2倍 0x03寄存器响应但结果仍然相同 0x41FF
    I 写入0x0F0F 至0x03寄存器响应被 设置为相同的0x41FF "CLK_SEL=0"
    I 读取2时间 0x03寄存器、响应相同0x41FF
    I 将0x0001写入0x04寄存器
    我读取了2次0x04寄存器、但看不到值0x0001

    e2e.ti.com/.../rEGISTER_5F00_3_5F00_AND_5F00_4.sal.csv

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

    您好、Filip Bugajski、

    Dale 本周不在办公室、因此可能需要一些时间来向您提供回复。

    感谢您的耐心等待

    -Bryan

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

    您好、Filip、

    让我试着帮助一下,而 Dale 不在办公室。

    我看了看你的最新文件。 它再次使用了错误的 SCLK 极性。 请确保 SCLK 处于低电平。

    此外、我强烈建议始终以24位字进行通信、而 WLENGTH[1]位的默认设置为01b。
    您需要在需要的地方对字进行零填充。
    在通信运行后、您可以考虑对帧进行短循环。 但我现在至少要坚持24位的措辞。

    因此、若要设置 CLK_SEL = 0b、我会尝试在一个帧中发送以下数据:
    0x618000 (WREG 命令、地址0x3、1个寄存器、用于写入)
    0x0F0E00 (要写入0x3寄存器的寄存器数据)

    此致、
    约阿希姆·武尔克

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

    你好,约阿希姆
    感谢您的帮助、

    我准备了帧0x618000 0x0F0E、但它仍然不工作、我向您发送一个包含结果的文件。 当我读取寄存器0x03 Sill A 时、具有0x050000 0x0F8E00
    我修复了时钟信号的问题、现在它从低电平开始、并通过引脚添加了复位 ADS130B04。 我还能做什么?

    e2e.ti.com/.../11.07.sal.csv

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

    您好、Filip、

    在这个最新的文件中、需要校正 CSn 信号。 您正在与器件进行部分通信、而 CSn 为高电平。

    此致、
    约阿希姆·武尔克

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

    您好、Filip、

    我正在检查您现在的通信是否正常工作。

    此致、
    约阿希姆·武尔克

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

    尊敬的 Joachim:

    现在一切都运行正常、我必须使用长帧、但对我来说没关系

    感谢您的帮助

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

    谢谢您让我了解 Filip。

    此致、
    约阿希姆·武尔克