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.

[参考译文] J722SXH01EVM:J722S

Guru**** 2487425 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1439976/j722sxh01evm-j722s

器件型号:J722SXH01EVM

工具与软件:

您好!  

我尝试在 J722S 上使用 MCSPI、但我的芯片选择(CS)间隔太短。 我希望它至少是2xclock=2x1us=2us。 目前、CS 间隔为125纳秒。 我还希望芯片选择更改与时钟启动之间至少有2个时钟周期的延迟。 这是我当前使用的配置。

 


在多主模式下、我尝试将 syscfg 中的片选 TCS 更改为3、但在此更改后、我无法在逻辑分析仪上观察到任何生成的波形。 请提供有关如何正确建立 CS 间隔的指南  

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

    您好!

    片选时序控制仅在具有自动 CS 生成功能的主模式下可用([0] single bit 设置为0)、以便在 CS 置位与第一个时钟沿、或 CS 移除与最后一个时钟沿之间增加可编程延迟。 当[1] PIN34设置为0时、此选项仅在4引脚模式下可用。该模式可通过/1/2/3[26-25] TCS0位字段按通道进行编程。

    如果 PIN34被设定为1、控制器将处于3引脚模式并且不使用 SPIEN[i]。 在这个模式下、与芯片选择管理相关的所有选项是无用的(ePol、FORCE 和/ 1/2/3的 TCS0位)。

    此致

    Tarun Mukesh

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

    尊敬的 Tarun:  

    如果 PIN34被设置为1、这意味着什么? 您可以在 syscfg 中看到我已将器件设置为4引脚模式。 引脚34是什么?如何将其设置为1?

    TCS 不能与多主机一起使用吗? 通过 TCS、我可以更改片选和时钟的开始/结束时间

    我选择了多主模式、因为当我保持全部相同但选择单主模式时、我不会在连续的16位数据(即0x5678和0x8765之间)之间切换芯片选择。 您可以在下面看到单个主器件的行为

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

    这是 所需的行为、我希望 SPI 输出看起来的样子、即 MOSI 上数据为0x5678 0x8765的器件

    我需要满足以下条件  

    现在、我正在处理第1点和第3点。 在多主模式下、我无法实现1 (在 syscfg 中设置 TCS 导致无波形)和3 (如何将 CS 切换的宽度更改为至少2个 SPI 时钟)。 在主模式下、我能够实现1 (在 syscfg 中成功设置 TCS 允许在波形开始和结束时延迟)、但字之间的 CS 切换消失(请参阅下面的波形)

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

    您能帮助我在主模式或多主模式下实现所需的波形吗?

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

    这些是我在代码中设置的参数

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

    您好、可以帮助完成此操作吗?

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

    对于 ME、  04B0 0128h 时的 MCSPI_CFG_MODULCTRL 为0000 0001

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

    您好!

    认为各个处理器的 MCSPI IP 相同。

    我看了您的代码、在读取值或写入值的过程中、我看到您定义的 dataSize 值为16位、但这是理想值。

    但 RX 缓冲区是 uint8类型、因此您可以看到接收的值为0x56、0x78。 我想、为了将它们接收为0x5678、您需要使 rxBuffer uint16而不是 uint8。  

    这只是我的高层次理解。

    谢谢!

    Vaibhav

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

    尊敬的 Zorah:

    PIN34是 MODULECTRL 寄存器中的配置。 该域必须设置为0才能控制 TSC 域。 您可以确认一下吗?  

    此致、

    Brijesh

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

    它设置为0

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

    然后、正如 Tarun 所解释的那样、您可以将 TSC 字段设置为在非强制模式下在 CS 和开始数据传输之间具有固定的延迟。