www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導讀] SPI總線系統(tǒng)是一種同步串行外設接口,它可以使MCU與各種外圍設備以串行方式進行通信以交換信息。正是由于有了通信方式,我們才能夠通過芯片控制各種各樣的外圍器件,實現(xiàn)很多“不可思議”的現(xiàn)代科技。這里將以SPI為題,從編程角度來介紹SPI總線。

 SPI總線系統(tǒng)是一種同步串行外設接口,它可以使MCU與各種外圍設備以串行方式進行通信以交換信息。正是由于有了通信方式,我們才能夠通過芯片控制各種各樣的外圍器件,實現(xiàn)很多“不可思議”的現(xiàn)代科技。這里將以SPI為題,從編程角度來介紹SPI總線。

1、SPI協(xié)議簡介

圖 1 SPI接口

SPI 是英語 Serial Peripheral interface 的縮寫,顧名思義就是串行外圍設備接口。是 Motorola首先在其 MC68HCXX 系列處理器上定義的。SPI是一種高速的,全雙工,同步的通信總線,由于其簡單易用的特性,現(xiàn)在很多的nor flash和nandflash芯片集成了這種通信協(xié)議,也就是我們說的SPI flash。

2、應用及現(xiàn)狀

圖 2 SPI應用

SPI flash 芯片應用十分廣泛,在很多電子產(chǎn)品上面或多或少都有它的蹤影,如手機、數(shù)碼、液晶顯示器、機頂盒、電腦主板等。最近,有消息透露,蘋果新手機iPhone 8將導入采用編碼型快閃存儲(NOR Flash),讓已經(jīng)處于缺貨狀態(tài)的NOR芯片更為惱火,另外據(jù)存儲業(yè)者透露,今年NOR芯片供給缺口將可能擴大至20%。

3、解剖SPI總線

SPI 接口一般使用 4 條線通信,MISO 主設備數(shù)據(jù)輸入,從設備數(shù)據(jù)輸出。MOSI 主設備數(shù)據(jù)輸出,從設備數(shù)據(jù)輸入。SCLK 時鐘信號,由主設備產(chǎn)生。CS 從設備片選信號,由主設備控制。

圖 3 SPI總線

SPI接口在Master控制下產(chǎn)生的從器件使能信號和時鐘信號,兩個雙向移位寄存器按位傳輸進行數(shù)據(jù)交換,傳輸數(shù)據(jù)高位在前,低位在后(MSB)。在SCK的下降沿上數(shù)據(jù)改變,上升沿一位數(shù)據(jù)被存入移位寄存器。

圖 4 使能信號和時鐘信號

4、解剖SPI flash

搞懂了SPI協(xié)議之后,下面就讓小編來帶你輕松操作SPI flash芯片。對flash芯片的操作,一般包括對flash芯片的擦除,編程和讀取,各大廠商的SPI flash芯片都大同小異,操作命令基本是沒什么變化的,當我們拿到一款芯片,要特別注意芯片的容量,操作分區(qū),下面以旺宏的芯片為例為大家講解。

其實,無論是對芯片的擦除,編程還是讀取操作,我們大致可以按照以下的套路來:寫命令---寫地址---寫(讀)數(shù)據(jù)。正如以下的時序圖一樣清晰明了,我們先把片選信號拉低,再發(fā)個0x02頁編程命令,再發(fā)個地址,就可以輕松寫數(shù)據(jù)了。

依樣畫葫蘆,擦除操作也是一樣,甚至更簡單,但是我們要注意循環(huán)判斷狀態(tài)寄存器的WIP位直至為0為擦除完成,具體循環(huán)時間視芯片而定。

另外,我們要特別注意SPI flash的 OTP區(qū),即(ONE TIME PROGRAMMABLE),也就是說這個區(qū)域只能編程一次,編程之后不能再修改及擦除,因此我們操作的時候要特別注意。對OTP區(qū)域的讀寫之前,我們首先要發(fā)送進入OTP區(qū)域的命令,其他的操作和以上普通flash區(qū)域的操作是一樣的。

掌握以上方法,我們就可以輕松操作SPI flash芯片了,當然,對時序這種底層的操作,還需要不斷學習和積累。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

SPI 是英語Serial Peripheral interface的縮寫,顧名思義就是串行外圍設備接口。是Motorola(摩托羅拉)首先在其MC68HCXX系列處理器上定義的。SPI是一種單主機、高速的,全雙工,同步...

關(guān)鍵字: spi spi通信原理

對于控制器和外設之間的短距離電路板內(nèi)連接,串行外設接口(SPI)和Inter-Integrated Circuit (I2C)接口是流行的事實上的通信標準。由于存在廣泛的硬件和軟件支持,SPI和I2C已被傳感器、執(zhí)行器和...

關(guān)鍵字: ADI 控制器 串行外設接口

為什么要加鎖在SMP系統(tǒng)中,如果僅僅是需要串行地增加一個變量的值,那么使用原子操作的函數(shù)(API)就可以了。但現(xiàn)實中更多的場景并不會那么簡單,比如需要將一個結(jié)構(gòu)體A中的數(shù)據(jù)提取出來,然后格式化、解析,再添加到另一個結(jié)構(gòu)體...

關(guān)鍵字: spi ic ck

為什么要加鎖在SMP系統(tǒng)中,如果僅僅是需要串行地增加一個變量的值,那么使用原子操作的函數(shù)(API)就可以了。但現(xiàn)實中更多的場景并不會那么簡單,比如需要將一個結(jié)構(gòu)體A中的數(shù)據(jù)提取出來,然后格式化、解析,再添加到另一個結(jié)構(gòu)體...

關(guān)鍵字: spi ic ck

SPI接口通信原理

關(guān)鍵字: spi 通訊

什么是SPI?SPI是串行外設接口(Serial Peripheral Interface)的縮寫,是Motorola公司推出的一種同步串行接口技術(shù),是一種高速、 全雙工、 同步的通信總線。

關(guān)鍵字: SPI 串行外設接口 通信總線

之前寫過一篇UART,通用串行異步通訊協(xié)議,感興趣可以參考一下《我打賭!你還不會UART》;因為UART沒有時鐘信號,無法控制何時發(fā)送數(shù)據(jù),也無法保證雙發(fā)按照完全相同的速度接收數(shù)據(jù)。因此,雙方以不同的速度進行數(shù)據(jù)接收和發(fā)...

關(guān)鍵字: 通信總線 串行外設接口

Linux 點擊上方藍字 記得關(guān)注我們哦! 內(nèi)核里已經(jīng)提供spi接口小屏的設備驅(qū)動,在內(nèi)核的配置選項: make?menuconfig?ARCH=arm?CROSS_COMPILE=arm-linux-gnueabihf...

關(guān)鍵字: spi 內(nèi)核

  SPI即串行外圍設備接口,是一種高速的,全雙工,同步的通信總線,由于其在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時為PCB的布局上節(jié)省空間,提供方便,出于這種簡單易用的特性,很多AD轉(zhuǎn)

關(guān)鍵字: spi 隔離芯片
關(guān)閉