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.

[参考译文] TM4C129DNCPDT:与多个从板进行通信

Guru**** 2522180 points
Other Parts Discussed in Thread: TM4C129DNCPDT

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1207178/tm4c129dncpdt-communicate-with-multiple-slave-boards

器件型号:TM4C129DNCPDT

大家好、

客户想使用  TM4C129DNCPDT 通过 SPI 控制40 TMC5160、并且想知道如何提高 SPI 驱动能力。

您能帮助检查这个问题吗?

谢谢。此致、

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

    您好!

      我认为40个外部器件可能在 SPI 引脚上的负载过大。 默认情况下、SPI 引脚配置为2mA 驱动强度。 您可以修改 TivaWare 库以提高驱动强度、例如8mA 或12mA。  您将需要确定使用更高的强度、例如12mA、它是否能够提供足够的上升/下降时间以及从器件所需的 SPI 频率。  

     通常、您可以调用  GPIOPinTypeSSI 来为 SSI 功能配置 GPIO 引脚。 如您所见、对于 SSI 功能、默认情况下2mA 用作驱动强度。 您可以将驱动强度更改为更高的值、例如12mA 或8mA、然后重建外设驱动程序库。 也可以将该文件复制到工作项目并使用更新后的代码进行重新编译。  

    //
    //! 配置管脚供 SSI 外设使用。
    //!
    //! \param ui32Port 是 GPIO 端口的基地址。
    //! \param ui8pins 是引脚的位压缩表示。
    //!
    //! 必须正确配置 SSI 管脚、SSI 外设才能正常工作
    //! 正确到位。 此功能提供了这些器件的典型配置
    //! 引脚;其他配置也可能运行、具体取决于电路板
    //! 设置(例如、使用片上上上上拉电阻)。
    //!
    //! 引脚使用位打包字节指定、其中每个位
    //! SET 标识要访问的引脚、以及字节的第0位的位置
    //! 代表 GPIO 端口引脚0、位1代表 GPIO 端口引脚1、依此类推。
    //!
    //! \Note 此函数不能用于将任何引脚变成 SSI 引脚;它只是
    //! 配置 SSI 管脚以确保正常运行。 请注意,GPIOPinConfigure()
    //! 还需要进行功能调用来为 SSI 正确配置一个引脚
    //! 停止。
    //!
    //! 请注意 Tiva 器件上 GPIO 引脚的子集、特别是那些被使用的引脚
    //! JTAG/SWD 接口和任何能够用作 NMI 输入的引脚
    //! 锁定以防止意外重新配置。 这些引脚必须解锁
    //! 对相关 GPIO_O_O_LOCK 和 GPIO_CR 进行直接寄存器写入
    //! 寄存器、然后才能调用该函数。 请参阅``GPIO_JTAG''
    //! 所需机制的应用示例、请参阅您的器件
    //! 有关受影响引脚的信息、请参阅数据表。
    //!
    //! \无返回。
    //
    //*****
    空隙
    GPIOPinTypeSSI (uint32_t ui32Port、uint8_t ui8Pins)

    //
    //检查参数。
    //
    assert (_GPIOBaseValid (ui32Port));

    //
    //使引脚成为外设控制。
    //
    GPIODIRModeSet (ui32Port、ui8Pins、GPIO_DIR_MODE_HW);

    //
    //设置用于标准推挽操作的焊盘。
    //
    GPIOPadConfigSet (ui32Port、ui8Pins、 GPIO_strength_2mA GPIO_PIN_TYPE_STD);
    }