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:如何读取寄存器

Guru**** 2465480 points
Other Parts Discussed in Thread: AFE031, AFE030, C2000WARE

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1063530/afe031-how-to-read-registers

器件型号:AFE031
主题中讨论的其他器件: AFE030C2000WARE

我尝试读取寄存器、但显然返回的数据不正确。 它是 最后一次写入 SPI 的数据的高8位(R/W 位和寄存器 addr)。

任何答复都将不胜感激。

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

    您好、赵

    我刚才回答了如何访问 AFE031的寄存器。 请阅读该主题、如果您有任何其他问题、请告诉我。 我很乐意帮助您解决问题。  

    https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/925688/afe031-afe031-spi-control-register-question/3443408?tisearch=e2e-sitesearch&keymatch=afe031%252520register#3443408

    最棒的

    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 协议和时序。  

    https://training.ti.com/ti-precision-labs-adcs-spi-serial-modes-clock-data?context=1139747-1140267-1128375-1146616-1148195

    https://training.ti.com/ti-precision-labs-adcs-spi-setup-hold-delay?context=1139747-1140267-1128375-1146616-1148207

    我不是软件工程师。 如果仍有问题、您也可以联系 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软件工程师以获取支持。  

    https://www.ti.com/lit/an/sprac94c/sprac94c.pdf?ts=1640187837384&ref_url=https%253A%252F%252Fwww.ti.com%252Fsitesearch%252Fdocs%252Funiversalsearch.tsp%253FlangPref%253Den-US%2526searchTerm%253Dboostxl%2Bafe031%2Bf28004x%2Bdacmode%2526nr%253D1

    https://www.ti.com/licreg/docs/swlicexportcontrol.tsp?form_id=268791∏_no=C2000-AFE031_FSK_RX_SOURCE&ref_url=c2000

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1009512/launchxl-f280049c-launchxl-f280049c-need-help-to-combine-tx-and-rx-solution-with-plc-example-code

    如果转到以下链接的底部、您应该会找到其他相关处理器(低成本 TMS320F280025C 和 TMS320F28004x)

    和示例代码。  

    https://www.ti.com/product/AFE031#tech-docs

    现在我有一个关于独立模式的问题、这是什么?

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

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

    最棒的

    Raymond

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

    您好、赵

    重复的回复。   

    最棒的

    Raymond

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

    您好、赵

    我将关闭此查询、因为我们已通过 E2E 私人消息建立了通信。 如果您有任何其他问题、我可以在该平台上为您提供帮助。  

    最棒的

    Raymond