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.

[参考译文] TDA4VM:SPI 引脚状态不正确

Guru**** 2396215 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1488250/tda4vm-the-spi-pin-status-is-incorrect

器件型号:TDA4VM

工具与软件:

您好!

  我以前已经配置过 SPI5、但发现测试过程中该功能无法正常工作、因此我使用示波器来测试波形、如下图所示:

CS:

CLK:

D1:

D0:

下图显示了我为相应的引脚读取的寄存器值:

从寄存器值来看、引脚已成功配置为 SPI5、但引脚的高电平和低电平状态不正确。 你有什么想法吗?

此致、
Yang

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

    您好!

    我分配给在上一个问题上提供帮助的专家。

    此致

    Tarun Mukesh

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

    您好!

     非常感谢你,期待一个新的答复。

    此致、

    Yang

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

    尊敬的 Yang:

    很高兴再次见到您。 您是否能够发布完整的 dmesg 日志?

    上一篇 E2E 文章的引脚多路复用应该没有问题、正如您所说、寄存器似乎正在进行正确编程。 dmesg 日志应告诉您是否正在探测驱动程序。

    此致、

    Takuma

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

    您好、

    以下是 dmesg 的日志:

    e2e.ti.com/.../demsg_5F00_log.txt

    此致、

    Yang

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

    尊敬的 Yang:

    我不认为 spidev 驱动程序正在探测。 有两点:

    • 共享"ls -l /sys/class/spi *"中的日志
    • 作为一个实验、在 devicetree compatible 字段中、使用"Rohm、dh2228fv"而不是 "ti、spi-evm"。 在功能上、两者应该相同、但 ti、spi-EVM 需要 spidev.c 内核驱动程序源的补丁来添加额外的兼容 ID。  

    此致、

    Takuma

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

    您好、

    从"ls -l /sys/class/spi 共享日志*"[/报价]

    下图是我捕获的信息:

    [报价 userid="492487" url="~/support/processors-group/processors/f/processors-forum/1488250/tda4vm-the-spi-pin-status-is-incorrect/5720906 #5720906"]作为实验、在 devicetre compatible 字段中、请使用"rohm、dh2228fv"而不是 "ti、spi-evm"。 在功能上、两者应该相同、但 ti、spi-EVM 需要 spidev.c 内核驱动程序源的补丁来添加额外的兼容 ID。  [报价]

    实际上、我已经在 spidev 中添加了"ti、SPI evm"兼容 ID。 C 文件中生成、我还使用了它来生成 SPI3节点并验证其功能;以下文档介绍了我从 k3-j721e-common-proc-board.dts 文件中检索到的 SPI 配置内容。

    e2e.ti.com/.../k3_2D00_j721e_2D00_common_2D00_proc_2D00_board_2D00_dts.txt

    此致、

    Yang

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

    尊敬的 Yang:

    日志看起来很好。 然后应该正确操作、即在 spidev.c 文件中添加兼容的 ID。 应探测 McSPI 驱动器。

    我还使用它来生成 SPI3节点并验证它们的功能;

    这是否意味着 只有主 SPI5有问题、而其他 SPI 实例正常运行?  如果成立、会很有趣、因为我看到 devicetree 在 MAIN_spi3和 MAIN_spi5之间几乎相同。

    此致、

    Takuma

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

    您好、

     是的、SPI5是根据 SPI3配置的;此外、在断开 TDA4另一端 CS 线路的电阻后、我使用万用表测量 TDA4侧 CS 线路的电压值、该值仅为0.25V、而另一端的电压值为0.1V。 是否可以仅断开 SPI5_CS1来测量电压? 我是否需要断开其他三根 SPI 线并重新测量?

    TDA4侧:

    另一端:

    一般而言、在配置 SPI 器件树并具有节点后、应该上拉 CS 线路、对吧? 现在的情况如何?

    此致、

    Yang

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

    尊敬的 Yang:

    [报价 userid="572765" url="~/support/processors-group/processors/f/processors-forum/1488250/tda4vm-the-spi-pin-status-is-incorrect/5724865 #5724865"]

    一般而言、在配置 SPI 器件树并具有节点后、应该上拉 CS 线路、对吧? 现在的情况如何?

    [报价]

    是的、这也是我的理解。

    两个问题:

    此致、

    Takuma

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

    您好!

    如果应该在 SPI 数据线上有有效数据时的示波器测量结果是多少? 我希望信号与 E2E 论坛主题中的信号类似: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1487669/dra821u-mcspi-s-mosi-and-miso-pin-swapped?tisearch=e2e-sitesearch&keymatch=mcspi# 

    我在本文中看到、如果 D0和 D1反向、则需要修改、但这里 D0是输入、D1是输出、因此无需进行此修改?
    此外、我在数据发送和接收期间测试了 SPI 的状态、由于 CS 和数据线路都处于低电平状态、因此我没有看到任何变化。

    您是否可以尝试使用 CS0而不是 CS1进行引脚多路复用?

    我不明白将 CS1替换为 CSO0意味着什么? 器件树的 GPIO 配置是由我使用 PINMUX 工具生成的、如下图所示:

    或者、将 reg =<0>更改为 reg =<1>?

    实际上、我之前修改了 reg=1以匹配 CS1、但我将在编译期间发出警告、如下图所示。 我可以忽略它吗?

    已经取得了进展。 修改 reg=1后、我测试了 SPI5_CS1、发现已成功将其上拉!  然而、CLK、D0和 D1仍为低电平。

    此致、

    Yang

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

    您好、

    我目前正在使用 A2采样、而在 A1采样中、我实际上使用的是 SPI3_CS0。 我测试了它的发送和接收功能、发现它们是正常的。 然而、在 A2采样中、由于硬件变化、它被连接至 SPI5_CS1。 我认为 D0和 D1线之间的连接应该没有问题。

    此致、

    Yang

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

    您好!

      好消息是、我已经激活了 SPI5的功能。

      实际上、我之前是使用 reg=1的设置进行测试的、但当我将 reg=1配置时、发现了错误和 devspi5。 无法生成 X 节点。 今天、我在配置过程中添加了如图所示的修改、并成功生成/dev/spi5.1节点和成功发送/接收数据! 非常感谢您的支持。

    此致、

    Yang

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

    尊敬的 Yang:

    很高兴听到好消息! 感谢您分享完整修复。

    此致、

    Takuma