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.

[参考译文] AM1806:更改引脚多路复用器配置运行时间的方法

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/948771/am1806-the-way-to-change-pinmux-configuration-runtime

器件型号:AM1806

您好,

客户希望在 I2C 和 GPIO 之间动态切换引脚多路复用配置。

请分享此过程吗?

例如、目前他们正在考虑按照以下序列来切换引脚 G18和 G16的引脚多路复用配置。  

每个步骤的顺序是否正确? 没有任何再次入院步骤?

・禁用 I2C

ICMDR[0:IRS]=0

↓μ A

・从 I2C 更改为 GPIO

ICPFUNC[0:PFUNC0]=1

↓μ A

・更改 IO 配置

ICPDIR[1-0:PDIRx]=11b

↓μ A

・使用引脚 G18和 G16作为 GPIO

↓μ A

μ・从 GPIO 切换回 I2C

ICPDIR[1-0:PDIRx]= 00b

ICPFUNC[0:PFUNC0]=0

ICMDR[5:IRS]=1

谢谢、此致、

哈塔。

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

    Hata、

    AM18x 器件允许在运行时更改引脚。 在 I2C 模块级别或 SOC PINMUX 级别执行此操作的方法有两种。 使用 Pinmux 寄存器、您可以更改 PINMUX4[15:12]和 PINMUX[11:8]中的设置、将引脚从 I2C 更改为 GPIO 和 I2C 模块电平。您可以像尝试使用 ICPFUNC 一样使用此功能。 从 SOC 的角度来看、禁用 I2C、更改 IO 配置顺序看起来不错。

    从应用角度来看、除了更改引脚功能外、应用软件可能还需要执行其他操作。 例如、它需要处理正在进行的事务的终止、启用中断、清理 DMA 通道(如果适用)并关闭外设驱动程序。 我不确定哪个组件连接到 I2C 以及它是否在主从模式下运行、但您可能需要向外部组件发送一些消息、以指示 I2C 事务已暂停。  

    此致、

    Rahul

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

    你(们)好,Rahul

    感谢您为我提供详细信息!