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.

[参考译文] TMS320F28069:SDA 和 SCL 上的操作鉴定配置在 F28069上感应 I2C 时钟频率降低

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/718378/tms320f28069-action-qualification-configuration-on-sda-and-scl-induce-i2c-clock-frequency-reduction-on-f28069

器件型号:TMS320F28069

您好专家、

我的客户 正在以100kHz 的频率运行 F280969的 I2C。 它们在 系统上面临很多 EMI、因此 I2C 在传输时总是失败。 因此、他们尝试在 GPIO 上设置操作限定条件。

它们的配置如下所示:

GpioCtrlRegs.GPAQSEL2.bit.GPIO28 = 2;/*6采样窗口*/

GpioCtrlRegs.GPAQSEL2.bit.GPIO29 = 2;/*6采样窗口*/

GpioCtrlRegs.GPACTRL.bit.QUALPRD3 = 12;/* GPIO24-GPIO31 QUALIPRD = PLLSYSCLK/12 *

它极大地提高了 I2C 通信的性能。 但实际的 I2C 频率低至70kHz。

问题1: 您能否解释为什么频率从原来的100kHz 降低到70kHz?

Q2:TRM 中说、如果外设执行同步、则不能将输入同步 用作鉴定方法。 这是否意味着此配置错误?

Q3: 它们使用上监视器来引导和校准 F28069使用 I2C、上监视器的 I2C 频率为100kHz、考虑到 Q1、是否存在任何风险?

谢谢!

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

    您好、Sheldon、

    它已经得到改进、这是很好的。

    Q1回答:我不确定从现在开始这种时钟拉伸的原因。 我必须返回给您、可能需要一些其他信息来进行诊断。

    Q2答案:I2C 外设引脚的示例窗口限定条件应该正常。 请参阅 TRM 第1.4.4节"输入鉴定"中的以下内容:

    对于被配置为外设输入
    
    的引脚、除了与 SYSCLKOUT 同步或者由一个采样窗口限定之外、输入也可异步。 

    问题3答案:目前不确定、因为需要先了解问题1。 但是、如果上监视器可以处理时钟拉伸、则应该正常。

    您有一些问题:

    1.在启用输入限定条件的情况下,它是否是一致的70KHz 时钟? 或者它是否会变化? 想知道信号上的噪声是否有影响。

    2.在禁用输入限定条件的情况下,它是否是一致的100KHz 时钟?

    3、器件以90MHz 的最大频率运行、对吧? 是否使用外部晶体为器件计时?

    4.您能否分享客户在软件内初始化 I2C 的方式? 相关的重要寄存器如下所示:

    I2caRegs.I2CPSC.all = x;//预分频器-应该被设定、这样模块时钟在7-12MHz 内
    I2caRegs.I2CCLKL = x;// SCL 的低部分,注:必须为非零
    I2caRegs.I2CCLKH = x;// SCL 的高位部分,注:必须为非零
    
    I2caRegs.I2CFFTX.ALL = x;使用的是// TX FIFO 模式?
    I2caRegs.I2CFFRX.ALL = x;使用的是// RX FIFO 模式? 

    最棒的

    Kevin

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

    您好、Sheldon、

    我需要收回对问题2的答复,同时获取更多的信息。

    更新的器件 TRMS 中有以下注释、但到目前为止尚未回送至某些旧器件 TRMS:

    注意:当外设本身执行同步时、可能会使用输入同步

    导致意外结果。 用户应确保为配置 GPIO 引脚

    在本例中是异步的。

    当我有更多信息时、我会再给您回复。

    谢谢、

    Kevin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Kevin:
    感谢您的详细回答。 我会得到这些答案并返回给您!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kevin:

    1.在启用输入限定条件的情况下,它是否是一致的70KHz 时钟? 或者它是否会变化? 想知道信号上的噪声是否有影响。

    是的、tt 持续为70KHz。 客户通过 增加不同的负载(轻/重)来改变噪声功率、但不会出现频率变化。

    2.在禁用输入限定条件的情况下,它是否是一致的100KHz 时钟?

    是的、始终如一的100KHz。

    3、器件以90MHz 的最大频率运行、对吧? 是否使用外部晶体为器件计时?

    以90m 运行、具有内部 OSC。

    4.您能否分享客户在软件内初始化 I2C 的方式? 相关的重要寄存器如下所示:

       I2caRegs.I2CPSC.all = 7;

     

       /*Tmst=( IPSC_1 )[( ICCL+_d )+_( ICCH_+d )]/I2C 输入时钟频率*/

       I2caRegs.I2CCLKL = 51;/* 100.0kHz *

       I2caRegs.I2CCLKH=51;

     

       /*启用 FIFO 模式和 TXFIFO*/

       I2caRegs.I2CFFTX.ALL = 0x6000;

       /*启用 RXFIFO、清除 RXFFINT、*/

       I2caRegs.I2CFFRX.ALL = 0x2040;

    感谢您的支持! 我的专家。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Kevin:
    我是 Sheldon 提到的客户的软件工程师。
    实际上、当我们发现 I2C 频率从100KHz 衰减到70KHz 时、我们注意到用于主器件的 I2C 时钟的 IO 引脚不应使用限定功能。 然后、我们仅在主设备中修改 I2C 配置
    GpioCtrlRegs.GPAQSEL2.bit.GPIO29 = 2;/*6采样窗口*/
    更改为 GpioCtrlRegs.GPAQSEL2.bit.GPIO29 = 3;/*异步*/
    它的工作原理是、频率更改为93KHz、接近100KHz。
    我不知道原因、但它应该与资格认证功能相关。
    请解释一下。
    Sheldon 提到了另一个有关 I2C 所用 IO 引脚是否可配置为资质审核功能的问题、也请帮助找到答案。

    谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    感谢您提供的信息! 也感谢 Joe 的建议。 我今晚将通过电子邮件或电话向他们提供这些信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我已经能够重新创建您在我的结尾看到的内容 我们在内部工作、以提供有关在采样窗口中使用输入限定时所看到的时钟拉伸的说明。 正如您已经知道的那样、I2C 外设本身执行同步、并且打算使用异步模式。

    当我有更多信息要分享时、我会回来与您分享。

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