大家好、
客户想使用 TM4C129DNCPDT 通过 SPI 控制40 TMC5160、并且想知道如何提高 SPI 驱动能力。
您能帮助检查这个问题吗?
谢谢。此致、
本
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 通过 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);
}