從編程角度介紹SPI串行外設(shè)接口
發(fā)布時(shí)間:2017-04-28 責(zé)任編輯:susan
【導(dǎo)讀】SPI總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。正是由于有了通信方式,我們才能夠通過(guò)芯片控制各種各樣的外圍器件,實(shí)現(xiàn)很多“不可思議”的現(xiàn)代科技。這里將以SPI為題,從編程角度來(lái)介紹SPI總線。
1、SPI協(xié)議簡(jiǎn)介
圖1.SPI接口
SPI 是英語(yǔ) Serial Peripheral interface 的縮寫,顧名思義就是串行外圍設(shè)備接口。是 Motorola首先在其 MC68HCXX 系列處理器上定義的。SPI是一種高速的,全雙工,同步的通信總線,由于其簡(jiǎn)單易用的特性,現(xiàn)在很多的nor flash和nandflash芯片集成了這種通信協(xié)議,也就是我們說(shuō)的SPI flash。
2、應(yīng)用及現(xiàn)狀
圖2.SPI應(yīng)用
SPI flash 芯片應(yīng)用十分廣泛,在很多電子產(chǎn)品上面或多或少都有它的蹤影,如手機(jī)、數(shù)碼、液晶顯示器、機(jī)頂盒、電腦主板等。最近,有消息透露,蘋果新手機(jī)iPhone 8將導(dǎo)入采用編碼型快閃存儲(chǔ)(NOR Flash),讓已經(jīng)處于缺貨狀態(tài)的NOR芯片更為惱火,另外據(jù)存儲(chǔ)業(yè)者透露,今年NOR芯片供給缺口將可能擴(kuò)大至20%。
3、解剖SPI總線
SPI 接口一般使用 4 條線通信,MISO 主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出。MOSI 主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入。SCLK 時(shí)鐘信號(hào),由主設(shè)備產(chǎn)生。CS 從設(shè)備片選信號(hào),由主設(shè)備控制。
圖3.SPI總線
SPI接口在Master控制下產(chǎn)生的從器件使能信號(hào)和時(shí)鐘信號(hào),兩個(gè)雙向移位寄存器按位傳輸進(jìn)行數(shù)據(jù)交換,傳輸數(shù)據(jù)高位在前,低位在后(MSB)。在SCK的下降沿上數(shù)據(jù)改變,上升沿一位數(shù)據(jù)被存入移位寄存器。
圖4.使能信號(hào)和時(shí)鐘信號(hào)
4、解剖SPI flash
搞懂了SPI協(xié)議之后,下面就讓小編來(lái)帶你輕松操作SPI flash芯片。對(duì)flash芯片的操作,一般包括對(duì)flash芯片的擦除,編程和讀取,各大廠商的SPI flash芯片都大同小異,操作命令基本是沒(méi)什么變化的,當(dāng)我們拿到一款芯片,要特別注意芯片的容量,操作分區(qū),下面以旺宏的芯片為例為大家講解。
其實(shí),無(wú)論是對(duì)芯片的擦除,編程還是讀取操作,我們大致可以按照以下的套路來(lái):寫命令---寫地址---寫(讀)數(shù)據(jù)。正如以下的時(shí)序圖一樣清晰明了,我們先把片選信號(hào)拉低,再發(fā)個(gè)0x02頁(yè)編程命令,再發(fā)個(gè)地址,就可以輕松寫數(shù)據(jù)了。
依樣畫葫蘆,擦除操作也是一樣,甚至更簡(jiǎn)單,但是我們要注意循環(huán)判斷狀態(tài)寄存器的WIP位直至為0為擦除完成,具體循環(huán)時(shí)間視芯片而定。
另外,我們要特別注意SPI flash的 OTP區(qū),即(ONE TIME PROGRAMMABLE),也就是說(shuō)這個(gè)區(qū)域只能編程一次,編程之后不能再修改及擦除,因此我們操作的時(shí)候要特別注意。對(duì)OTP區(qū)域的讀寫之前,我們首先要發(fā)送進(jìn)入OTP區(qū)域的命令,其他的操作和以上普通flash區(qū)域的操作是一樣的。
掌握以上方法,我們就可以輕松操作SPI flash芯片了,當(dāng)然,對(duì)時(shí)序這種底層的操作,還需要不斷學(xué)習(xí)和積累。
特別推薦
- 是否存在有關(guān) PCB 走線電感的經(jīng)驗(yàn)法則?
- 一文看懂電壓轉(zhuǎn)換的級(jí)聯(lián)和混合概念
- 第12講:三菱電機(jī)高壓SiC芯片技術(shù)
- 準(zhǔn) Z 源逆變器的設(shè)計(jì)
- 貿(mào)澤電子持續(xù)擴(kuò)充工業(yè)自動(dòng)化產(chǎn)品陣容
- 低功耗嵌入式設(shè)計(jì)簡(jiǎn)介
- 如何通過(guò)基本描述找到需要的電容?
技術(shù)文章更多>>
- 瑞典名企Roxtec助力構(gòu)建安全防線
- 貿(mào)澤與Cinch聯(lián)手發(fā)布全新電子書深入探討惡劣環(huán)境中的連接應(yīng)用
- 第二十二屆中國(guó)國(guó)際軟件合作洽談會(huì)在成都順利舉行
- 混合信號(hào)示波器的原理和應(yīng)用
- 功率器件熱設(shè)計(jì)基礎(chǔ)(十)——功率半導(dǎo)體器件的結(jié)構(gòu)函數(shù)
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
空心線圈
控制變壓器
控制模塊
藍(lán)牙
藍(lán)牙4.0
藍(lán)牙模塊
浪涌保護(hù)器
雷度電子
鋰電池
利爾達(dá)
連接器
流量單位
漏電保護(hù)器
濾波電感
濾波器
路由器設(shè)置
鋁電解電容
鋁殼電阻
邏輯IC
馬達(dá)控制
麥克風(fēng)
脈沖變壓器
鉚接設(shè)備
夢(mèng)想電子
模擬鎖相環(huán)
耐壓測(cè)試儀
逆變器
逆導(dǎo)可控硅
鎳鎘電池
鎳氫電池