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.

[参考译文] CCS/AFE4400:AFE4400寄存器和环境消除

Guru**** 2540720 points
Other Parts Discussed in Thread: AFE4404, AFE4400, AFE4490, AFE4403

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/879497/ccs-afe4400-afe4400-registers-and-ambient-cancellation

器件型号:AFE4400
主题中讨论的其他器件:AFE4404AFE4490AFE4403

工具/软件:Code Composer Studio

Praveen、您好!

我将 AFE4400用于 HRM 应用。 在我的应用中、PRF 需要值为100、LED 需要电流脉冲持续时间为100us。 我已经查看了您 的 AFE4400/AFE4490 / AFE4403 / AFE4404常见问题解答文档、并对其进行了很好的解释。 但我有一些问题。

1) 1)我在数据表中检查了 afe4400的寄存器、对表2 (P31)中的所有寄存器感到非常困惑。 我的意思是、有太多的寄存器可用于我需要的两个功能、即 PRF=100和100us 的脉冲宽度。 我尝试理解它是如何与图42和43一起工作的、但我仍然不理解和不知道如何配置表2的寄存器以获得100Hz PRF 和100us 脉冲宽度。 我的意思是采样的开始和结束、脉冲的开始和结束... 所有这些寄存器都会丢失我的值。  

2) 2)还有一个用于 LED1数据的寄存器、另一个用于环境数据、另一个用于 LED1-Ambient。 那么、什么是实用程序、例如 LED1数据和 LED1-Ambient。 我的意思是 LED1数据是没有环境数据的请求信号(对吧?)、因此它们是与 LED1环境数据相同的数据、不对? 我的意思是、我看不到它们之间的区别以及 HRM 应用程序应该读取的区别。

既然我们已经有一个包含 LED 数据的寄存器,而没有环境数据,那么是否有必要使用电流消除? 很抱歉、有很多信息让我感到困惑。

3) 3)最后如何选择放大器的增益、如果我们必须使用电流 消除、那么如何确定电流、因为我们不知道体积直流分量的电压、因此我们必须消除电压?  

非常感谢、

此致、  

