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.

[参考译文] MSP430FR2155:我们可以从 GPIO 引脚获取的最大时钟频率

Guru**** 2513185 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1017200/msp430fr2155-maximum-clock-frequency-we-can-get-from-a-gpio-pin

器件型号:MSP430FR2155

您好!

我正在进行 SPI 通信、并且我已经使用 GPIO 引脚而不使用 SPI 寄存器(UCxCTL)配置了 SPI 协议。

我可以在 GPIO 引脚上实现的最大频率是多少。 我想将 SPI 协议时钟频率配置为最低1MHz。  GPIO 引脚能否针对该频率进行配置?

谢谢你。

此致。

Balaji

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

    您好、Balaji、

    根据 FR2155数据表、最大 SPI 时钟速率为8MHz、即使 GPIO 引脚的时钟速度可以超过此速率、因此您的时钟频率限制为8MHz。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="114745" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1017200/msp430fr2155-maximum-clock-frequency-we-can-get-from-a-gpio-pin/3759038 #3759038"]根据 FR2155数据表、最大 SPI 时钟速率为8MHz、即使 GPIO 引脚的时钟速度比此快、因此限制为8MHz。

    CPU 至少需要3个 CPU 时钟(一条汇编器指令)才能进行端口写入。 如果器件在24MHz 上运行、则速度不能超过8MHz。 使用 DMA 可以在2个 CPU 周期内完成此操作、但在 FR2xx 系列中、AFAIK 没有 DMA。

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

    感谢您的回答、

    是否需要将时钟频率单独编程到 GPIO 端口、或者是否需要自动获取系统时钟频率。

    如果我们需要进行编程、您能否提供一个示例代码来配置 GPIO 端口引脚的8MHz 时钟频率(特别是 P1.5、这是我的时钟引脚)。

    谢谢你。

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

    如果使用硬件外设模块进行传输、则应选择模块时钟以外的时钟、并且外设会在管脚上产生时钟信号(如果存在)。

    如果它是基于位拆裂/软件的、那么 MCLK CPU 指令定义时序。 在这种情况下、引脚上的时钟信号(如果它是恒定的)可被用作定时器来释放 CPU 带宽。

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

    您好、Balaji、

    我们已经听过您的介绍、现在已经有一段时间了、因此我将假定您能够继续推进您的项目。
    我将此帖子标记为已解决,但如果不是这种情况,请单击“这不能解决我的问题”按钮,并使用更多信息回复此主题。
    如果此主题已锁定、请单击"提出相关问题"按钮、然后在新主题中描述您的问题的当前状态以及您可能需要帮助我们帮助解决您的问题的任何其他详细信息。

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

    您好 Dennis、

    很抱歉、我是用其他一些方法测试的。 但我无法解决该问题。 我的疑问是、我们能否像 UART、SPI 等其他外设那样设置 GPIO 外设的时钟频率 如果我们可以设置、则意味着我们可以如何执行该操作。

    我正在使用 GPIO 引脚实现 SPI 通信(不配置 SPI 驱动器)。 因为我可以发送数据、所以实施工作正常。 但时钟频率是我面临的主要问题。 我已将 GPIO P1.5配置为时钟引脚、 现在我想生成最低1MHz 的时钟。 如何实现这一点?

    谢谢你。

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

    您好、zrno soli、

    很抱歉、我是用其他一些方法测试的。 但我无法解决该问题。 我的疑问是、我们能否像 UART、SPI 等其他外设那样设置 GPIO 外设的时钟频率 如果我们可以设置、则意味着我们可以如何执行该操作。

    我正在使用 GPIO 引脚实现 SPI 通信(不配置 SPI 驱动器)。 因为我可以发送数据、所以实施工作正常。 但时钟频率是我面临的主要问题。 我已将 GPIO P1.5配置为时钟引脚、 现在我想生成最低1MHz 的时钟。 如何实现这一点?

    谢谢你。

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

    不能、与其他硬件外设一样、不能直接为 GPIO 位拆裂设置时钟。 MCLK 是 GPIO 的时钟源、它可以在汇编器中对齐(为相关的汇编器指令计算 CPU 时钟)。 例如此处...

    https://forum.43oh.com/topic/1284-software-async-serial-txrx-without-timer/

    您可以看到如何在 F2xx 系列上为软件 UART 使用周期对齐的汇编器代码。

    当您改变时钟引脚(P1.5)的状态直到其他状态发生变化时、内部代码中还有一些其他操作需要一些时间、因此您无法实现1MHz (或其他一些值)。