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.

[参考译文] ADS1198:ADS1198数据提取

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/566963/ads1198-ads1198-data-extraction

部件号:ADS1198

我目前正在使用ADS1198和STM32F103RCT6控制器进行该项目。该项目已完成SPI数据传输,在ECG模拟器的帮助下,我能够接收19字节数据输出。

数据表 中提到数据采用2的补码格式,MSB优先。 有人能告诉我数据是如何提取的吗?

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

    通过SPI接口检索数据。 在RDATAC模式下配置设备时,主机只需等待DRDY负边缘,然后将CS降低并开始切换SCLK。 设备将自动移出DOUT引脚上的转换数据。 您应该切换SCLK足够多的时间,以移出24位状态字和8个通道值的18位转换数据-每次DRDY转换为低值时,总计168位。 ADS1198数据表中提供了有关数据检索和SPI接口其它方面的详细信息,您可以在此处找到这些信息: www.ti.com/.../ads1198.pdf

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

    海先生

    感谢您的回复。在您提到的关于168位的回复中,您确定吗? 根据ADS1198数据表,它由8个通道组成,每个通道16位,并由24个状态位组成,总共152位,是不是?

     我已通过SPI成功传输了19字节数据。我正在使用ECG模拟器提供输入信号。我当前的问题是:

    1)如何将每个通道的数据与该19字节数据流分开?  

    2)要绘制数据,我要将这2的补码数据转换为带符号整数,对吗?

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

    Silpa,

    是的,您对位数的回答是正确的。 我的数学是错的。

    1. 您需要编写一些代码来执行分离通道所需的逻辑操作。 我没有任何示例代码,但它应该不会太难。 它主要包括屏蔽不必要的位和位移以使单词正确对齐。
    2. 是的,您可能需要将数据格式转换为签名格式。 我不知道处理器的确切工作方式(字大小/类型等),但鉴于您获得的数据将是16位宽,应该有一些数据类型可以轻松适应数据,您可以使用类型转换来更改其存储方式。 例如,数据类型“带符号的短整型”通常对应于2的补码,带符号的16位整数。 否则,"Int16_t"在c中非常通用,与该类型对应。

    此致,

    Brian Pisani

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

    您好,先生  

    感谢您之前的回复。我有一个新的疑问,对于ADS1198,我通过设置寄存器来关闭所有8个通道,因此 所有通道的值应为'0',但有时,对于某些通道,它会输出 一些垃圾值,如(C0 00 00 00 00 00) 00 00 00 00 00 00 00 00 00 1C 00 00 00 00 00 00)。原因可能是什么? 如何解决此问题?

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

    检查逻辑分析器上的SPI信号。 可能是您在下一个DRDY信号发生之前没有读取整个数据传输。 要查看此信息,请查看SCLK,DRDY和DOUT,以查看发生错误读取时发生的情况。

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

    先生

    我在过去一个月里一直在研究这个问题,但当我绘制波浪时,它看起来就像噪音。我遇到了很多问题,我将在下面提到它  

    1)在ADS1198的数据表中,在计时特性中,它给出的SPI设置为CPOL=1和CPHA=1,但对于我的ADS1198,仅当CPOL=1和CPHA=2时才得到数据输出。

    2)当我通过TI论坛时,您建议某人检查AVDD,AVSS等,所以我也检查了我的电路,我将在下面提到

    • AVDD=2.4V
    • AVSS=0
    • DVDD=2.4V
    • VCAP1=1.18V
    • VCAP2=1.22V
    • VCAP3=4.27V
    • VCAP4=1.1V

    我正在使用3.3V电源和内部参考2.4V

    3)我的编程流程是  

    •  调用ADS重置功能(我将重置并设置重置引脚,然后重置芯片选择)
    • ADS停止转换
    • ADS SDATAC
    • 然后注册写入和读取
    • 发送ADS start opcode

    但是当我查看DRDY引脚时,我得到了从高到低的脉冲。我正在附加下面的文件

    这是SCLK,对于正常的默认条件,最小SCLK为80khz,我也遵循默认条件AS并使用SPI SCLK AS 138,接近140kHz

    上图显示了dout (黄色)和sclk (绿色)  

    上图显示了DRDY (黄色)和SCLK (绿色)。

    4) C0 00 00 00 00 21 80 00 00 00 00 00 00 00 42 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  C0 00 00 00 00 21 D7 00 00 00 00 00 00 00 00 00 00 0C 00 00 00 02。

    上面我显示了一个带有C0标题的2 dout模式,这里我只打开了第二个通道并关闭了所有其他通道,输出看起来像这样。

    这是我当前的问题,我不知道如何解决,请尽快帮助我,我陷入了这种情况。  

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

    我不知道这些图片中发生了什么。 您能否放大单笔交易(即当DRDY值变低时以及之后会发生什么)? 我想查看DRDY,SCLK和DOUT。

    AVDD - AVSS电压必须至少为2.7 V,设备才能正常工作。 如果不是这种情况,则无法期望设备正常工作。

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

    先生

    感谢您的回复,我可以理解您的困难,但我的问题是我正在使用PC示波器,因为我无法精确地检查波形。

    我厌倦了查看SCLK,但仍然无法 正确查看,因此目前可能无法缩放单个事务。

    请你澄清我的一些疑问吗?

    这是我的DRDY。 此波形是否正确? 通常,当数据准备就绪时,它应该是一个高脉冲,它会变得低,对吗? 上述波形中发生此反转的原因可能是什么?

    我又有一个ADS板,所以我检查了参数值,请您验证一下吗?

    • AVDD=3.5V
    • AVSS = 0伏
    • DVDD=3.3V
    • VCAP1=1.29V
    • VCAP2=1.7伏
    • VCAP3=5.4V
    • VCAP4=0.5V  

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

    电源和VCAP值看起来正确,VCAP4除外。 VCAP4应等于VREFP/2。 VREFP处的电压是多少? 您是否能够成功编写启用内部参考缓冲区的寄存器?

    我在这里的最佳猜测是,您看到的这个问题与您与SPI接口的通信方式有关。 遗憾的是,如果不能访问合适的示波器或逻辑分析仪,调试接口问题将极其困难。 您是否有权访问具有一个实验室的实验室? 您是否可以从朋友或同事那里借一个?

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

    我正在使用2.4 v内部参考电压作为参考电压。我已经通过设置config3寄存器的Bit5=0启用了它。关于示波器,我不确定它,我将尽力获得一个合适的示波器。感谢您的帮助。