你(们)好。
我们正在使用 EtherCAT 从站堆栈代码并尝试修整 SPI 和 Sync0 ISR 运行时间。 深入了解一下、我们发现 SPI 读取/写入(etherCAT_slave_C28x_hal.c esc_readSPI 和 esc_writeSPI)需要花费大量时间。 例如、在 ESC_readSPI 中有3个延迟、10、5和2us。
我的问题是否可以减少这些延迟? 是否会有任何不利影响? (如可能混淆位、不完整的读取/写入?)
谢谢阅读、非常感谢您的回复。
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.
你(们)好。
我们正在使用 EtherCAT 从站堆栈代码并尝试修整 SPI 和 Sync0 ISR 运行时间。 深入了解一下、我们发现 SPI 读取/写入(etherCAT_slave_C28x_hal.c esc_readSPI 和 esc_writeSPI)需要花费大量时间。 例如、在 ESC_readSPI 中有3个延迟、10、5和2us。
我的问题是否可以减少这些延迟? 是否会有任何不利影响? (如可能混淆位、不完整的读取/写入?)
谢谢阅读、非常感谢您的回复。
你(们)好
从本质上讲、ESC (ET1100) SPI 模式 是一种较慢的接口。 F28379 MCU 示例更新了必要的延迟、以便 PDI 接口 可用于该示例。
通常、如果您减少延迟、SPI 数据序列可能无法完成读取/写入操作。 客户可以调整读取顺序或延迟。 但是、他们必须 检查 他们的系统 和 ESC 读数是否仍然可靠。 有关 SPI (或 EMIF)接口模式下的任何特定读取时序 、请参阅 Beckhoff/ETG 提供的 ET1100规范。
希望这对您有所帮助
此致
Sam
你好,Sam:D
感谢您的回复。 我们已经进行了一些测试、结果它可能会被大量的中断。 读取延迟现在仅为7us (原始17us)、写入延迟为2us (原始4us)。 这是正常的吗? 通信 看起来不错、但我们读取了一次有线数据(该值略低于预期值、但不是 jibblish 位)、不确定它是否与 SPI 相关。
我在 ET1100数据表中找到 SPI 时序图。 在有时间时将读入该寄存器。 但奇怪的是、我始终认为 SPI 是一个标准吗? 那么、不同的芯片将以不同的方式实现 SPI 时序?