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.

[参考译文] RTOS/AM5716:有关 IO 焊盘压摆控制的问题

Guru**** 2562120 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/610030/rtos-am5716-question-about-io-pad-slew-control

器件型号:AM5716
Thread 中讨论的其他器件:SYSBIOS

工具/软件:TI-RTOS

你(们)好

实际上、我正在尝试为 idkAM5718上的某些外设手动配置引脚多路复用设置。
为此,我观察了 Board_init()函数中的代码,特别是 Board_pinmuxConfig()。

有些 IO 焊盘配置了 Slewcontrol = SLOW。

在 TRM (SPRUHZ7E,第4121页)中,我找到了以下注释:

================================================================================================
每个管脚配置寄存器中的默认 SLEWCONTROL 设置必须用于
保证计时、除非在单独计时中给出了其他具体说明
器件数据手册的子部分。 唯一的例外是当 MUXMODE 为时
配置为选择 Vout*_*信号。 在本例中为相应的 SLEWCONTROL 位
必须配置为慢速压摆、而不是默认的快速压摆。
================================================================================================

除以外、数据手册(SPRS957D)并未介绍如何设置压摆率
Vout*_*信号。
被 Board_pinmuxConfig()配置为“慢速”的焊盘在这些类型中为*不*。
为什么 Board_pinmuxConfig()在 TRM 和数据手册中配置慢速压摆率
指定使用默认(“快速”)压摆率?

我使用的是 PDK V1.0.6和 SYSBIOS 6.46.04.53

此致、
Markus

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    工厂团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好

    提醒大家不要忘记我的帖子...

    此致、
    Markus
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉耽误你的时间。 我已上报请求。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Markus、您好!

    您能否举几个相关引脚的示例?

    请注意、AM571x TRM 第18.5节(控制模块寄存器手册)中的 CTRL_CORE_PAD_*寄存器定义中显示了默认的转换设置。  默认的压摆设置是快速压摆和慢速压摆的组合、具体取决于引脚。  此外、 TI PinMux 工具 提供了一个用于配置引脚多路复用设置的图形界面、此工具自动考虑默认压摆设置。

    此致、

    Melissa

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

    请参阅以下 TI 示例:

    C:\ti\pdk_am57xx_1_0_6\packets\ti\drv\spi\test\src\am571x\spi_idkAM571x_board.c

    有一个函数"MCSPI_Board_crossbarInit()"、其中内核焊盘寄存器配置如下:

    /* SPI3_SCLK */
    HW_WR_REG32 ((SOC_CORE_PAD_IO_REGISTER_BASE + CTRL_CORE_PAD_MCASP4_ACLKX)、
    (CTRL_CORE_PAD_MCASP4_ACLKX_PUPDD_RX_MODE);

    /* SPI3_D1 */
    HW_WR_REG32 ((SOC_CORE_PAD_IO_REGISTER_BASE + CTRL_CORE_PAD_MCASP4_FSX)、
    (CTRL_CORE_PAD_MCASP4_FSX_PUPDD_RX_MODE));

    使用如下定义的符号:

    #define CTRL_CORE_PAD_MCASP4_ACLKX_PUPDD_RX_MODE 0xc0002 //(0x00040003U)
    #define CTRL_CORE_PAD_MCASP4_FSX_PUPDD_RX_MODE 0xc0002 //(0x00040003U)

    这会将位0x00080000 (压摆控制)设置为"1"、即"慢速"。
    该位的复位默认值为"0"(根据 TRM;SPRUHZ7E 章节18.3.2.2)。
    在数据手册中、我找不到需要将这些引脚设置为与默认值不同的值的提示。
    相比之下、数据手册(SPRS957D、第7.3.1.2章)规定:

    ================================================================================
    必须使用每个管脚配置寄存器中的默认 SLEWCONTROL 设置来保证
    计时、除非的各个计时子部分中提供了特定的指令
    数据表。
    所有时序均以每纳秒4伏(4V/ns)的输入边沿速率进行测试。
    ================================================================================

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

    Markus、

    感谢您的示例。  我将对此进行研究。  不过,在我有答案之前,可能需要一两天时间。

    此致、

    Melissa

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

    Markus、

    这2个引脚的转换设置 似乎是该示例代码中的一个错误。 该代码旨在覆盖从引脚多路复用器工具生成的自动值的设置、因为默认电路板库 会将此引脚设置为 MCASP 发送时钟和之前的帧时钟。 随后、当我们将 pinmux 工具的输出集成到电路板库中时、电路板库中修复了这一问题。因此、如果您查看 idkAM571x 电路板库中的 boardPadDelayInit.c 文件、则可以使用将引脚设置为模式2、并使用进行正确的压摆设置  

    /* SPI3 - C18上的 spi3_SCLK - MySPI3 */
    {0x1734、0x10002、{0x0、0、0}、 {0x0、0、0}、{0x0、0、 0}}、
    
    //* SPI3 - D17上的 spi3_cs0 - MySPI3 */
    {0x1740、0x20002、{0x0、0、0}、 {0x0、0、0}、{0x0、0、 0}}、
    
    //* SPI3 - A21上的 spi3_D1 - MySPI3 */
    {0x1738、0x50002、{0x0、0、0}、 {0x0、0、0}、{0x0、0、 0}}、 

    但可能仍然需要 INPUTENABLE 设置、因此请更改以下宏以解决该问题。

    #define CTRL_CORE_PAD_MCASP4_ACLKX_PUPDD_RX_MODE 0x40002 //(0x00040003U)
    #define CTRL_CORE_PAD_MCASP4_FSX_PUPDD_RX_MODE 0x40002 //(0x00040003U) 

    希望这对您有所帮助

    此致、

    Rahul

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

    你(们)好,Rahul

    感谢您确认这是一个错误。

    此致、
    Markus