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.

[参考译文] IWR6843ISK-ODS:当 UART 波特率为1843200或更高时、iwr6843丢失数据位

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

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/995712/iwr6843isk-ods-iwr6843-lost-data-bit-when-uart-baudrate-is-1843200-or-higher

器件型号:IWR6843ISK-ODS
主题中讨论的其他器件:IWR6843

你好

 我们使用 iwr6843 ES2.0、SDK 版本为3.4.0.3。

如果 config uartParams.budrate  = 1843200 或 uartParams.budrate  = 1920000、则在接收 UART 数据时发现存在位丢失问题。

我想它可能与 UART 发送的数据有关。

请提供一些建议以帮助我们验证问题、谢谢。

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

    您好!

    您能验证一下波特率921600没有问题吗? 接收数据时的数据。 您是否正在使用演示可视化工具或您是否正在使用终端上的自定义功能?

    最棒的

    Connor Desmond

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

    您好!

    是的、当波特率为9216000时、情况也是如此。 我们使用 python 应用来实时接收 UART 数据(RDM)。

    数据帧为1064字节, UART 的带宽足够 。

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

    您好!

     SCI 24位波特选择只能是整数、是否支持浮点运算?  

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

    您好!

    由于您使用 python 来解析您的数据、我建议使用以下解析器来比较您的实现与、以便您能够消除导致此线程的行为。 它位于此处:

    \packages/ti\demo\parser_scripts\mmw_demo_example_script.py

    这是一个功能齐全的脚本、可以让您顺利完成。

    此致、

    Connor Desmond

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

    你好  

    我们配置命令 dBaudRate = 1250000 bps、使用 cp2105的 SCI 接收 UART 数据(RDM)、

    帧大小为 64*32*2,帧速率为50Hz,因此一秒内发送的数据量为81920字节;

    波特率设置为1.25M bps、UART 的带宽足以进行传输、但实际上 UART 不会向外发送数据。 当数据量减少时、PC 可以接收 UART 的数据。 我们不知道为什么。 请帮助您爱上它、谢谢。

    以下是雷达的配置参数:

    sensorStop
    FlushCfg
    DfeDataOutputMode 1
    通道配置15 1 0
    ADCfg 2 1.
    adcbufCfg -1 0 1 1 1
    ProfileCfg 0 60.5 616 6 34 0 102.908 0 64 2350 0 30
    线性调频脉冲配置0 0 0 0 0 0 0 0 1
    线性调频脉冲配置1 1 0 0 0 0 0 0
    帧配置0 32 0 50 1 0
    低功耗0 0
    guiMonitor -1 0 0 0 0 1 0
    cfarCfg -1 0 2 8 4 3 0 15 1
    cfarCfg -1 0 8 4 1 15 1
    multiObjBeamForming -1 1 0.5
    离合器拆卸-1 0
    calibDcRangeSig -1 0 -5 8 256
    扩展 MaxVelocity -1 0
    bpmCfg -1 0 1
    lvdsStreamCfg -1 0 0 0
    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 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
    measureRangeBiasAndRxChanPhase 0 1.5 0.2
    CQRxSatMonitor 0 3 5 121 0
    CQSigImgMonitor 0 127 4.
    analogMonitor 0
    AoFovCfg -1 -90 90 -90 90
    cfarFovCfg -1 0 8.92
    cfarFovCfg -1 1 -1.6 1.60
    sensorStart

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

    您好:

    我怀疑您的帧速率过高。 我建议降低帧速率以启动、例如30Hz。 问题可能根本不是 UART。 您会看到每帧收集的数据越多、处理该数据所需的时间就越长。 如果帧速率太高、则下一帧到达后、数据才能通过 UART 进行处理+推出。 这就是为什么减少数据量可以解决问题的原因。 您必须在每帧收集的数据量和该帧的持续时间之间找到平衡。

    请尝试使用以下工具生成符合您的应用需求的配置文件:

    https://dev.ti.com/gallery/view/1792614/mmWaveSensingEstimator/ver/1.3.0/  

    此致、

    Connor Desmond

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

    您好:  

    抱歉, 帧速率是20Hz,而不是50Hz,我犯了个错误。  

    帧配置0 32 0 50 1 0

    ProfileCfg 0 60.5 616 6 34 0 102.908 0 64 2350 0 30

    雷达发送波形时间:(616+34+6)*32=20992us=21ms

    帧周期:50ms

    占空比小于:50%

    DSS 和 MSS 是双核处理,带宽和空闲时间足够,DSS 和 MSS 是双核处理,带宽和空闲时间足够,我们只传输范围和多普勒热图,我不知道为什么 UART 无法接收 RDM 数据。

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

    您好:

    让我检查一下、将您的线性调频脉冲配置文件发送给相关专家、然后我会给您回复。

    最棒的

    Connor Desmond

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

    您好:

    您能否尝试将演示 python 脚本与您正在使用的配置文件一起使用。 我与专家进行了核实、他们说您的个人资料还可以、所以让我们尝试明确指出问题可能是什么。 如果您看到相同或不同的行为、请返回给我。

    此致、

    Connor Desmond

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

    您好:

    我不知道如何运行 demo python 脚本( mmw_demo_example_script.py )来通过 UART 捕获 RDM 数据。

    顺便说一下、 我们无法使用串行端口调试工具接收任何 UART 数据。

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

    您好:

    让我们重置并建立基线。 您能为我确认一些信息吗?

    1、通过 UART 在点云上移动什么? RDM 数据? 请您澄清一下。

    2.您是否成功运行了开箱即用演示。 如果没有、您可以完成该过程。

    上面的脚本获取 OOB Demo 数据、对其进行解析并将其放入.csv 文件中。 如果您浏览解析器脚本的源代码、应该清楚它的工作原理、以便您可以使用它、但首先让我们通过 OOB 演示验证我们可以从器件获取数据、并且不存在某些硬件依赖性。

    向我报告这两份说明、我们将继续前进。

    此致、

    Connor Desmond

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

    您好:

    1。RDM 数据是 距离多普勒矩  阵,我们设置 rangeDopplerHeatMap =1、因此仅通过 UART 端口传输 RDM 数据。  如果设置了 rangeDopplerHeatMap 标志   、则对数幅度距离-多普勒矩阵、* size =距离单元数*多普勒单元数* sizeof (uint16_t)

    2、当前 SDK 版本为03.05.00.04、运行良好。

    3.我知道 python 脚本可以解析 OOB 演示数据、 OOB 演示数据通过 UART 进行传输。 我们当前的问题是线性调频脉冲剖面      配置正常、但未接收到 UART 数据。  

    波特率设置为1.25M bps、UART 的带宽足以进行传输、但实际上 UART 不会向外发送数据

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

    您好:

    我在上面解释了为什么我需要您运行 OOB 演示。 我知道您的问题是什么、但为了支持您、我需要验证 UART 在基本情况下(例如 OOB)是否正常工作。

    此致、

    Connor Desmond

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

    您好:  

    官方演示(OOB) UART 可以正常工作。 我们仅修改配置文件(如上所述)、UART 无法接收数据。 我们计算出 UART 的带宽足够,因此我们不知道根本原因。  请提供帮助、请选择

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

    您好:

    通过"正常工作"、我假设您能够运行演示可视化工具@ 921600波特率。 已建立。 我将确保以下内容正常工作:

    1.导出用于 OOB 的工作配置、并查看解析器是否可以正确解析数据。 执行此操作@921600波特。 这将测试您的解析器是否正确、或者配置文件确实存在问题。

    2.如果可以的话,请尝试以更高的波特率执行同样的操作。 这将测试以更高波特率运行是否是问题所在。

    让我知道这些结果是什么。

    此致、

    Connor Desmond

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

    你好  

    1.如果按 上述配置文件使用,不管波特率设置为921600或更高,UART 都不会向外发送数据 。

       我对此非常困惑,我不知道原因。

    2.雷达参数配置成功,参见下图:

       

       

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

    您好:

    我们将在这里进行循环。 我需要您回答以下问题、以便我继续提供支持。 其中一些问题可能已在上文得到答复,但我需要得到明确的答复。

    1.您是否能够成功运行 OOB 演示@ 921600波特(默认波特)?

    2.假定(1)已成功。 您能否使用该.cfg 文件对器件进行编程、从而使数据通过数据 COM 端口传输。 如果(1)确实正常工作、则您应该能够看到通过 PuTTY 或 Teraterm 驱动可视化工具的相同数据。 如果您的计算机上没有这些程序、请使用 Google 搜索这些程序。

    3.假设(2)正常工作。 实施 python 脚本以解析通过 COM 端口的数据。

    4.如果 (3)正常工作。 然后尝试更改配置并查看其是否中断。

    此致、

    Connor Desmond

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

    你好  

    我们已核实第1项、第2项、第3项是可以的, 这是毫无疑问的。

    4.如果 (3)正常工作。 然后尝试更改配置并查看其是否中断。

      =>修改配置文件 cfg 文件后、UART 不会发送任何数据。

          这些 cfg CLI 命令确认它们都正确响应。  

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

    您好:

    接下来、我希望您注意已确认有效的.cfg 文件与您现在尝试实现的.cfg 文件之间的增量。 根据您对这些问题的回答、UART 不是问题。 它是.cfg 文件。

    一次更改一个工作的.cfg 文件、直到它中断。 这将指示导致问题的命令或命令的参数。

    请告诉我您的结果是什么。

    此致、

    Connor Desmond

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

    你好

    正确解析这些 CLI 命令、MSS 主机也以"Done"进行响应、并且在写入一系列 CLI 命令后、雷达的指示灯变为绿色。 可以确定这些命令没有问题。

    iwr6843+dca1000下、可以通过以太网接收相同的 CLI 命令 Data。

     您能否使用这些 CLI 命令运行演示代码来查看 UART 是否可以接收范围和压降数据?

     非常感谢。

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

    您好:

    我不反对 CLI 命令返回 DONE 状态、但由于您能够使用不同的.cfg 文件成功获取 UART 数据、因此这将验证 UART 是否能够发送数据。 现在您已经声明、当您更改.cfg 文件时、会导致不通过 UART 发送数据。 考虑到这一点、我希望您告诉我.cfg 文件的更改具体会导致系统从发送 UART 数据转到不发送 UART 数据、以便我可以确定该更改对 UART 有何影响、或者是否有其他原因。

    请向我报告.cfg 文件中导致 UART 数据输出的更改。

    此致、

    Connor Desmond

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

    您好:

    差异如下:

    左侧的配置文件可以接收 UART 数据、右侧的配置文件无法接收。

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

    您好:

    您能否确定配置文件配置中的哪个参数会导致 UART 不发送数据。

    此致、

    Connor Desmond

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

    你好

    上一封电子邮件列出了不同之处:

    ProfileCfg 0 60.5 616 6 34 0 102.908 0 64 2350 0 30

    此 CLI 命令将导致 UART 没有数据输出。

    此问题已被长时间混淆、 您能否使用这些 CLI 命令运行演示代码以查看 UART 是否可以接收范围和压降数据? 非常感谢!

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

    你好

    是否有此问题的更新?

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

    您好:

    对这一实质性问题我表示歉意。 让我测试一下您在上面亲自强调的配置文件配置。 我很快会回来、我们可以恢复调试过程。

    此致、

    Connor Desmond

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

    您好:

    我刚刚运行了您给我的 profileCfg、它的波特率为921600。 这表示问题与器件上的配置文件配置或 UART 无关。 由于已经有一段时间了、您可以使用"错误".cfg 文件重申它仍然会导致运行 OOB 演示@ 921600波特时出错。

    最棒的

    Connor  

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

    你好

    如果使用此“profileCfg 0 60.5 616 6 34 0 102.908 0 64 2350 0 0 0”,您能否正确接收 UART 数据?  

    我的意思 是 profileCfg 没有问题。 在当前应用场景中使用此配置时,我不知道为什么 UART 没有数据输出。 这是我们需要解决的关键问题。

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

    您好:

    您在上面提供的 profileCfg 命令:profileCfg 0 60.5 616 6 34 0 102.908 0 64 2350 0 0

    与:profileCfg 0 60.5 616 6 34 0 102.908 0 64 2350 0 30不同。

    第一个命令缺少 rxGain 参数30。 如果不包含此命令、则器件将无法正确配置、因此不会显示任何输出数据。

    假设这是复制和粘贴错误。 我无法重新创建您的错误。 我在921600处成功运行了 OOB 演示、其中未对配置文件配置进行任何修改。 您说这也对您有用。 是这样吗? 然后、您声明对 profileCfg 参数列表的修改导致了您看到的问题。 我获取了修改后的参数列表并将其应用到我的器件、并且能够顺利驱动 GUI 可视化工具。

    请验证包含 rxGain 参数的配置文件配置命令是否会给您造成问题。

    此致、

    Connor Desmond

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

    你好

    抱歉、这是复制和粘贴错误。

    我可以在没有修改配置文件配置的情况下以921600bps 成功运行 OOB 演示。

    但是、如果仅修改 profileCfg  0 60.5 616 6 34 0 102.908 0 64 2350 0 30、则 UART 数据端口不输出数据。

    我使用毫米波演示可视化工具检查问题仍然存在(无数据)请使用以下参数 :

    ------------------------------------------------------

    sensorStop
    FlushCfg
    DfeDataOutputMode 1
    通道配置15 1 0
    ADCfg 2 1.
    adcbufCfg -1 0 1 1 1
    ProfileCfg 0 60.5 616 6 34 0 102.908 0 64 2350 0 30
    线性调频脉冲配置0 0 0 0 0 0 0 0 1
    线性调频脉冲配置1 1 0 0 0 0 0 0
    帧配置0 32 0 50 1 0
    低功耗0 0
    guiMonitor -1 0 0 0 0 1 0
    cfarCfg -1 0 2 8 4 3 0 15 1
    cfarCfg -1 0 8 4 1 15 1
    multiObjBeamForming -1 1 0.5
    离合器拆卸-1 0
    calibDcRangeSig -1 0 -5 8 256
    扩展 MaxVelocity -1 0
    bpmCfg -1 0 1
    lvdsStreamCfg -1 0 0 0
    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 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
    measureRangeBiasAndRxChanPhase 0 1.5 0.2
    CQRxSatMonitor 0 3 5 121 0
    CQSigImgMonitor 0 127 4.
    analogMonitor 0
    AoFovCfg -1 -90 90 -90 90
    cfarFovCfg -1 0 8.92
    cfarFovCfg -1 1 -1.6 1.60
    sensorStart

    ------------------------------------------------------------------

    您能否使用这些参数从 UART 数据端口接收数据?  

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

    您好:

    我运行了上述配置。 它不会将任何数据发送到 GUI 可视化工具。 GUI 可视化工具还指示、要向可视化工具显示方位角热图数据、必须使用小于5的帧速率、则使用20。 考虑到这一点、我关闭了方位角热图并显示了多普勒 -距离图、以查看是否可以获取数据。 我能够做到的。 请改为尝试 guiMonitor -1 0 0 0 0 0 0以查看您是否获取数据。 总的来说、虽然我认为您的器件正常工作、但您只需逐步修改已知的功能.cfg 文件、如果这会导致问题、请阅读文档以了解原因。

    此致、

    Connor Desmond

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

    您好:

    已确认配置文件配置没有问题。 原因是 UART 无法接收数据。
    在 MSS_mainl.c 中:MmwDemo_transmitProcessedOutput()
    subFrameCfg->numRangeBins 更改为32,以便 UART 可以接收数据。

    当前 UART 波特率为1.25M bps、带宽足够、 那么根本原因是什么?

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

    您好:

    我建议不要将距离箱数直接更改为32。 在.cfg 文件中、ADC 样本数设置为64。 距离单元数和 ADC 采样数对应1到1个通信器。 将此参数更改为32、这应该具有相同的效果。 随着这种变化的生效、您是否能够以所需的速率获取数据?

    此致、

    Connor Desmond

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

    您好:

    我知道您的意思、 但为了获取 UART 数据、我必须减小输出数据的大小。这是我在开始时提出的问题。

    目前、我们使用此类解决方案进行后处理。  由于我们不知道为什么无法传输 numRangeBins (64)* numDopplerBins (32)*2+40 RDM 数据 ,因此帧大小为64*32*2+40 (标头)= 4196字节。

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

    您好:

    我在 OOB 中前面提到的方位角热图 TLV 需要低帧速率、例如5。 您的工作电压为20。 由于您无法获取数据、这意味着可能存在时序违规。 如果您想了解违规的确切详细信息、则需要进入 CCS 调试、使用发生故障的配置运行 OOB、并发布错误的屏幕截图、以便我为您提供答案。 考虑到这一点、您可能无法修复您想要执行的操作、因此请记住这一点。

    此致、

    Connor Desmond

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

    你好

    我们只需要距离和多普勒数据(rangeDopplerHeatMap)、其他类型的 TLV 不需要输出、因此 UART 应该能够输出20帧(rangeDoperHeatMap)

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

    您好:

    下一步是运行不在 CCS 中发送 UART 的项目、如开箱即用用户指南中所述。 如果 UART 未发出、则表示出现了错误、SDK 应输出错误、然后我们可以继续。

    此致、

    Connor Desmond