乐鑫技术交流
直播中

其实znvm

8年用户 1184经验值
擅长:电源/新能源
私信 关注
[问答]

请问如何增加ESP32-S2以太网SPI接口的CS建立时间?

如何增加ESP32-S2 以太网SPI接口的CS建立时间?

(1)        问题现象:

偶尔出现_[0;31mE (6321) dm9051.mac: buffer size too small, needs 16444_[。只有降低SPI频率到20MHz才ok。

(2)        问题分析:

通过示波器测量,发现DM9051的cs建立时间和保持时间很紧张,其它信号质量和时序ok,需要增加cs的建立时间和保持时间来试试。



(3)        问题解决:

根据esp32-s2_technical_reference_manual_cn.pdf,







实际测试时发现spi_device_interface_config_t结构体.cs_ena_pretrans不能大于0,否则系统反复重启。





Spi_master.h文件spi_device_interface_config_t

uint16_t cs_ena_pretrans;        ///< Amount of SPI bit-cycles the cs should be activated before the transmission (0-16). This only works on half-duplex transactions.

uint8_t cs_ena_posttrans;       ///< Amount of SPI bit-cycles the cs should stay active after the transmission (0-16)



cs_ena_pretrans—确实有限制,是什么原因导致的?SPI总线接口本身是没有这个限制的,我们用其它单片机试过DM9051的SPI跑40MHz没任何问题。



请问如何使能SPI_CS_SETUP,实现增加CS的建立时间?

更多回帖

发帖
×
20
完善资料,
赚取积分