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.

[参考译文] OPT3101-SDK:校准和查找温度系数时卡住。

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1092762/opt3101-sdk-stuck-while-calibrating-and-finding-temp-coeff

部件号:OP3101-SDK
主题中讨论的其他部件:OPT3101

OPT3101的校准问题


我们正在使用定制的1通道opt3101传感器来校准我们遵循的传感器
“OP3101SDK用户指南”中提到的步骤

这些步骤的不同之处是,我们已经为Linux自定义了设置,因为我们使用OP3101传感器的主板有一个,而不是MSP,我们使用ADB将代码推入我们的设备。

在调整我所面临的主要问题时,有:-
温度不稳定。
为了在创建配置文件时进行测试,我们在配置工具中设置了帧采样率,以便每秒获得1.95 帧数

此外,在definition.h中,我们还将数据点之间的时间(以秒为单位)设置为20秒。

->然而,结果没有达到预期的20秒,1个数据/ 20秒,在IN_LAB_STEK_2模式下,用于查找温度系数的速度非常快。
温度也很不稳定,不会线性地上升或下降,例如:-冷却时,从43到44可能会有一段时间,然后-> 45->43->42->43->41-41->42就像这样。
它以模拟波形的方式加热和冷却。


我们尝试调试这种情况的方法,尝试将万用表用作温度传感器,并将节点保留在芯片上,然后再次尝试测试in_lab_step _2,对于0.1 “c variation get temp in chip Tremain as +-3”c variation, 此外,当万用表温度稳定,但芯片读数tmain变化时,这会导致绘图时出错。

我们将使用热敏电阻来获得更准确的芯片温度读数,而不是万用表。

2.in in_lab_step 1
添加配置文件后,只要求1个参考距离。
我们的定制板仅使用1通道tx0。
但在HDR模式0和1中,它仍然不应该要求1。
它只要求HDR模式1。
我们已将HDR和非HDR模式中TX0的OPT3101Coefficients.cpp refdistanceinMM修改为500+10和500+20,
因为我们的镜头焦距至少只能在50 cm 距离处拍摄。

检查配置工具生成的配置文件后,与tx0相关的数据仅存在。

交谈交叉问题

在进行IN_LAB_STEP_0实验以查找串扰时,我们发现在通道1和3中,一些振幅和其他值正在出现,而在tx2中,所有值都是0。

设置为光电二极管有一个与相机类似的塑料圆柱形护罩,而红外线传感器有一个金属空心圆柱形小护罩。
与IR传感器相比,光电二极管覆盖层的长度更长。
IR是否可能通过这些覆盖层并进入机annels以创建串扰。


我曾尝试用一个比所需稍大一点的摄像头盖覆盖红外传感器,一个铝箔,两者的振幅都高于700,而我们只需要低于600。

我得到了最好的结果,一枚硬币完全盖住了,有点压力,在最坏的情况下,最好的结果是低于200,低于500。

因为在每次测试IN_LAB_STEK_1,IN_LAB_STEK_2等之前,我们都在进行串扰通话测试。 我不知道这是否造成试验中的任何错误。
我们在测试室中也有正常的LED灯,我们在加热腔室以进行in_lab_step 2中的测试时使用钨灯。 他们会否造成任何意外呢?

我在绘制图形时遇到的主要问题是相同的温度和广泛的I和Q值范围。
由于存在+或-3'c差异,假设35'c的值为32'到38'c

