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.

[参考译文] TMS320F280049C:SPI 数据读取有一(1)个十六进制减法(影响 LSB 接收位)

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1031427/tms320f280049c-spi-data-read-has-a-one-1-hex-substracted-which-affects-lsb-received-bits

器件型号:TMS320F280049C
主题中讨论的其他器件:TMS570LS0332

大家好、TI 人、

我正在使用两个 TI 器件、目前它们之间的 SPI 通信存在问题。

我将 TMS570LS0332器件配置为具有以下配置的主 SPI:

  • WDelay = 25ns
  • 极性=偶数
  • ParityEna =已禁用
  • WaitEna =禁用
  • ShiftDir = LSB 优先
  • 极性= 0
  • 相位= 0
  • 预分频= 15 -> 5MHz (Vclk = 80MHz)
  • Charlen = 16位

TMS320F280049C 配置为:

  • 极性= 1
  • HS_Mode = 1
  • SPI_Char = 0xF (16位)
  • OverrrunIntEna = 0
  • CLK 相位= 1
  • 主从器件=从器件
  • 通话= 1 (已启用)
  • SpiIntEna = 0
  • FIFO 增强功能如下所示启用:
    • 写入0复位
    • SPIFFENA =增强功能被启用
    • 从复位中释放发送 FIFO
    • TXFFIENA=0 (中断被禁用)
    • SPI_OFFTX = SPI FIFO 可以恢复发送或接收。

因此、两个器件之间都在共享信息、但是我对正在发送/接收的数据进行了校验和验证、并注意到有时 C2000读取的数据

十六进制为负1的到达(例如、发送值:0x7DF5与接收值:0x7DF4)。 我已经尝试过不同的 SPI 模式(两个器件的极性和 CLK 相位)、但没有影响。

我还尝试将 Char-len 更改为8位、但没有效果。

总之、我并不是100%的发生情况、因为信息在设备之间共享、而是丢失信息、从而导致系统中出现噪声日志故障。

从我的角度来看、好像在传输结束时、这些位没有被正确读取/传输(但我不知道如何修复、可能是我配置了错误的东西)

您对可能发生的情况有什么看法吗?

此致、

-Ariel

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

    Ariel、

    您的 SPI 波特率是多少? 您是否尝试降低 SPI 波特率?

    您能否使用逻辑分析仪检查 SPI 总线? 请分享 SPI 总线逻辑分析仪图片?

    此致、

    曼诺伊

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

    您好、Manoj、

    从主控制器(TMS570LS0332)到从控制器 C2000的当前 SPI 波特率为5MHz。 我还尝试使用低于该速率(4MHz 和1MHz)的速率、但问题仍然存在。

    当然、我可以分享图片、但我不熟悉逻辑分析仪。

    您能否为我提供有关如何使用它的任何指导或链接?

    谢谢、

    -Ariel

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

    请访问 https://www.saleae.com/