spi是摩托羅拉公司定義的一種序列外圍裝置介面。spi匯流排主要應用於eeprom、flash、實時時鐘、ad轉換器、還有數字訊號處理器和數碼訊號解碼器之間。spi是一種高速的、全雙工的同步通訊匯流排,並且在晶元的管腳上只占用四根線,節約了晶元的管腳,同時為pcb的布局上節省空間,提供方便。
spi一般使用4條線通訊1、 miso ————— 主裝置資料輸入、從裝置資料輸出
2、 mosi ————— 主裝置資料輸出、從裝置資料輸入
3、 sclk ————— 時鐘訊號、由主裝置產生
4、 nss(cs) ————– 從裝置片選訊號,由主裝置控制
通訊方式spi是單主裝置通訊協議,這意味著匯流排中只有乙個中心裝置能發起通訊,當spi主裝置想讀/寫從裝置時,它要拉低從裝置對應的cs線(cs是低電平有效的)。主機和從機都有乙個序列移位暫存器,主機通過向它的spi序列暫存器寫入乙個位元組來發起一次傳輸。暫存器通過mosi訊號線將位元組傳送給從機,實現「寫」的功能。從機也將自己的移位暫存器中的內容通過miso訊號線返回給主機,實現「讀」的功能。這樣,兩個移位暫存器中的內容就被交換,外設的寫操作和讀操作是同步完成的。如果只進行寫操作,主機只需忽略接收到的位元組;反之。若主機要讀取從機的乙個位元組,就必須傳送乙個空位元組來引發從機的傳輸。
spi有四種操作模式,模式0、模式1、模式2、模式3。它們的區別是定義了在時鐘脈衝的哪條邊沿轉換輸出訊號,哪條邊沿取樣輸入訊號,還有時鐘脈衝的穩定電平值(就是時鐘訊號無效時是高還是低)。每種模式都由引數時鐘極cpol和時鐘期cpha刻畫。
spi的主從裝置必須使用想用的工作引數,slck,cpol,cpha,才能正常工作,如果有多個從裝置,並且它使用了不同的工作引數,那麼主裝置必須在讀寫不同從裝置間重新配置這些引數。
硬體spi和軟體模擬spi的區別有哪些?硬體spi的效率要比軟體模擬spi高,寫程式的時候只要把要發的資料寫在暫存器裡,硬體就會自動給你發了,軟體模擬spi則需要器實現時鐘的拉高拉低,資料序列輸出等等。硬體spi必須要處理器支援才可以用,軟體spi就不需要特定的要求了,一般io口就可用
SPI匯流排協議
spi是乙個環形匯流排結構 由ss cs sck sdi sdo構成,其時序其實很簡單,主要是在sck的控制下,兩個雙向移位暫存器進行資料交換。假設下面的8位暫存器裝的是待傳送的資料10101010,上公升沿傳送 下降沿接收 高位先傳送。那麼第乙個上公升沿來的時候 資料將會是sdo 1 暫存器 01...
SPI匯流排介面
序列外圍裝置介面spi serial peripheral inte ce 匯流排技術是motorola公司推出的一種同步序列介面,motorola公司生產的絕大多數mcu 微控制器 都配有spi硬體介面,如68系列mcu。spi 用於cpu與各種外圍器件進行全雙工 同步序列通訊。spi可以同時發出...
SPI匯流排(一)
spi匯流排是motorola公司推出的三線同步介面,同步序列3線方式進行通訊 一條時鐘線sck,一條資料輸入線mosi,一條資料輸出線miso 用於 cpu與各種外圍器件進行全雙工 同步序列通訊。spi主要特點有 可以同時發出和接收序列資料 可以當作主機或從機工作 提供頻率可程式設計時鐘 傳送結束...