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.

[参考译文] AFE881H1EVM:AFE 板的 SPI 读取问题

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1281553/afe881h1evm-spi-read-issue-with-afe-board

器件型号:AFE881H1EVM
主题中讨论的其他器件:AFE781H1

我使用的是 TI AFE781H1 HART 调制解调器、

 

我正在尝试 在 SPI 模式下读取对寄存器的写入。

我将 STM32U575控制器用作 AFE 的主器件。

SPI 配置参数:

在全双工模式下、若1 MHz 时钟速度为模式2、  

  1. 时钟极性(CPOL):1 (空闲时钟为高电平)
  2. 时钟相位(CPHA):0 (在时钟的第一个边沿上采样数据)
  3. 时钟频率:1 MHz
  4. 数据顺序:MSB (最高有效位)优先  
  5. 数据位数:8位  
  6. 数据传输方向:全双工  
  7. 片选(CS)管理:低电平有效

将 UART_DIS 位设置为1可禁用 UART、将  DSDO 位设置为0可启用 SDO、将 CRC_EN 位设置为0可禁用寄存器配置中的 CRC。

我正在寻找确认信息、表明我发送的是正确的字节序列和正确的时序。

 

下面是我的顺序:

1.  按照第7.4.2节进行硬件复位

2. 为寄存器 配置发送3个字节(SDI = 0x02、0x00、0x61)。

3.sending 读取配置寄存器值(SDI = 0x82)。  

4.发送  NOP 命令 (SDI = 0x00、0x00、0x00)  

 

 

执行该序列后、SDO 线上没有数据。

 

我的一个主要问题是、 导致 SPI 读取寄存器值的问题。

 

 

除了数据表中介绍如何完成此顺序的内容外、您还有其他应用手册吗?

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

    Asha:


    让我们首先检查 SPI。 我认为使用 CPOL=1和 CPHA=0是正确的、但为了确保您可以直接放大查看到器件的第一个通信。 在您的情况下、时钟应空闲高电平、数据应在 SCLK 的上升沿移出、并在 SCLK 的下降沿采样。

    传输到器件的第一个事务。 这将是关闭 CRC 的四个字节。 足够放大、我可以查看并对齐 SCLK 的上升沿和下降沿。 请注意/RESET 为低电平有效。 从图形中可以看出、在与器件通信时、您的器件似乎仍处于复位状态。


    约瑟夫·吴

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

    附加的数据采样图像

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

    Asha:

    SPI 设置正确。 不过、器件在开始时启用 CRC。 即使此命令要关闭 CRC、CRC 仍然启用、并且此命令应与 CRC 一起发送。 如果您希望禁用 CRC、第一个事务应发送四个字节: 0x02 0x00 0x26 0x24、最后一个字节为 CRC。  

    约瑟夫·吴

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

    作者:Joseph、

    我已经在 CONFIG 寄存器中启用了 CRC 位。 CONFIG 寄存器的 SDO 线路上无数据。

    导致 SPI 读取寄存器值的问题可能是什么?

    阿莎

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

    Asha:


    我看了看您发送的 Saleae 图表。 在图中、您发送的位为0x02 0x00 0x75 0x77。 这将允许驱动 SDO (而不是 Hi-Z)。 但是、我认为 CRC 不正确。 CRC 是一个标准 CRC-8、我认为 CRC 字节应为0x9A 而不是0x77。 我还需要注意的是、CRC 可能会关闭、但仍处于启用状态。


    约瑟夫·吴