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.

[参考译文] ADS1294:眼部EMG信号

Guru**** 2582405 points
Other Parts Discussed in Thread: ADS1294

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/625155/ads1294-ocular-emg-signal

部件号:ADS1294

大家好,我是来自阿根廷的Juan。  

我想使用ADS1294来制作一个设计感应眼睛闪烁的项目,但我有一些问题:

1)关于连接,我有两种选择:

A -

B-  

我正在考虑使用单极电源(0伏- 5伏),所以我不知道这两个选项是否正确,哪一个是这种电源方法的最佳选项。 请帮帮我。

2)在两张图片中,我将RLD电极连接到RLDOUT,但我看到它可以连接到RLDIN,然后此信号可以重新路由到任何通道输入。 有何区别? 是否有任何优势?

3)关于将设备与人体隔离,建议使用光电隔离器。 是否所有输入都需要这些信息,或仅在RLDOUT才需要这些信息? 您是否有任何CI要在TI中推荐?

4)在信道输入之前,我正在考虑使用带通滤波器(低通滤波器:500Hz和高通滤波器:28Hz)。 第一阶筛选器是否足够?

谢谢你。

 

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

    Juan,您好!

    感谢您对ADS1294的关注!

    虽然我们不是应用专家,但我可以尝试通过以下建议为您提供指导:

    1. 第一个问题的答案取决于您是否需要由每个电极输入检测到的独特信息。 如果您只关心差分电压,那么您可以减少所需通道的数量,并可能设计更便宜的解决方案。 将INxN与中端供应联系起来的单端方法(技术上的"伪差分")也将起作用。 理想情况下,RLDOUT将以相同的中置电源为中心,因此差分电压将以0V为中心,同时允许您仍使用ADC的全刻度范围。 您始终可以使用两个通道单独测量每个电极,如果您还关心差分电压,则可以减去后处理中的结果。
    2. RLDIN可用于将RLDOUT信号路由到输入MUX,并输出到其中一个通道输入引脚。 此时,输入引脚将从内部PGA断开。 这在RLD电极断开时很有用。 简单的寄存器更改可以暂时将偏置信号重新路由至身体,直到RLD电极连接恢复。 此外,RLDIN还可用于直接测量RLDOUT与中间电源的对比,以检查驱动到车身的共模信号。 这将再次断开PGA与INxx针脚的连接,并使用MUX将RLDOUT路由至所选通道。
    3. 我不确定这一个。 在医疗系统中使用的隔离技术方面,我们真的没有太多的经验。 但是,我认为只要您有足够的保护电路,这种技术就不是绝对必要的。 这将包括限流电阻器和钳位二极管,以保护患者和测量电路免受过压和直流电流瞬时增加的影响。
    4. 过滤器确实符合您的应用程序要求。 我认为许多客户可以使用更高级别的高通滤波器删除数字域中的DC内容,这比在模拟域中更容易实施。 模拟低通滤波器可以增加到第二个级别-许多次使用多个R-C对来增加保护,同时提供额外的滤波。 信号带宽也由您决定,但滤波器设计的重要细节是它应通过ADC调制器频率(FMod)提供足够的抗锯齿。 数字滤波器在此处响应返回单位增益(0 dB),噪声可别名回至您的信号带宽。 参见图52-56,其中闪存模块为fCLK /4或fCLK /8,具体取决于模式。 500Hz时的二级低通滤波器会在500kHz时提供-120dB衰减,我认为这已经足够了。 您可以将截止值进一步扩展至5kHz,以避免干扰信号带宽,或使用简单的单阶滤波器。

    我希望这能有所帮助!

    此致,

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

    你好,Ryan Andrews,

    感谢您的回答。

    我想检查您的评论,因为我不理解两个短语:

    答案1) "理想情况 下,RLDOUT将围绕同一个中电源居中,因此差分电压将围绕0V居中"

    问题:

    差分电压介于?

    我知道RLD是一个负面反馈,但这对身体有何影响? 为什么RLD信号是中间电源?

    如果您能更好地解释RLD的功能,我将不胜感激。

    答案2)"这在RLD电极断开时很有用。 简单的寄存器更改可将偏置信号暂时重新路由至身体,直至RLD电极连接恢复"

    问题:

    哪一个是偏压信号?

    我理解答案的另一部分,但我对这个短语有疑问,所以我看不到使用RLDIN和MUX代替直接使用RLDOUT的优势。

    再次感谢。

    胡安

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

    Juan,您好!

    RLD代表右腿驱动。 这是特殊的电极信号,在ECG和其他生物电位应用中有两个用途:

    1. 首先,它设置患者的DC共模电压,以便从身体测量的信号在测量子系统的范围内。 否则,主体基本上是浮动的,直流共模电压未定义。
    2. 其次,生成RLD信号通常是为了携带交流共模取消信号。 这大大有助于改进系统共模抑制(CMR),后者是医疗设备的严格IEC标准。 这对于抑制50Hz/60Hz电源线噪音尤为重要。

    有关RLD和改进CMR的更多信息,请查看我们的在线ECG培训系列以及专门针对此主题的应用说明:

    RLD放大器的输出以连接到放大器的同相输入的直流共模电压为中心。 ADS1294可通过内部电阻器分压器将此电压设置为中电源。 有关RLD放大器配置的详细信息,请参阅9.3 .1.7 .6节。

    有关RLDOUT信号的重新路由或测量的说明,请分别参阅9.3 .1.7 .1和9.3 .1.7 .2部分。 我并不是要直接表明RLDIN比RLDOUT具有优势-相反,它可以用作"后备"计划,以防RLD电极断开连接。 您不希望实体相对于测量系统浮动。

    此致,

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

    您好Ryan:

    再次感谢您的参与和解释,我正在解决我的问题。

    但是,我不能理解改路信号。 我知道它是如何工作的,我需要配置哪些寄存器等等,但是我看不出为什么你说没有RLD电极,身体不会相对于测量系统浮动。 为什么? 如何在没有RLD电极的情况下保持共模电压?

    如何在不使用此功能的情况下重新路由偏置信号?

    另一方面,我仍然不理解什么是偏置信号。 对不起,我的无知。

    谢谢。

    胡安

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

    Juan,您好!

    提问非常好。 您是否完成了演示培训? 其中有一节专门介绍了什么是RLD以及为什么需要RLD。

    在我之前的回应中,我曾说过,没有RLD,身体确实会浮动。 主体的直流共模电压未定义。 如果您不想使用RLD,您可以用交流电耦合电极输入,例如使用电阻分压器偏置信号。 在这种情况下,身体的直流电压无关紧要,因为串联交流耦合电容器会阻止直流信号。

    我建议现在不要担心RLD输出的重新路由。 同样,此功能只是系统的备份计划,通过RLD偏置身体。

    此致,

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

    您好Ryan:

    我一直在设计一块板来测试EMG信号,我对保护电路有疑问。 我已阅读"使用右腿驱动放大器改善通信模式抑制"应用说明,但我不知道如何选择CP值。

    在论文中说:"选择CP的值时,RP和CP的结果为零,约为60 Hz"。 在我的情况下,我有一个RP = 120k,我希望在50Hz时为零。 如何找到CP的价值? 公式是什么?

    谢谢!

    胡安  

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

    我觉得这是应用说明中的打字错误。

    此Rp || CP组合的概念是,您将在RLD放大器的反馈回路中引入零,该回路将补偿由电缆电阻和寄生电容产生的电极。 此极将大大高于50 Hz或60 Hz -可能是几个10 kHz或甚至100 kHz。 要正确设置Rp和CP,请尝试查找有关系统中ECG电缆的系列阻抗或寄生电容的任何信息。

    例如,您可以假设类似100pF (CCB)的内容。 如果电缆的额定阻抗为10k (RCB),则会使电极处于159kHz左右。

    Rp || cp的零值应设置为从电缆中取消此极。 如果Rp =120k,则需要的CP值为(1/(2*PI*159k*120k)~=8.3pF)。

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

    首先,感谢您最后的回答。

    在这种情况下,当出现新问题时,我尝试进行首次测试。 Dout引脚连接到Arduino Nano,该Arduino Nano连接到PC以查看信号波(我使用的是内部测试信号),但输出值为噪声。

    然后,我测量了VREFP引脚上的电压,电压为零(100mV)。 因此,我有两个可能的原因:

    1)原理图问题(连接问题),因为如果打开了广告,此引脚的默认值应为2.4V。

    2)由于SPI通信问题,ADS关闭。

    我不知道这是一个常见的问题,您是否有解决方案,或者我是否可以向您发送原理图和初始程序。

    如果您有Arduino或LPC1769代码,其中的图配置和初始例程可以帮助我。

    谢谢

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

    您是否尝试使用内部参考电压? 听起来好像内部参考缓冲区已关闭,这是默认设置。 要启用它,请将CONFIIG3[7]设置为'1'。 如您所述,您应测量VREFP和VREFN之间的2.4 V。

    请告诉我是否有效。

    此致,
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的,我使用的是内部参考电压,该位的配置如您所说。 所以,我认为问题是SPI通信。 但是,我使用的是经过测试的SPI Arduino库,这就是为什么我认为问题是在启动例程中出现的。

    这是:

    void init_ADS1294( void )

    /*开机安全*/
    digitalWrite (PIN_PWDN,高);
    DigitalWrite (PIN_RESET,HIGH);

    DELAY (tPORT*MS);

    DigitalWrite (PIN_RESET,LOW);
    DELAY (tCLOCK*2*MS);
    DigitalWrite (PIN_RESET,HIGH);

    DELAY (16*tCLOCK);

    serial.println("init_ADS");
    /* configuración de registros*/
    wReg (CONFIIG3_ADDRESS,CONFIIG3);
    wReg (config1_address,config1_LP_1K);
    wReg (CONFIIG2_ADDRESS,CONFIIG2);
    wReg (LoFF_address,LoFF);
    wReg (CH1SET_ADDRESS,CHxSET_TEST);
    wReg (CH2SET_ADDRESS,CHxSET_OFF);
    wReg (CH3SET_ADDRESS,CHxSET_OFF);
    wReg (CH4SET_ADDRESS,CHxSET_OFF);
    wReg (RLD_SENSP_ADDRESS,RLD_SENSP);
    wReg (RLD_SENSN_ADDRESS,RLD_SENSN);
    wReg (LoFF_SENSN_ADDRESS,LoFF_SENSN);
    wReg (LoFF_SENSN_ADDRESS,LoFF_SENSP);
    wReg (LoFF_Flip_address,LoFF_Flip);
    wReg (CONFIIG4_ADDRES,CONFIIG4);

    /*开始转换*/
    环境数据SPI (RDATAC);
    环境数据SPI (启动);
    环境数据SPI (SDATAC);
    }
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Juan,您好!

    SDATAC必须在发送任何其他命令之前发送,否则它们将无法被识别。 配置寄存器后,您应该将它们全部读回,以确认它们已正确写入。

    完成设备配置并确认设置后,您可以再次发送RDATAC。

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

    您好Ryan:

    我在发送SDATAC之前发送了任何其他命令,但它在另一个函数中。

    配置寄存器后,我添加了代码来读取它们。 它将数据保存在一个变量中(初始值=0),但当我打印此文件时,值为零。 我认为SPI.transfer不起作用或ADS有问题。

    我有一些问题:

    1)如何知道ADS是否已正确启动? 我可以测量一些针脚吗?

    2)什么是SCLK最大速率? 20MHz? 我正在使用DVDD = 3.3V和DGND = 0V。

    3)设备消耗的最大电流输入是多少?

    4)如何验证设备是否已烧录?

    5)是否应连接AGND和DGND? 两个都是0V。

    6)您是否有一个示意图示例可供查看,或者我是否可以将我的示例发送给您?

    7)您是否有Arduino或LPC代码示例可供查看?

    我只有不到2个月的时间来介绍这个项目,所以我无法开始。 我希望你能帮我。

    非常感谢。

    胡安

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

    您好Ryan:

    关于我的最后一个答案,我可以解决一些问题,我用REG读回寄存器。 但是,该设备的运行情况不是很好。

    1)我测量了clk引脚(我使用的是内部时钟振荡器),我可以看到2MHz的频率信号,但不是矩形的, 它有很多失真。 它取决于示波器带宽?

    2)如果我创建一个新代码,其中我只执行启动安全并将起始针脚拉高,那么DRDY针脚中的恢复信号应该是什么?

    再次感谢。

    胡安

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

    如果在启动过程中将启动与DVDD连接得较高,则/DRDY将以默认数据速率(500SPS)开始脉冲。

    探查时钟信号的一个技巧是使用探头可能存在的短接地线。 此外,尝试尽可能靠近CLK引脚探测时钟,并将接地线连接到最近的点。

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

    您好Ryan:

    感谢您的最后回答。

    我看到我的项目取得了一些进展。 在这种情况下,我有一个明确的疑问。

    首先,我使用默认设置启动设备,我可以看到:

    CH1 -蓝色- DRDY

    CH2 -橙色- SCLK

    我测量了两个DRDY脉冲之间的时间,这与250 sps一致。 此外,我可以计算120个SCLK脉冲(24个状态位和4x24个通道位)。 信号噪音很大?

    然后,我尝试将模式更改为HP,结果与数据表不匹配。 DRDY信号根据新的数据速率(500sps)改变,但SCLK的问题在以下图像中显示,它不与DRDY下降边缘同步,并且有120多个脉冲。 所以,我回到了最初的默认设置,但 SCLK的问题仍然存在(下面的图片是默认设置)

    我希望你能帮我。 再次感谢。

    胡安