打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ESP32之软件SPI驱动及SPI、HSPI和VSPI的理解


ESP32 共有 4 个 SPI 控制器,用于连接支持 SPI 协议的设备。 SPI0 控制器作为 cache 访问外部
存储单元接口使用, SPI1 作为主机使用, SPI2 和 SPI3 控制器既可作为主机使用又可作为从机使用。作主机使
用时,每个 SPI 控制器可以使用多个片选信号 (CS0~CS2) 来连接多个 SPI 从机设备。 SPI1 ~ SPI3 控制器共享
两个 DMA 通道。
SPI 控制器在 GP-SPI 模式下,支持标准的四线全双工通信(MOSI、 MISO、 CS、 CLK)和三线半双工通信(DATA、
CS、 CLK)。 SPI 控制器在 QSPI 模式下使用信号总线 D、 Q、 CS0~CS2、 CLK、 WP 和 HD 作为 4-bit 并行 SPI
总线来访问外部 Flash 或 SRAM。

需要注意的是,HSPI和VSPI并不是网友们认为的high-speed SPI 和Very High-speed SPI,这是SPI和HSPI、VSPI是一样的,只不过是换个名字用于区分,SPI相当于SPI0或SPI1,HSPI相当于SPI2,VSPI相当于SPI3。


如果SPI采用GPIO矩阵,则最大频率会限制在26.6MHz,如果采用IOMUX,最高频率会限制在80MHz;
一般情况下,如果你用esp-idf的例程spi_master配置频率超过26.6Mhz时,会出现以下LOG:

 * When work in full-duplex mode at frequency > 26.7MHz, device cannot read correct data. * Try to use IOMUX pins to increase the frequency limit, or use the half duplex mode. * Please note the SPI master can only work at divisors of 80MHz, and the driver always tries to find the closest frequency to your configuration. * Specify ``SPI_DEVICE_NO_DUMMY`` to ignore this checking. Then you can output data at higher speed, or read data at your own risk.

如果需要IOMUX提高SPI速率,则可以做一下配置

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Dji TT无人机扩展件ESP32芯片(D2WDQ5)
痞子衡嵌入式:盘点国内RISC-V内核MCU厂商(2020年发布产品)
STM32F4 HAL库 调试TDC
两片STM32使用HAL完成SPI全双工主从通信
ESP32芯片和模组的硬件差异与选型,ESP32-WROOM-32、ESP32-WROVER和ESP32-S衍生模组选型
如何给ESP32选择外接SPI Flash
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服