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.

[参考译文] AFE4900:ECG 设置

Guru**** 2595805 points
Other Parts Discussed in Thread: AFE4900

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/660421/afe4900-ecg-settings

器件型号:AFE4900

你好!

我目前正在 ECG 模式下使用 AFE4900器件。

我希望仅获得采样率为128Hz 的 ECG 数据。

我将在 INP_ECG 和 INM_ECG 引脚之间向器件馈送一个正弦信号(1.0Vpp @ 1Hz)、以检查转换线。

我可以在 ADC_RDY 引脚 上看到@128Hz 的中断脉冲、但无法在2Dh 寄存器中获取 ADC 结果。 我只有非常小的值、例如噪声信号。

转换结果似乎没有写入寄存器。  我想我错过了一个寄存器配置中的某个内容、但我不知道是什么。

有人可以帮帮我吗?

此致。

以下是我自己的器件配置:

   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_control0、((u32) 0x000028u));      //所有寄存器上的软复位
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_control0、((u32) 0x000020u));      //启用 ULP 模式、禁用 FIFO、写入 SPI 模式
   
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_Control2、((u32) 0x104218u));     //内部振荡器(128kHz)、 ILED_FS = 50mA
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_CONTROL1、((u32) 0x000101u));     //启用定时器模块;2个平均值
      
   //vDDRvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_ECG_CHOP、(((u32) 0x000000u)));       //禁用 ECG 斩波模式
   //vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_ECG_CHOP、(((u32) 0x080000u)));       //启用 ECG 斩波模式(较高频率的噪声、忽略 NUMAV)
   
   //vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_ECG_RLD、((u32) 0x800000u));      //启用 ECG RLD 输出
   //vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_ECG_RLD、((u32) 0x000000u));      // ECG RLD 输出被禁用
   
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_Control5、((u32) 0x000000u));      // ECG Gain = 3、ECG 引脚未短接至 RLD OUT 引脚

   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_DUAL_PD、((u32) 0x000004u));      // ECG 模式启用    
  
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_PRPCOUNT、((u32) 0x0003E7u));      // PRPCT = 999 -> FS = 128Hz  

   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_LED2STC、((u32) 0x00002Bu));       // LED2采样开始值时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_LED2ENDC、((u32) 0x0000A7u));       // LED2采样结束值时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_LED1LEDSTC、(((u32) 0x00012BU));   // LED1 on 起始值时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_LED1LEDENDC、(((u32) 0x0001ABU)));  // LED1 on end value timing
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_ALED2_3STC、((u32) 0x0000ADu));   // LED2采样环境/LED3采样开始值时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_ALED2_3ENDC、(((u32) 0x000129u)));  // LED2采样环境/LED3采样结束值时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_LED1STC、((u32) 0x00012FU));      // LED1采样开始值时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_LED1ENDC、((u32) 0x0001ABU));     // LED1采样结束值时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_LED2LEDSTC、(((u32) 0x000027u)));   // LED2 on start value timing
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_LED2LEDENDC、(((u32) 0x000A7u)));  // LED2 on end value timing
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_ALED1STC、(((u32) 0x0001B1u)));    // LED1采样环境启动值时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_ALED1ENDC、(((u32) 0x00022Du));    // LED1采样环境结束值时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_LED2CONVST、((u32) 0x0000A9u));    // LED2转换开始值时序    
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_LED2CONVEND、(((u32) 0x0000B9u)));    // LED2转换结束值时序    
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_ALED2_3CONVST、(((u32) 0x00012BU));// LED2环境/LED3转换开始值时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_ALED2_3CONVEND、(((u32) 0x00013BU));// LED2环境/LED3转换结束值时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_LED1CONVST、((u32) 0x0001ADu));   // LED1转换开始值时序    
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_LED1CONVEND、(((u32) 0x0001BDu));   // LED1转换结束值时序    
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_ALED1CONVST、((u32) 0x00022FU));   // LED1环境转换开始值时序    
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_ALED1CONVEND、((u32) 0x00023FU));   // LED1环境转换结束值时序    
   
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_LED3STC、((u32) 0x000A9u));      // LED3关于起始值时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_LED3ENDC、((u32) 0x000129u));      // LED3关于结束值时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_LED4LEDSTC、(((u32) 0x0001ADu)));   // LED4开启开始值时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_LED4LEDENDC、(((u32) 0x00022Du));   // LED4关于结束值时序    
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_DATARDYSTC、((u32) 0x0000245u));   // DATA_RDY 起始值时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_DATARDYENDC、((u32) 0x000255u));  // DATA_RDY 结束值时序

   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_DYNTIASTC、((u32) 0x000000u));   //TIA 活动相位启动时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_DYNTIAENDC、(((u32) 0x000242u)));   //TIA 活动相位结束计时
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_DYNADCSTC (((u32) 0x000000u)));   //ADC 活动相位启动时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_DYNADCENDC、(((u32) 0x000242u)));   //ADC 活动相位结束时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_DYNCLKSTC (((u32) 0x000000u)));   //4MHz 示波器活动相位启动时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_DYNCLKENDC、(((u32) 0x000242u)));   //4MHz 示波器活动相位结束时序
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_DEEPSLPSTC、((u32) 0x000260u));   //深度睡眠阶段开始计时
   vdDrvAfe4900_WriteRegister (U8_DRV_AFE4900_REG_DEEPSLPENDC、(((u32) 0x0003CDu)));   //深度睡眠阶段结束计时

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

    此零件受限制、不应在此站点上共享。 请离线访问我们的电子邮件主题。