Mike

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

    可以有人帮忙吗?

    谢谢你。

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

    尊敬的 Mike:

    我建议您使用 AFE4400EVM 的 GUI 来获取给定配置的寄存器设置。 使用 GUI、只需输入所需的 PRF 和 LED 准时即可配置计时寄存器。 同样、您可以使用 GUI 的高级控件来配置 TIA 增益和 LED 电流等 AFE 参数。 配置 AFE 后、您可以保存寄存器设置、以便将其移植到您自己的 MCU。

    对应于 LED 阶段的 AFE 输出包含 LED 产生的信号以及环境信号、而环境阶段仅包含环境光产生的信息。 因此、为了从 LED 阶段消除环境信号、我们建议使用 LED-AMB 阶段、因为它从 LED 阶段以数字方式减去环境信号。 这还有助于抑制由于环境信号而导致的 PPG 信号调制。

    如果您恰好拥有巨大的环境信号、则可以使用内部偏移消除 DAC 来消除大量环境光、以便充分利用 ADC 的整个动态范围。

    希望这对您有所帮助。

    此致、

    Prabin。  

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

    Prabin、您好!

    感谢您的回答。  

    我对 TIA_AMB_GAIN 寄存器有疑问。 如何知道要为第2级设置的增益、因为我们事先不知道 TIA 输出端的电压。  

    1) 1)此外,在数据表中,我们还有 RF * CF < Rx Sample Time /10。 Rx 采样时间是否与当前脉冲宽度相对应? 如果我们希望脉冲宽度= 100us,这意味着 RF*CF 应该小于100us/10 = 10us = 1e-5?  

    "我建议您使用 AFE4400EVM 的 GUI 来获取给定配置的寄存器设置。 使用 GUI、只需输入所需的 PRF 和 LED 准时即可配置计时寄存器。 同样、您可以使用 GUI 的高级控件来配置 TIA 增益和 LED 电流等 AFE 参数。 配置 AFE 后、您可以保存寄存器设置、以便将其移植到您自己的 MCU "。  

    2) 2)我已经检查了此代码、并且在 afe4400.h 文件中有一个 PRF = 100的配置、但我不知道这些值是如何设置的。 例如:  

    #define LED2STC_VAL   (((((PRP+1)*3)/4)+80)    //对于100Hz - 30080

    #define LED2ENDC_VAL  (LED2STC_VAL-80+Δ-2)     //对于100Hz - 37998

    我的意思是我不理解所用的公式、它的来源以及它为什么谈论的值是30080和37998。 如果有一些帮助、我将不胜感激。  

    非常感谢、

    此致、

    Mike

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

    尊敬的 Mike:

      您实际上不需要提前了解 AFE4400的输出。 您可以监控输出并相应地增大或减小增益。

    1) 1)此外,在数据表中,我们还有 RF * CF < Rx Sample Time /10。 Rx 采样时间是否与当前脉冲宽度相对应? 如果我们希望脉冲宽度= 100us,这意味着 RF*CF 应该小于100us/10 = 10us = 1e-5?  是的

    2) 2)在 AFE4400中、整个 PRP 分为4个阶段、每个阶段都与 LED 相关联。 现在、如上所示、LED2配置为在第4相开启、这就是 LED2STC_VAL 从 PRPCNT 的3/4开始(+一些裕度、80计数)的原因。  例如、如果您的 PEF 为100Hz、则您的 PRPCNT 为(4e6/100)-1= 39999、因此 LED2STC_VAL = (((((PRP+1)*3)/4)+80)= (((((((39999+1)*3)/4)+80)=  30080。

    类似地、您可以找到其他参数的计数值。 您可以参阅数据表中的图42和表2。

    此致、

    Midhun Raveendran

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

    您好、Midhun、

    感谢您的回答。

    1)"在 AFE4400中 、整个 PRP 分为4个阶段、每个阶段都与 LED 相关联。 现在、如上所示、LED2配置为在第4相开启、这就是 LED2STC_VAL 从 PRPCNT 的3/4开始(+一些裕度、80计数)的原因。  例如、如果 PEF 为100Hz、则您的 PRPCNT 为(4e6/100)-1= 39999、因此 LED2STC_VAL = (((((PRP+1)*3)/4)+80)= ((((((39999+1)*3)/4)+80)= 30080。"

    现在更清楚了。 但您说有4个阶段、每个阶段都与 LED 相关联。 那么,如何处理我们只使用一个 LED 的事实,因为我们需要心率应用? 我的意思是,我们应该仍然将4分频并为一个 LED 配置所有寄存器或寄存器?  

    2) 2)我也不知道 Delta 是如何工作的       (((((((PRP+1)*DUTYCYCLE )/100)是计算得出的,与之对应。 此外,电流脉冲宽度取决于增量值? 我是说我们应该在哪个寄存器中指示我们需要100us 的脉冲宽度?  

    谢谢、

    此致、

    Mike

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

     大家好、Mike、

    以下是几个答案。

    1)在 AFE4400中、脉冲重复周期(即 PRP)需要分为4个阶段(通常为2个 LED 和2个环境)。 通过将 LED 电流设置为0、LED 相位也可用于 AMB 相位。 在您的应用中(即心率监测)、您可以将一个 LED 的 LED 电流设置为0、这样您将有一个相位作为 LED 相位、其余3个相位作为 AMB 相位。 在任何情况下、您都需要定义4相的时序、并且由于每个相位都有自己的输出寄存器、因此您可以选择只读取所需的相位。

    2) 2)选择 Delta 没有硬性规则、它只是增加了裕量、可以更改。 为了实现 LED 导通时间100us、您需要对给定 LED 的开始和结束计数进行编程。 对于4MHz 的 AFE 时钟,100us 转换为100US/0.25uS = 400个时钟。 因此、您可以将 LED 时序编程为。

    • LED 开始计数= 0且 LED 结束计数= 399  或、
    • LED 开始计数= 10且 LED 结束计数= 409  或、
    • LED 开始计数= 50、LED 结束计数= 499  等

    请参阅  数据表的图42和表2以进一步参考。

    此致、

    Prabin。

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

    Prabin、您好!

    我将仔细阅读您的答案并再次查看数据表、必要时还会回来回答进一步的问题。

    谢谢、

    此致、

    Mike