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.

[参考译文] AWRL6844EVM:[AWRL6844EVM]基于 SPI 的原始 ADC 数据流

Guru**** 2811095 points

Other Parts Discussed in Thread: AWR6843AOP, AWRL6844

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1625097/awrl6844evm-awrl6844evm-spi-based-streaming-of-raw-adc-data

器件型号: AWRL6844EVM
主题: AWRL6844 中讨论的其他器件

您好 TI 支持团队:

我正在上实现基于 SPI 的 ADC 数据记录  AWR6844EVM  按照毫米波 SDK 文档中的指南 (mmwave_l_sdk_06_00_05_01/docs/api_guide_xwrL684x/MMWAVE_DEMO.html -“基于 SPI 的原始 ADC 数据流“)进行操作。
我已根据指南成功配置了软件、但 GPIO 握手信号存在问题、希望了解正确的 SPI 硬件连接。 遗憾的是、由于我们公司的安全政策、我无法附加照片。

硬件设置和配置:
我遵循了 SDK 指南并进行了以下配置:
(1) 套  ADC_DATA_LOGGING_VIA_SPI  在“mmwave_demo.h"中“中将宏设为 1、
(2) 已配置  ADC_DATA_BUFF_MAX_SIZE  在“mmwave_demo.h"中“中并刷写了固件、
(3) 将“lowPowerCfg 1“更改为“lowPowerCfg 0“以禁用低功耗模式、
(4) 将“adcLogging 0“更改为“adcLogging 2“以启用 SPI 日志记录、
(5) 使用 FCCSP 尝试记录 ADC 数据。 我的配置使用 256 个样本、48 个线性调频脉冲和 4 个 Rx 通道、因此缓冲区大小小于默认的最大值。

硬件连接问题:
由于 AWR6843AOP SDK 文档不包含特定的 SPI 连接表、因此我参考了 xWRL6432 SDK 的“具有 C232HM-DDHSL-0 电缆的 xWRL6432 SPI 接口连接表“和 AWR6843AOP 的 PROC182A (01_AWR)_Sch.PDF 原理图文件来进行电缆连接。
但是、我不确定我的联系是否正确。  
您能否提供 AWR6844EVM 的确切 SPI 引脚映射?  
具体而言、我需要知道 EVM 上的哪些物理引脚对应于 SPI0_CLK、SPI0_MOSI、SPI0_MISO、SPI0_CS 和 GPIO 引脚 5。  

软件问题 — GPIO 信号切换:
我已确定 DPC.c 中的 GPIO 信令机制存在问题 代码尝试使用连接到 FTDI ADBUS4(位 4)的 R5F GPIO 引脚 5 向 FTDI 器件 (FT2232H) 发送信号、以指示数据传输开始和完成。 相关代码部分是:  

[DPC.c]

#if (ADC_DATA_LOGGING_VIA_SPI =1)
if (gMmwMssMCB.adcLogging.enable == 2)

  //... SPI 事务设置...
   
  GPIO_pinWriteLow (gSPIHostIntrBaseAddrLed、 gSPIHostIntrPinNumLed );
  // ARM Cortex-R5F→FTDI 信号传输:R5F GPIO 引脚 5 低电平→FTDI 位 4 低电平
   
  transferOK = MCSPI_TRANSFER (gMcspiHandle[CONFIG_MCSPI0]、&spiTransaction);
  // MCSPI_TRANSFER:通过 SPI 将雷达数据传输到 FTDI
   
  GPIO_pinWriteHigh (gSPIHostIntrBaseAddrLed、gSPIHostIntrPinNumLed);
  //数据传输完成(切换):R5F GPIO 引脚 5 高电平→FTDI 位 4 高电平
   
  //
}
#endif

[mmwave_demo.c]
 //配置 FTDI 主机 INTR 引脚
  gSPIHostIntrBaseAddrLed =(uint32_t) AddrTranslateP_getLocalAddr (SPI_HOST_INTR_BASE_ADDR);
  gSPIHostIntrPinNumLed    = SPI_HOST_INTR_PIN ;

[ ti_drivers_config.h (R5F GPIO 引脚 5)]
/* GPIO PIN 宏*/
#define SPI_HOST_INTR_BASE_ADDR (CSL_APP_GIO_U_BASE)
#define SPI_HOST_INTR_PIN (5U)
#define SPI_HOST_INTR_DIR (GPIO_DIRECTION_OUTPUT)

当前问题:当 R5F 执行 GPIO_pinWriteLow () 时、FTDI 位 4 不会变为低电平

问题描述:

R5F 执行  gpio_pinWriteLow ()  为了开始信号传输、FTDI ADBUS4(位 4)不会变为低电平。
我的 Python 脚本读取 FTDI GPIO 状态、和 值和 0x10  始终返回 0x10(高电平)、从不返回 0x00(低电平)。
预期行为为:在 SPI 传输之前→FTDI 读取 0xFC(位 4 =高电平)、在 SPI 传输期间(在 GPIO_pinWriteLow 之后)→FTDI 读取 0xEC(位 4 =低电平)、在 SPI 传输之后(在 GPIO_pinWriteHigh 之后)→FTDI 读取 0xFC(位 4 =高电平)。
但是、实际行为是 FTDI 始终读取 0xFC(位 4 =高电平)、导致我的 Python 脚本在无限循环中挂起、等待低电平信号。
我已使用进行验证  gpio_pinRead ()  GPIO 引脚 5 在 R5F 侧正确切换 (0→1→0→1)、因此软件似乎正常运行、但信号未到达 FTDI 器件。  

问题:

  1. SPI 连接:  

    请提供  AWRL6844 与 C232HM‑DHSL‑0 电缆的 SPI 接口连接表
    我想确认 SPI0 的确切物理引脚 (CLK、MOSI、MISO、CS) 和 AWR6844EVM 上的 GPIO 握手引脚。
  2. GPIO 问题:  

    R5F 使用确认 GPIO 引脚 5 正确切换(低电平/高电平)  gpio_pinRead () 、但 FTDI 器件读取的第 4 位始终为高电平。 什么原因可能导致此问题?  

  3. ADC 数据采集:  如何解决 GPIO 信号切换问题以通过 SPI 成功采集 ADC 数据? 是否有任何建议的硬件连接或软件配置我应该检查?


    感谢您的支持。  

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

    您好、

    感谢您与我们联系并提供详细的问题陈述、这对我有很大帮助。

    当您使用 EVM 并尝试执行原始 ADC 数据时、默认配置是使用连接到 FTDI 连接的 SPI。 EVM 上有一个用于 XDS 的 microUSB 连接、一个用于 FTDI。 当使用默认示例流式传输原始数据时、必须将第二个 microUSB 连接到 J10 (FTDI_USB)。

    然后、这会将其流式传输出来、您可以使用 SDK/tools/SPI_ADC_streaming 中的 adcDataSPIFTDI.exe 来捕获此数据。 您是否尝试使用导致该问题的 SPI 接头而不是 FTDI?

    此致、
    Vignesh K.

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

    非常感谢。 我解决了我的问题。  

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

    我很高兴听到这个消息!

    如果您有任何其他问题、请随时打开新的 E2E 主题。

    此致、
    Vignesh K.