SPI總線的英文全稱為Serial Peripheral Interface,顧名思義為串行外設接口。SPI通信協(xié)議是一種同步串行通信接口規(guī)范,主要應用于嵌入式系統(tǒng)中的短距離通信。該接口由摩托羅拉在20世紀80年代中期開發(fā),后發(fā)展成了行業(yè)規(guī)范。
SPI通信中有4種不同的操作模式,不同的從機設備可能在出廠時就被設置好了某種模式,并且無法更改。但是SPI通信必須處于同一種模式下才能進行。因此我們應該對自己手里的SPI主機設備進行模式的配置,也就是通過CPOL(時鐘極性)和CPHA(時鐘相位)來控制SPI主設備的通信模式,具體如下:
時鐘極性(CPOL)定義了SCLK時鐘線空閑狀態(tài)時的電平:
1.CPOL=0,即SCLK=0,表示SCLK時鐘信號線在空閑狀態(tài)時的電平為低電平,因此有效狀態(tài)為高電平。
2.CPOL=1,即SCLK=1,表示SCLK時鐘信號線在空閑狀態(tài)時的電平為高電平,因此有效狀態(tài)為低電平。
時鐘相位(CPHA)定義了數(shù)據(jù)位相對于時鐘線的時序(即相位):
1.CPHA=0,即表示輸出(out)端在上一個時鐘周期的后沿改變數(shù)據(jù),而輸入(in)端在時鐘周期的前沿(或不久之后)捕獲數(shù)據(jù)。輸出端保持數(shù)據(jù)有效直到當前時鐘周期的尾部邊緣。對于第一個時鐘周期來說,第一位的數(shù)據(jù)必須在時鐘前沿之前出現(xiàn)在MOSI線上。也就是一個CPHA=0的周期包括半個時鐘空閑和半個時鐘置位的周期。
2.CPHA=1,即表示輸出(out)端在當前時鐘周期的前沿改變數(shù)據(jù),而輸入(in)端在時鐘周期的后沿(或不久之后)捕獲數(shù)據(jù)。輸出端保持數(shù)據(jù)有效直到下一個時鐘周期的前沿。對于最后一個時鐘周期來說,從機設備在片選信號消失之前保持MISO信號線有效。也就是一個CHPA=1的周期包括半個時鐘置位和半個時鐘空閑的周期。
Note:此處的前沿和后沿的意思表示在每個周期中第一個出現(xiàn)的邊沿和最后一個出現(xiàn)的邊沿??偟膩碚f則為:當時鐘為正向時鐘時,時鐘線的上升沿為前沿,時鐘的下降沿為后沿,反之。
如下表,為SPI通信的4種模式:
下圖顯示了時鐘極性和相位的時序圖。紅線表示時鐘的前沿,藍線表示時鐘的后沿。
SPI通信協(xié)議的優(yōu)點在于它有著比I2C更高的吞吐量,不被最大時鐘速度所限制,可實現(xiàn)潛在的高速、極為簡單的硬件接口,外圍電路使用的上拉電阻是比I2C協(xié)議更少的,這意味著它比I2C的功耗更低、從機的時鐘來源來自主機設備,無需新增精密振蕩器、從機不需要唯一的地址、相對于并行接口而言,使用的引腳數(shù)目大大減少等優(yōu)點。但SPI通信協(xié)議同時有著一定的缺點,例如SPI沒有帶內尋址、當使用多個不同模式的從機設備時,主機設備切換模式時重新初始化,會使得訪問從機設備速度變慢、SPI從機設備沒有硬件流控,只能通過主機自主地延遲下個時鐘周期到來的時間、僅能在短距離通信等缺點。但能在避免SPI的缺點的方向來應用SPI的話,SPI總線接口的優(yōu)點讓它遠遠優(yōu)于其他通信協(xié)議。
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多串口服務器、數(shù)傳電臺、lora模塊等無線數(shù)傳模塊產品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網進行了解,也可以直接撥打400電話咨詢技術專員!
相關閱讀:
7 X 24 銷售服務熱線
4000-330-990深圳辦事處柯經理:18218726658 無錫辦事處劉經理:13558641933
成都總部銷售經理:
秦 科(無線模塊):18884314654 馮子恒(無線模塊):18828049434
蔡友銀(無線模塊):13882211021 葛宇龍(通信設備):19138800613
胡兵(外貿銷售經理):18584911141、 sales06@ebyte.com
業(yè)務郵箱:support@cdebyte.com 全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機:028-61543675)
?? 成都億佰特電子科技有限公司【版權所有】 蜀ICP備13019384號