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:[mmWaveStudio]如何减少 lua 脚本中的睡眠时间

Guru**** 2532800 points
Other Parts Discussed in Thread: IWR6843AOP

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/891719/iwr6843-mmwavestudio-how-to-reduce-sleep-time-in-lua-script

器件型号:IWR6843

您好!

 

我正在使用 mmWaveStduio 上的 DataCaptureDemo_SWR.lua 文件。

正如您在下面的代码片段中看到的,RSTD.SLEEP()函数在调用 AR1 API 等待每个处理完成后调用。

 

===========================================

--Start Record ADC data (开始记录 ADC 数据)

AR1.CaptureCardConfig_StartRecord (ADC_DATA_PATH、1)

RSTD.SLEEP (1000)                   ------------ (1)

 

触发帧

ar1.StartFrame ()

RSTD.SLEEP (5000)                   ------------ (2)

 

-对捕获原始 ADC 数据进行后处理

AR1.StartMatlabPostProc (ADC_DATA_PATH)

WriteToLog ("请等待几秒钟以进行 MATLAB 后处理.....。 !!!! "n"、"绿色")

RSTD.SLEEP (10000)-----                    (3)

===========================================

 

我想尽可能减少这些睡眠时间、以减少总处理时间。

那么、是否有任何好方法来了解以下 API 的处理何时实际完成?

 

AR1.CaptureCardConfig_StartRecord (ADC_DATA_PATH、1)

ar1.StartFrame ()

AR1.StartMatlabPostProc (ADC_DATA_PATH)

 

谢谢、此致、

-Shibata

 

 

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

    您好、Shibata:

    这是一个好问题、我不知道答案。  我需要咨询设计团队、然后再联系您。  

    最棒的

    Zigang

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

    您好、Zigang、

    对此进行了任何更新?

    谢谢、

    -Shibata

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

    您好、Shibata:

    以下是设计团队的反馈:

    睡眠时间/等待时间完全取决于用户要评估的配置。

    发出 DCA1000 ARM 命令 - AR1.CaptureCardConfig_StartRecord (ADC_DATA_PATH、1)后

    始终建议在发出 StartFrame 命令之前等待1-2秒。 由于 DCA1000 ARM 命令不会进入 AWR 器件、而是进入 DCA1000硬件。

    因此、您必须异步管理它。 (这就是我们具有1-2秒缓冲时间的原因)。

    发出 AR1.StartFram()命令后,您需要睡眠的时间取决于帧配置。

    假设您要触发100个帧,并且帧周期为100ms ->则必须等待100*100ms -> 10s。

    如果您不给此休眠时间,则不会从 DCA1000捕获完整数据,也不会有数据可用于后处理。 (这是下一个命令)。

    最棒的

    Zigang

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

    您好、Zigang、

     

    感谢您的评论。

    关于 CaptureCardConfig_StartRecord 和 StartFrame、我了解了在发出这些命令后需要等待多长时间。

     

    关于 StartMatlabPostProc、我观察到从 StartMatlabPostProc 调用返回大约需要5秒钟。

     

    (1)   在该函数中进行了哪种处理?

    (2)   是否可以缩短处理时间?

     

    谢谢、此致、

    -Shibata

     

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

    您好、Shibata:

    关于 StartMatlabPostProc、它正在运行信号后处理并生成所有类型的图(例如 ADC 样本、距离-多普勒热图等)。 如果您专注于数据采集、则实际上不需要运行此函数。  这些图可帮助您检查数据是否对您有意义。

    但是、如果您确实希望运行此脚本、则没有更短的版本可以运行。

    最棒的

    Zigang

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

    您好、Zigang、

    抱歉、我错误地使用了函数名称。

    我有疑问的函数是 PacketReorderZeroFill、而不是 StartMatlabPostProc。

    在 lua 脚本中、在调用 PacketRedorderZeroFill 之后、调用 RSTD.Sleep (10000)。

    即使没有等待10秒、PacketReorderZeroFill 也花费了大约5秒的时间。

    您能否就此函数发表意见?

    (1)   在该函数中进行了哪种处理?

    (2)   是否可以缩短处理时间?

    谢谢、

    -Shibata

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

    您好、Shibata:

    PacketReorderZeroFill 将删除数据包标头、以便它仅包含存储器中的二进制数据。  如果您使用的是 RADAR Studio 02.01.00.00、则不需要此函数。  但是、如果您使用的是较早版本的 RADAR Studio、则仍需要此函数、但如果您想节省捕获时间、则可以稍后运行此函数。

    最棒的

    Zigang

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

    您好、Zigang、

     

    我的客户使用的是具有 IWR6843AOP ES1.0 EVM 的 RADAR Studio 早期版本。

    因此它们需要 PacketRedorderZeroFill 函数。

     

    感谢您的解释。

    请关闭此主题。

     

    此致、

    -Shibata