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**** 2537260 points
Other Parts Discussed in Thread: ADS1248

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1015352/ads1248-ads1248-read-write-register-issue

器件型号:ADS1248

你好。
我一直在努力使 ADS1248正常工作。
这个例程。
将 MUX1寄存器读入 TEMP 变量。
将0x30写入 MUX1寄存器。
读取 MUX1寄存器。
检查 MUX1寄存器是否= 0x30。
将 TEMP 变量写回 MUX1。


然后、例程继续执行、直到获得预期结果。 在执行例程之间有500ms 的延迟。
它在 Arduino 中进行编码(如果重要)。

但出于某种原因、它无法正确读取。
如果我让它运行一段时间、它会起作用并最终写入数据。
之后、它在写入寄存器时仍然存在问题、但读取数据时没有问题、因为我可以使它读回 MCU

原理图:
请注意、其他 SPI 引脚在 MCU 附近有一个33R
信号完整性看起来很好。 因此、它必须是一些与计时相关的问题。

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

    当前没有更新。  
    这方面仍有问题。 尝试了很多不同的东西、在 ADC 运行时读取 ADC 没有问题、但我无法将多路复用器设置为不同的位置、但在提取转换数据时没有问题、但使用"SYNC"命令并不幸运、因此在写入寄存器时确实存在一些问题

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

    您好 Stefan、

    为了读取和写入寄存器、START 引脚必须为高电平。 您能否确认您的系统是否符合此要求?

    此外、您能否包含显示时序的逻辑分析仪快照? 我无法从您发送的图表中验证计时是否准确。 您还可以包含逻辑分析仪数据文件、因为我也有 Saleae、并且可以在该程序中查看该文件。

    布莱恩

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

    因此、可接受使 START 引脚一直处于高电平位置?  

    我将很快记录一个逻辑分析仪文件并将其发送给您。  

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

    https://www.dropbox.com/s/6cyg9t855ttgvd9/SPI_CAPTURE.logicdata?dl=0
    遗憾的是、我无法将文件添加到我的评论中、因此这里是一个下拉框链接

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

    您好 Stefan、

    是的、可以保持启动高电平。 请仔细阅读 ADS1248数据表中的第9.4.4节、了解在保持高电平启动时还需要什么、特别是如何控制转换。

    布莱恩

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

    您好 Stefan、

    由于 TI 防火墙、我无法访问 Dropbox 文件。 您在 e2e 中附加文件时遇到了什么问题?

    布莱恩

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

    典型。
    问题是文件 格式。 然后、我将其上载为 TXT 文件。  
    将文件重命名为:spi_capture.logicdata

    e2e.ti.com/.../SPI_5F00_CAPTURE.txt

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

    我发现该报价与数据表中的报价很奇怪
    '请注意、START 引脚必须保持高电平才能使用命令控制转换。 请勿结合使用 START 引脚和命令来控制转换。"
    所以
    您需要使 START 引脚处于高电平以发送命令(SYNC)来控制转换、脉冲同步会导致数字滤波器复位和新转换开始、但不应将 SYNC 和拉高 START 组合在一起以控制转换。
    这是令人困惑的!

    此外、当 START 引脚开始转换时、必须将 START 引脚设置为高电平才能读取/写入寄存器、这实际上并不重要。  
    它应在下降沿启动转换、因此如果您将 START 拉高、配置寄存器、然后将 START 引脚拉低、它将启动转换  

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

    我尝试了一些很愚蠢的东西。
    使用蛮力。
    我所做的是循环对 MUX0的写回读、直到写入的数据和读取的数据都相同
    我可以确认它读取的电压不同且正确、因此它可以正确地进行多路复用  
    但是、需要5到2000年才能尝试正确多路复用、因此这一点并不接近于解决方案

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

    问题已解决!
    问题是 CLK 的最后一个边沿和芯片选择的上升边沿之间的 tSCCS 延迟。
    要求为7tCLK、在我的案例中、tCLK 为4.096MHz = 1.7µS μ s 延迟  

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

    您好 Stefan、

    很高兴这个问题得到解决、我很难在 Saleae Logic 软件中打开您发送的.txt 文件、因此这将是我的下一篇文章。

    如果您需要其他信息、请告知我们。

    布莱恩

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

    啊、很抱歉、这不起作用。
    您需要做的是将 扩展名从.TXT 重命名为.logicdata
    由于某种原因,我无法上传文件扩展名为 logicdata 的文件

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

    您好 Stefan、

    这不是文件格式本身的问题、我有一个新版本的逻辑软件不能识别.logicdata 文件(而是需要.Sal 文件)。 当您解决问题时、我正在下载旧版本的软件。

    感谢您在此问题上的顽强精神。 当您尝试很多东西、记录您尝试的内容、并让我们知道哪些功能有效、哪些不起作用时、它可以更轻松地为您提供支持。 如果您对 TI 器件有任何其他问题、请随时开始新的主题。

    布莱恩