SPI接口使平時(shí)工作中常用到的一個(gè)接口,它的用處非常多。首先支持全雙工操作,發(fā)送的時(shí)候可以接收。還有就是操作比較簡單,沒有太多上層協(xié)議,底層主要是發(fā)送緩沖區(qū)和一些標(biāo)志。關(guān)鍵是速度比較快,在LPC5500上面高速SPI接口可以達(dá)到50Mbps,這在150Mhz主頻的MCU上面算是不慢的了。
對(duì)于高速傳輸?shù)哪K一般適用SPI接口而不是串口。很多Norflash也主要支持SPI接口。但是有些場(chǎng)合單個(gè)數(shù)據(jù)線的SPI還是有寫吃力的。比如想快速加載Norflash里面的代碼到RAM中。再比如想快速讀取外部flash中的圖片數(shù)據(jù)加載到LCD顯示上面,或者想快速對(duì)比外部flash中的模型數(shù)據(jù)。這些應(yīng)用都需要更高速的SPI。除了提高SPI的總線速度,就是增加SPI的數(shù)據(jù)信號(hào)線的個(gè)數(shù)。比如四位數(shù)據(jù)線的QuadSPI,八位數(shù)據(jù)線的Octal SPI。
小編結(jié)合工作中客戶的應(yīng)用需求在LPC5500上面實(shí)現(xiàn)了QuadSPI接口。這個(gè)QuadSPI接口是通過LPC5500里面的協(xié)處理器EZH實(shí)現(xiàn)的。因?yàn)镋ZH可以單周期訪問IO,并且EZH還能實(shí)現(xiàn)簡單的邏輯運(yùn)算,還可以將數(shù)據(jù)存儲(chǔ)到RAM中。將這些性能放在一起就可以實(shí)現(xiàn)QuadSPI,并且自帶DMA功能,您只需告訴它發(fā)哪些數(shù)據(jù),發(fā)多少字節(jié)的數(shù)據(jù)即可。它就可以自動(dòng)完成,不需要ARM核干預(yù)。
小編也基于LPC55S69的開發(fā)板做了一個(gè)方案,Norflash模塊采用W25M512JV模塊,系統(tǒng)連接如下圖:
信號(hào)線的連接如下圖:
讀Norflash的時(shí)序如下圖:
寫Norflash的時(shí)序如下圖:
留給客戶操作的函數(shù)也比較簡練,如下:
Routine | Description |
QSPI_pin_Init(); | QSPI pin initialization |
QSPI_Init(void *pPara); | QSPI initialization |
QSPI_Start(); | QSPI flash start |
QSPI_software_trigger(); | Start the transaction by software |
QSPI_reset(); | QSPI flash reset |
QSPI_read_JEDEC_ID(); | Read ID of flash |
QSPI_Erase(); | Erase flash |
QSPI_Page_Program(); | Program flash |
QSPI_read(); | Read data from flash in QSPI mode |
QSPI_read_1wire(); | Read data from flash in normal SPI mode |
QSPI_Fast_Read_Quad_IO(); | Read data from flash in quad IO mode |
QSPI_write_status(); | Write status registers of flash |
QSPI_read_status(); | Read status registers of flash |
經(jīng)過測(cè)試它的性能可以達(dá)到:讀寫時(shí)總線速度位25Mhz,數(shù)據(jù)傳輸速度高達(dá)100Mbps.這個(gè)速度比50Mhz的SPI數(shù)據(jù)傳輸速度快了1倍。雖然沒有達(dá)到更高的總線速度,但小編已經(jīng)盡力了。
總結(jié)一下:小編今天帶給大家的基于LPC5500的QuadSPI接口的方案,可以明顯提高SPI的傳輸速度。并且它完全不占用ARM核的負(fù)載資源,自主實(shí)現(xiàn)收發(fā)。還贈(zèng)送一個(gè)DMA的功能,想傳多少傳多少。
在NXP官網(wǎng)已經(jīng)有EZH的cookbook的應(yīng)用筆記,歡迎查看https://www.nxp.com.cn/docs/en/application-note/AN14650.pdf.
恩智浦致力于打造安全的連接和基礎(chǔ)設(shè)施解決方案,為智慧生活保駕護(hù)航。
-
NXP
+關(guān)注
關(guān)注
61文章
1369瀏覽量
191877 -
恩智浦
+關(guān)注
關(guān)注
14文章
6027瀏覽量
125405 -
SPI
+關(guān)注
關(guān)注
17文章
1833瀏覽量
98624 -
SPI接口
+關(guān)注
關(guān)注
0文章
271瀏覽量
36120
原文標(biāo)題:淺談在LPC5500上面實(shí)現(xiàn)QuadSPI接口
文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
MCU無法檢測(cè)到W5500是怎么回事?
wiznet+w5500程序卡死怎么解決?
《電子發(fā)燒友電子設(shè)計(jì)周報(bào)》聚焦硬科技領(lǐng)域核心價(jià)值 第26期:2025.08.25--2025.08.29
德賽電池推出UPS鋰電系統(tǒng)LPC 2.0及系統(tǒng)解決方案
正點(diǎn)原子AU15開發(fā)板資料發(fā)布!板載40G QSFP、PCIe3.0x8和FMC LPC等接口,性能強(qiáng)悍!
正點(diǎn)原子Z20 ZYNQ 開發(fā)板發(fā)布!板載FMC LPC、LVDS LCD和WIFI&藍(lán)牙等接口,資料豐富!
w5500隨機(jī)出現(xiàn)接收問題
RCA接口轉(zhuǎn)換為其他接口的方案
基于恩智浦LPC5536的光伏MPPT控制方案

使用LPC1114的SPI接口控制ADS1243,不能正常讀取的原因?
W5500+DSP28335通信問題
ADC07D1520評(píng)估板的FMC接口是HPC的對(duì)嗎?
SIM卡接口的靜電保護(hù)方案

評(píng)論