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.

[参考译文] PROCESSOR-SDK-AM68A:无法从 AM68a 与 SX1262的 SPI 通信获取响应

Guru**** 2481465 points
Other Parts Discussed in Thread: AM68A

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1455711/processor-sdk-am68a-unable-to-get-response-from-spi-communication-on-am68a-with-sx1262

器件型号:PROCESSOR-SDK-AM68A
主题中讨论的其他器件:AM68A

工具与软件:

我使用 AM68a TI 处理器、并尝试使用 SPI 与 SX1262 LoRa 模块通信。 虽然我可以通过 SPI 发送命令、但我没有收到预期的响应。 我已按照必要的步骤设置 SPI 通信、但从模块获取有效数据时会遇到问题。

硬件设置:

  • AM68a 处理器
  • SX1262 LoRa 模块
  • 使用 SPI 进行通信、并按照硬件文档配置芯片选择(CS)和 BUSY (BUSY)引脚。

软件设置:

  • spidev适用于 SPI 通信的 Python 库。
  • /dev/spidev0.0检测到 SPI 器件、但无法从 SX1262模块获得有效响应。
  • 我已尝试用 SPI 命令将此模块复位并将其唤醒、但响应仍不正确或为空。

观察结果:

  1. SPI 器件存在(/dev/spidev0.0)、但spidev未加载内核模块、如下所示:

    • lsmod | grep spidev未返回任何结果。
    • 当尝试spidev使用加载模块时modprobe spidev、我收到错误消息:FATAL: Module spidev not found in directory /lib/modules/6.1.80-dirty
  2. SPI 器件的权限仅限于 root 用户(crw-------)、并且我当前使用 root 访问该器件。

  3. 该模块的响应始终如一0x00(空数据)、这是不可预期的。 逻辑分析仪显示数据发送正确、但来自器件的响应不正确。

问题:

  1. 如何确保spidev模块可用并正确加载到我的 AM68a 平台上? 模块似乎缺少、但如果需要、我希望确认如何正确启用它或重建内核。
  2. 使用 SPI 与 SX1262进行正确通信时、是否遗漏了特定的配置或初始化步骤?
  3. 我是否可以执行任何其他诊断步骤来确定 SPI 通信问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    大多数团队成员都不在办公室。 请预计会延迟响应。

    -基尔西

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

    感谢 Keerthy、

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

    我想根据对 AM68a 处理器中 SPI 通信问题的进一步测试来澄清一些观察结果。

    • 数据是从 MISO 引脚(引脚21)发送的、而不是从 MOSI 引脚(引脚19)发送的 这是主要问题。 MOSI 引脚不发送预期的数据、而 MISO 显示发送的数据。
    • 逻辑分析仪确认数据发送正确、但显示在错误的引脚(MISO)上、而非 MOSI 上。

    我已经使用示例 python 代码进行测试。

    测试设置:

    • 主站输入 (引脚19)和 MISO (引脚21)连接到逻辑分析仪。
    • 我发送了一些测试数据([0x48, 0x65, 0x6C, 0x6C, 0x6F]对应于"Hello")。
    • spidev使用了 Python 库、SPI 设置为模式0、速度为50kHz。
    • import spidev
      import time
      
      # SPI device parameters
      SPI_BUS = 0         
      SPI_DEVICE = 0      
      SPI_MODE = 0        
      SPI_SPEED_HZ = 50000 
      
      # Create an SPI object
      spi = spidev.SpiDev()
      
      def setup_spi():
          """
          Initialize the SPI interface.
          """
          # Open SPI bus and device
          spi.open(SPI_BUS, SPI_DEVICE)
          spi.mode = SPI_MODE
          spi.max_speed_hz = SPI_SPEED_HZ
          print(f"SPI initialized: Bus={SPI_BUS}, Device={SPI_DEVICE}, Mode={SPI_MODE}, Speed={SPI_SPEED_HZ} Hz")
      
      def send_and_receive(data):
          print(f"Sending: {data}")
          response = spi.xfer2(data)  # Transfer data
          print(f"Received: {response}")
          return response
      
      def main():
          try:
              setup_spi()
      
              while True:
                  # Test data to send
                  test_data = [0x48, 0x65, 0x6C, 0x6C, 0x6F]  # ASCII for "Hello"
      
                  response = send_and_receive(test_data)
      
                  try:
                      decoded_response = ''.join(chr(byte) for byte in response if 32 <= byte <= 126)
                      print(f"Decoded Response: {decoded_response}")
                  except Exception as e:
                      print(f"Error decoding response: {e}")
      
                  # Wait before sending the next transaction
                  time.sleep(1)
      
          except KeyboardInterrupt:
              print("\nExiting...")
          finally:
              spi.close()
              print("SPI closed.")
      
      if __name__ == "__main__":
          main()
      

    结果:

    • 数据正在从 SPI 总线成功发送。
    • 但是 数据来自 MISO 引脚(引脚21) 、而不是 MOSI 引脚(引脚19) 运行。 MISO 引脚显示正确的数据、但 MOSI 保持空闲。
    • 逻辑分析仪确认了这一点: MISO 正在发送数据 、但是 MOSI 不是 .

    问题:

    1. AM68a 上是否存在引脚配置问题可导致 MISO 和 MOSI 引脚以这种方式运行?
    2. 我是否可以尝试其他任何调试步骤来解决此问题?

    提前感谢您的任何帮助!

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

    您好!

    我对 AM68a 处理器中的 SPI 通信问题提出这个疑问已经超过两周了。 我希望您能作出回应、阐明我之前的文章中概述的 MISO 和 MOSI 引脚出现的意外行为。

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

    尊敬的 Abhithlal:  

    对延迟响应深表歉意。  

    请参阅该主题、了解 MISO/MOSI 引脚方向: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1408960/tda4vm-mcu_spi0-under-linux/5398774#5398774

    此致、

    Takuma