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.

[参考译文] IWR6843:90 分钟后 CAN 上出现一致的 TX 问题

Guru**** 2538950 points
Other Parts Discussed in Thread: IWR6843

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1560545/iwr6843-consistent-tx-issue-on-can-after-90-minutes

器件型号:IWR6843


工具/软件:

您好:

我在单个 CAN 总线上使用 4 个 IWR6843 雷达、每个雷达的频率为 20Hz。 我观察到、90 分钟后、所有 4 个雷达的性能都会下降。 雷达的有效频率会因性能下降而下降。  

我使用以下配置:

"sensorStop\n",//stop sensor before configuring
	"flushCfg\n",//flush the configuration
	"dfeDataOutputMode 1\n",//frame based chirp configuration
	"channelCfg 15 7 0\n",//15 = 4 antennas 1111b, 7 = azimuth(tx1 & tx3) and elevation(tx2) both the antennas are enabled 111b, n/a
	"adcCfg 2 1\n",//2 = 16-bits adc, 1 = output format complex mode
	"adcbufCfg -1 0 1 1 1\n",//-1 = by default, 0 = adcbuf output format only complex mode, 1 = adcbuf iq swap selection, 1 = non-interleaved, 1 = only 1 supported
	"profileCfg 0 61 35 6 43.0 0 0 8.241 1 125 3433 0 0 48\n",//0 = profile identifier, 60 = frequency 60GHz, 35 = idle time in usec, 6 = adc start time in usec, 43.0 = ramp end time in usec, 0 = txOutPower(always 0), 0 = txPhaseShifter(always 0), 8.241 = freq. slope in MHz, 1 = txStartTime in usec, 125 = numOfADCSamples, 3433 = digOutSampleRate, 0 = HPF1 175KHz, 0 = HPF2 350KHz, 48 = rxGain
	"chirpCfg 0 0 0 0 0 0 0 1\n",// 0 = chirp start index, 0 = chirp end index, 0 = profile identifier, 0 = start freq variation in Hz, 0 = freq slope variation in KHz/us, 0 = idel time variation in us, 0 = adc start time variation in us, 1 = tx enable antenna 001b tx1 enabled & tx2 tx3 disabled
	"chirpCfg 1 1 0 0 0 0 0 2\n",// 1 = chirp start index, 1 = chirp end index, 0 = profile identifier, 0 = start freq variation in Hz, 0 = freq slope variation in KHz/us, 0 = idel time variation in us, 0 = adc start time variation in us, 2 = tx enable antenna 100b tx3 enabled & tx1 tx2 disabled
	"chirpCfg 2 2 0 0 0 0 0 4\n",// 2 = chirp start index, 2 = chirp end index, 0 = profile identifier, 0 = start freq variation in Hz, 0 = freq slope variation in KHz/us, 0 = idel time variation in us, 0 = adc start time variation in us, 4 = tx enable antenna 100b tx3 enabled & tx1 tx2 disabled
	"frameCfg 0 1 128 0 50 1 0\n",//0 = chirp start index, 1 = chirp end index, 128 = doppler chirps, 0 = num of frames, 100 = frame periodicity in ms, 1 = software trigger, 0 = frame trigger delay in ms
	"lowPower 0 0\n",//0 = dont care, 0 = regular adc mode
	"guiMonitor -1 1 0 0 0 0 0\n",//-1 = by default, 1 = enable export of point cloud(x,y,z,doppler,snr,noiseval), 0 = disabled to log magnitude range, 0 = disabled to log noise profile,
	"cfarCfg -1 0 2 8 4 3 0 15 1\n",//-1 = by default, 0 = detection in range direction, 2 = CFAR_CASO, 8 = noise avg window length, 4 = guard length, 3 = division shift, 0 = cyclic/wrap around mode disabled, 10 = threshold scale in dB, 1 = peak groupnig enabled to resolve radar freeze issue
	"cfarCfg -1 1 0 4 2 3 1 15 1\n",//-1 = by default, 1 = detection in doppler direction, 0 = CFAR_CA, 4 = noise avg window length, 2 = guard length, 3 = division shift, 1 = cyclic/wrap around mode enabled, 10 = threshold scale in dB, 1 = peak groupnig enabled to resolve radar freeze issue
	"multiObjBeamForming -1 1 0.5\n",
	"clutterRemoval -1 0\n",//disabled clutter removal to detect static objects
	"calibDcRangeSig -1 0 -5 8 256\n",
	"extendedMaxVelocity -1 0\n",
	"bpmCfg -1 0 0 1\n",
	"lvdsStreamCfg -1 0 0 0\n",
	"compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0\n",
	"measureRangeBiasAndRxChanPhase 0 1.5 0.2\n",
	"CQRxSatMonitor 0 3 4 63 0\n",
	"CQSigImgMonitor 0 127 4\n",
	"analogMonitor 0 0\n",
	"aoaFovCfg -1 -60 60 -20 20\n",//1 -HFOV +HFOV -VFOV +VFOV
	"cfarFovCfg -1 0 0 49.99\n",//-1 0 0 max detection_range
	"cfarFovCfg -1 1 -30 30.00\n",//-1 1 -speed_in_m/s +speed_in_m/s
	"%SceneryParam -50 50 0.5 60 -6 6\n",
	"staticBoundaryBox -60 60 0 50 -50 50\n",
	"boundaryBox -50 50 0 50 -50 50\n",
	"gatingParam 4 6 6 6 10\n",
	"stateParam 4 10 60 600 20 600\n",
	"allocationParam 30 30 0.5 3 2 2\n",
	"maxAcceleration 0.1 0.1 0.1\n",
	"trackingCfg 1 2 250 20 78 121 99\n",
	"sensorPosition 2 0 0\n",
	"presenceBoundaryBox -3 3 2 6 0.5 2.5\n",
	"sensorStart\r\n",

