我想进行程序的外扩PSRAM,但FSMC的端口占用太多,所以想用SPI双线模式尝试外扩。但发现CH32的芯片SPI根本没有这个模式。。。而我的PSRAM芯片已经买了。
。。。
我想进行程序的外扩PSRAM,但FSMC的端口占用太多,所以想用SPI双线模式尝试外扩。但发现CH32的芯片SPI根本没有这个模式。。。而我的PSRAM芯片已经买了。
。。。
您好,SPI应用一般分为全双工模式或半双工模式,这两种模式以及对应的主从收发模式CH32系列的MCU基本上都是支持的,你所说的双线模式应该就是全双工模式,也是支持的。上第1个附图的几种模式在CH32程序中通过配置对应的工作模式以及主从模式都是可以得到的,STM32只是通过CubeMx配置简化了这个配置过程,底层对寄存器的配置操作应该都是一样的。后续若有使用问题,可通过邮箱(lzs@wch.cn)和我沟通。
DualSPI,它只是针对SPI Flash而言,不是针对所有SPI外设。对于SPI Flash,全双工并不常用,因此扩展了mosi和miso的用法,让它们工作在半双工,用以加倍数据传输。也就是对于Dual SPI Flash,可以发送一个命令字节进入dual mode,这样mosi变成SIO0(serial io 0),mosi变成SIO1(serial io 1),这样一个时钟周期内就能传输2个bit数据,加倍了数据传输
这芯片长这样子,V307没有QSPI,所以我想用SPI双线,也就是某一时间两根数据线同时作为发送线,亦或同时作为接受线。
我有一个问题,既然有2Lines_Rxonly,为什么没有2Lines_Txonly呢?
您好,CH32V307的SPI不支持同一时间两根数据线同时作为发送线或同时作为接收线。没有Txonly是因为硬件上设计不支持。若你需要外扩存储空间,建议你用SPI FLASH的方式,或使用307的FSMC接口进行扩展。后续若有问题,可通过邮箱(lzs@wch.cn)和我沟通。