我想進(jìn)行程序的外擴(kuò)PSRAM,但FSMC的端口占用太多,所以想用SPI雙線模式嘗試外擴(kuò)。但發(fā)現(xiàn)CH32的芯片SPI根本沒(méi)有這個(gè)模式。。。而我的PSRAM芯片已經(jīng)買了。
。。。
我想進(jìn)行程序的外擴(kuò)PSRAM,但FSMC的端口占用太多,所以想用SPI雙線模式嘗試外擴(kuò)。但發(fā)現(xiàn)CH32的芯片SPI根本沒(méi)有這個(gè)模式。。。而我的PSRAM芯片已經(jīng)買了。
。。。
您好,SPI應(yīng)用一般分為全雙工模式或半雙工模式,這兩種模式以及對(duì)應(yīng)的主從收發(fā)模式CH32系列的MCU基本上都是支持的,你所說(shuō)的雙線模式應(yīng)該就是全雙工模式,也是支持的。上第1個(gè)附圖的幾種模式在CH32程序中通過(guò)配置對(duì)應(yīng)的工作模式以及主從模式都是可以得到的,STM32只是通過(guò)CubeMx配置簡(jiǎn)化了這個(gè)配置過(guò)程,底層對(duì)寄存器的配置操作應(yīng)該都是一樣的。后續(xù)若有使用問(wèn)題,可通過(guò)郵箱(lzs@wch.cn)和我溝通。
DualSPI,它只是針對(duì)SPI Flash而言,不是針對(duì)所有SPI外設(shè)。對(duì)于SPI Flash,全雙工并不常用,因此擴(kuò)展了mosi和miso的用法,讓它們工作在半雙工,用以加倍數(shù)據(jù)傳輸。也就是對(duì)于Dual SPI Flash,可以發(fā)送一個(gè)命令字節(jié)進(jìn)入dual mode,這樣mosi變成SIO0(serial io 0),mosi變成SIO1(serial io 1),這樣一個(gè)時(shí)鐘周期內(nèi)就能傳輸2個(gè)bit數(shù)據(jù),加倍了數(shù)據(jù)傳輸
這芯片長(zhǎng)這樣子,V307沒(méi)有QSPI,所以我想用SPI雙線,也就是某一時(shí)間兩根數(shù)據(jù)線同時(shí)作為發(fā)送線,亦或同時(shí)作為接受線。
我有一個(gè)問(wèn)題,既然有2Lines_Rxonly,為什么沒(méi)有2Lines_Txonly呢?
您好,CH32V307的SPI不支持同一時(shí)間兩根數(shù)據(jù)線同時(shí)作為發(fā)送線或同時(shí)作為接收線。沒(méi)有Txonly是因?yàn)橛布显O(shè)計(jì)不支持。若你需要外擴(kuò)存儲(chǔ)空間,建議你用SPI FLASH的方式,或使用307的FSMC接口進(jìn)行擴(kuò)展。后續(xù)若有問(wèn)題,可通過(guò)郵箱(lzs@wch.cn)和我溝通。