1. <span id="gbnmy"></span>
      <optgroup id="gbnmy"></optgroup>

    2. <span id="gbnmy"><output id="gbnmy"></output></span>

        你的位置:首頁 > 電源管理 > 正文

        從編程角度介紹SPI串行外設接口

        發布時間:2017-04-28 責任編輯:susan


        【導讀】SPI總線系統是一種同步串行外設接口,它可以使MCU與各種外圍設備以串行方式進行通信以交換信息。正是由于有了通信方式,我們才能夠通過芯片控制各種各樣的外圍器件,實現很多“不可思議”的現代科技。這里將以SPI為題,從編程角度來介紹SPI總線。
         
        1、SPI協議簡介
         
        圖1.SPI接口
         
        SPI 是英語 Serial Peripheral interface 的縮寫,顧名思義就是串行外圍設備接口。是 Motorola首先在其 MC68HCXX 系列處理器上定義的。SPI是一種高速的,全雙工,同步的通信總線,由于其簡單易用的特性,現在很多的nor flash和nandflash芯片集成了這種通信協議,也就是我們說的SPI flash。
         
        2、應用及現狀
         
        圖2.SPI應用
         
        SPI flash 芯片應用十分廣泛,在很多電子產品上面或多或少都有它的蹤影,如手機、數碼、液晶顯示器、機頂盒、電腦主板等。最近,有消息透露,蘋果新手機iPhone 8將導入采用編碼型快閃存儲(NOR Flash),讓已經處于缺貨狀態的NOR芯片更為惱火,另外據存儲業者透露,今年NOR芯片供給缺口將可能擴大至20%。
         
        3、解剖SPI總線
         
        SPI 接口一般使用 4 條線通信,MISO 主設備數據輸入,從設備數據輸出。MOSI 主設備數據輸出,從設備數據輸入。SCLK 時鐘信號,由主設備產生。CS 從設備片選信號,由主設備控制。
         
        圖3.SPI總線
         
        SPI接口在Master控制下產生的從器件使能信號和時鐘信號,兩個雙向移位寄存器按位傳輸進行數據交換,傳輸數據高位在前,低位在后(MSB)。在SCK的下降沿上數據改變,上升沿一位數據被存入移位寄存器。
         
        圖4.使能信號和時鐘信號
         
        4、解剖SPI flash
         
        搞懂了SPI協議之后,下面就讓小編來帶你輕松操作SPI flash芯片。對flash芯片的操作,一般包括對flash芯片的擦除,編程和讀取,各大廠商的SPI flash芯片都大同小異,操作命令基本是沒什么變化的,當我們拿到一款芯片,要特別注意芯片的容量,操作分區,下面以旺宏的芯片為例為大家講解。
         
        其實,無論是對芯片的擦除,編程還是讀取操作,我們大致可以按照以下的套路來:寫命令---寫地址---寫(讀)數據。正如以下的時序圖一樣清晰明了,我們先把片選信號拉低,再發個0x02頁編程命令,再發個地址,就可以輕松寫數據了。
         
         
        依樣畫葫蘆,擦除操作也是一樣,甚至更簡單,但是我們要注意循環判斷狀態寄存器的WIP位直至為0為擦除完成,具體循環時間視芯片而定。
         
         
        另外,我們要特別注意SPI flash的 OTP區,即(ONE TIME PROGRAMMABLE),也就是說這個區域只能編程一次,編程之后不能再修改及擦除,因此我們操作的時候要特別注意。對OTP區域的讀寫之前,我們首先要發送進入OTP區域的命令,其他的操作和以上普通flash區域的操作是一樣的。
         
        掌握以上方法,我們就可以輕松操作SPI flash芯片了,當然,對時序這種底層的操作,還需要不斷學習和積累。
        要采購移位寄存器么,點這里了解一下價格!
        特別推薦
        技術文章更多>>
        技術白皮書下載更多>>
        熱門搜索
        ?

        關閉

        ?

        關閉

        亚洲18精品2020最新自拍|51国产偷自视频区视频|国语自产一区第二页欧美|久久精品极品盛宴观看老王