一、數(shù)據(jù)通信分類
計算機(jī)的數(shù)據(jù)傳送方式:有并行和串行兩種。
并行傳送的特點(diǎn)是;各數(shù)據(jù)位同時傳送,傳送速度快、效率高。但需要的數(shù)據(jù)線多,因此傳送成本高。并行數(shù)據(jù)傳送的距離通常小于30米。
串行傳送的特點(diǎn)是;數(shù)據(jù)傳送按位順序進(jìn)行,最少只需一根傳輸線即可完成,成本低,但速度慢。串行數(shù)據(jù)傳送的距離可以從幾米到幾千公里。
按照通信方式分類:同步和異步
異步通信:不帶時鐘同步信號。比如:UART(通用異步收發(fā)器),單總線1-WIRE,CAN總線
在同步通訊中,收發(fā)設(shè)備上方會使用一根信號線傳輸信號,在時鐘信號的驅(qū)動下雙方進(jìn)行協(xié)調(diào),同步數(shù)據(jù)。例如,通訊中通常雙方會統(tǒng)一規(guī)定在時鐘信號的上升沿或者下降沿對數(shù)據(jù)線進(jìn)行采樣。
在異步通訊中不使用時鐘信號進(jìn)行數(shù)據(jù)同步,它們直接在數(shù)據(jù)信號中穿插一些用于同步的信號位,或者將主題數(shù)據(jù)進(jìn)行打包,以數(shù)據(jù)幀的格式傳輸數(shù)據(jù)。通訊中還需要雙方規(guī)約好數(shù)據(jù)的傳輸速率(也就是波特率)等,以便更好地同步。常用的波特率有4800bps、9600bps、115200bps等。
在同步通訊中,數(shù)據(jù)信號所傳輸?shù)膬?nèi)容絕大部分是有效數(shù)據(jù),而異步通訊中會則會包含數(shù)據(jù)幀的各種標(biāo)識符,所以同步通訊效率高,但是同步通訊雙方的時鐘允許誤差小,稍稍時鐘出錯就可能導(dǎo)致數(shù)據(jù)錯亂,異步通訊雙方的時鐘允許誤差較大。
二、 IIC (同步通信)
1、IIC概述 ( 同步通信 )
IIC總線是由Philips公司開發(fā)的一種簡單、 同步 、半雙工雙向的兩線式串口總線。
IIC只需要兩根線進(jìn)行通信,SDA(串行數(shù)據(jù)線)和SCL(串行時鐘線)
SCL線——負(fù)責(zé)產(chǎn)生同步時鐘脈沖。
SDA線——負(fù)責(zé)在設(shè)備間傳輸串行數(shù)據(jù)。該總線可以將多個I2C設(shè)備連接到該系統(tǒng)上。連接到I2C總線上的設(shè)備既可以用作主設(shè)備,也可以用作從設(shè)備
主設(shè)備負(fù)責(zé)控制通信,通過對數(shù)據(jù)傳輸進(jìn)行初始化,來發(fā)送數(shù)據(jù)并產(chǎn)生所需的同步時鐘脈沖。從設(shè)備則是等待來自主設(shè)備的命令,并響應(yīng)命令接收。主設(shè)備和從設(shè)備都可以作為發(fā)送設(shè)備或接收設(shè)備。無論主設(shè)備是作為發(fā)送設(shè)備還是接收設(shè)備,同步時鐘信號都只能由主設(shè)備產(chǎn)生。如果用通用IO口模擬I2C總線,并實現(xiàn)雙向傳輸,則需一個輸入輸出口(SDA),另外還需一個輸出口(SCL)。
1) IIC速率
三、SPI(同步全雙工通信)
SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫,是一種高速的,全雙工,同步的通信總線,SPI的速率比I2C高,一般可以到幾十Mbps,不同的器件當(dāng)主機(jī)和當(dāng)作從機(jī)的速率一般不同。
SPI總線是同步、全雙工雙向的4線式串行接口總線。它是由“單個主設(shè)備+多個從設(shè)備”構(gòu)成的系統(tǒng)。在系統(tǒng)中,只要任意時刻只有一個主設(shè)備是處于激活狀態(tài)的,就可以存在多個SPI主設(shè)備。常運(yùn)用于AD轉(zhuǎn)換器、EEPROM、FLASH、實時時鐘、數(shù)字信號處理器和數(shù)字信號解碼器之間實現(xiàn)通信。為了實現(xiàn)通信,SPI共有4條信號線,分別是:
2) SPI典型應(yīng)用
SPI最典型的應(yīng)用是單主機(jī)單從機(jī),下圖是接線方式,當(dāng)然也可以多從機(jī)
(1) 主設(shè)備出、從設(shè)備入(Master Out Slave In,MOSI):由主設(shè)備向從設(shè)備傳輸數(shù)據(jù)的信號線,也稱為從設(shè)備輸入(Slave Input/Slave Data In,SI/SDI)。(2)主設(shè)備入、從設(shè)備出(Master In Slave Out,MISO):由從設(shè)備向主設(shè)備傳輸數(shù)據(jù)的信號線,也稱為從設(shè)備輸出(Slave Output/Slave Data Out,SO/SDO)。(3)串行時鐘(Serial Clock,SCLK):傳輸時鐘信號的信號線。(4)從設(shè)備選擇(Slave Select,SS):用于選擇從設(shè)備的信號線,低電平有效。SPI 的工作時序模式由CPOL(Clock Polarity,時鐘極性)和CPHA(Clock Phase,時鐘相位)之間的相位關(guān)系決定,CPOL 表示時鐘信號的初始電平的狀態(tài),CPOL 為0 表示時鐘信號初始狀態(tài)為低電平,為1 表示時鐘信號的初始電平是高電平。CPHA 表示在哪個時鐘沿采樣數(shù)據(jù),CPHA 為0 表示在首個時鐘變化沿采樣數(shù)據(jù),而CPHA 為1 則表示在第二個時鐘變化沿采樣數(shù)據(jù)。
UART、SPI、I2C比較①I2C線更少,比UART、SPI更為強(qiáng)大,但是技術(shù)上也更加麻煩些,因為I2C需要有
雙向IO的支持,而且使用上拉電阻,抗干擾能力較弱,一般用于同一板卡上芯片之間的通信,較少用于遠(yuǎn)距離通信。②SPI實現(xiàn)要簡單一些,UART需要固定的波特率,就是說兩位數(shù)據(jù)的間隔要相等,而SPI則無所謂,因為它是有時鐘的協(xié)議。③I2C的速度比SPI慢一點(diǎn),協(xié)議比SPI復(fù)雜一點(diǎn),但是連線也比標(biāo)準(zhǔn)的SPI要少。④UART一幀可以傳5/6/7/8位,I2C必須是8位。I2C和SPI都從最高位開始傳。⑤SPI用片選信號選擇從機(jī),I2C用地址選擇從機(jī)。
四、CAN(同步通信)
CAN是Controller Area Network的簡稱,是一種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò),現(xiàn)在是汽車網(wǎng)絡(luò)的標(biāo)準(zhǔn)協(xié)議。
CAN是控制器局域網(wǎng)絡(luò)的簡稱,是一種能夠?qū)崿F(xiàn)分布式實時控制的串行通信網(wǎng)絡(luò)。CAN總線的功能復(fù)雜且智能。主要用于汽車通信。CAN總線網(wǎng)絡(luò)主要掛在CAN_H和CAN_L,各個節(jié)點(diǎn)通過這兩條線實現(xiàn)信號的串行差分傳輸,為了避免信號的反射和干擾,還需要在CAN_H和CAN_L之間接上120歐姆的終端電阻。
1) CAN電平邏輯
五、 1-WIRE
??單總線是美國DALLAS公司推出的外圍串行擴(kuò)展總線技術(shù),與SPI、I2C串行數(shù)據(jù)通信方式不同,它采用單根信號線,既傳輸時鐘又傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的。
1) 1-WIRE典型框圖
如下是1-WIRE的典型框圖,可以看到微處理器和1-WIRE器件之間只有一根線。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7170瀏覽量
89699 -
IIC
+關(guān)注
關(guān)注
11文章
302瀏覽量
38539 -
串行協(xié)議
+關(guān)注
關(guān)注
0文章
10瀏覽量
7004
發(fā)布評論請先 登錄
相關(guān)推薦
一文讀懂傳感器的原理與結(jié)構(gòu)
串口通信的物理層與協(xié)議層的相關(guān)資料推薦
一文讀懂通信串口(物理接口)2
![<b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>讀懂</b><b class='flag-5'>通信</b><b class='flag-5'>串口</b>(<b class='flag-5'>物理</b><b class='flag-5'>接口</b>)2](https://file1.elecfans.com/web2/M00/81/FA/wKgaomQr0YeARKgtAABsumwpx-0140.jpg)
評論