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.

[参考译文] AWR2944EVM:如何从.bin 文件中提取 ADC 数据、用于 AWR2944EVM 上的 DDM OOB 演示

Guru**** 2826855 points

Other Parts Discussed in Thread: AWR2944EVM, DCA1000EVM, AWR2944

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1625096/awr2944evm-how-to-extract-adc-data-from-bin-file-for-ddm-oob-demo-on-awr2944evm

器件型号: AWR2944EVM
主题中讨论的其他器件: DCA1000EVMAWR2944

您好、

我使用的是 AWR2944EVM、并运行 DDM 开箱即用 (OOB) 演示。 我 .bin 使用 DCA100EVM 和 DCA1000EVM_CLI_CONTROL.exe CLI 命令成功生成了一个 ADC 数据文件。

我有两个问题:

  1. 我想确认、 cfg.jsonDCA1000EVM 的配置文件设置正确、以捕获仅实数输出数据、因为 AWR2944EVM 仅输出实数数据。  您能否确认这是否是使用 AWR2944EVM 配置 DCA1000EVM 以进行实际数据采集的正确方法?
{
  "DCA1000Config": {
    "dataLoggingMode": "raw",
    "dataTransferMode": "LVDSCapture",
    "dataCaptureMode": "ethernetStream",
    "lvdsMode": 1,
    "dataFormatMode": 3,
    "packetDelay_us": 25,
    "ethernetConfig": {
      "DCA1000IPAddress": "192.168.33.180",
      "DCA1000ConfigPort": 4096,
      "DCA1000DataPort": 4098
    },
    "ethernetConfigUpdate": {
      "systemIPAddress": "192.168.33.30",
      "DCA1000IPAddress": "192.168.33.180",
      "DCA1000MACAddress": "12.34.56.78.90.12",
      "DCA1000ConfigPort": 4096,
      "DCA1000DataPort": 4098
    },
    "captureConfig": {
      "fileBasePath": "D:\\awr2944\\Proto\\record",
      "filePrefix": "iqData",
      "maxRecFileSize_MB": 1024,
      "sequenceNumberEnable": 1,
      "captureStopMode": "duration",
      "bytesToCapture": 4000,
      "durationToCapture_ms": 10000,
      "framesToCapture": 100
    },
    "dataFormatConfig": {
      "MSBToggle": 0,
      "laneFmtMap": 0,
      "reorderEnable": 1,
      "dataPortConfig": [
        {
          "portIdx": 0,
          "dataType": "real"
        },
        {
          "portIdx": 1,
          "dataType": "real"
        },
        {
          "portIdx": 2,
          "dataType": "real"
        },
        {
          "portIdx": 3,
          "dataType": "real"
        },
        {
          "portIdx": 4,
          "dataType": "real"
        }
      ]
    }
  }
}