是否有任何其他固件级别配置需要考虑。 DSS 子系统是否可能在 90 分钟后受到温度的影响。 是否有更好的方法来调试此问题。 请他人提供一些见解。

谢谢、

Prishat Bachhar

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

    你好。

    我们正在研究此问题;请提供一两天的更新信息。

    此致、

    Santosh

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

    你好 Prishat。

    您能否浏览 此主题 、并确保您具有用于与多个 CAN 器件通信的以下所有 CAN 设置?

    此致、

    Santosh

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

    您好、Santosh、

    这是我使用的配置。

     mcanCfgParams->fdMode          = 0x1U;
        mcanCfgParams->brsEnable       = 0x1U;
        mcanCfgParams->txpEnable       = 0x0U;
        mcanCfgParams->efbi            = 0x0U;
        mcanCfgParams->pxhddisable     = 0x0U;
        mcanCfgParams->darEnable       = 0x1U;
        mcanCfgParams->wkupReqEnable   = 0x1U;
        mcanCfgParams->autoWkupEnable  = 0x1U;
        mcanCfgParams->emulationEnable = 0x0U;
        mcanCfgParams->emulationFAck   = 0x0U;
        mcanCfgParams->clkStopFAck     = 0x0U;
        mcanCfgParams->wdcPreload      = 0x0U;
        mcanCfgParams->tdcEnable       = 0x1U;
        mcanCfgParams->tdcConfig.tdcf  = 0U;
        mcanCfgParams->tdcConfig.tdco  = 8U;
        mcanCfgParams->monEnable       = 0x0U;
        mcanCfgParams->asmEnable       = 0x0U;
        mcanCfgParams->tsPrescalar     = 0x0U;
        mcanCfgParams->tsSelect        = 0x0U;
        mcanCfgParams->timeoutSelect   = CANFD_MCANTimeOutSelect_CONT;
        mcanCfgParams->timeoutPreload  = 0x0U;
        mcanCfgParams->timeoutCntEnable= 0x0U;
        mcanCfgParams->filterConfig.rrfe        = 0x1U;
        mcanCfgParams->filterConfig.rrfs        = 0x1U;
        mcanCfgParams->filterConfig.anfe        = 0x1U;//0x3U;//0x1U;
        mcanCfgParams->filterConfig.anfs        = 0x1U;//0x3U;//0x1U;
        mcanCfgParams->msgRAMConfig.lss         = 127U;
        mcanCfgParams->msgRAMConfig.lse         = 64U;
        mcanCfgParams->msgRAMConfig.txBufNum    = 32U;
        mcanCfgParams->msgRAMConfig.txFIFOSize  = 0U;
        mcanCfgParams->msgRAMConfig.txBufMode   = 0U;
        mcanCfgParams->msgRAMConfig.txEventFIFOSize         = 0U;
        mcanCfgParams->msgRAMConfig.txEventFIFOWaterMark    = 0U;
        mcanCfgParams->msgRAMConfig.rxFIFO0size             = 0U;
        mcanCfgParams->msgRAMConfig.rxFIFO0OpMode           = 0U;
        mcanCfgParams->msgRAMConfig.rxFIFO0waterMark        = 0U;
        mcanCfgParams->msgRAMConfig.rxFIFO1size             = 64U;
        mcanCfgParams->msgRAMConfig.rxFIFO1waterMark        = 64U;
        mcanCfgParams->msgRAMConfig.rxFIFO1OpMode           = 64U;
    
    
        mcanCfgParams->eccConfig.enable         = 1U;
        mcanCfgParams->eccConfig.enableChk      = 1U;
        mcanCfgParams->eccConfig.enableRdModWr  = 1U;
    
        mcanCfgParams->errInterruptEnable   = 1U;
        mcanCfgParams->dataInterruptEnable  = 1U;
    //    mcanCfgParams->errInterruptEnable   = 0U;//made 0 instead of 1 to communicate multiple radars on same can bus
    //    mcanCfgParams->dataInterruptEnable  = 0U;//made 0 instead of 1 to communicate multiple radars on same can bus
        mcanCfgParams->appErrCallBack       = MCANAppErrStatusCallback;
        mcanCfgParams->appDataCallBack      = MCANAppCallback;

    与线程中建议的唯一区别是

    mcanCfgParams->filterConfig.anfe = 0x1U;
    mcanCfgParams->filterConfig.anfs = 0x1U;

    我需要将值设置为 1、才能从中央 MCU 发送具有不同 ID 的消息。

    这可能是问题吗? 如果是、你能否提出一个前进的方向。

    谢谢、

    Prishat  

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

    你好 Prishat。

    您能否尝试降低帧速率来查看帧速率是否过快?  由于您仅发送点云数据、20 Hz 帧速率应该不是问题、但如果您可以使用较低的帧速率进行测试、看看这是否能在很长一段时间内提高数据保真度、这可能是需要测试的。

    此致、

    Santosh