我想了解更多关于I和Q代表其极性含义的信息,以及我的静电从硬币中释放时用手覆盖这些读数的影响。

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

    您好,Darsan,

    关于HDR模式问题,首先,如果您已正确配置以使用HDR模式,则应输入每个HDR设置的校准距离,并在校准期间要求测量HDR模式0和1。 重新检查配置器工具以确保正确输入设置。

    芯片的温度可能与您设置HDR模式的方式有关,因此我将在修复第一个问题后尝试此操作。 但请尝试以更快的速率读取温度,以便您可以获得有关温度何时变化以及是否与设备切换电流相关的更多详细信息。 在我看来,您好像每20秒就会读取一次温度。

    对于串扰测量,您只应关注TX0的串扰是否正确? 因此TX2的值应该不重要。 IR绝对有可能通过覆盖层并进入其它通道,因此我建议查看 OP3101设计文档中的7.2 光学隔离部分。此外,我建议在测量串扰时使用电气胶带盖住IR传感器 (参见《OP3101 SDK用户指南》)。 最后,在不执行校准的情况下检查串扰,以便您能够看到基线串扰以及正在执行的校准如何减少串扰。

    谢谢!

    Brent Elliott

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

    谢谢Brent,

    我们按照您的建议进行操作,现在好多了,但问题仍然没有消失。

    之前我们没有选择自动HDR模式,选择后,我将按预期在tx2和tx1中获得所有值0。

    *在  IN_LAB_STEK_0中:

    我们得到 的振幅值低于200,同时使用硬币作为~ 180的屏蔽,即使没有屏蔽,我也只得到了接近210-220。

    我想知道,这里是否有一些错误。

    考虑到此振幅值是作为 光电二极管附近的电气和光学干扰来测量的,IR光学干扰是否 仅导致 20-30次振幅偏差。  

    *在_实验室_步骤_ 1:

    一切正常,要求HDR 1的2值和Tx0的0值。

    *IN_LAB_STep_2:

    最初为 消除串流而进行了光电二极管屏蔽。然后拆除了屏蔽。

    一直等到环境温度接近50°C

    然后让芯片在2.5 分钟内保持稳定。

    开始阅读。

    <-这是我们所陷入的困境。

    不稳定的温度不像预开机自检时那样糟糕,但数据仍然是垃圾,无法 移至下一阶段。

    问题:-

    1.数据采集速度非常快,1分钟内接近1200个数据(因此,我需要近3万个读数来记录温度变化)

    当温度从38增加到39时,它将变为38->39->38->38->39

    计数,TX,HDR,   I,   Q,S,ScaledI,ScaledQ,tMain,tIlum,tMain (C),  TIlum (C),Magnitd.

    1.0038万,0,0,-0.4237万,+2.6585万,7,+4294424960,+3402880,2400,0000, +44,- 128.0000 ,1.1077万.6
    1.0038万,0,1,-0.4237万,+2.6585万,7,+4294424960,+3402880,2400,0000, +44,- 128.0000 ,1.1077万.6
    1.0039万,0,0,-0.4237万,+2.6585万,7,+4294424960,+3402880,2400,0000, +44,- 128.0000 ,1.1077万.6
    1.0039万,0,1,-0.4237万,+2.6585万,7,+4294424960,+3402880,2400,0000, +44,- 128.0000 ,1.1077万.6
    1.004万,0,0,-0.4237万,+2.6585万,7,+4294424960,+3402880,2400,0000, +44,- 128.0000 ,1.1077万.6
    1.004万,0,1,-0.4237万,+2.6585万,7,+4294424960,+3402880,2398,0000, +43,- 128.0000 ,1.1077万.6
    1.0041万,0,0,-0.4237万,+2.6585万,7,+4294424960,+3402880,2400,0000, +44,- 128.0000 ,1.1077万.6
    1.0041万,0,1,-0.4237万,+2.6585万,7,+4294424960,+3402880,2400,0000, +44,- 128.0000 ,1.1077万.6
    1.0042万,0,0,-0.4237万,+2.6585万,7,+4294424960,+3402880,2400,0000, +44,- 128.0000 ,1.1077万.6
    1.0042万,0,1,-0.4237万,+2.6585万,7,+4294424960,+3402880,2400,0000, +44,- 128.0000 ,1.1077万.6
    1.0043万,0,0,-0.4237万,+2.6585万,7,+4294424960,+3402880,2400,0000, +44,- 128.0000 ,1.1077万.6

    同样,在prev图像中,也可以看到相同的温度具有不同的I和Q值。

    在相同的温度下,I和Q值的范围有很大的偏差。我绘制了I,Q和Temp图形。

    也可以看到,而不是"图3. 照明串扰系数确定”在“如何设置和校准基于OPT3101的接近感应系统”中,我们获得了I和Q的相反极性。

    因此,最后Q会突然改变

    2.5471万,0,0,-0.5567万,+3.2757万,8,+4293542144,+8385792,2352,0000, +38,- 128.0000 ,2.7344万.9
    2.5471万,0,1,-0.5567万,+3.2757万,8,+4293542144,+8385792,2352,0000, +38,- 128.0000 ,2.7344万.9
    2.5472万,0,0,-0.5567万,+3.2757万,8,+4293542144,+8385792,2352,0000, +38,- 128.0000 ,2.7344万.9
    2.5472万,0,1,-0.5568万,+3.2763万,8,+4293541888,+8387328,2352,0000, +38,- 128.0000 ,2.7349万.8
    2.5473万,0,0,-0.5569万,-3.2766万,8,+4293541632,+4286579200,2352,0000, +38,- 128.0000 ,2.7353万.3
    2.5473万,0,1,-0.5569万,-3.2766万,8,+4293541632,+4286579200,2352,0000, +38,- 128.0000 ,2.7353万.3
    2.5474万,0,0,-0.5571万,-3.2758万,8,+4293541120,+4286581248,2352,0000, +38,- 128.0000 ,2.7347万.1
    2.5474万,0,1,-0.5571万,-3.2758万,8,+4293541120,+4286581248,2352,0000, +38,- 128.0000 ,2.7347万.1
    2.5475万,0,0,-0.5571万,-3.2758万,8,+4293541120,+4286581248,2352,0000, +38,- 128.0000 ,2.7347万.1

    我们所做的唯一区别是,我们刚刚更改了Linux的SDK设置。

    我们想知道的要点是。

    1.我和Q代表什么。

    2,其极性代表的是什么。

    3.我们的I和Q有没有交换方式,如果有,我可以在代码中确认。

    4.用于将快速温度解析为可控速率。

    我们已更改definition.h

    #define TEMP_CYCLE延时_IN_seconds_Between数据点60 //每分钟读取1次
    由于上述条件失败,因此无法进行定义TEMP_CYCLE_TOTAL_NUMBER_OW_of_DATA_points_Per_SEG_6.5535万,因为需要获取任意多个读数才能绘制图表。

    配置文件创建:

    感谢您的阅读和帮助。

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

    您好,Darson:

    希望让您知道布兰特在一周的休息时间不在办公室。 我们应该能够在下周初收到您的回复。

    最佳,

    Alex

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

    您好,Darsan,

    请尝试使用电气胶带来屏蔽PD,因为我不确定硬币在屏蔽时会产生什么影响。 此外,您是否可以在帖子中直接共享这些图像,而不是上传至文件托管网站? 我正在查看您提出的其他要点,并希望在继续下一步之前查看屏幕截图。

    谢谢!

    Brent Elliott

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

    图像显示边缘的温度稍有变化,例如40->39。

    I与T

    Q与T

    配置文件生成设置

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

    您好,Darsan,

    我正在调查此事,稍后将与您联系。

    谢谢!

    Brent Elliott

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

    您好,Darsan,

    您是否浏览 此常见问题? 它列出了许多用于OPT3101设计和校准的资源。

    您正在从内部温度传感器或热敏电阻/万用表温度传感器测量的温度变化是否不稳定? 您是否能够共享主板的布局? 此外 ,您能否描述您正在遵循的温度校准设备加热和冷却流程? 我想知道您是否让设备自行冷却以及如何加热设备(温度室或其他方法)。 您是否对SDK进行了任何更改?

    谢谢!

    Brent Elliott

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

     我想确认的是-

    我和Q代表这些。

    1.I-相位串扰

    2.Q-四相串扰

    3.同时,请引导我们,我们得到相反的极性可能是什么原因。

    您是否浏览过此常见问题?

    ——现在又经历了所有这些问题。 此前主要集中于3份文档——《OP3101 SDK用户指南》,《飞行时间长距离接近和距离传感器系统设计简介》和《OP3101距离传感器系统校准》。

    您正在从内部温度传感器或热敏电阻/万用表温度传感器测量的温度变化是否不稳定?

    读数是芯片的内部温度,我们 在终端中得到了,这就是我们无法在definition.h文件中调整采样率的原因,我前面已经提到过。

    您是否能够共享主板的布局?

    请您分享您的邮件ID,以便我们将其转发以供审核。

    此外,您能否描述您正在遵循的温度校准设备加热和冷却流程?

    我们已经制作了一个DIY腔室,因为距离测量不适合整个设置。

    该系统是由热杀热剂组成的盒子,天花板上悬挂着一个钨灯泡。

    环境温度由万用表测量,串扰校正后,打开灯泡,设备在盒内,我们等待一两个小时,直到环境温度达到65-70'c。 然后开始读数,我们在一分钟内观察到将近1200个读数,所以在冷却时,我不得不多次纠正串扰,以便在不同的时间间隔在不同的温度下反复读数,这通过在上一个实验中读取6.5万个读数得到了解决,我从这个实验中分享了一些片段。

    我想知道您是否让设备自行冷却以及如何加热设备(温度室或其他方法)。

    (*当冷却门保持打开,但确保没有气流进行冷却时)

    您是否对SDK进行了任何更改?

    所做的更改-

    前面提到的配置文件。

    在OPT3101Coefficients.cpp中

    void environmentalController::manualySetReferenceDistance(){

    该->refDistanceInMM[0][0]=10+500;//由于最小FOV在50 cm 而更改

    this->refDistanceInMM[0][1]=550;//20+500;//

    this->refDistanceInMM[1][0]=80+500;//80+500;//未使用


    this->refDistanceInMM[1][1]=120+500;//120+500;//不使用

    this->refDistanceInMM[2][0]=0;//未使用

    this->refDistanceInMM[2][1]=0;//未使用

    }

    在Defination.h中

    #define TEMP_CYCLE延时_IN_seconds_Between数据点60 //modified from 1 by Darsan,adjusted with cooling ->但此逻辑不起作用,(获得~1200数据/分钟)

    #define TEMP_CYCLE_TOTAL_NUMBER_OW_DATA_points_Per_SEG_SECONSTANT 6.5535万最大值为6.5535万 -从1000修改

    还更改了Linux兼容的主机设置,

    我们在交叉编译ARM架构后将二进制源文件推入,当我们使用ARM64类型的板时,我们通过ADB(Android调试器)将其推入板,在板中我们正在检查传感器。

    这些都是我们至今所作的所有改变。

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

    您好,Darsan,

    是的,I和Q分别代表相位串扰和正交串扰。 I和Q串扰的极性和大小取决于系统,因此变量的极性不必与示例I和Q相一致  

    我的电子邮件是 b-elliott@ti.com

    生成与共享的设置相同的配置文件,使得 configurationFlags_xtalkSettingOneTauInMilliSeconds变量等于256,在MeasureIllumCrosstalk方法中,设备应在每个xTalk测量之间休眠256*8毫秒。 默认情况下,应使用MSP中的计数器将休眠功能配置为休眠,该计数器在definitions.h中使用 TIMSP430F5529_Launchpad_calibration_tool ifdef切换。 由于您没有使用启动板,这可能是您超快采样率的原因。 您可能需要为睡眠功能实施一些代码,以便与您的特定设置配合使用。 该函数接收以ms为单位的睡眠时间作为参数。

    谢谢!

    Brent Elliott

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

    您好,Brent Elliott,

    感谢您迄今为止的指导,但遗憾的是,我们在同一阶段仍面临问题,即 *in_lab_step_2阶段

    根据 您提供的见解,我们能够发现在制作Linux 主机供我们使用时存在错误。

    在hostController.cpp中

    void hostController::sleep(UINT32_t timeInMilliSeconds){
    //<b>方法的算法如下</b>

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    #if defined(HOST_PC) && defined(_WIN32) && defined(OPT3101_USE_SERIALLIB)
    Sleep(timeInMilliSeconds);/// * Sleeps for the time specified in the argument timeInMilliSeconds
    #endif
    #ifdef TIMSP430F5529_LAUNCHPAD_CALIBRATION_TOOL
    uint32_t c;
    for(c=0;c<timeInMilliSeconds;c++)
    __delay_cycles(24000);
    printf("\ninside launchpad caliration tool\n");
    
    #endif

    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

    //我相信我们不会使用上述代码部分,因为我们没有使用任何MSP控制台。


    double time _花费= 0.0 ;
    clock_t begin = clock();
    usleep(timeInMilliSeconds*1000);// Darsan为Linux主机自定义延迟
    printf("\n timeInMilliSeconds的值=%d\n", timeInMilliSeconds);
    clock _t end = clock ();

    //通过查找差值(结束-开始)和计算经过的时间
    //将差值除以Clocks_per秒转换为秒
    Time_USD+=(双精度)(结束-开始)/ Clocks_per _SEC;

    printf("\n已用时间为%f秒\n", time_luded);//用于检查我们的逻辑是否在运行Linux的MCU中正确执行。

    }

     您能否详细说明或提供更多见解,以了解您是否建议采用这种编码方式。+>usleep(timeInMilliSeconds*1000)

    我们验证了在进行串接 测试时,我们得到256*8=2048毫秒的延迟。  

    但现在我们感到困惑的问题是:

    1.  

     在OPT3101device_Functions.cpp中

    void OPT3101::device::measureIllumCrosstalk(OPT3101::crosstalkC *illumXtalk) {
    uint8_t regStore[2];
    /// <b>Algorithm of the method is as follows</b>
    regStore[0] = this->reg.use_xtalk_reg_illum.read();
    this->reg.use_xtalk_reg_illum = 0;
    this->reg.illum_xtalk_calib = 1; ///* Enables illum crosstalk measure register OPT3101::registers::illum_xtalk_calib
    host.sleep(this->configurationFlags_xtalkSettlingOneTauInMilliSeconds << 3); ///* Sleeps the host for 8 times the ***[ If i uncoment this instead will it work]***
    OPT3101::device::configurationFlags_xtalkSettlingOneTauInMilliSeconds so that device settles
    // The same can be replated with
    // host.sleepDataReadyCounts(this->configurationFlags_xtalkSettlingOneTauInDataReadyCounts<<3); // This is for 8 Tau settings
    ///* Sleep delay can be replaced with wait for 8 times the OPT3101::device::configurationFlags_xtalkSettlingOneTauInDataReadyCounts data ready pulses.User needs to implement based on host configuration

    如果在 hostController.cpp中如此  

    void hostController::sleepDataReadyCounts(uint16_t dataReadyCounts){
    //<b>方法的算法如下</b>
    ///*当前空函数需要由用户实现。 基于来自OPT3101的数据就绪信号中断,主机需要对这些脉冲进行计数,并等待直到达到dataReadyCounts。
    }

    我们可以获得哪些可以用于编码的中断。

    2.在    *in_lab_step _2中检查timeInMilliSeconds时

    在测量串扰时,我们得到2048毫秒,同时验证接近~0.0.02万 秒

    但是,对于 timeInMilliSeconds =100 ,一些时间值为100和6.144万,验证值接近0.0.035万 sec。  

    代码片段:

    The elapsed time is 0.000080 seconds
    00017,  0,  0,+003048,+003595,0,+0003048,+0003595, 2392, 0000,     +43, -128.0000, 14.2
     
     value of timeInMilliSeconds = 2048
    
    The elapsed time is 0.000212 seconds
    00017,  0,  1,+005949,+013958,0,+0005949,+0013958, 2392, 0000,     +43, -128.0000, 48.0
     
     value of timeInMilliSeconds = 61440**************************
    
    The elapsed time is 0.000192 seconds
     
     value of timeInMilliSeconds = 2048
    
    The elapsed time is 0.000210 seconds
    00018,  0,  0,+004025,+003159,0,+0004025,+0003159, 2392, 0000,     +43, -128.0000, 15.2
     
     value of timeInMilliSeconds = 2048
    
    The elapsed time is 0.000173 seconds
    00018,  0,  1,+004478,+015095,0,+0004478,+0015095, 2392, 0000,     +43, -128.0000, 49.5

    INFO::Validating I2C Transaction
    WARN::I2C Status checking not implemented
    INFO::Validating OPT3101 Design ID
    INFO::Design ID 0xc01000100411 Verified
    INFO::Resetting Host
     
     value of timeInMilliSeconds = 100************************
    
    The elapsed time is 0.000251 seconds**************************
    INFO::Performing Internal Cross talk Measurement...
     
     value of timeInMilliSeconds = 2048
    
    The elapsed time is 0.000188 seconds
    INFO::Internal Cross talk Measurement Completed
    INFO::Cover Photodiode with optical shied for illumination Cross talk measurement
    Press any Key to continue:
    
    INFO:Settings Chamber Temperature to 70C
    Press any Key to continue:
    
    Count,TX ,HDR,      I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
     
     value of timeInMilliSeconds = 2048
    
    The elapsed time is 0.000222 seconds
    00000,  0,  0,+004274,+003284,0,+0004274,+0003284, 2374, 0000,     +40, -128.0000, 16.5
     
     value of timeInMilliSeconds = 2048
    
    The elapsed time is 0.000236 seconds
    

    3.从获得的数据中绘制图表时,我获得了与HDR和非HDR模式的I Q完全不同的值,打乱了整个图表。

    **我们开始怀疑  在*in_lab_step 2中,整个过程是否需要覆盖IR传感器。

    I与温度

    Q与温度

    I vs temp (仅HDR 1值)

    Q与temp (仅HDR 1值)

    I vs temp (HDR 0值)

    I vs temp (HDR 0值)

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

    您好,Darsan,

    您能否详细说明您的第一个问题"In OP3101device_functions.cpp"? 我不确定问题在哪里,它是否在代码块中?

    数据就绪信号可通过GP1或GP2发出,具体取决于"表18. GPIO配置寄存器"。

    您是否能够对睡眠时间为 100 或6.144万毫秒的原因进行调查? 这些较长的睡眠时间是否与xTalk的一些错误测量结果相符?

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

    我的问题是

    \n数据406.0839万数据就绪信号可以通过GP1或GP2发出,具体取决于"表18 "中所示的输出配置。 GPIO配置寄存器"。[/QUOT]

    我现在要谈的是,还有其他的疑问。

    如 OPT3101device_Functions.cpp中所述

    我应该使用"// host.sleepDataReadyCounts(this ->configurationFlags_xtalkSettingOneTaaInDataReadyCounts<3);//这是8 tau设置"

    如果在更新 hostController.cpp中sleepDataReadyCounts的代码部分时出现这种情况,我们 从opt3101收到的中断是什么。

    您406.0839万您是否能够对睡眠时间为何 为100 或6.144万毫秒进行任何调查? 这些较长的睡眠时间是否与xTalk的一些错误测量结果相符?[/QUOT]

    今天,我在lab_2中进行调试,在两次数据读数之间,其中timeInMilliSeconds设置为2048,当没有读取时,timeinMilliSeconds正在变成6.144万,也许是为了带来适当的延迟,我更早地检查任务所需的时间, 现在我更改了函数,我看到每个数据有2秒(2048毫秒),在两个数据集之后有6.144万 (61秒),这可能会给冷却过程带来延迟。 但最终数据仍如图所示混乱。  

    当HDR为1和0时,特别值的I和Q的差异非常大,分别为3000和8000

    我尝试单独关闭光电二极管和发射器,但我们仍然收到相同的错误,也是当两者都打开时。

    我们想知道在执行LAB_1时是否有一些错误,因为我们认为HDR模式是一种以主要方式打乱图表的模式。

    在LAB_1中,我们仅为通道1 (在50 cm 和55 cm)分别为非HDR和HDR模式获取2个读数。

    如果将HDR模式点放置在几米处以实现HDR,这是否是一个因素。

    校准时选择这些距离是否有任何逻辑?校准通道1时是否应使用更多设置?

    是否也会在此处调整频率效果?->是否应根据此选择HDR模式。

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

    您好,Darsan,

    关于HDR模式的问题,每个TX通道和HDR模式都有单独的斜率系数,因此在相同的图上查看I和Q与temp的图形将不会有帮助。 但是看着每个HDR模式独立的图形,我仍然看到许多非线性和错误测量,如I与温度(HDR 0)图形。

    关于在HDR模式下应将靶标放置在何处,建议 在如何设置和校准基于OPT3101的系统以获得接近感测 指南中选择信号振幅介于1.6万和2.4万之间的距离,以确保最大限度地减少残留串扰。 这适用于非HDR和HDR模式。 如果您在非常低的信号振幅下进行测量,这将对实验室内步骤2中的系数产生重大影响。

    谢谢!

    Brent Elliott

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

    将此线程标记为已解决。 但是,如果您需要进一步帮助,请打开一个新帖子,我们可以进一步讨论。

    最佳,

    Alex

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

    没有我们的问题没有得到解决,因此我在Brent的邮件中发送了所有进度的邮件,直到现在为止。

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

    Darsan

    我要结束这个特定的话题,因为我们已经离线讨论了。

    谢谢!

    Brent Elliott