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.

[参考译文] CCS/EK-TM4C123GXL:TM4C123GH6PM 中 I2C 速度问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/582090/ccs-ek-tm4c123gxl-issue-in-the-speed-of-i2c-in-tm4c123gh6pm

器件型号:EK-TM4C123GXL
主题中讨论的其他器件:TM4C123GH6PM

工具/软件:Code Composer Studio

大家好、

    在过去的几个月里、我正在使用 Tiva。现在、我将 ST l3g4200d 陀螺仪用作  TM4C123GH6PM 控制器的从器件。在 I2C 的这些速度中、它不能达到100kbps 是很糟糕的。 我将使用系统时钟、如 API 中所示

SysCtlClockSet (SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHz);    

I2C 时钟为: I2CMasterInitExpClk (I2C2_base、SysCtlClockGet ()、false);           //在这些我通过数据表查看 的数据表中,i2c 速度  仅为88kbps

由于这些速度问题、我在读取陀螺仪值时遇到了问题、但在陀螺仪中没有得到例外值。是否有人可以提供一些技巧来提高 I2C 的速度。

注:

部件号:TM4C123GH6PM,编译器:CCSv6

                                            

   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    将什么值加载到 I2CMTPR 寄存器中? 应该是7、而不是8。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我是否可以注意到、"I2C"速度偏移11%不可能导致无法收集"预期"值...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复、
    我注意到 I2CMTPR 寄存器只能写入7、现在我手动计算的是100Kbps、还有一个疑问、我想进一步提高速度、这意味着我想做的、您能指导吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您希望以多快的速度运行、您有什么问题? 您是否考虑使用 PLL 以80MHz 系统时钟而非16MHz 运行?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复、

             现在、我的 I2C 可以通过使用 PLL @ 25MHz 来正常工作

            SysCtlClockSet (SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_25MHz);

            I2CMTPR 寄存器写入0x03、I2C 速度为312kbps。