2.现在我需要从这个 .bin 文件中提取原始 ADC 数据,以便进一步处理和分析。 根据我的理解、rawDataReader.mmmWave Studio 中提供的 MATLAB 脚本示例 () 位于
C:\ti\mmwave_studio_03_01_04_04\mmWaveStudio\MatlabExamples\singlechip_raw_data_reader_example\rawDataReader.m
是 TDM 实现的基准。  
您能否 .bin为解析和理解 DCA100EVM 为 DDM 实现生成的文件中的 ADC 数据提供指导或参考/指南?  

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

    尊敬的 Shambhavi:

    我正在共享我使用的 cf.json 文件。 请比较两个文件并进行相应编辑。  

    {
      "DCA1000Config": {
        "dataLoggingMode": "raw",
        "dataTransferMode": "LVDSCapture",
        "dataCaptureMode": "ethernetStream",
        "lvdsMode": 2,
        "dataFormatMode": 3,
        "packetDelay_us": 25,
        "ethernetConfig": {
          "DCA1000IPAddress": "192.168.33.180",
          "DCA1000ConfigPort": 4096,
          "DCA1000DataPort": 4098
        },
        "ethernetConfigUpdate": {
          "systemIPAddress": "192.168.33.30",
          "DCA1000IPAddress": "192.168.33.180",
          "DCA1000MACAddress": "12.34.56.78.90.12",
          "DCA1000ConfigPort": 4096,
          "DCA1000DataPort": 4098
        },
        "captureConfig": {
          "fileBasePath": "C:\\ti\\mmwave_studio_03_01_04_04\\mmWaveStudio\\PostProc",
          "filePrefix": "adc_data",
          "maxRecFileSize_MB": 1024,
          "sequenceNumberEnable": 1,
          "captureStopMode": "infinite",
          "bytesToCapture": 4000,
          "durationToCapture_ms": 4000,
          "framesToCapture": 40
        },
        "dataFormatConfig": {
          "MSBToggle": 0,
          "laneFmtMap": 0,
          "reorderEnable": 0,
          "dataPortConfig": [
            {
              "portIdx": 0,
              "dataType": "real"
            },
            {
              "portIdx": 1,
              "dataType": "complex"
            },
            {
              "portIdx": 2,
              "dataType": "real"
            },
            {
              "portIdx": 3,
              "dataType": "real"
            },
            {
              "portIdx": 4,
              "dataType": "complex"
            }
          ]
        }
      }
    }

    对于 JSON 文件的格式、您可以参阅第 2.1 节 JSON 配置文件 “C:\ti\mmwave_studio_03_01_04_04\mmWaveStudio\ReferenceCode\DCA1000os\TI_DCA1000EVM_CLI_Guide.pdf“ Software_User。

    您能否提供指导或参考/指南 .bin来解析和理解 DCA100EVM 生成的用于 DDM 实现的文件中的 ADC 数据?  [/报价]

    运行演示时捕获的 ADC 数据采用交错格式。  查看  AWR1xx 的第 2.1.2.1 节“交错模式(AWR22xx/AWR12xx/AWR14xx 模式) “和 AWR22xx 数据路径编程人员指南(修订版 A)以了解交错数据格式。 注意:AWR2944 支持仅实数 ADC 数据。 该文档对所有器件都是通用的、因此它显示了复杂样本。

    此致、

    Samhitha

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

    尊敬的 Samhitha:

    感谢您分享您的 cfg.json 文件和参考资料。 我有几个澄清问题:

    1. LVDS 模式和通道配置:
      在中 cfg.json、我注意到 lvdsMode 设置为 2、根据我的理解、它支持双通道配置。 对于 DDM 模式、尤其是当使用所有 4 根接收天线时(即使对于 AWR2944evm 中的 TDM)、我们 lvdsMode 是否不应该使用设置为 1 的 4 通道配置? 您能否说明双通道设置在 DDM 的这种情况下是如何工作的?

    2. DataPortConfig 数据类型:
      我还观察到,在 dataPortConfig 你的 JSON 的部分, dataType  for portIdx  1 和 4 被设置为 complex. 由于 AWR2944 仅支持真实的 ADC 数据、因此我不确定此配置的工作原理。 您能否解释一下将这些端口设置为的基本原理 complex

    3. DDM 的交错数据格式:
      关于交错数据格式、我已经参考了您在数据路径编程人员指南中提到的部分。 但是、考虑到 DDM 的线性调频脉冲配置不同、我想确认 DDM 实现是否严格遵循与其他模式所述相同的交错数据结构。 在分析 .bin 文件以生成数据立方体时、我应该注意到数据布局中是否有 DDM 特定的注意事项或差异?

    您能指导我解决这个问题吗?

    此致、
    Shambhavi

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

    Shambhavi,

    在您的中 cfg.json、我注意到 lvdsMode 设置为 2、根据我的理解、这支持双通道配置。

    AWR2944 只有两条 LVDS 通道。 所有 4 个 Rx 通道的数据都通过这两个 LVDS 通道流式传输。

    我还观察到、在 dataPortConfig  JSON 的部分中、 dataType for portIdx  1 和 4 设置为 complex。 由于 AWR2944 仅支持真实的 ADC 数据、因此我不确定此配置的工作原理。 您能否解释将这些端口设置为 complex

    所有 dataFormatConfig 参数都用于数据格式化。 本文档中未提供有关这些参数的更多详细信息。 您不需要更改此配置。

    在分析 .bin 文件生成数据立方体时、我应该注意到数据布局中是否有 DDM 特定的注意事项或差异?

    我认为您不需要考虑任何其他因素。  

    此致、

    Samhitha

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

    尊敬的 Samhitha:


    在查看有关 ADCBUF 配置的毫米波 MCU Plus SDK 用户指南后、我有一个后续问题。 该文档指出、TDM 处理链仅以非交错格式存储数据、而 DDM 处理链使用交错格式。 这部分的含义是什么? (附加了用户指南部分的 PFA 屏幕截图)

    能否阐明 TDM 和 DDM 处理链之间的通道交错实现差异?  

    我观察到、在记录 TDM 和 DDM 模式的数据时、TDM 范围响应图按预期显示、但 DDM 范围响应图显示了重复的峰值。 如果能深入了解这种情况的原因以及数据格式差异如何影响范围响应、我将不胜感激。 (我使用的是开箱即用演示应用映像,同时使用来自 AWR2944EVM 的 ADC 数据)

    谢谢你。

    此致、

    Shambhavi


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

    尊敬的 Shambhavi:

    [报价 userid=“653155" url="“ url="~“~/support/sensors-group/sensors/f/sensors-forum/1625096/awr2944evm-how-to-extract-adc-data-from-bin-file-for-ddm-oob-demo-on-awr2944evm/6279147

    该文档指出、TDM 处理链仅以非交错格式存储数据、而 DDM 处理链使用交错格式。 这部分的含义是什么? (附加了用户指南部分的 PFA 屏幕截图)

    能否阐明 TDM 和 DDM 处理链之间的通道交错实现差异?  

    [/报价]

    TDM 处理链是通过考虑 ADC 数据为非交错格式来实现的。 这是 EDMA 从 ADC 缓冲器传输到 HWA Membank、这限制了 ADC 数据格式。

    我观察到、在记录 TDM 和 DDM 模式的数据时、TDM 范围响应图按预期显示、但 DDM 范围响应图显示重复峰值。

    在 DDM 配置中、启用所有 4 个 Tx。 距离多普勒热图中的每个峰值对应于每个 Tx。

    请参阅 SDK 文档以了解 DDM 处理链 —  C:/ti/mmwave_mcuplus_sdk_04_07_02_01/mmwave_mcuplus_sdk_04_07_02_01/ti/datapath/dpc/objectdetection/objdethwaDDMA/docs/doxygen/html/index.html

    如果能深入了解为什么会发生这种情况、以及数据格式差异如何影响范围响应、我将不胜感激。

    导致该差异的不是 ADC 数据格式、而是线性调频脉冲配置。

    此致、

    Samhitha