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:有关 OPT3101的设计问题...

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1133916/opt3101-sdk-design-questions-about-opt3101

器件型号:OPT3101-SDK
主题中讨论的其他器件:OPT3101OPT3101EVMMSP430F5519

尊敬的先生:

我的客户对 OPT3101有一些问题、请提供帮助。

使用 OPT3101-SDK 示例代码设置为 DESEAS 模式来检测距离超过15m 的物体、它们无法在2个频率之间切换!

使用 OPT3101 EVM 并通过 USB 使用 MSP430Flasher.exe 更新固件时、PC 无法找到 USB FET。  

谢谢。

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

    尊敬的 Peter:

    您是否了解过此常见问题解答?  https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/891035/faq-opt3101-dealias-operation

    它包含有关经销商模式的信息和计时寄存器的代码示例。

    对于第二个问题、您是否能够发送任何错误代码或屏幕截图来处理此问题?

    谢谢、

    Brent Elliott

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

    您好 、Brent、

     Peter 和我是一个团队的成员、我将共同解决这两个问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Brent、
    我们参考 OPT3101-EVM 设计了 ToF 模块、并使用了 sbac203b-OPT3101-SDK-v0.9.1代码。 该模块初始化为非 HDR 连续读取模式。 在此模式下、当系统分别配置为10MHz 和8.57MHz 时、该模块工作正常、在两种频率下可测量长达15m 的距离。
    该模块初始化为 Dealias 模式(首先、以10MHz 的频率将串扰和相位偏移重校准结果加载到寄存器;然后、在8.57MHz 下计算 alpha1_deal_SCAL、BETA1_DEAL_SCAL、PHASE2_OFFSET_HDR0_TX0、PHASE2_OFFSET_HDR1_TX0的寄存器值、并通过参考寄存 器 DE457.pdf 将其写入寄存器)。
    模块初始化后、mod_freq 打印值将在0和1之间交替变化、但光电二极管几乎没有电流输出。 使用示波器测量的光电二极管的脉冲频率始终为10MHz。
    原因可能是什么? 我不知道我的初始化配置是否正确。 以下是我的初始化配置:
    void OPT3101::device::initialize(void){
        // List of registers to initialize OPT3101 device after power-up
        
        this->reg.force_en_slave = 1; // //Since I2C Master bus is floating this register needs to be set to enable device to respond
        
        this->reg.tg_ovl_window_start = 7000; // //Overload flab observation window
        this->reg.en_temp_conv = 1; // //Enables the internal
        
        this->reg.clip_mode_fc = 0; // //Enables Clip mode for Frequency correction
        this->reg.clip_mode_temp = 0; // //Disables Clip mode for Temp coff phase correction
        this->reg.clip_mode_offset = 0; // //Disables Clip mode for phase offset correction
        this->reg.iq_read_data_sel = 3; // //Enables 16 bit frame counter
        this->reg.iamb_max_sel = 14; // 12=100uA, 14=200uA //Sets maximum ambient support
        this->reg.gpio1_obuf_en=1; // //Enabled output buffer on GPIO1 pin
        this->reg.gpo1_mux_sel=2;     // //select dig_gpo_0 on gpio1
        this->reg.dig_gpo_sel0 = 9; // //Select Data Ready on dig_gpo_0
        //this->reg.gpio2_obuf_en = 0;
        //this->reg.gpio2_ibuf_en = 1;
        //this->reg.en_tx1_on_tx0 = 1;
        //this->reg.en_tx2_on_tx0 = 0;
        
        this->reg.num_sub_frames = 63; // //Sub frames count
        this->reg.num_avg_sub_frames = 63; // //Average frames count
        this->reg.xtalk_filt_time_const = 4; // //Crosstalk filter time constant
        this->reg.tg_seq_int_start = 9850; // //Sequence Start
        this->reg.tg_seq_int_end = 9858; // //Sequence End
        this->reg.tg_seq_int_mask_start = 63; // //Same as AvgFrame Count
        this->reg.tg_seq_int_mask_end = 63; // //Same as AvgFrame Count
        
        this->reg.illum_dac_h_tx0 = 18; // //High Current settings: [173.6mA:5.6mA X 31], [078.4mA:5.6mA X 14], [067.2mA:5.6mA X 12]
        this->reg.illum_scale_h_tx0 = 0; // //Illum scale for H: 0=5.6mA, 1=4.2mA
        
    
        this->reg.sel_hdr_mode = 1; // //Selecting H Channel by default
        
        this->reg.tx_seq_reg   = 2184; // //Setting TX Switching order
        this->reg.en_tx_switch = 0; // //Enable TX Switching order
        
    
    
        
        //this->reg.override_clkgen_reg = 1;
        //this->reg.dealias_en = 1;
        //this->reg.en_multi_freq_phase = 1;
        //this->reg.dealias_freq = 0;
        //this->reg.ncr_config = 0;
        //this->reg.sub_vd_clk_cnt = 11665;                   // uint16_t(9999*7/6.0);
        //this->reg.tg_illumen_start = 0;                     // uint16_t(0*7/6.0);
        //this->reg.tg_illumen_end = 9916;                    // uint16_t(8500*7/6.0);
        //this->reg.tg_capture_start = 10850;                 // uint16_t(9300*7/6.0);
        //this->reg.tg_capture_end = 11433;                   // uint16_t(9800*7/6.0);
        //this->reg.tg_calc_start = 9916;                     // uint16_t(8500*7/6.0);
        //this->reg.tg_calc_end = 11665;                      // uint16_t(9999*7/6.0);
        //this->reg.capture_clk_cnt = 10033;                  // uint16_t(8600*7/6.0);
        //this->reg.override_clkgen_reg = 1;
        //this->reg.dealias_en = 1;
        //this->reg.en_multi_freq_phase = 1;
        //this->reg.dealias_freq = 0;
        
        this->reg.command0 = 0x100; // Set to fo = 10MHz
        this->reg.command1 = 0x102; // Set to fo to de-alias frequency
        this->reg.command2 = 0x400; // Go to Command0
        
        this->reg.ncr_config = 0;
        this->reg.give_dealias_data = 1;
        this->reg.en_sequencer = 1;
        this->reg.en_processor_values = 1;
        //this->reg.en_dealias_meas = 1; // do it in command1
        
        this->reg.tg_en = 1; // //Enables Timing Generator
        
        this->configurationFlags_xtalkFilterTau =  4; // //This is not a register but a settings flag for the SDK
        this->configurationFlags_monoshotMode =  false; // //This is not a register but a settings flag for the SDK
        this->configurationFlags_xtalkSettlingOneTauInMilliSeconds      =  256; // //This is not a register but a settings flag for the SDK
        this->configurationFlags_xtalkSettlingOneTauInDataReadyCounts   =  16; // //This is not a register but a settings flag for the SDK
        this->configurationFlags_frameTimeInMilliSeconds                =  16; // //This is not a register but a settings flag for the SDK
        this->configurationFlags_avgFrameCountExponentOfTwo             =  6; // //This is not a register but a settings flag for the SDK
    }
    
    OPT3101::device::device(void):
    configurationFlags_isTXChannelActive{true,false,false},
    configurationFlags_isRegisterSetActive{false,true} {}
    
    // useless
    OPT3101::calibrationC::calibrationC(void) : calibrationC(true) {
    this->recordLength           = 1; // //This configuration requires 1 crosstalk and other configuration record(s)
    this->registerAddressListSize= 17; // //This configuration requires 17 registers [544] bits to be stored for calibration
    this->EEPROM_connected       =  false; // //This configuration helps configure EEPROM
    this->extTempSensor_connected=  false; // //This configuration helps configure Ext temp sensor
    this->registerAddressList[0] = 0x31; // //Address for register(s) iphase_xtalk_reg_hdr1_tx0
    this->registerAddressList[1] = 0x32; // //Address for register(s) qphase_xtalk_reg_hdr1_tx0
    this->registerAddressList[2] = 0x5e; // //Address for register(s) temp_coeff_xtalk_iphase_hdr1_tx0
    this->registerAddressList[3] = 0x60; // //Address for register(s) temp_coeff_xtalk_qphase_hdr1_tx0
    this->registerAddressList[4] = 0x51; // //Address for register(s) phase_offset_hdr1_tx0,temp_coeff_illum_hdr1_tx0
    this->registerAddressList[5] = 0x48; // //Address for register(s) tmain_calib_hdr1_tx0,tillum_calib_hdr1_tx0
    this->registerAddressList[6] = 0x2d; // //Address for register(s) temp_coeff_main_hdr1_tx0
    this->registerAddressList[7] = 0x52; // //Address for register(s) temp_coeff_illum_hdr1_tx0
    this->registerAddressList[8] = 0x2e; // //Address for register(s) illum_xtalk_reg_scale
    this->registerAddressList[9] = 0x3a; // //Address for register(s) scale_temp_coeff_xtalk
    this->registerAddressList[10] = 0x71; // //Address for register(s) shift_illum_phase
    this->registerAddressList[11] = 0x43; // //Address for register(s) en_phase_corr,en_temp_corr,scale_phase_temp_coeff
    this->registerAddressList[12] = 0xb5; // //Address for register(s) scale_amb_phase_corr_coeff
    this->registerAddressList[13] = 0x0c; // //Address for register(s) amb_phase_corr_pwl_coeff0
    this->registerAddressList[14] = 0xb4; // //Address for register(s) amb_phase_corr_pwl_coeff1,amb_phase_corr_pwl_coeff2,amb_phase_corr_pwl_coeff3
    this->registerAddressList[15] = 0xb8; // //Address for register(s) amb_phase_corr_pwl_x0,amb_phase_corr_pwl_x1
    this->registerAddressList[16] = 0xb9; // //Address for register(s) amb_phase_corr_pwl_x2
    }
    谢谢、
    樱桃林
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Brent、

    对于第二个问题, 错误代码如下所示:

    C:\ti\MSPFlasher_1.3.20>.\MSP430Flasher.exe -w "C:\workspace\proj-OPT3101\OPT3101\software\sbac203b-OPT3101-SDK-v0.9.1\bac203b\release_0p9p1\OPT3101_SDK\Debug\OPT3101_SDK.txt"  -v -e ERASE_MAIN
    * -----/|-------------------------------------------------------------------- *
    *     / |__                                                                   *
    *    /_   /   MSP Flasher v1.3.20                                             *
    *      | /                                                                    *
    * -----|/-------------------------------------------------------------------- *
    *
    * Evaluating triggers...done
    * Checking for available FET debuggers:
    * Couldn't find any connected USB FETs!
    * Powering down...done
    * Disconnecting from device...done
    *
    * ----------------------------------------------------------------------------
    * Driver      : closed (MSP DebugStack not initialized)
    * ----------------------------------------------------------------------------
    */
    
    C:\ti\MSPFlasher_1.3.20>

    TI 的官方 OPT3101EVM 评估板可在插入 PC。的 USB 端口时识别两个虚拟串行端口 COM4和 COM5、然后打开 Latte 软件、该软件还可以显示测量的波形、还可以正常修改配置。 但是、当我想使用 MSP430Flasher.exe 更新 EVM 时、PC 无法识别 USB FET。

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

    您好、Cherry、

    感谢你的答复。 请给我一些时间来思考这个问题。 我将在本周结束前收到一份答复。

    谢谢、

    Brent Elliott

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

    您好、Cherry、

    您是否能够从您提到的帖子中复制设置、然后查看您是否能够使其正常工作? 许多行被注释掉、因此我不清楚您正在运行什么、因为一些注释代码应该会运行。 (https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1071173/opt3101-using-dealias-mode)

    您是否有可用于将固件刷写到并将其用作接口的 LaunchPad? 这就是 SDK 与 OPT3101连接的方式。

    谢谢、

    Brent Elliott

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

    您好、Brent

    感谢您的回复!  

    我已经测试了两种打开或关闭评论的方法,但它们都工作异常(它们的工作日志相同)。  您能否举一个经销商初始化示例(无 HDR、在 HDR-H 通道中工作、连续读取)?

    以下是我的测试日志:

    1.在10MHz 时初始化:

    void OPT3101::device::initialize(void){
    	// List of registers to initialize OPT3101 device after power-up
    
    	this->reg.force_en_slave = 1; // //Since I2C Master bus is floating this register needs to be set to enable device to respond
    
    	this->reg.tg_ovl_window_start = 7000; // //Overload flab observation window
    	this->reg.en_temp_conv = 1; // //Enables the internal
    
    	this->reg.clip_mode_fc = 0; // //Enables Clip mode for Frequency correction
    	this->reg.clip_mode_temp = 0; // //Disables Clip mode for Temp coff phase correction
    	this->reg.clip_mode_offset = 0; // //Disables Clip mode for phase offset correction
    	this->reg.iq_read_data_sel = 3; // //Enables 16 bit frame counter
    	this->reg.iamb_max_sel = 14; // 12=100uA, 14=200uA //Sets maximum ambient support
    	this->reg.gpio1_obuf_en=1; // //Enabled output buffer on GPIO1 pin
    	this->reg.gpo1_mux_sel=2; 	    // //select dig_gpo_0 on gpio1
    	this->reg.dig_gpo_sel0 = 9; 	// //Select Data Ready on dig_gpo_0
    
    	this->reg.num_sub_frames = 63; // //Sub frames count
    	this->reg.num_avg_sub_frames = 63; // //Average frames count
    	this->reg.xtalk_filt_time_const = 4; // //Crosstalk filter time constant
    	this->reg.tg_seq_int_start 	= 9850; // //Sequence Start
    	this->reg.tg_seq_int_end 		= 9858; // //Sequence End
    	this->reg.tg_seq_int_mask_start 	= 63; // //Same as AvgFrame Count
    	this->reg.tg_seq_int_mask_end 	= 63; // //Same as AvgFrame Count
    
        this->reg.illum_dac_h_tx0 = 18; //20;//14; // //High Current settings: [173.6mA:5.6mA X 31], [078.4mA:5.6mA X 14], [067.2mA:5.6mA X 12]
    	this->reg.illum_scale_h_tx0 = 0; // //Illum scale for H: 0=5.6mA, 1=4.2mA
    
    	this->reg.sel_hdr_mode = 1; // //Selecting H Channel by default
    
    	this->reg.tx_seq_reg   = 2184; // //Setting TX Switching order
    	this->reg.en_tx_switch = 0; // //Enable TX Switching order
    
    	this->reg.tg_en = 1; // //Enables Timing Generator
    
    	this->configurationFlags_xtalkFilterTau =  4; // //This is not a register but a settings flag for the SDK
    	this->configurationFlags_monoshotMode =  false; // //This is not a register but a settings flag for the SDK
    	this->configurationFlags_xtalkSettlingOneTauInMilliSeconds      =  256; // //This is not a register but a settings flag for the SDK
    	this->configurationFlags_xtalkSettlingOneTauInDataReadyCounts   =  16; // //This is not a register but a settings flag for the SDK
    	this->configurationFlags_frameTimeInMilliSeconds                =  16; // //This is not a register but a settings flag for the SDK
    	this->configurationFlags_avgFrameCountExponentOfTwo             =  6; // //This is not a register but a settings flag for the SDK
    }

    10MHz 时的工作日志:

    -------------------------------
    Starting Main Program Execution
    -------------------------------
    INFO::Resetting Host
    INFO::Validating I2C Transaction
    INFO::I2C Transaction Successful
    INFO::Validating OPT3101 Design ID
    INFO::Design ID 0xc01000100411 Verified
    INFO::Resetting Host
    INFO::Writing Initialization sequence I2C registers
    INFO::Performing Internal Cross talk Measurement...
    INFO::Internal Cross talk Measurement Completed
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    -005659,-005627,0,-0005659,-0005627, 0000, 0000,     +00, -128.0000, 26.8
    
    INFO::Cover Photodiode with optical shied for illumination Cross talk measurement
    Press any Key to continue:
    INFO:Performing Illum Crosstalk for TX0 HDR 1
    [DEBUG] measure xtalk h: commonScale=0, xtalkScale=1, shiftIllumPhase=0, I=-5709, Q=-24064, tmain=2480
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    -005709,-024064,1,-0011418,-0048128, 2480, 0000,     +54, -128.0000,159.3
    
    INFO:Writing Illum Cross talk for TX0 HDR 1 to Flash location 0x0010
    INFO:Completed Illumination cross talk measurement for all channels
    INFO::Loading Illumination cross talk Set
    INFO:Reading Illum Cross talk from Flash location 0x0010
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    -005709,-024064,1,-0011418,-0048128, 2480, 0000,     +54, -128.0000,159.3
    
    [DEBUG] load xtalk from flash: maxIllumXtalkScale=0, xtalkScale=1, shiftIllumPhase=0, I=-5709, Q=-24064, tmain=2480
    [DEBUG] before set xtalk: maxIllumXtalkScale=1, xtalkScale=1, shiftIllumPhase=0, I=-5709, Q=-24064, tmain=2480
    [DEBUG] set xtalk: i_xreg_hdr1_tx0=-5709, q_xreg_hdr1_tx0=-24064, tmain_hdr1_tx0=2480
    Set Target to distance [2100]mm
    Press any Key to continue:
    INFO:Performing Phase Offset for TX0 HDR 1 @ ref Distance 2100mm
    [DEBUG] before measure phase offset: refDistanceInCodes=9181, shiftIllumPhase=0
    [DEBUG] measure phase offset: phaseOffset=9168
    
    PhOfft,rfDCod,ilmScl,ilmDac, fqCnt
    009168,009181,     0,    18, 16384,
    Phase,Amplt,SigOl,AmbOl,Amb,tMain,tIlum,tMain(C),  tIlum(C)
    18349,00486,    0,    0,068, 2480, 0000,     +54, -128.0000
    
    INFO:Writing Phase Offset for TX0 HDR 1 to Flash location 0x0084
    INFO::Loading Phase Offset Set
    INFO:Reading Phase Offset from TX0 HDR 1 to Flash location 0x0084
    
    PhOfft,rfDCod,ilmScl,ilmDac, fqCnt
    009168,009181,     0,    18, 16384,
    Phase,Amplt,SigOl,AmbOl,Amb,tMain,tIlum,tMain(C),  tIlum(C)
    18349,00486,    0,    0,068, 2480, 0000,     +54, -128.0000
    
    INFO::Completed First Time bring up
    INFO::Resetting Host
    INFO::Performing Internal Cross talk Measurement...
    INFO::Internal Cross talk Measurement Completed
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    -006126,-006013,0,-0006126,-0006013, 0000, 0000,     +00, -128.0000, 27.9
    
    INFO::Loading Illumination cross talk Set
    INFO:Reading Illum Cross talk from Flash location 0x0010
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    -005709,-024064,1,-0011418,-0048128, 2480, 0000,     +54, -128.0000,159.3
    
    [DEBUG] load xtalk from flash: maxIllumXtalkScale=0, xtalkScale=1, shiftIllumPhase=0, I=-5709, Q=-24064, tmain=2480
    [DEBUG] before set xtalk: maxIllumXtalkScale=1, xtalkScale=1, shiftIllumPhase=0, I=-5709, Q=-24064, tmain=2480
    [DEBUG] set xtalk: i_xreg_hdr1_tx0=-5709, q_xreg_hdr1_tx0=-24064, tmain_hdr1_tx0=2480
    INFO::Loading Illumination crosstalk Temperature Coefficient Set
    INFO::Loading Illumination cross talk Set
    INFO:Reading Illum Cross talk from Flash location 0x0010
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    -005709,-024064,1,-0011418,-0048128, 2480, 0000,     +54, -128.0000,159.3
    
    [DEBUG] load xtalk from flash: maxIllumXtalkScale=0, xtalkScale=1, shiftIllumPhase=0, I=-5709, Q=-24064, tmain=2480
    [DEBUG] before set xtalk: maxIllumXtalkScale=1, xtalkScale=1, shiftIllumPhase=0, I=-5709, Q=-24064, tmain=2480
    [DEBUG] set xtalk: i_xreg_hdr1_tx0=-5709, q_xreg_hdr1_tx0=-24064, tmain_hdr1_tx0=2480
    [DEBUG] magnitude[0][1] = 159.288243
    [DEBUG] coffQReg[0][1] = -28 = 228
    INFO::Loading Phase Offset Set
    INFO:Reading Phase Offset from TX0 HDR 1 to Flash location 0x0084
    
    PhOfft,rfDCod,ilmScl,ilmDac, fqCnt
    009168,009181,     0,    18, 16384,
    Phase,Amplt,SigOl,AmbOl,Amb,tMain,tIlum,tMain(C),  tIlum(C)
    18349,00486,    0,    0,068, 2480, 0000,     +54, -128.0000
    
    INFO::Loading Phase Temperature coefficient Set
    INFO::Loading Phase Ambient Coefficient Set
    [DEBUG] xtalk calib data view: iphase_xtalk_reg_hdr0_tx0=0, qphase_xtalk_reg_hdr0_tx0=0, tmain_calib_hdr0_tx0=2048
    [DEBUG] xtalk calib data view: iphase_xtalk_reg_hdr1_tx0=-5709, qphase_xtalk_reg_hdr1_tx0=-24064, tmain_calib_hdr1_tx0=2480
    [DEBUG] phase offset data view: phase_offset_hdr0_tx0=0, tmain_calib_hdr0_tx0_offset=2048
    [DEBUG] phase offset data view: en_phase_corr=1, en_temp_corr=1, phase_offset_hdr1_tx0=9168, tmain_calib_hdr1_tx0_offset=2480
    [DEBUG] xtalk temp correct data view: en_temp_xtalk_corr=1, scale_temp_coeff_xtalk=4, temp_coeff_xtalk_iphase_hdr1_tx0=85, temp_coeff_xtalk_qphase_hdr1_tx0=228
    [DEBUG] phase temp correct data view: en_phase_corr=1, temp_coeff_main_hdr1_tx0=1771
    [DEBUG] phase amb correct data view: amb_x0=0, amb_x1=0, amb_x2=0, coeff0=0, coeff1=0, coeff2=0, coeff3=0, scale_coeff=7
    
    |Distmm, Phase,Amplud,SigS,AmbS,HDR|--|Amb,Cntr,Tmain,Tillum   |  Count/Total  |
    |002106,009211,000463,   0,   0,  1|--|068,0x06,  +53,-128.0000|0000016/0010000|

    3.在8.57MHz 上初始化:

    void OPT3101::device::initialize(void){
    	// List of registers to initialize OPT3101 device after power-up
    
    	this->reg.force_en_slave = 1; // //Since I2C Master bus is floating this register needs to be set to enable device to respond
    
    	this->reg.tg_ovl_window_start = 7000; // //Overload flab observation window
    	this->reg.en_temp_conv = 1; // //Enables the internal
    
    	this->reg.clip_mode_fc = 0; // //Enables Clip mode for Frequency correction
    	this->reg.clip_mode_temp = 0; // //Disables Clip mode for Temp coff phase correction
    	this->reg.clip_mode_offset = 0; // //Disables Clip mode for phase offset correction
    	this->reg.iq_read_data_sel = 3; // //Enables 16 bit frame counter
    	this->reg.iamb_max_sel = 14; // 12=100uA, 14=200uA //Sets maximum ambient support
    	this->reg.gpio1_obuf_en=1; // //Enabled output buffer on GPIO1 pin
    	this->reg.gpo1_mux_sel=2; 	    // //select dig_gpo_0 on gpio1
    	this->reg.dig_gpo_sel0 = 9; 	// //Select Data Ready on dig_gpo_0
        
    	this->reg.num_sub_frames = 63; // //Sub frames count
    	this->reg.num_avg_sub_frames = 63; // //Average frames count
    	this->reg.xtalk_filt_time_const = 4; // //Crosstalk filter time constant
    	this->reg.tg_seq_int_start 	= 9850; // //Sequence Start
    	this->reg.tg_seq_int_end 		= 9858; // //Sequence End
    	this->reg.tg_seq_int_mask_start 	= 63; // //Same as AvgFrame Count
    	this->reg.tg_seq_int_mask_end 	= 63; // //Same as AvgFrame Count
    
        this->reg.illum_dac_h_tx0 = 18; // //High Current settings: [173.6mA:5.6mA X 31], [078.4mA:5.6mA X 14], [067.2mA:5.6mA X 12]
    	this->reg.illum_scale_h_tx0 = 0; // //Illum scale for H: 0=5.6mA, 1=4.2mA
    
    	this->reg.sel_hdr_mode = 1; // //Selecting H Channel by default
    
    	this->reg.tx_seq_reg   = 2184; // //Setting TX Switching order
    	this->reg.en_tx_switch = 0 ; // //Enable TX Switching order
    
        this->reg.override_clkgen_reg = 1;
        this->reg.dealias_en = 1;
        this->reg.en_multi_freq_phase = 1;
        this->reg.dealias_freq = 0;
        this->reg.ncr_config = 0;
        this->reg.sub_vd_clk_cnt = 11665;                   // uint16_t(9999*7/6.0);
        this->reg.tg_illumen_start = 0;                     // uint16_t(0*7/6.0);
        this->reg.tg_illumen_end = 9916;                    // uint16_t(8500*7/6.0);
        this->reg.tg_capture_start = 10850;                 // uint16_t(9300*7/6.0);
        this->reg.tg_capture_end = 11433;                   // uint16_t(9800*7/6.0);
        this->reg.tg_calc_start = 9916;                     // uint16_t(8500*7/6.0);
        this->reg.tg_calc_end = 11665;                      // uint16_t(9999*7/6.0);
        this->reg.capture_clk_cnt = 10033;                  // uint16_t(8600*7/6.0);
    	
        this->reg.en_sequencer = 0;
        this->reg.en_processor_values = 0;
        this->reg.give_dealias_data = 0;
        this->reg.en_dealias_meas = 0;
    
    	this->reg.tg_en = 1; // //Enables Timing Generator
    
    	this->configurationFlags_xtalkFilterTau =  4; // //This is not a register but a settings flag for the SDK
    	this->configurationFlags_monoshotMode =  false; // //This is not a register but a settings flag for the SDK
    	this->configurationFlags_xtalkSettlingOneTauInMilliSeconds      =  256; // //This is not a register but a settings flag for the SDK
    	this->configurationFlags_xtalkSettlingOneTauInDataReadyCounts   =  16; // //This is not a register but a settings flag for the SDK
    	this->configurationFlags_frameTimeInMilliSeconds                =  16; // //This is not a register but a settings flag for the SDK
    	this->configurationFlags_avgFrameCountExponentOfTwo             =  6; // //This is not a register but a settings flag for the SDK
    }
    

    8.57MHz 时的工作日志:

    -------------------------------
    Starting Main Program Execution
    -------------------------------
    INFO::Resetting Host
    INFO::Validating I2C Transaction
    INFO::I2C Transaction Successful
    INFO::Validating OPT3101 Design ID
    INFO::Design ID 0xc01000100411 Verified
    INFO::Resetting Host
    INFO::Writing Dealias Initialization sequence I2C registers
    INFO::Performing Internal Cross talk Measurement...
    INFO::Internal Cross talk Measurement Completed
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    -008529,-003017,0,-0008529,-0003017, 0000, 0000,     +00, -128.0000, 29.7
    
    INFO::Cover Photodiode with optical shied for illumination Cross talk measurement
    Press any Key to continue:
    INFO:Performing Dealias Illum Crosstalk for TX0 HDR 1
    [DEBUG] measure xtalk h: commonScale=0, xtalkScale=2, shiftIllumPhase=0, I=4527, Q=-18354, tmain=2480
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    +004527,-018354,2,+0018108,-0073416, 2480, 0000,     +54, -128.0000,243.9
    
    INFO:Writing Dealias Illum Cross talk for TX0 HDR 1 to Flash location 0x0148
    INFO:Completed Dealias Illumination cross talk measurement for all channels
    INFO::Loading Dealias Illumination cross talk Set
    INFO:Reading Dealias Illum Cross talk from Flash location 0x0148
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    +004527,-018354,2,+0018108,-0073416, 2480, 0000,     +54, -128.0000,243.9
    
    [DEBUG] load dealias xtalk from flash: maxIllumXtalkScale=0, xtalkScale=2, shiftIllumPhase=0, I=4527, Q=-18354, tmain=2480
    [DEBUG] before set xtalk: maxIllumXtalkScale=2, xtalkScale=2, shiftIllumPhase=0, I=4527, Q=-18354, tmain=2480
    [DEBUG] set xtalk: i_xreg_hdr1_tx0=4527, q_xreg_hdr1_tx0=-18354, tmain_hdr1_tx0=2480
    INFO:Reading Illum Cross talk from Flash location 0x0010
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    -005709,-024064,1,-0011418,-0048128, 2480, 0000,     +54, -128.0000,159.3
    
    [DEBUG] load xtalk from flash: maxIllumXtalkScale=0, xtalkScale=1, shiftIllumPhase=0, I=-5709, Q=-24064, tmain=2480
    [DEBUG] load dealias xtalk from flash: i1=-5709.000000, q1=-24064.000000, i2=4527.000000, q2=-18354.000000,
    [DEBUG] load dealias xtalk from flash: dealias_alpha1=10.877155, dealias_beta1=5.590495
    Set Target to distance [2100]mm
    Press any Key to continue:
    INFO:Performing Dealias Phase Offset for TX0 HDR 1 @ ref Distance 2100mm
    [DEBUG] before measure phase offset: refDistanceInCodes=9181, shiftIllumPhase=0
    [DEBUG] measure phase offset: phaseOffset=7730
    
    PhOfft,rfDCod,ilmScl,ilmDac, fqCnt
    007730,009181,     0,    18, 16384,
    Phase,Amplt,SigOl,AmbOl,Amb,tMain,tIlum,tMain(C),  tIlum(C)
    16911,00520,    0,    0,068, 2480, 0000,     +54, -128.0000
    
    INFO:Writing Dealias Phase Offset for TX0 HDR 1 to Flash location 0x01bc
    INFO::Loading Dealias Phase Offset Set
    INFO:Reading Dealias Phase Offset from TX0 HDR 1 to Flash location 0x01bc
    
    PhOfft,rfDCod,ilmScl,ilmDac, fqCnt
    007730,009181,     0,    18, 16384,
    Phase,Amplt,SigOl,AmbOl,Amb,tMain,tIlum,tMain(C),  tIlum(C)
    16911,00520,    0,    0,068, 2480, 0000,     +54, -128.0000
    
    INFO::Completed First Time Dealias bring up
    INFO::Resetting Host
    INFO::Performing Internal Cross talk Measurement...
    INFO::Internal Cross talk Measurement Completed
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    +003713,-006944,0,+0003713,-0006944, 0000, 0000,     +00, -128.0000, 25.8
    
    INFO::Loading Dealias Illumination cross talk Set
    INFO:Reading Dealias Illum Cross talk from Flash location 0x0148
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    +004527,-018354,2,+0018108,-0073416, 2480, 0000,     +54, -128.0000,243.9
    
    [DEBUG] load dealias xtalk from flash: maxIllumXtalkScale=0, xtalkScale=2, shiftIllumPhase=0, I=4527, Q=-18354, tmain=2480
    [DEBUG] before set xtalk: maxIllumXtalkScale=2, xtalkScale=2, shiftIllumPhase=0, I=4527, Q=-18354, tmain=2480
    [DEBUG] set xtalk: i_xreg_hdr1_tx0=4527, q_xreg_hdr1_tx0=-18354, tmain_hdr1_tx0=2480
    INFO:Reading Illum Cross talk from Flash location 0x0010
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    -005709,-024064,1,-0011418,-0048128, 2480, 0000,     +54, -128.0000,159.3
    
    [DEBUG] load xtalk from flash: maxIllumXtalkScale=0, xtalkScale=1, shiftIllumPhase=0, I=-5709, Q=-24064, tmain=2480
    [DEBUG] load dealias xtalk from flash: i1=-5709.000000, q1=-24064.000000, i2=4527.000000, q2=-18354.000000,
    [DEBUG] load dealias xtalk from flash: dealias_alpha1=10.877155, dealias_beta1=5.590495
    INFO::Loading Dealias Illumination crosstalk Temperature Coefficient Set
    INFO::Loading Dealias Illumination cross talk Set
    INFO:Reading Dealias Illum Cross talk from Flash location 0x0148
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    +004527,-018354,2,+0018108,-0073416, 2480, 0000,     +54, -128.0000,243.9
    
    [DEBUG] load dealias xtalk from flash: maxIllumXtalkScale=0, xtalkScale=2, shiftIllumPhase=0, I=4527, Q=-18354, tmain=2480
    [DEBUG] before set xtalk: maxIllumXtalkScale=2, xtalkScale=2, shiftIllumPhase=0, I=4527, Q=-18354, tmain=2480
    [DEBUG] set xtalk: i_xreg_hdr1_tx0=4527, q_xreg_hdr1_tx0=-18354, tmain_hdr1_tx0=2480
    INFO:Reading Illum Cross talk from Flash location 0x0010
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    -005709,-024064,1,-0011418,-0048128, 2480, 0000,     +54, -128.0000,159.3
    
    [DEBUG] load xtalk from flash: maxIllumXtalkScale=0, xtalkScale=1, shiftIllumPhase=0, I=-5709, Q=-24064, tmain=2480
    [DEBUG] load dealias xtalk from flash: i1=-5709.000000, q1=-24064.000000, i2=4527.000000, q2=-18354.000000,
    [DEBUG] load dealias xtalk from flash: dealias_alpha1=10.877155, dealias_beta1=5.590495
    [DEBUG] magnitude[0][1] = 243.924760
    [DEBUG] coffQReg[0][1] = -21 = 235
    INFO::Loading Dealias Phase Offset Set
    INFO:Reading Dealias Phase Offset from TX0 HDR 1 to Flash location 0x01bc
    
    PhOfft,rfDCod,ilmScl,ilmDac, fqCnt
    007730,009181,     0,    18, 16384,
    Phase,Amplt,SigOl,AmbOl,Amb,tMain,tIlum,tMain(C),  tIlum(C)
    16911,00520,    0,    0,068, 2480, 0000,     +54, -128.0000
    
    INFO::Loading Phase Temperature coefficient Set
    INFO::Loading Phase Ambient Coefficient Set
    [DEBUG] xtalk calib data view: iphase_xtalk_reg_hdr0_tx0=0, qphase_xtalk_reg_hdr0_tx0=0, tmain_calib_hdr0_tx0=2048
    [DEBUG] xtalk calib data view: iphase_xtalk_reg_hdr1_tx0=4527, qphase_xtalk_reg_hdr1_tx0=-18354, tmain_calib_hdr1_tx0=2480
    [DEBUG] phase offset data view: phase_offset_hdr0_tx0=0, tmain_calib_hdr0_tx0_offset=2048
    [DEBUG] phase offset data view: en_phase_corr=1, en_temp_corr=1, phase_offset_hdr1_tx0=7730, tmain_calib_hdr1_tx0_offset=2480
    [DEBUG] xtalk temp correct data view: en_temp_xtalk_corr=1, scale_temp_coeff_xtalk=3, temp_coeff_xtalk_iphase_hdr1_tx0=65, temp_coeff_xtalk_qphase_hdr1_tx0=235
    [DEBUG] phase temp correct data view: en_phase_corr=1, temp_coeff_main_hdr1_tx0=1771
    [DEBUG] phase amb correct data view: amb_x0=0, amb_x1=0, amb_x2=0, coeff0=0, coeff1=0, coeff2=0, coeff3=0, scale_coeff=7
    
    |Distmm, Phase,Amplud,SigS,AmbS,ModFreq,HDR|--|Amb,Cntr,Tmain,Tillum   |  Count/Total  |
    |002094,009159,000516,   0,   0,   0,  1|--|068,0x0f,  +53,-128.0000|0000000/0010000|
    |002038,008915,000511,   0,   0,   0,  1|--|068,0x1c,  +53,-128.0000|0000001/0010000|
    |002094,009159,000505,   0,   0,   0,  1|--|068,0x0a,  +53,-128.0000|0000002/0010000|
    |002084,009112,000512,   0,   0,   0,  1|--|068,0x18,  +53,-128.0000|0000003/0010000|
    |002073,009066,000508,   0,   0,   0,  1|--|068,0x05,  +53,-128.0000|0000004/0010000|
    |002093,009155,000510,   0,   0,   0,  1|--|068,0x13,  +53,-128.0000|0000005/0010000|
    |002087,009125,000510,   0,   0,   0,  1|--|068,0x00,  +53,-128.0000|0000006/0010000|
    |002073,009066,000509,   0,   0,   0,  1|--|068,0x0e,  +53,-128.0000|0000007/0010000|

    5.经销商模式初始化:

    void OPT3101::device::initialize(void){
        // List of registers to initialize OPT3101 device after power-up
    
    	this->reg.force_en_slave = 1; // //Since I2C Master bus is floating this register needs to be set to enable device to respond
    
    	this->reg.tg_ovl_window_start = 7000; // //Overload flab observation window
    	this->reg.en_temp_conv = 1; // //Enables the internal
    
    	this->reg.clip_mode_fc = 0; // //Enables Clip mode for Frequency correction
    	this->reg.clip_mode_temp = 0; // //Disables Clip mode for Temp coff phase correction
    	this->reg.clip_mode_offset = 0; // //Disables Clip mode for phase offset correction
    	this->reg.iq_read_data_sel = 3; // //Enables 16 bit frame counter
    	this->reg.iamb_max_sel = 14; // 12=100uA, 14=200uA //Sets maximum ambient support
    	this->reg.gpio1_obuf_en=1; // //Enabled output buffer on GPIO1 pin
    	this->reg.gpo1_mux_sel=2; 	    // //select dig_gpo_0 on gpio1
    	this->reg.dig_gpo_sel0 = 9; 	// //Select Data Ready on dig_gpo_0
        //this->reg.gpio2_obuf_en = 0;
        //this->reg.gpio2_ibuf_en = 1;
        //this->reg.en_tx1_on_tx0 = 1;
        //this->reg.en_tx2_on_tx0 = 0;
    
    	this->reg.num_sub_frames = 63; // //Sub frames count
    	this->reg.num_avg_sub_frames = 63; // //Average frames count
    	this->reg.xtalk_filt_time_const = 4; // //Crosstalk filter time constant
    	this->reg.tg_seq_int_start 	= 9850; // //Sequence Start
    	this->reg.tg_seq_int_end 		= 9858; // //Sequence End
    	this->reg.tg_seq_int_mask_start 	= 63; // //Same as AvgFrame Count
    	this->reg.tg_seq_int_mask_end 	= 63; // //Same as AvgFrame Count
    
        this->reg.illum_dac_h_tx0 = 18; // //High Current settings: [173.6mA:5.6mA X 31], [078.4mA:5.6mA X 14], [067.2mA:5.6mA X 12]
    	this->reg.illum_scale_h_tx0 = 0; // //Illum scale for H: 0=5.6mA, 1=4.2mA
    
    	this->reg.sel_hdr_mode = 1; // //Selecting H Channel by default
    
        this->reg.tx_seq_reg   = 2184; // //Setting TX Switching order
    	this->reg.en_tx_switch = 0; // //Enable TX Switching order
        
        this->reg.override_clkgen_reg = 1;
        this->reg.dealias_en = 1;
        this->reg.en_multi_freq_phase = 1;
        this->reg.dealias_freq = 0;
        this->reg.ncr_config = 0;
        this->reg.sub_vd_clk_cnt = 11665;                   // uint16_t(9999*7/6.0);
        this->reg.tg_illumen_start = 0;                     // uint16_t(0*7/6.0);
        this->reg.tg_illumen_end = 9916;                    // uint16_t(8500*7/6.0);
        this->reg.tg_capture_start = 10850;                 // uint16_t(9300*7/6.0);
        this->reg.tg_capture_end = 11433;                   // uint16_t(9800*7/6.0);
        this->reg.tg_calc_start = 9916;                     // uint16_t(8500*7/6.0);
        this->reg.tg_calc_end = 11665;                      // uint16_t(9999*7/6.0);
        this->reg.capture_clk_cnt = 10033;                  // uint16_t(8600*7/6.0);
        this->reg.override_clkgen_reg = 1;
        this->reg.dealias_en = 1;
        this->reg.en_multi_freq_phase = 1;
        this->reg.dealias_freq = 0;
        
        this->reg.command0 = 0x100; // Set to fo = 10MHz
        this->reg.command1 = 0x102; // Set to fo to de-alias frequency
        this->reg.command2 = 0x400; // Go to Command0
        
        this->reg.ncr_config = 0;
        this->reg.give_dealias_data = 1;
        this->reg.en_sequencer = 1;
        this->reg.en_processor_values = 1;
        this->reg.en_dealias_meas = 1;
        
    	this->reg.tg_en = 1; // //Enables Timing Generator
    
    	this->configurationFlags_xtalkFilterTau =  4; // //This is not a register but a settings flag for the SDK
    	this->configurationFlags_monoshotMode =  false; // //This is not a register but a settings flag for the SDK
    	this->configurationFlags_xtalkSettlingOneTauInMilliSeconds      =  256; // //This is not a register but a settings flag for the SDK
    	this->configurationFlags_xtalkSettlingOneTauInDataReadyCounts   =  16; // //This is not a register but a settings flag for the SDK
    	this->configurationFlags_frameTimeInMilliSeconds                =  16; // //This is not a register but a settings flag for the SDK
    	this->configurationFlags_avgFrameCountExponentOfTwo             =  6; // //This is not a register but a settings flag for the SDK
    }

    6.交易模式下的工作日志:

    -------------------------------
    Starting Main Program Execution
    -------------------------------
    INFO::Resetting Host
    INFO::Validating I2C Transaction
    INFO::I2C Transaction Successful
    INFO::Validating OPT3101 Design ID
    INFO::Design ID 0xc01000100411 Verified
    INFO::Resetting Host
    INFO::Performing Internal Cross talk Measurement...
    INFO::Internal Cross talk Measurement Completed
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    +003639,-006328,0,+0003639,-0006328, 0000, 0000,     +00, -128.0000, 24.3
    
    INFO::Loading Illumination cross talk Set
    INFO:Reading Illum Cross talk from Flash location 0x0010
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    -005709,-024064,1,-0011418,-0048128, 2480, 0000,     +54, -128.0000,159.3
    
    [DEBUG] load xtalk from flash: maxIllumXtalkScale=0, xtalkScale=1, shiftIllumPhase=0, I=-5709, Q=-24064, tmain=2480
    [DEBUG] before set xtalk: maxIllumXtalkScale=1, xtalkScale=1, shiftIllumPhase=0, I=-5709, Q=-24064, tmain=2480
    [DEBUG] set xtalk: i_xreg_hdr1_tx0=-5709, q_xreg_hdr1_tx0=-24064, tmain_hdr1_tx0=2480
    INFO::Loading Illumination crosstalk Temperature Coefficient Set
    INFO::Loading Illumination cross talk Set
    INFO:Reading Illum Cross talk from Flash location 0x0010
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    -005709,-024064,1,-0011418,-0048128, 2480, 0000,     +54, -128.0000,159.3
    
    [DEBUG] load xtalk from flash: maxIllumXtalkScale=0, xtalkScale=1, shiftIllumPhase=0, I=-5709, Q=-24064, tmain=2480
    [DEBUG] before set xtalk: maxIllumXtalkScale=1, xtalkScale=1, shiftIllumPhase=0, I=-5709, Q=-24064, tmain=2480
    [DEBUG] set xtalk: i_xreg_hdr1_tx0=-5709, q_xreg_hdr1_tx0=-24064, tmain_hdr1_tx0=2480
    [DEBUG] magnitude[0][1] = 159.288243
    [DEBUG] coffQReg[0][1] = -28 = 228
    INFO::Loading Phase Offset Set
    INFO:Reading Phase Offset from TX0 HDR 1 to Flash location 0x0084
    
    PhOfft,rfDCod,ilmScl,ilmDac, fqCnt
    009168,009181,     0,    18, 16384,
    Phase,Amplt,SigOl,AmbOl,Amb,tMain,tIlum,tMain(C),  tIlum(C)
    18349,00486,    0,    0,068, 2480, 0000,     +54, -128.0000
    
    INFO::Loading Phase Temperature coefficient Set
    INFO::Loading Phase Ambient Coefficient Set
    INFO::Loading Dealias Illumination cross talk Set
    INFO:Reading Dealias Illum Cross talk from Flash location 0x0148
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    +004527,-018354,2,+0018108,-0073416, 2480, 0000,     +54, -128.0000,243.9
    
    [DEBUG] load dealias xtalk from flash: maxIllumXtalkScale=0, xtalkScale=2, shiftIllumPhase=0, I=4527, Q=-18354, tmain=2480
    INFO:Reading Illum Cross talk from Flash location 0x0010
          I,      Q,S, ScaledI, ScaledQ,tMain,tIlum,tMain(C),  tIlum(C),Magnitd
    -005709,-024064,1,-0011418,-0048128, 2480, 0000,     +54, -128.0000,159.3
    
    [DEBUG] load xtalk from flash: maxIllumXtalkScale=0, xtalkScale=1, shiftIllumPhase=0, I=-5709, Q=-24064, tmain=2480
    [DEBUG] load dealias xtalk from flash: i1=-5709.000000, q1=-24064.000000, i2=4527.000000, q2=-18354.000000,
    [DEBUG] load dealias xtalk from flash: dealias_alpha1=10.877155, dealias_beta1=5.590495
    INFO::Loading Dealias Phase Offset Set
    INFO:Reading Dealias Phase Offset from TX0 HDR 1 to Flash location 0x01bc
    
    PhOfft,rfDCod,ilmScl,ilmDac, fqCnt
    007730,009181,     0,    18, 16384,
    Phase,Amplt,SigOl,AmbOl,Amb,tMain,tIlum,tMain(C),  tIlum(C)
    16911,00520,    0,    0,068, 2480, 0000,     +54, -128.0000
    
    [DEBUG] xtalk calib data view: iphase_xtalk_reg_hdr0_tx0=0, qphase_xtalk_reg_hdr0_tx0=0, tmain_calib_hdr0_tx0=2048
    [DEBUG] xtalk calib data view: iphase_xtalk_reg_hdr1_tx0=-5709, qphase_xtalk_reg_hdr1_tx0=-24064, tmain_calib_hdr1_tx0=2480
    [DEBUG] phase offset data view: phase_offset_hdr0_tx0=0, tmain_calib_hdr0_tx0_offset=2048
    [DEBUG] phase offset data view: en_phase_corr=1, en_temp_corr=1, phase_offset_hdr1_tx0=9168, tmain_calib_hdr1_tx0_offset=2480
    [DEBUG] xtalk temp correct data view: en_temp_xtalk_corr=1, scale_temp_coeff_xtalk=4, temp_coeff_xtalk_iphase_hdr1_tx0=85, temp_coeff_xtalk_qphase_hdr1_tx0=228
    [DEBUG] phase temp correct data view: en_phase_corr=1, temp_coeff_main_hdr1_tx0=1771
    [DEBUG] phase amb correct data view: amb_x0=0, amb_x1=0, amb_x2=0, coeff0=0, coeff1=0, coeff2=0, coeff3=0, scale_coeff=7
    [DEBUG] dealias data view: alpha0_scale=16, beta0_scale=0, alpha1_scale=10, beta1_scale=5, phase2_of_h0_t0=0, phase2_of_h1_t0=7730
    
    
    |Distmm, Phase,Amplud,SigS,AmbS,ModFreq,HDR|--|Amb,Cntr,Tmain,Tillum   |  Count/Total  |
    |009349,040878,000059,   0,   0,   0,  0|--|068,0x14,  +43,-128.0000|0008728/0010000|

    第二个问题是  、我没有 Launchpad、我只有 OPT3101 EVM 板。 我没有看到文档说需要额外的 Launchpad 或燃烧器。我认为 OPT3101 EVM 板可以 通过 USB 接口直接通过 PC 烧坏。因为 在 OPT3101 EVM 板上找不到烧坏的引脚。

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

    您好、Cherry、

    我没有为每种类型的去混叠初始化提供任何示例、因为去混叠模式不在 SDK 中介绍。 您能澄清一下您发送的代码吗? 第6个问题是"在经销商模式下工作日志"、您是否能够使该模式工作、或者您是否仍然只能看到10MHz? 此外、您是否对最初发布的初始化代码进行了任何更改? 它是否产生了影响?

    OPT3101EVM 不需要 LaunchPad 即可与 EVM 软件配合使用、但要与 SDK 配合使用、则需要 LaunchPad。 SDK 用户指南中提到了这一点。

    谢谢、

    Brent Elliott

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

    您好 、Brent

    您能告诉我哪些寄存器需要打开和关闭才能启用混叠模式吗? 还是主初始化过程? 这个问题对我们来说非常紧迫。 我们真的需要您的帮助!

    我在  SDK 中使用了"INLAB_STEP_1"来校准,μ s、并使用"testing_live_view"来观察数据输出。 我只更改了"void OPT3101::device::initialize (void)"和8.57MHz 校准参数 Saving (and loading)的函数。 我在(__LW_AT__10MHz 或8.57MHz)下打印校准数据结果、并将其保存到闪存的不同位置。 在每次使用寄存器数据之前、我都会打印寄存器的数据、以确定数据是否正确写入。

    在第6号"经销商模式下的工作日志"中 、我无法 使该模式工作、 我仍然只能看到10MHz、  并且光电二极管几乎没有电流输出。

    第二个问题 是 OPT3101EVM 上的 MSP430F5503IRGZ 不是 LaunchPad、我需要购买额外的 MSP430F5519 Launchpad 才能使用 SDK?

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

    您好、Cherry、

    1) 1)您是否能够使用 SDK 运行标准校准而不会出现任何问题? 您遇到的问题到底是什么? 我无法从日志中得知问题是什么。 您是否能够在10MHz 和8.57MHz 之间切换并确认示波器设置是否正确?

    2) 2)可以使用 python 固件更新程序在以下位置刷写 EVM: https://www.ti.com/tool/MSP430USBDEVPACK

    注意事项:

    如果您想返回将 EVM 用作常规 EVM、则 EVM 校准将被归零、固件消失、从而使 EVM 无法正常工作

    SDK 工具模式适用于 Launchpad、这是使用即插即用启动 SDK 的最简单方法。 所有其他配置将要求您检查 SDK 引脚映射是否与您为其编译的 MSP430相匹配。

    最棒的

    Alex

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

    您好 、Brent

    1) 1)我可以使用 SDK 运行标准校准而不会出现任何问题、并且 可以单独在10MHz 或8MHz 下进行正常校准("1. 以10MHz 初始化"或"3. 以8.57MHz"的上述内容进行初始化)。 它们可以测量超过15m 的距离(超过15m 的数据错误)、并且示波器中的激励波形正常(10MHz 或8.57MHz)。 但是、当我初始化序列发生器设置以启用去混叠测量("5. 代理模式初始化")、 则该仿真器无法在 10MHz 和8.57MHz 之间切换。 几乎没有来自电流斜接器的电流输出、 使用示波器测量的电斜接器的脉冲频率始终为10MHz。 但是、软件可以读取到 MOD_FREQ 寄存器的值 在0和1之间交替变化。

    2) 2) OPT3101 EVM 的升级问题已经得到了很好的解决。 非常感谢!

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

    您好、Cherry、

    在 dealias 模式初始化中、您的设置与 e2e 帖子不匹配。 差异的原因是什么?

    defAliasFreq 1
    overrid_clkgen_reg 0
    dealias_en 1
    en_multi_freq_phase 1
    en_dealias_meas 0
    NCR_CONFIG 0
    sub_VD_clk_cnt 11665
    TG_culme_start 0
    TG_calmen_end 9916
    TG_CAPTURE_START 10850_CAPTURE_END
    11433 TG_ctrab_end 11433 TG_c_ctrab_ce_cl65_ctrab_ctrl_cl_cl_cl65_cltG_ctrab_clt
    1
    tg
    
    

    最棒的

    Alex

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

    您好、Brent、

    我发现了电流密特没有 电流的原因(原因是经销商的寄存器配置不正确)。 根据您提供的配置、将有一个正常的混叠频率输出。但是、当距离超过15m 时、根据相位计算的距离数据仍然错误、 根据"OPT3101–去混叠以扩展距离范围"第 3章"输出"、使用计算公式 LEAD_DEALIAS_DATA=1还是 LEAD_DEALIAS_DATA=0。 寄存    器(alpha_dealias_scale、beta1_dealias_scale、Phase2_offset_hdr1_tx0、Phase2_offset_hdr1_tx0)已经过配置、可以确保在 dealias 模式下阴影的幅度在50以内。

    我有以下问题:

    我们 使用了8.57MHz 频率。  根据数据表、" override_clkgen_reg = 0;"不应该像" override_clkgen_reg = 1;"? 但是、根据后一种配置、该模块不能正常工作。

    DEALIAS_FREQ: Select modulation frequency when DEALIAS_EN = 1. This register works only when OVERRIDE_CLKGEN_REG = 1. 0: 10 × (6 / 7) MHz | 1: 10 × (6 / 5) MHz
    DEALIAS_EN: Change the modulation frequency. This register works only when OVERRIDE_CLKGEN_REG = 1.
    NCR_CONFIG: Select second frequency for de-alias operation. 0: 10 × (6 / 7) MHz | 1: 10 × (6 / 5) MHz.

    2. 必须为 dealias 模式启用频率校正?、因为我在数据表中看到以下内容:

    PHASE_OVER_FLOW: PHASE_OUT overflow bit during frequency correction. 0: No overflow | 1: overflow.
    PHASE_OVER_FLOW_F2: Phase overflow of second modulation frequency used for de-alias operation during frequency correction. 0: No overflow | 1: overflow.

    PHASE_OVER 和 PHASE_OVER 和 FLOG_F2的寄存器数据根据 "OPT3101–去混叠以扩展距离范围"第 3章"输出"在距离计算公式中使用。

    您能否提供包含所有必要寄存器配置的经销商模式初始化示例? 我不确定其他寄存器是否会影响经销商模式。

    3. 我发现在经销商模式下、当距离超过15米时、PHASE_OVER 和  PHASE_OVER 和 FLOG_F2寄存器不会改变。 这是正常的?寄存器(CLIP_MODE_FC、CLIP_MODE_TEMP、CLIP_MODE_OFFSET)需要在哪种模式下工作? 滚动模式还是削波模式?  

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

    补充问题:

    4. 是否需要分别计算不同频率下的距离计算公式?

    // ======GIVE_DEALIAS_DATA='1'======
    if (host.mod_freq) { // 1=8.75MHz
        host.printf("|%06u,",((this->data[c1].phase*17490)>>16) * 64 / 6);
    } else { // 0=10MHz
        host.printf("|%06u,",((this->data[c1].phase*14989)>>16) * 64 / 6);
    }
    
    host.printf("=%06u,",host.dealias_bin);
    host.printf("=%06u,",host.freq_count_read_reg);
    host.printf("=%02u,",this->data[c1].phaseovl);
    host.printf("=%02u,",this->data[c1].phaseovlf2);
    
    
    
    // ======GIVE_DEALIAS_DATA='0'======
    float dist_mm = 0;
    //dist_mm = (float)host.dealias_bin * 65536 * (float)host.freq_count_read_reg / 16384 + (float)this->data[c1].phaseovl * 65536 + (float)this->data[c1].phase;
    dist_mm = host.dealias_bin * host.freq_count_read_reg * 4 + this->data[c1].phaseovl * 65536 + this->data[c1].phase;
    
    if (host.mod_freq == 1) { // 1=8.75MHz
        //dist_mm = dist_mm * 299792458 / (2 * 8570 * 65536); // in mm
        dist_mm = dist_mm * 0.26688855f;
    } else if (host.mod_freq == 0) { // 0=10MHz // in meter
        //dist_mm = dist_mm * 299792458 / (2 * 10000 * 65536); // in mm
        dist_mm = dist_mm * 0.22872349f;
    }
    
    host.printf("%06u,",(uint32_t)dist_mm);
    host.printf("=%06u,",host.dealias_bin);
    host.printf("=%06u,",host.freq_count_read_reg);
    host.printf("=%02u,",this->data[c1].phaseovl);
    host.printf("=%02u,",this->data[c1].phaseovlf2);
    

    谢谢。

    樱桃林

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

    补充日志:

    // ================== give_dealias_data = 1 ==================
    // 22m, distance okay at 10MHz, distance error at 8.57MHz,
    |Distmm,=dealias_bin,=freq_count_read_reg,=phaseovl,=phaseovlf2, Phase,Amplud,SigS,AmbS,ModFreq,HDR|--|Amb,Cntr,Tmain,Tillum   |  Count/Total  |
    |021312,     =000001,             =016384,      =00,        =00,008736,000139,   0,   0,      0,  1|--|068,0x05,  +60,-128.0000|0000531/0010000|
    |003822,     =000001,             =016384,      =00,        =00,014323,000201,   0,   0,      1,  1|--|068,0x16,  +60,-128.0000|0000532/0010000|
    |021312,     =000001,			  =016384,      =00,        =00,008737,000142,   0,   0,      0,  1|--|068,0x07,  +60,-128.0000|0000533/0010000|
    |021248,     =000001,			  =016384,      =00,        =00,008713,000138,   0,   0,      0,  1|--|068,0x17,  +60,-128.0000|0000534/0010000|
    |003858,     =000001,			  =016384,      =00,        =00,014459,000204,   0,   0,      1,  1|--|068,0x08,  +60,-128.0000|0000535/0010000|
    |021418,     =000001,			  =016384,      =00,        =00,008780,000146,   0,   0,      0,  1|--|068,0x19,  +60,-128.0000|0000536/0010000|
    
    // ================== give_dealias_data = 0 ==================
    // 13m, distance okay
    |Distmm,=dealias_bin,=freq_count_read_reg,=phaseovl,=phaseovlf2, Phase,Amplud,SigS,AmbS,ModFreq,HDR|--|Amb,Cntr,Tmain,Tillum   |  Count/Total  |
    |014229,=000000,=016384,=00,=00,053315,000245,   0,   0,   1,  1|--|069,0x10,  +59,-128.0000|0000353/0010000|
    |013259,=000000,=016384,=00,=00,057971,000334,   0,   0,   0,  1|--|068,0x01,  +60,-128.0000|0000354/0010000|
    |014272,=000000,=016384,=00,=00,053478,000237,   0,   0,   1,  1|--|069,0x12,  +60,-128.0000|0000355/0010000|
    |013222,=000000,=016384,=00,=00,057812,000333,   0,   0,   0,  1|--|068,0x03,  +59,-128.0000|0000356/0010000|
    |014220,=000000,=016384,=00,=00,053282,000250,   0,   0,   1,  1|--|069,0x14,  +59,-128.0000|0000357/0010000|
    |013249,=000000,=016384,=00,=00,057930,000336,   0,   0,   0,  1|--|068,0x05,  +59,-128.0000|0000358/0010000|
    
    //15m, distance error
    |Distmm,=dealias_bin,=freq_count_read_reg,=phaseovl,=phaseovlf2, Phase,Amplud,SigS,AmbS,ModFreq,HDR|--|Amb,Cntr,Tmain,Tillum   |  Count/Total  |
    |015386,=000000,=016384,=00,=00,057650,000203,   0,   0,   1,  1|--|068,0x06,  +60,-128.0000|0002100/0010000|
    |089080,=000005,=016384,=00,=00,061788,000217,   0,   0,   0,  1|--|068,0x17,  +60,-128.0000|0002101/0010000|
    |014206,=000000,=016384,=00,=00,062111,000221,   0,   0,   0,  1|--|068,0x0f,  +60,-128.0000|0002103/0010000|
    |015411,=000000,=016384,=00,=00,057745,000213,   0,   0,   1,  1|--|068,0x00,  +60,-128.0000|0002104/0010000|
    |015472,=000000,=016384,=00,=00,057973,000205,   0,   0,   1,  1|--|068,0x18,  +60,-128.0000|0002106/0010000|
    |014247,=000000,=016384,=00,=00,062291,000220,   0,   0,   0,  1|--|068,0x09,  +60,-128.0000|0002107/0010000|
    |089220,=000005,=016384,=00,=00,062402,000225,   0,   0,   0,  1|--|068,0x01,  +60,-128.0000|0002109/0010000|
    |015498,=000000,=016384,=00,=00,058072,000239,   0,   0,   1,  1|--|068,0x12,  +60,-128.0000|0002110/0010000|
    |015732,=000000,=016384,=00,=00,058947,000250,   0,   0,   1,  1|--|068,0x1c,  +60,-128.0000|0002118/0010000|
    |014698,=000000,=016384,=00,=00,064264,000250,   0,   0,   0,  1|--|068,0x0d,  +60,-128.0000|0002119/0010000|
    |015902,=000000,=016384,=00,=00,059586,000230,   0,   0,   1,  1|--|068,0x1e,  +60,-128.0000|0002120/0010000|
    |103400,=000005,=016384,=00,=00,059749,000189,   0,   0,   1,  1|--|068,0x0e,  +60,-128.0000|0002121/0010000|
    |014741,=000000,=016384,=00,=00,064453,000210,   0,   0,   0,  1|--|068,0x1f,  +60,-128.0000|0002122/0010000|
    |015956,=000000,=016384,=00,=00,059786,000189,   0,   0,   1,  1|--|068,0x10,  +60,-128.0000|0002123/0010000|
    |014823,=000000,=016384,=00,=00,064808,000208,   0,   0,   0,  1|--|068,0x01,  +60,-128.0000|0002124/0010000|
    |016000,=000000,=016384,=00,=00,059951,000202,   0,   0,   1,  1|--|068,0x12,  +60,-128.0000|0002125/0010000|
    |089739,=000005,=016384,=00,=00,064668,000216,   0,   0,   0,  1|--|068,0x03,  +60,-128.0000|0002126/0010000|
    |015135,=000001,=016384,=00,=00,000639,000059,   0,   0,   0,  1|--|068,0x03,  +61,-128.0000|0002219/0010000|
    |089061,=000005,=016384,=00,=00,006023,000068,   0,   0,   1,  1|--|068,0x14,  +61,-128.0000|0002220/0010000|
    |089962,=000006,=016384,=00,=00,000108,000024,   0,   0,   0,  1|--|068,0x05,  +61,-128.0000|0002221/0010000|
    |018530,=000001,=016384,=00,=00,003896,000097,   0,   0,   1,  1|--|068,0x16,  +61,-128.0000|0002222/0010000|
    |016351,=000001,=016384,=00,=00,005954,000219,   0,   0,   0,  1|--|068,0x07,  +61,-128.0000|0002223/0010000|
    
    // 17m, distance okay
    |Distmm,=dealias_bin,=freq_count_read_reg,=phaseovl,=phaseovlf2, Phase,Amplud,SigS,AmbS,ModFreq,HDR|--|Amb,Cntr,Tmain,Tillum   |  Count/Total  |
    |017536,=000001,=016384,=00,=00,011134,000188,   0,   0,   0,  1|--|068,0x13,  +61,-128.0000|0002237/0010000|
    |017726,=000001,=016384,=00,=00,011967,000193,   0,   0,   0,  1|--|068,0x0b,  +61,-128.0000|0002239/0010000|
    |018759,=000001,=016384,=00,=00,004755,000239,   0,   0,   1,  1|--|068,0x1c,  +61,-128.0000|0002240/0010000|
    |018841,=000001,=016384,=00,=00,016842,000036,   0,   0,   0,  1|--|068,0x0d,  +61,-128.0000|0002241/0010000|
    
    // 21m, distance okay
    |Distmm,=dealias_bin,=freq_count_read_reg,=phaseovl,=phaseovlf2, Phase,Amplud,SigS,AmbS,ModFreq,HDR|--|Amb,Cntr,Tmain,Tillum   |  Count/Total  |
    |021509,=000001,=016384,=00,=00,028506,000189,   0,   0,   0,  1|--|068,0x01,  +61,-128.0000|0002305/0010000|
    |021635,=000001,=016384,=00,=00,015528,000610,   0,   0,   1,  1|--|068,0x12,  +61,-128.0000|0002306/0010000|
    |021922,=000001,=016384,=00,=00,030313,000163,   0,   0,   0,  1|--|068,0x03,  +61,-128.0000|0002307/0010000|
    |021814,=000001,=016384,=00,=00,016202,000173,   0,   0,   1,  1|--|068,0x14,  +61,-128.0000|0002308/0010000|
    
    // 30m, distance okay
    |Distmm,=dealias_bin,=freq_count_read_reg,=phaseovl,=phaseovlf2, Phase,Amplud,SigS,AmbS,ModFreq,HDR|--|Amb,Cntr,Tmain,Tillum   |  Count/Total  |
    |028898,=000001,=016384,=00,=00,060809,000071,   0,   0,   0,  1|--|068,0x17,  +60,-128.0000|0002363/0010000|
    |029206,=000001,=016384,=00,=00,062159,000080,   0,   0,   0,  1|--|068,0x07,  +60,-128.0000|0002364/0010000|
    |029506,=000001,=016384,=00,=00,045023,000029,   0,   0,   1,  1|--|068,0x18,  +60,-128.0000|0002365/0010000|
    |028798,=000001,=016384,=00,=00,060375,000058,   0,   0,   0,  1|--|068,0x09,  +60,-128.0000|0002366/0010000|
    
    // 31m, distance error
    |Distmm,=dealias_bin,=freq_count_read_reg,=phaseovl,=phaseovlf2, Phase,Amplud,SigS,AmbS,ModFreq,HDR|--|Amb,Cntr,Tmain,Tillum   |  Count/Total  |
    |003062,=000000,=016384,=00,=00,013389,000959,   0,   0,   0,  0|--|068,0x13,  +60,-128.0000|0002441/0010000|
    |003067,=000000,=016384,=00,=00,011492,000830,   0,   0,   1,  0|--|068,0x04,  +59,-128.0000|0002442/0010000|
    |003125,=000000,=016384,=00,=00,013667,000914,   0,   0,   0,  0|--|068,0x15,  +59,-128.0000|0002443/0010000|
    |003067,=000000,=016384,=00,=00,011494,000847,   0,   0,   1,  0|--|068,0x06,  +59,-128.0000|0002444/0010000|
    |003021,=000000,=016384,=00,=00,013211,000996,   0,   0,   0,  0|--|068,0x17,  +59,-128.0000|0002445/0010000|
    
    // 35m, distance error
    |Distmm,=dealias_bin,=freq_count_read_reg,=phaseovl,=phaseovlf2, Phase,Amplud,SigS,AmbS,ModFreq,HDR|--|Amb,Cntr,Tmain,Tillum   |  Count/Total  |
    |033734,=000001,=016384,=00,=00,060864,000023,   0,   0,   1,  1|--|068,0x10,  +61,-128.0000|0002537/0010000|
    |033135,=000001,=016384,=00,=00,058617,000031,   0,   0,   1,  1|--|068,0x00,  +61,-128.0000|0002538/0010000|
    |015397,=000001,=016384,=00,=00,001783,000049,   0,   0,   0,  1|--|068,0x11,  +61,-128.0000|0002539/0010000|
    |033345,=000001,=016384,=00,=00,059405,000035,   0,   0,   1,  1|--|068,0x02,  +61,-128.0000|0002540/0010000|
    |015116,=000001,=016384,=00,=00,000555,000045,   0,   0,   0,  1|--|068,0x13,  +61,-128.0000|0002541/0010000|
    
    // 36m, distance error
    |Distmm,=dealias_bin,=freq_count_read_reg,=phaseovl,=phaseovlf2, Phase,Amplud,SigS,AmbS,ModFreq,HDR|--|Amb,Cntr,Tmain,Tillum   |  Count/Total  |
    |003283,=000000,=016384,=00,=00,012302,000462,   0,   0,   1,  0|--|068,0x00,  +55,-128.0000|0002790/0010000|
    |003452,=000000,=016384,=00,=00,015093,000571,   0,   0,   0,  0|--|068,0x11,  +55,-128.0000|0002791/0010000|
    |003297,=000000,=016384,=00,=00,012354,000445,   0,   0,   1,  0|--|068,0x02,  +55,-128.0000|0002792/0010000|
    |003429,=000000,=016384,=00,=00,014996,000581,   0,   0,   0,  0|--|068,0x13,  +55,-128.0000|0002793/0010000|
    |003319,=000000,=016384,=00,=00,012438,000466,   0,   0,   1,  0|--|068,0x04,  +55,-128.0000|0002794/0010000|
    
    

    谢谢。

    樱桃林

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

    您好、Cherry、

    您能否确认我的上述问题中有关我发送的寄存器设置的信息? 您是否已使用这些设置进行了测试并能提供结果?

    最棒的

    Alex

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

    您好、Brent、

    我确信它完全根据您的配置进行设置。  

    我发现:

    当"out_dealias _data = 1"时、 在10MHz 和8.57MHz 时、在同一距离下、PHASE_OUT 寄存器具有不同的相位值。

    当"out_dealias_data = 0"时、 AFE 输出值 "dealias_bin"接近15~17m 和30~34m 是错误的。  在该范围之外是正常的。

    谢谢。

    樱桃林

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

    您好、Cherry、

    需要跟进此问题、并在下周结束前得到回复。

    最棒的

    Alex

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

    您好、Cherry、

    您能否将完整的 SDK 文件夹与代码共享?

    最棒的

    Alex

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

    您好、Brent、

    是的、我可以通过电子邮件向您发送完整的 SDK 文件夹。 您能给我一个电子邮件地址吗?

    谢谢。

    樱桃林

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

    您好、Cherry、

    我将向您发送一封电子邮件。

    最棒的

    Alex

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

    尊敬的 Alex:

    您能告诉我 OPT3101芯片是如何计算"DEALIAS_BIN"的吗?  我发现芯 片的内部算法很容易错误地计算"DEALIAS_BIN"(大约为15m、17.5m、30m、35m、45m、 52.5m 等)。

    谢谢。

    樱桃林

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

    您好、Cherry、  

    感谢您的耐心等待。   我们团队的一部分因国家节假日而外出、因此我们致力于及时提供帮助。 您将在72小时内收到我们的回复。  

    此致、
    Nick Z

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

    您好、Cherry、

    是否将 LEAD_DEALIAS_DATA 设置为1? 如果是这样、芯片将自动直接提供组合相位、因此您不需要该二进制文件。 如果您希望使用片外器件、则需要该 bin 值。  

    关于您的问题-此处的图4可能有助于说明这一点: https://www.ti.com/lit/an/sbaa303/sbaa303.pdf 

    您可以看到、10MHz 和交替频率测量仅对齐1个经销商库。 使用两个频率测量值确定正确的经销商库

    最棒的

    Alex