一.先前知識
1.并行與串行
并行通信和串行通信是兩種不同的數(shù)據(jù)傳輸方式:
- 并行通信:并行通信是指在同一時間使用多條并行傳輸?shù)木€路傳輸多個比特的數(shù)據(jù)。每個比特使用獨(dú)立的線路進(jìn)行傳輸,同時進(jìn)行。這樣可以在一個時鐘周期內(nèi)傳輸多個比特,提高傳輸速率。并行通信常用于短距離高速數(shù)據(jù)傳輸,如內(nèi)部計算機(jī)總線、內(nèi)存之間的數(shù)據(jù)傳輸?shù)取?/li>
- 串行通信:串行通信是指使用單條線路逐個比特順序傳輸數(shù)據(jù)。每個比特按照順序依次傳輸,通過時鐘信號進(jìn)行同步。串行通信通常使用的線路較少,便于布線和實現(xiàn),適用于長距離通信和低速傳輸。串行通信常見的標(biāo)準(zhǔn)包括UART、SPI、I2C等。
并行通信的優(yōu)勢是在同一時間內(nèi)可以傳輸多個比特,傳輸速率較高。然而,由于需要使用更多的線路,對電路和布線的要求較高,限制了通信距離和復(fù)雜性。相比之下,串行通信只使用一條線路,更容易實現(xiàn)和布線,適合長距離傳輸和復(fù)雜環(huán)境。但是,傳輸速率相對較低。
選擇并行通信還是串行通信通常取決于具體的通信需求、距離、傳輸速率、成本和可靠性要求等因素。許多應(yīng)用中,串行通信已成為主流選擇,但在某些特殊領(lǐng)域仍然需要并行通信來滿足高速數(shù)據(jù)傳輸需求。
2.單工和雙工
-
單工通信(Simplex):在單工通信中,數(shù)據(jù)只能在一個方向上進(jìn)行傳輸。一個設(shè)備只能發(fā)送數(shù)據(jù),而另一個設(shè)備只能接收數(shù)據(jù)。這種通信模式類似于單向街道,只能在一個方向上進(jìn)行通行。典型的示例是廣播電臺向聽眾廣播信號,而聽眾無法向廣播電臺發(fā)送信號。
-
半雙工通信(Half Duplex):在半雙工通信中,數(shù)據(jù)可以在兩個方向上進(jìn)行傳輸,但不能同時進(jìn)行。設(shè)備可以在某個時間段內(nèi)發(fā)送數(shù)據(jù),然后切換為接收模式以接收數(shù)據(jù)。這就像是一個雙向的單車道,交通只能在一個方向上進(jìn)行,而不能同時在兩個方向上進(jìn)行。對講機(jī)是一個常見的半雙工通信示例,其中一方說話時,另一方必須等待。
-
全雙工通信(Full Duplex):在全雙工通信中,數(shù)據(jù)可以在兩個方向上同時進(jìn)行傳輸,實現(xiàn)雙向通信。設(shè)備可以同時發(fā)送和接收數(shù)據(jù),沒有時間限制。這就像是雙向的雙車道,車輛可以同時在兩個方向上行駛。典型的全雙工通信示例是電話通話。通話雙方可以同時說話和聽對方說話。
選擇單工、半雙工或全雙工通信取決于具體的應(yīng)用需求。如果只需要單向傳輸數(shù)據(jù),單工通信可能是合適的選擇。如果需要在兩個方向上交替?zhèn)鬏敂?shù)據(jù),但不需要同時進(jìn)行,半雙工通信會更合適。而如果需要在兩個方向上同時進(jìn)行雙向通信,全雙工通信是最合適的選擇。
一.UART
1.概述
UART(通用**異步
收發(fā)傳輸器)是一種用于串行
通信的標(biāo)準(zhǔn)接口協(xié)議。它是一種簡單但功能強(qiáng)大的通信協(xié)議(全雙工
**),先傳低位,后傳高位
。廣泛應(yīng)用于電子設(shè)備之間的數(shù)據(jù)傳輸,在嵌入式系統(tǒng)中常用于主機(jī)和輔助設(shè)備之間
的通信。
UART使用兩根線(數(shù)據(jù)線和時鐘線)來進(jìn)行數(shù)據(jù)傳輸,UART協(xié)議定義了數(shù)據(jù)的傳輸格式,包括數(shù)據(jù)位數(shù)、奇偶校驗位、停止位
等。它通常使用ASCII碼來表示字符數(shù)據(jù),但也可以傳輸二進(jìn)制數(shù)據(jù)。通常情況下,UART的數(shù)據(jù)傳輸速率(波特率)可以根據(jù)具體應(yīng)用需求進(jìn)行配置,典型的波特率有9600、19200、115200等。
UART接口在各種設(shè)備和應(yīng)用中廣泛使用,例如計算機(jī)、微控制器、傳感器、調(diào)制解調(diào)器、GPS接收器等。它的簡單性和可靠性使得UART成為許多串行通信需求的首選協(xié)議。
2.波特率
波特率(Baud Rate)是指單位時間內(nèi)傳送的碼元(數(shù)字)數(shù),通常用每秒鐘傳輸?shù)谋忍財?shù)(bit/s)來表示。在串行通信中,波特率通常用于表示數(shù)據(jù)傳輸?shù)乃俾?,即每秒鐘可以發(fā)送多少比特的信息。具體來說,波特率指的是發(fā)送方發(fā)送一個碼元所用的時間,和這個碼元所代表的比特數(shù)之間的關(guān)系。
例如,假設(shè)串口的波特率設(shè)置為9600 bps,則在每秒鐘內(nèi)可以傳輸9600個比特的數(shù)據(jù)。這意味著,每秒鐘可以傳輸9600/8=1200個字節(jié)的數(shù)據(jù)(注意,這里的基本傳輸單元是字節(jié),而不是比特,因為在通信中,比特通常是由一些組合成的字節(jié)來表示的)。
3.UART幀格式
UART是一種常見的串行通信接口協(xié)議,用于將數(shù)據(jù)在計算機(jī)和外部設(shè)備之間進(jìn)行傳輸。UART通常用于串口通信,通常數(shù)據(jù)以字節(jié)的形式通過串行線路發(fā)送和接收,空閑時為高電平
。
UART幀格式通常由以下幾部分組成:
-
起始位(Start Bit):UART通信的數(shù)據(jù)幀以一個起始位開始,表示數(shù)據(jù)傳輸?shù)拈_始。起始位通常為邏輯低電平(0)。
-
數(shù)據(jù)位(Data Bits):數(shù)據(jù)位是實際傳輸?shù)臄?shù)據(jù)比特。數(shù)據(jù)位的數(shù)量可以是5、6、7或8位,取決于設(shè)備的設(shè)置。
-
校驗位(Parity Bit):校驗位是用于檢測和糾正數(shù)據(jù)傳輸中的錯誤的附加比特。校驗位可以是奇校驗、偶校驗或無校驗(沒有校驗位)。如果選擇了奇校驗,則校驗位被設(shè)置為確保數(shù)據(jù)位中的1的數(shù)目為奇數(shù)。如果選擇了偶校驗,則校驗位被設(shè)置為確保數(shù)據(jù)位中的1的數(shù)目為偶數(shù)。
-
停止位(Stop Bit):停止位表示數(shù)據(jù)幀的結(jié)束。它通常是一個或多個邏輯高電平(1)。停止位的數(shù)量可以是1、1.5或2個,具體取決于設(shè)備的設(shè)置。
注意:UART空閑位為高電平,UART通信是一種異步通信方式,由于發(fā)送方和接收方的時鐘不同步,因此需要使用起始位和停止位來標(biāo)識每個數(shù)據(jù)幀的開始和結(jié)束。
例如,一個典型的UART幀格式可能是:1個起始位 + 8個數(shù)據(jù)位 + 1個偶校驗位 + 1個停止位。這意味著每個數(shù)據(jù)幀由11個比特組成。
在實際應(yīng)用中,UART幀格式可以根據(jù)具體的需求進(jìn)行定制,例如調(diào)整數(shù)據(jù)位的數(shù)量、校驗位的設(shè)置和停止位的數(shù)量。這取決于設(shè)備之間的通信協(xié)議和通信要求。
三.RS232協(xié)議(基于UART)
1.UART問題
UART具有一些缺點(diǎn),包括:
-
線纜長度限制:UART通信的傳輸距離受到線纜的長度限制。在長距離傳輸時,信號可能會衰減或受到干擾,導(dǎo)致數(shù)據(jù)錯誤或丟失。
-
電氣接口不統(tǒng)一:UART只是對信號的時序進(jìn)行了定義,而未定義接口的電氣特性;UART通信時一般直接使用處理器使用的電平,即TTL電平,但不同的處理器使用的電平存在差異,所以不同的處理器使用UART通信時一般不能直接相連,UART沒有規(guī)定不同器件連接時連接器的標(biāo)準(zhǔn),所以不同設(shè)備間通過UART通信時連接很不方便;
-
時鐘同步問題:UART通信是異步通信,發(fā)送方和接收方的時鐘不同步。這可能導(dǎo)致時鐘差異引發(fā)的數(shù)據(jù)丟失或錯誤。
-
速率限制:UART通信的速率受到波特率的限制。較高的波特率可能會導(dǎo)致更高的傳輸速率,但也會增加傳輸時鐘的要求和電磁干擾的風(fēng)險。
-
通信速度相對較慢:由于UART通信采用的是異步傳輸方式,并且需要在每個數(shù)據(jù)幀中添加起始位、停止位和校驗位等附加信息,因此與其他通信協(xié)議相比,UART的通信速度相對較慢。
因為UART的各種缺點(diǎn),我們在電氣層面又進(jìn)一步規(guī)定了各種協(xié)議
,其中包括RS232協(xié)議
和RS485協(xié)議
。
2.RS232協(xié)議概述
1.接口
該標(biāo)準(zhǔn)規(guī)定采用一個25引腳的DB-25連接器,標(biāo)準(zhǔn)中對連接器的每個引腳的信號內(nèi)容加以規(guī)定)還對各種信號的電平加以規(guī)定;后來IBM的PC機(jī)將RS232簡化成了DB-9連接器,后來成為事實標(biāo)準(zhǔn);現(xiàn)在工業(yè)設(shè)備的RS-232接口一般只使用RXD、TXD、GND三條線;
2,信號
該標(biāo)準(zhǔn)規(guī)定邏輯“1”的電平為-5v
到-15v
,邏輯“0”的電平為+5v
到+15v
,選用該電氣標(biāo)準(zhǔn)的目的在于提高抗干擾能力,增大通信距離,其傳送距離一般可達(dá)15m
。
3.電平轉(zhuǎn)換
雖然很多處理器中都會集成UART控制器,但處理器產(chǎn)生的信號一般都是TTL信號并不是符合RS232標(biāo)準(zhǔn)的信號,所以一般我們還需要在處理器外部去添加電路對信號的電平進(jìn)行轉(zhuǎn)換;通常使用MAX232芯片進(jìn)行轉(zhuǎn)換。
4.RS232缺點(diǎn)
RS-232標(biāo)準(zhǔn)作為一種老式的串行通信標(biāo)準(zhǔn),具有以下幾個方面的缺陷:
-
速度限制:通信速度較低。
-
傳輸距離較短:15m
-
抗干擾性差:RS-232標(biāo)準(zhǔn)的電信號傳輸距離、電源和靜電放電等方面的限制都會影響信號的穩(wěn)定性,易受外部干擾,同時發(fā)送和接收設(shè)備之間的接地電位差可能會導(dǎo)致誤差。
-
接口的信號電平值比較高: 接口的信號電平值較高,易損壞接口電路的芯片,又因為與TTL電平不兼容,所以需要使用電平轉(zhuǎn)換芯片才能與TTL電路連接
四.RS485協(xié)議(基于UART)
1.RS485協(xié)議概述
RS-485是一種串行通信協(xié)議,常用于在遠(yuǎn)距離和噪音環(huán)境下進(jìn)行數(shù)據(jù)通信。以下是有關(guān)RS-485協(xié)議的一些重要信息:
-
物理層特性:RS-485使用差分信號傳輸,其中一對信號線為正極性(+)和負(fù)極性(-)信號線,用于抵消噪音干擾。這種傳輸方式提供了更高的抗干擾性和噪音容忍度,使其非常適用于遠(yuǎn)距離通信。
-
半雙工通信:RS-485是一種半雙工通信協(xié)議,意味著數(shù)據(jù)只能在單個信道上進(jìn)行一個方向的傳輸。因此,在RS-485通信中,一方設(shè)備必須等待另一方設(shè)備完成發(fā)送或接收操作后才能開始通信。
-
多點(diǎn)通信:RS-485支持多個設(shè)備在同一信號線上進(jìn)行通信,允許多點(diǎn)通信拓?fù)浣Y(jié)構(gòu)。每個設(shè)備都有一個唯一的地址,以便其他設(shè)備根據(jù)地址來識別并選擇性地接收數(shù)據(jù)。
-
最大傳輸距離:RS-485可在最大傳輸距離上達(dá)到1500米,這是由于其差分信號傳輸和抗干擾性能較強(qiáng)。相比之下,RS-232通信的傳輸距離通常較短。
-
驅(qū)動能力:RS-485驅(qū)動能力強(qiáng),能夠驅(qū)動較多的接收器,適用于工業(yè)環(huán)境中的長距離數(shù)據(jù)通信需求。
-
信號:RS485標(biāo)準(zhǔn)規(guī)定采用差分信號進(jìn)行數(shù)據(jù)傳輸,兩線間的電壓差為+2v到+6v表示邏輯“1”,兩線間的電壓差為-2v到-6y表示邏輯“0”;使用差分信號能有效地減少噪聲信號的干擾,延長通信距離。RS485接口信號的電平比RS232降低了,所以不易損壞接口電路的芯片,且該電平與TTL電平兼容,可方便地與TTL電路連接
需要注意的是,RS-485僅定義物理層的傳輸規(guī)范,而未定義數(shù)據(jù)幀格式和通信協(xié)議。因此,在實際應(yīng)用中,需要根據(jù)具體需求制定相應(yīng)的協(xié)議和應(yīng)用層通信規(guī)范。
RS-485協(xié)議是一種可靠、抗干擾能力較強(qiáng)的半雙工串行通信協(xié)議,適用于遠(yuǎn)距離傳輸和工業(yè)環(huán)境中的數(shù)據(jù)通信應(yīng)用。
2.電平轉(zhuǎn)換
雖然很多處理器中都會集成UART控制器,但處理器產(chǎn)生的信號一般都是TTL信號并不是符合RS485標(biāo)準(zhǔn)的信號,所以一般我們還需要在處理器外部去添加電路將TTL信號轉(zhuǎn)換成差分信號;
3.RS485優(yōu)勢
根據(jù)您提供的信息,以下是RS-485協(xié)議的一些優(yōu)點(diǎn):
-
信號電平值較低:RS-485接口的信號電平值較低,這意味著它不容易損壞接口電路的芯片。這種特性有助于保護(hù)設(shè)備的硬件,并延長設(shè)備的使用壽命。
-
與TTL電平兼容:RS-485接口與TTL電平兼容,可以方便地與TTL電路連接,這簡化了與其他數(shù)字電路的集成和連接,提高了系統(tǒng)的靈活性和兼容性。
-
通信速度快:RS-485支持較快的通信速度,可以滿足對高速數(shù)據(jù)傳輸?shù)男枨?,適用于實時性要求高的應(yīng)用場景。
-
抗噪聲干擾性強(qiáng):RS-485協(xié)議具有優(yōu)異的抗噪聲干擾性能,這使得它在具有電磁干擾或其他噪聲干擾的環(huán)境中依然能夠保持穩(wěn)定的通信質(zhì)量。
-
傳輸距離較遠(yuǎn):RS-485能夠?qū)崿F(xiàn)較遠(yuǎn)的傳輸距離,最高可達(dá)1500米。這使得它非常適用于需要長距離數(shù)據(jù)傳輸?shù)膽?yīng)用場景,如工業(yè)控制系統(tǒng)、儀器儀表和環(huán)境監(jiān)測等領(lǐng)域。
-
可實現(xiàn)多節(jié)點(diǎn)組網(wǎng):RS-485支持多個設(shè)備在同一總線上進(jìn)行通信,因此可以實現(xiàn)多節(jié)點(diǎn)組網(wǎng)。這種能力使得RS-485適用于需要在多個設(shè)備之間進(jìn)行實時數(shù)據(jù)傳輸和通信的應(yīng)用。
綜上所述,RS-485協(xié)議具有信號電平低、兼容性強(qiáng)、通信速度快、抗干擾性強(qiáng)和傳輸距離遠(yuǎn)的優(yōu)點(diǎn),使其成為一種廣泛應(yīng)用于工業(yè)控制和遠(yuǎn)距離數(shù)據(jù)通信領(lǐng)域的可靠通信協(xié)議。
五.IIC協(xié)議
1.IIC總線協(xié)議簡介
-
IIC總線是PhiLips公司在八十年代初推出的一種
串行
、半雙工
總線主要用于近距離、低速
的芯片之間的通信;IIC總線有兩糧雙向的信號線一根數(shù)據(jù)線SDA
用于收發(fā)數(shù)據(jù),一根時鐘線SCL
用于通信雙方時鐘的同步;IIC總線硬件結(jié)構(gòu)簡單,成本較低,因此在各個領(lǐng)域得到了廣泛的應(yīng)用 -
IIC總線是一種多主機(jī)總線,連接在|IC總線上的器件分為主機(jī)和從機(jī)主機(jī)有權(quán)發(fā)起和結(jié)束一次通信,而從機(jī)只能被主機(jī)呼叫;當(dāng)總線上有多個主機(jī)同時啟用總線時,IIC也具備沖突檢測和仲裁的功能來防止錯誤產(chǎn)生;每個連接到IIC總線上的器件都有一個唯一的地址(7bit),且每個器件都可以作為主機(jī)也可以作為從機(jī)(同一時刻只能有一個主機(jī)),總線上的器件增加和刪除不影響其他器件正常工作;IIC總線在通信時總線上發(fā)送數(shù)據(jù)的器件為發(fā)送器,接收數(shù)據(jù)的器件為接收器;
2.IIC總線通信過程
非常感謝您提供的更詳細(xì)的I2C總線協(xié)議的步驟。下面是對您提到的每個步驟的更詳細(xì)說明:
-
主機(jī)發(fā)送起始信號啟用總線。
-
主機(jī)發(fā)送一個字節(jié)數(shù)據(jù)指明從機(jī)地址和后續(xù)字節(jié)的傳送方向。
-
被尋址的從機(jī)發(fā)送應(yīng)答信號回應(yīng)主機(jī)。
-
發(fā)送器發(fā)送一個字節(jié)數(shù)據(jù)。
-
接收器發(fā)送應(yīng)答信號回應(yīng)發(fā)送器。
循環(huán)步驟4和步驟5:發(fā)送器和接收器之間在每次傳輸一個字節(jié)數(shù)據(jù)后,持續(xù)地循環(huán)執(zhí)行步驟4和步驟5。
n. 通信完成后主機(jī)發(fā)送停止信號釋放總線。
通過這些步驟,主機(jī)和從機(jī)之間可以進(jìn)行可靠的數(shù)據(jù)傳輸和通信。這個協(xié)議的簡潔性和靈活性使得I2C總線協(xié)議成為連接多個設(shè)備進(jìn)行短距離通信的一種常見選擇。
3.IIC尋址方式
- IIC總線上傳送的數(shù)據(jù)是廣義的,既包括地址,又包括真正的數(shù)據(jù).
- 主機(jī)在發(fā)送起始信號后必須先發(fā)送一個字節(jié)的數(shù)據(jù),該數(shù)據(jù)的高7位為從機(jī)地址,最低位表示后續(xù)字節(jié)的傳送方向,'0’表示主機(jī)發(fā)送數(shù)據(jù),'1’表示主機(jī)接收數(shù)據(jù);總線上所有的從機(jī)接收到該字節(jié)數(shù)據(jù)后都將這7位地址與自己的地址進(jìn)行比較,如果相同,則認(rèn)為自己被主機(jī)尋址,然后再根據(jù)第8位將自己定為發(fā)送器或接收器
4.IIC總線信號實現(xiàn)
-
起始信號和停止信號
SCL為高電平時,SDA由高變低表示起始信號
SCL為高電平時,SDA由低變高表示停止信號
起始信號和停止信號都是由主機(jī)發(fā)出,起始信號產(chǎn)生后總線處于占用狀態(tài)停止信號產(chǎn)生后總線處于空閑狀態(tài) -
字節(jié)傳送與應(yīng)答
IIC總線通信時每個字節(jié)為8位長度,數(shù)據(jù)傳送時,先傳送最高位,后傳送低位,發(fā)送器發(fā)送完一個字節(jié)數(shù)據(jù)后接收器必須發(fā)送1位應(yīng)答位來回應(yīng)發(fā)送器即一幀共有9位 -
同步信號
IIC總線在進(jìn)行數(shù)據(jù)傳送時,時鐘線SCL為低電平期間發(fā)送器向數(shù)據(jù)線上發(fā)送一位數(shù)據(jù),在此期間數(shù)據(jù)線上的信號允許發(fā)生變化,時鐘線SCL為高電平期間接收器從數(shù)據(jù)線上讀取一位數(shù)據(jù),在此期間數(shù)據(jù)線上的信號不允許發(fā)生變化,必須保持穩(wěn)定
5.典型IIC時序
-
主機(jī)向從機(jī)發(fā)送數(shù)據(jù)
-
從機(jī)向主機(jī)發(fā)送數(shù)據(jù)
-
主機(jī)先向從機(jī)發(fā)送數(shù)據(jù),然后從機(jī)再向主機(jī)發(fā)送數(shù)據(jù)
注:陰影部分表示數(shù)據(jù)由主機(jī)向從機(jī)傳送,無陰影部分則表示數(shù)據(jù)由從機(jī)向主機(jī)傳送;A表示應(yīng)答,A非表示非應(yīng)答,S表示起始信號,P表示終止信號
六.SPI協(xié)議
1.SPI總線協(xié)議簡介
SPI(Serial_Per ipheral Interfaco)是串行外設(shè)接口的縮寫,SPI是一種高速的
、全雙工
、同步
的串行通信總線
;SPI采用主從方式工作
,一般有一個主設(shè)備和一個或多個從設(shè)備;SPI需要至少4根線,分別是MISO(主設(shè)備輸入從設(shè)備輸出)、MOSI(主設(shè)備輸出從設(shè)備輸入)、SCLK(時鐘)、CS(片選)SPI使用引腳較少且布線方便,所以越來越多的芯片集成了這種通信協(xié)議;
SPI(Serial Peripheral Interface)協(xié)議是一種用于串行通信的同步協(xié)議,通常用于在數(shù)字集成電路之間傳輸數(shù)據(jù)。SPI協(xié)議通常包含以下特點(diǎn):
-
線配置:SPI使用四根線進(jìn)行通信,包括一個主時鐘線(SCLK),一個主輸出/從輸入線(MOSI),一個主輸入/從輸出線(MISO)以及一個片選線(SS)。
-
主從結(jié)構(gòu):SPI協(xié)議通常包括一個主設(shè)備和一個或多個從設(shè)備。主設(shè)備控制通信并負(fù)責(zé)生成時鐘信號,而每個從設(shè)備都有一個片選線,由主設(shè)備控制。
-
全雙工通信:SPI通信是全雙工的,意味著主設(shè)備和從設(shè)備可以同時發(fā)送和接收數(shù)據(jù)。
-
傳輸模式:SPI協(xié)議可以通過調(diào)整時鐘極性和相位來支持四種傳輸模式,以適應(yīng)不同設(shè)備的需求。
-
速率靈活:SPI協(xié)議在不同的設(shè)備上可以以不同的速率進(jìn)行通信,因為時鐘頻率是可調(diào)的。
-
靈活性:SPI協(xié)議具有一定程度的靈活性,可以通過協(xié)商進(jìn)行高速數(shù)據(jù)傳輸,但同時也有較高的實現(xiàn)復(fù)雜度。
2.尋址方式
當(dāng)主設(shè)備要和某個從設(shè)備進(jìn)行通信時,主設(shè)備需要先向?qū)?yīng)從設(shè)備的片選線上發(fā)送使能信號(高電平或者低電平,根據(jù)從機(jī)而定)表示選中該從設(shè)備。
3.通信過程
SPI總線在進(jìn)行數(shù)據(jù)傳送時,先傳送高位,后傳送低位;數(shù)據(jù)線為高電平表示邏輯‘1’,低電平表示邏輯‘0’;一個字節(jié)傳送完成后無需應(yīng)答即可開始下一個字節(jié)的傳送;SPI總線采用同步方式工作,時鐘線在上升沿或下降沿時發(fā)送器向數(shù)據(jù)線上發(fā)送數(shù)據(jù),在緊接著的下降沿或上升沿時接收器從數(shù)據(jù)線上讀取數(shù)據(jù),完成一位數(shù)據(jù)傳送,八個時鐘周期即可完成一個字節(jié)數(shù)據(jù)的傳送;
4.極性和相位
極性和相位
SPI總線有四種不同的工作模式,取決于極性(CPOL)和相位(CPHA)這兩個因素,文章來源:http://www.zghlxwxcb.cn/news/detail-796631.html
- CPOL表示SCLK空閑時的狀態(tài)
CPOL=0,空閑時SCLK為低電平
CPOL=1,空閑時SCLK為高電平 - CPHA表示采樣時刻
CPHA=0,每個周期的第一個時鐘沿采樣
CPHA=1,每個周期的第二個時鐘沿采樣
需要說明的是,對于一個特定的從設(shè)備來說,一般在出廠時就會將;設(shè)計為某種特定的工作模式;我們在使用該設(shè)備時就必須保證主設(shè)備工作模式和該從設(shè)備保持一致,否則是無法進(jìn)行通信的;所以一般我們需要對主設(shè)備的CPOL和CPHA進(jìn)行配置;文章來源地址http://www.zghlxwxcb.cn/news/detail-796631.html
七.IIC和SPI異同點(diǎn)
相同點(diǎn)
- 均采用串行、同步的方式
- 均采用TTL電平,傳輸距離和應(yīng)用場景類似
- 均采用主從方式工作
不同點(diǎn)
- 1IC為半雙工,SPI為全雙工。
- 11C有應(yīng)答機(jī)制,SPI無應(yīng)答機(jī)制。
- 1IC通過向總線廣播從機(jī)地址來尋址,SPI通過向?qū)?yīng)從機(jī)發(fā)送使能信號來尋址。
- 1IC的時鐘極性和時鐘相位固定,SPI的時鐘極性和時鐘相位可調(diào)。
到了這里,關(guān)于五種嵌入式經(jīng)典通信總線協(xié)議的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!