摘要:目錄概述概述總線機(jī)制總線機(jī)制的四種工作模式的四種工作模式數(shù)據(jù)交換數(shù)據(jù)交換概述是一種同步串行通信協(xié)議,由一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備組成,主設(shè)備啟動(dòng)與從設(shè)備的同步通信,從而完成數(shù)據(jù)的交換。
目錄
? SPI(serial peripheral interface)是一種同步串行通信協(xié)議,由一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備組成,主設(shè)備啟動(dòng)與從設(shè)備的同步通信,從而完成數(shù)據(jù)的交換。SPI是一種高速全雙工同步通信總線,標(biāo)準(zhǔn)的SPI僅僅使用4個(gè)引腳,主要應(yīng)用在 EEPROM, Flash, 實(shí)時(shí)時(shí)鐘(RTC), 數(shù)模轉(zhuǎn)換器(ADC), 數(shù)字信號(hào)處理器(DSP) 以及數(shù)字信號(hào)解碼器之間。是 Motorola 公司推出的一種同步串行接口技術(shù),是一種高速的,全雙工,同步的通信總線。SPI總線首次推出是在1979年,Motorola公司將SPI總線集成在他們第一支改自68000微處理器的微控制器芯片上。由于在芯片中只占用四根管腳 (Pin) 用來控制以及數(shù)據(jù)傳輸, 節(jié)約了芯片的 pin 數(shù)目, 同時(shí)為 PCB 在布局上節(jié)省了空間。 正是出于這種簡單易用的特性, 現(xiàn)在越來越多的芯片上都集成了 SPI技術(shù)。
SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個(gè)主設(shè)備和一個(gè)或多
個(gè)從設(shè)備,需要至少4根線,事實(shí)上3根也可以(單向傳輸時(shí))。也是所有基于SPI的設(shè)備共
有的,它們是SDI(數(shù)據(jù)輸入)、SDO(數(shù)據(jù)輸出)、SCLK(時(shí)鐘)、CS(片選)。
CPOL:clock polarity 時(shí)鐘的極性;表示 SPI 在空閑時(shí), 時(shí)鐘信號(hào)是高電平還是低電平.?
CPHA:clock phase 時(shí)鐘的相位;表示 SPI 設(shè)備是在 SCK 管腳上的時(shí)鐘信號(hào)變?yōu)?span style="color:#fe2c24;">上升沿時(shí)觸發(fā)數(shù)據(jù)采樣, 還是在時(shí)鐘信號(hào)變?yōu)?span style="color:#fe2c24;">下降沿時(shí)觸發(fā)數(shù)據(jù)采樣.
時(shí)鐘極性CPOL是用來配置SCLK的電平出于哪種狀態(tài)時(shí)是空閑態(tài)或者有效態(tài),時(shí)鐘相位CPHA
是用來配置數(shù)據(jù)采樣是在第幾個(gè)邊沿:
我們SPI通信有4種不同的模式,不同的從設(shè)備可能在出廠是就是配置為某種模式,這是不能改變的;但我們的通信雙方必須是工作在同一模式下,所以我們可以對(duì)我們的主設(shè)備的SPI模式進(jìn)行配置,通過CPOL(時(shí)鐘極性)和CPHA(時(shí)鐘相位)來控制我們主設(shè)備的通信模式,具體如下:
Mode0:CPOL=0,CPHA=0
Mode1:CPOL=0,CPHA=1
Mode2:CPOL=1,CPHA=0
Mode3:CPOL=1,CPHA=1
四種模式的時(shí)序圖如下如所示:
模式0:CPOL= 0,CPHA=0。SCK串行時(shí)鐘線空閑是為低電平,數(shù)據(jù)在SCK時(shí)鐘的上升沿被采樣,數(shù)據(jù)在SCK時(shí)鐘的下降沿切換
模式1:CPOL= 0,CPHA=1。SCK串行時(shí)鐘線空閑是為低電平,數(shù)據(jù)在SCK時(shí)鐘的下降沿被采樣,數(shù)據(jù)在SCK時(shí)鐘的上升沿切換
模式2:CPOL= 1,CPHA=0。SCK串行時(shí)鐘線空閑是為高電平,數(shù)據(jù)在SCK時(shí)鐘的下降沿被采樣,數(shù)據(jù)在SCK時(shí)鐘的上升沿切換
模式3:CPOL= 1,CPHA=1。SCK串行時(shí)鐘線空閑是為高電平,數(shù)據(jù)在SCK時(shí)鐘的上升沿被采樣,數(shù)據(jù)在SCK時(shí)鐘的下降沿切換
其中比較常用的模式是模式0和模式3。為了更清晰的描述SPI總線的時(shí)序,下面展現(xiàn)了模式0下的SPI時(shí)序圖:
?上圖清晰的表明在模式0下,在空閑狀態(tài)下,SCK串行時(shí)鐘線為低電平,當(dāng)SS被主機(jī)拉低以后,數(shù)據(jù)傳輸開始,數(shù)據(jù)線MOSI和MISO的數(shù)據(jù)切換(Toggling)發(fā)生在時(shí)鐘的下降沿(上圖的黑色虛線),而數(shù)據(jù)線MOSI和MISO的數(shù)據(jù)的采樣(Sampling)發(fā)生在數(shù)據(jù)的正中間(上圖中的灰色實(shí)線)。下圖清晰的描述了其他三種模式數(shù)據(jù)線MOSI和MISO的數(shù)據(jù)切換(Toggling)位置和數(shù)據(jù)采樣位置的關(guān)系圖:
? ? ? ? SPI 設(shè)備間的數(shù)據(jù)傳輸之所以又被稱為數(shù)據(jù)交換, 是因?yàn)?SPI 協(xié)議規(guī)定一個(gè) SPI 設(shè)備不能在數(shù)據(jù)通信過程中僅僅只充當(dāng)一個(gè) "發(fā)送者(Transmitter)" 或者 "接收者(Receiver)". 在每個(gè) Clock 周期內(nèi), SPI 設(shè)備都會(huì)發(fā)送并接收一個(gè) bit 大小的數(shù)據(jù), 相當(dāng)于該設(shè)備有一個(gè) bit 大小的數(shù)據(jù)被交換了.
? ? ? ?一個(gè) Slave 設(shè)備要想能夠接收到 Master 發(fā)過來的控制信號(hào), 必須在此之前能夠被 Master 設(shè)備進(jìn)行訪問 (Access). 所以, Master 設(shè)備必須首先通過 SS/CS pin 對(duì) Slave 設(shè)備進(jìn)行片選, 把想要訪問的 Slave 設(shè)備選上.
? ? ? ?在數(shù)據(jù)傳輸?shù)倪^程中, ?每次接收到的數(shù)據(jù)必須在下一次數(shù)據(jù)傳輸之前被采樣. 如果之前接收到的數(shù)據(jù)沒有被讀取, 那么這些已經(jīng)接收完成的數(shù)據(jù)將有可能會(huì)被丟棄, ?導(dǎo)致 SPI 物理模塊最終失效. 因此, 在程序中一般都會(huì)在 SPI 傳輸完數(shù)據(jù)后, 去讀取 SPI 設(shè)備里的數(shù)據(jù), 即使這些數(shù)據(jù)(Dummy Data)在我們的程序里是無用的.
參考文獻(xiàn):
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/121954.html
摘要:從設(shè)備使能信號(hào),由主設(shè)備控制,只有該信號(hào)為預(yù)先規(guī)定的使能信號(hào),對(duì)該芯片的操作才有效,這就允許再統(tǒng)一總線上連接多個(gè)設(shè)備。點(diǎn)對(duì)點(diǎn)通信中,接口不需要進(jìn)行尋址操作,但是沒有指定的流控制,沒有應(yīng)答機(jī)制確認(rèn)是否接收到數(shù)據(jù)。 1、GPIO 通用可編程IO接口,對(duì)于簡單的外圍設(shè)備或者電路,需要CPU為之提供...
摘要:帶中文字庫的是一種具有位位并行線或線串行多種接口方式,內(nèi)部含有國標(biāo)一級(jí)二級(jí)簡體中文字庫的點(diǎn)陣圖形液晶顯示模塊其顯示分辨率為。貼片按鍵模塊支持標(biāo)準(zhǔn)的協(xié)議,完整的協(xié)議棧。以最低成本提供最大實(shí)用性,為功能嵌入其他系統(tǒng)提供無限可能。 項(xiàng)目簡介 開發(fā)環(huán)境: Keil5.14,CubeMX6.0.1,主...
摘要:總線掛載的外設(shè)有等。外設(shè)地址映射片上外設(shè)區(qū)分為三條總線,根據(jù)外設(shè)速度的不同,不同總線掛載著不同的外設(shè),掛載低速外設(shè),和掛載高速外設(shè)。 第二章 STM32資源介紹 2...
摘要:文章目錄一原理二實(shí)現(xiàn)顯示中文滾動(dòng)顯示顯示字符串讀取溫濕度顯示溫濕度三結(jié)果開機(jī)顯示歡迎信息循環(huán)讀取溫濕度以及滾動(dòng)顯示我的四總結(jié)五參考六源碼一原理的定義就是串行外圍設(shè)備接口。 ...
閱讀 2332·2021-11-23 09:51
閱讀 3764·2021-11-11 10:57
閱讀 1410·2021-10-09 09:43
閱讀 2498·2021-09-29 09:35
閱讀 2028·2019-08-30 15:54
閱讀 1798·2019-08-30 15:44
閱讀 3194·2019-08-30 13:20
閱讀 1702·2019-08-30 11:19