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.

[参考译文] INTB 未取消置位

Guru**** 2538950 points
Other Parts Discussed in Thread: MSP430FR5739

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/987202/intb-not-de-asserting

器件型号:LDC1612
主题中讨论的其他器件:MSP430FR5739

INTB 不会取消置位(它始终为逻辑低电平)、这会阻止微处理器从 DATA0_MSB 和 DATA0_LSB 读取数据。   我们已经检查了微处理器代码、如果我们断开了 INTB 引脚的连接、并且我们通过按钮触发 INTB 输入连接 、则代码会正确执行、并调用中断、同时读取 DATA0_ MSB 和 DATA0_LSB、 这使我们相信我们在 LDC 配置方面做了一些错误、但它看起来很简单。

我们已将示波器连接到 INTB 引脚、触发了 DATA_MSB 的读取、然后 DATA1_LSB 和 INTB 未更改状态。   我们还尝试读取状态寄存器0x18以查看这是否会导致 INTB 无效。  0x18中的值为0x48  、根据数据表、该值是数据就绪标志和 Channel0未读转换、看起来是正确的。

LDC 寄存器按照以下顺序通过微处理器发出的以下写入命令进行设置

寄存器 地址
配置 0x1A 0x30C1
RCOUNT0 0x08 0x0A7C
OFFSET0 0x0C 0x0000
SETTLECOUNT0 0x10 0x5F
Clock_DIVIDER0 0x14 0x1001
ERROR_CONFIG 0x19 0x0001
MUX_CONFIG 0x1b 0x0209
DRIVE_CURRENT0 0x1E 0xF800
配置 0x1A 0x10C1

是否有任何关于导致 INTB 信号始终有效的因素的想法?     作为参考、我们使用 MSP430FR5739作为微处理器、所连接的引脚设置为输入、不带上拉/下拉电阻器、P1IES = 1 、因此中断在高电平到低电平转换时触发。  我们还在 P1IES 设置为0的情况下进行了测试、以查看发生了什么、并始终将 INTB 置为有效

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

    您好、Cameron、

    LDC 寄存器似乎设置正确、ERROR_CONFIG 寄存器设置正确、以便在新数据准备就绪时将 INTB 引脚置为有效。 但是、当您读取 DATAx_MSB 寄存器时、INTB 引脚应取消置位。

    您是否有读取 DATA0_MSB 寄存器的时间的屏幕截图?

    此致、

    Nicole

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

    您好、Nicole、

    示波器上的 CH1连接到 INTB

    左下角是连接到 I2C 总线的监测器、因此我们可以看到正在传输的内容、左下角是来自监测监测监测监测器连接的逻辑分析仪的馈送、因此我们可以在需要时中断和 I2C 通信以验证我们是否已编写 消息。

    读取命令可正确执行、如果我们向线圈提供目标、则接收到的值会发生变化、因此 LDC 看起来工作正常。  我们似乎无法利用由 INTB 引脚置位驱动的 ISR 来驱动微处理器数据采集。

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

    您好、Cameron、

    您使用的线圈频率是多少? 可能没有足够的时间来发送取消置位信号。 采样时间可在 《功率降低技术 》应用手册的第2.1节中更详细地了解。

    此致、

    Nicole

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

    您好、Nicole、

    线圈工作频率为65kHz。

    根据我们为 SETTLECOUNT (24514)和 RCOUNT (2684)编程的文档、我们的采样时间应为10ms。  

    • TS=(16xSETTLECOUNT0)/fref

              =(16x24514)/43.3Mhz

              =0.009

    • Tc=(16xRCOUNT)/fref

              =(16x264+4)/43.4Mhz

              =0.00098959

     如果我们将这些值输入到 EVM GUI 中、它会确认这一点。

    I2C 总线的时钟频率为100kHz、因此回读时间约为2.75ms。

    我是否正确地说、这意味着 INTB 引脚未置位的情况下应该有大约7mS? 或者我是不是对某件事理解不当?

    LDC 数据表43的8.6.1中提出了检查所有这些计算的另一个问题、该问题指出、对于单通道模式、最大频率0 <= 35Mhz、因为我们使用内部基准、这是不正确的。 那么、是否需要像我们目前所拥有的那样将 FREF_DIVIDER0设置为2而不是1?  (这只是为了在我们的文档中进行澄清) 我们已经厌倦了这种期望20ms 采样率的做法、但我们仍然看不到 INTB 失效。

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

    您好、Cameron、

    由于频率超出表43中列出的限制范围、FREF_DIVIDER0应设置为2、尽管这似乎不是 INTB 问题的原因。

    您是否能够附加系统原理图? 如果需要、您可以通过电子邮件向我发送任何附件。

    此致、

    Nicole