主题中讨论的其他器件: AFE030、 C2000WARE
我尝试读取寄存器、但显然返回的数据不正确。 它是 最后一次写入 SPI 的数据的高8位(R/W 位和寄存器 addr)。
任何答复都将不胜感激。

赵
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.
您好、赵
我刚才回答了如何访问 AFE031的寄存器。 请阅读该主题、如果您有任何其他问题、请告诉我。 我很乐意帮助您解决问题。
最棒的
Raymond
您好、 Raymond、
感谢您的回复。
我已经通读了您提到的线程、您对寄存器写入给出了一些建议、但没有有关寄存器读取的信息。 目前、我们可以正确执行寄存器写入(因为 Tx、Rx、ZC、PA、ETX、 等都正常工作)、请进一步查看我提供的消息的下半部分、并确认以下陈述是否正确:
SPI 写入0x8A00以读取寄存器0xA
这是读取 DIE_ID、默认值为0x01、但我得到了0x89、这是 第二次写入 SPI 时的命令寄存器值。
如果上述语句不正确、那么寄存器读取的正确顺序是什么?
此致
赵
您好、赵
根据 AFE030的数据表、R/W 位15需要配置为1 =读取、地址0Ah 默认为01h 作为芯片 ID。

如果您能够对寄存器进行写入、则应该能够对寄存器进行读取。 您需要选择 SPI 0、0或1、1运行模式之一。 在 AFE030中、所有这些都是自动检测的、我记得(在 TI 的其他 IC 中、可以通过硬件引脚配置 SPI 模式)。

请告诉我这是否解决了您的问题。 请查看我们的示例代码、了解如何在计划中实施该代码。
最棒的
Raymond
您好、 Raymond、
同意、如果可以正确写入寄存器、则应该能够正确读取寄存器。 我们特意启用/禁用了 ETX 块和 ZC 块来测试 SPI 写入功能、这是我们 SPI 写入编程的一个重要部分。 但是、所有寄存器读取都不正确。
我们使用 NXP MCU 作为主机、由于 AFE030数据表和 MCU 中对 SPI 通信的描述不同、我们必须尝试所有 MCU 可能的 SPI 配置、并找到正确执行 SPI 通信的方法、 因此、我们不知道我们使用哪种模式进行 SPI 通信。
在 AFE030数据表中、它仅提供3种模式: SPI 0、0或1、1或独立模式、没有关于3种模式的进一步说明、尤其是对于寄存器读取、独立模式只有一个时序图。 这是否意味着只能使用 独立模式来执行寄存器读取?
此致
赵
您好、赵
由于您使用的是 NXP MCU、请验证 AFE03x 器件的 SPI 时序要求。 为了在 AFE03x 中实现正确的读取或写入序列、需要选择并满足 SPI 模式0、0或模式1、1时序图。 请确保 TI 的 SPI 模式运行与 NXP 的运行模式相匹配、这两家公司的运行模式可能定义不同。


下面是一个如何在 TI 的 SPI 协议中执行读取和写入的示例。 本视频将介绍如何定义 TI 的 SPI 协议和时序。

我不是软件工程师。 如果仍有问题、您也可以联系 C2000 MCU 工程师了解我们的 SPI 操作。 请告诉我。
最棒的
Raymond
您好, Raymond,
非常感谢您的回复。 您的消息(尤其是第一个屏幕截图)是我在 AFE03x 的 SPI 通信中看到的第一个文本描述。 它使用与 NXP MCU 相同的语言。 您的屏幕截图应放到 AFE03x 的数据表中。 如果 TI 这么做、我们(我相信它包含了很多尝试使用 AFE03x 的人)应该避免在评估期间浪费大量时间。
现在我有一个关于独立模式的问题、这是什么? 是否可以使用 CPOL/CCPHA 或类似的内容对其进行说明。 这是 AFE03x 数据表在时序图中提到的唯一工作模式。
此致
赵
您好、赵
不过、您的评论是有效的、但我认为您采用了错误的方法来进行 AFE03x 的开发。 您应该已经联系我们在中国的当地 FAE 获取支持、他们将为您的开发提供免费的 EVM 套件。 EVM + TI 的 DSP 处理器包含可立即运行的示例代码、您可以节省大量时间、而不是尝试不同的方法来连接 SPI 接口。 我理解您的沮丧。
我知道您更喜欢在应用中使用熟悉的 MCU 处理器(ARM)。 本课程中的 TI 处理器基于 DSP 技术。 如果 您愿意、至少可以尝试解密我们的 AFE03x 驱动程序(afe031_config 和 hal 文件)、它位于下面的 C2000WARE 安装目录中。 了解 AFE03x 的界面后、您可以切换到您喜欢的界面(成本原因、熟悉程度或其他方面)、但我们希望客户使用我们的产品。
(请注意、C2000器件是16位(字)可寻址的、而不是像 ARM 内核那样按字节寻址、并且需要左移数据)。
我记得、SPI 接口不是标准化的串行通信。 尽管通用接口功能可能相似、但每家公司的计时和协议以及其他优先功能略有不同。 我现在是硬件支持工程师、不过我很久以前就对 SPI 接口进行了编程。 我将尽可能地为您提供帮助、但您可能需要通过 E2E 论坛联系我们的 C2000软件工程师以获取支持。
如果转到以下链接的底部、您应该会找到其他相关处理器(低成本 TMS320F280025C 和 TMS320F28004x)
和示例代码。
https://www.ti.com/product/AFE031#tech-docs

现在我有一个关于独立模式的问题、这是什么?
独立模式仅适用于 AFE03x 的寄存器(例如故障排除或调试等)。 产品组合时、我没有参与。 其中一些信息没有充分了解情况。 我们可能假定客户将使用 C2000 DSP 处理器、并提供 AFE03x EVM + DSP 示例代码

如果您想了解更多信息、请通过 C2000支持团队通过 E2E 论坛进行咨询。
最棒的
Raymond