<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 嵌入式物聯(lián)網(wǎng)常用的通信協(xié)議UART、RS-232、RS-422、RS-485、CAN、IIC、SPI

嵌入式物聯(lián)網(wǎng)常用的通信協(xié)議UART、RS-232、RS-422、RS-485、CAN、IIC、SPI

發(fā)布人:程序小鹿 時(shí)間:2022-03-12 來(lái)源:工程師 發(fā)布文章

計算機與嵌入式系統領(lǐng)域的高速串行總線(xiàn)技術(shù)

一、串口通信基礎知識

1、常見(jiàn)的串行通信標準

2、常見(jiàn)的電平信號及其電氣特性

二、UART(通用異步收發(fā)器)協(xié)議

1、UART消息幀格式

三、RS-232、RS-422、RS-485通信協(xié)議

1、RS-232協(xié)議

2、RS-422協(xié)議

2、RS-485協(xié)議

四、CAN通信協(xié)議

1、CAN總線(xiàn)具有以下主要特性:

2、 CAN技術(shù)規范與標準

3、CAN總線(xiàn)報文信號和網(wǎng)絡(luò )拓撲

4.、CAN**通信幀**的介紹

(1)數據幀

(2)遙控幀

(3)錯誤幀

(4)過(guò)載幀

(5)幀間隔

五、I^2^C通信協(xié)議

1、總線(xiàn)簡(jiǎn)介

2、IIC通信過(guò)程

3、IIC典型時(shí)序

六、SPI通信協(xié)議

1、SPI總線(xiàn)的簡(jiǎn)介

2、SPI通信的過(guò)程

一、串口通信基礎知識

1、常見(jiàn)的串行通信標準

目前常見(jiàn)串行通信接口標準有RS-232、RS-422、RS-485等。另外,SPI(串行外設接口)、I2C(內置集成電路)和CNA(控制器局域網(wǎng))通信也屬于串口通信。

2、常見(jiàn)的電平信號及其電氣特性

TTL電平

邏輯1 邏輯0

輸入 >=2.0V <=0.8V

輸出 >=2.4V <=0.4V

噪音容限較低,約為0.4V,MCU芯片引腳都是TTL電平

2. CMOS電平


邏輯1 邏輯0

輸入 >=0.7V <=0.3V

輸出 >=0.8V <=0.1V

噪音容限高于TTL電平,Vcc為供電電壓

3. RS-232電平


電平信號名稱(chēng) 邏輯1 邏輯0

RS-232 -15V ~ -3V 3V ~ 15V

PC的COM口為RS-232電平

4.USB電平


電平信號名稱(chēng) 邏輯1 邏輯0

USB電平 (Vd+- Vd-)>= 200mV (Vd-- Vd+)>= 200mV

采用差分電壓,4線(xiàn)制:Vcc、GND、D+、D-


二、UART(通用異步收發(fā)器)協(xié)議

是一種通用的串行、異步通信總線(xiàn),該總線(xiàn)有兩條數據線(xiàn),可以實(shí)現全雙工的發(fā)送和接收,在嵌入式系統中常用于主機與輔助設備之間的通信。


1、UART消息幀格式



空閑位:不進(jìn)行傳輸數據時(shí),默認為邏輯1,為高電平;

起始位:先發(fā)出一個(gè)邏輯“0”,表示消息幀的開(kāi)始;

數據位:緊接著(zhù)起始位之后,可由5~8位組成,通常傳輸8位即一個(gè)字節。先發(fā)送數據的低位,后發(fā)送數據的高位;

奇偶校驗位:緊接著(zhù)數據位后面(可有可無(wú)),使得“1”的位數應為偶數(偶校驗)或奇數(奇校驗),校驗數據傳輸是否正確;

停止位:它是消息傳輸結束的標志,它可以是1位、1.5位、2位的高電平, 由于數據是在傳輸線(xiàn)上定時(shí)的,并且每一個(gè)設備有其自己的時(shí)鐘,很可能在通信中兩臺設備間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,并且提供計算機校正時(shí)鐘同步的機會(huì )。

波特率:是衡量數據傳輸速率的指標,表示每秒鐘傳輸的位數。例如設置串口的波特率為9600,則表示是1s傳輸9600個(gè)bit的數據,則傳送每個(gè)位的時(shí)間為 1s / 9600 ≈ 104us,從而區分消息幀中每個(gè)位傳輸的數據;

假如從A設備通過(guò)串口傳輸“Hi”給設備B,參數為:波特率9600,無(wú)校驗位,停止位1位

查詢(xún)ASCLL表知道 ‘H’對應的二進(jìn)制表示 0100 1000,‘i’對應的二進(jìn)制表示 0110 1001,發(fā)送效果如下圖所示:


設備A和設備B按照約定的波特率,設備A從start開(kāi)始,每經(jīng)過(guò)104us向設備B發(fā)送一個(gè)bit,同時(shí)設備B每經(jīng)過(guò)104us向設備A接收一個(gè)bit的數據,從而實(shí)現數據的傳輸。

缺點(diǎn):UART一般直接使用TTL信號來(lái)表示0和1,但TTL信號抗干擾能力較差,數據在傳輸過(guò)程中很容易出錯;且TTL信號的通信距離也很短;


三、RS-232、RS-422、RS-485通信協(xié)議

UART只是對信號的時(shí)序進(jìn)行了定義,而未定義接口的電氣特性。

RS-232、RS-422和RS-485標準最初都是由美國電子工業(yè)協(xié)會(huì )制定并發(fā)布的。


1、RS-232協(xié)議

現在工業(yè)控制的RS-232接口一般只使用RXD、TXD、GND三條線(xiàn),且PC機一般采用DB-9連接器;

特性:

工作方式:?jiǎn)味耍ǚ瞧胶猓?/p>

節點(diǎn)數:點(diǎn)對點(diǎn)通訊(1收1發(fā));

最大傳輸距離:50ft ( 50 * 0.3048 = 15.24m);

最大傳輸速率:20kbit/s;

連接方式:點(diǎn)對點(diǎn)(全雙工);

電氣特性:-3V ~ -15V表示邏輯1,3V ~ 15V表示邏輯0;

常用芯片有max232、SP232等

缺點(diǎn):通信距離短,速率低,而且只能點(diǎn)對點(diǎn)通信,無(wú)法組建多機通信系統,且容易受外界電氣干擾導致信息傳輸錯誤。

2、RS-422協(xié)議

RS-422標準定義了一種平衡通信接口,改變了RS-232標準的單端通信的方式,總線(xiàn)上使用差分電壓進(jìn)行信號傳輸。傳輸速率提高到10Mbit/s,傳輸距離長(cháng)達4000ft=1219.2m(速率低于100kbit/s時(shí)),而且運行總線(xiàn)上最多連接10個(gè)接收器。


特性:

工作方式:差分(平衡);

節點(diǎn)數:點(diǎn)對多通訊(1發(fā)10收);

最大傳輸距離:4000ft ( 4000 * 0.3048 = 1219.2m);

最大傳輸速率:10Mbit/s;

連接方式:一點(diǎn)對多點(diǎn)(四線(xiàn)制,全雙工);

電氣特性:2V ~ 6V表示邏輯1,-2V ~ -6V表示邏輯0;

缺點(diǎn):連接的設備少,抗干擾能力不強,無(wú)法完全滿(mǎn)足工業(yè)需求。

常用芯片有max232、SP232等

2、RS-485協(xié)議

RS-485標準運行連接多個(gè)收發(fā)器,即具有多站能力,增加了多點(diǎn)、雙向的通信能力。


特性:

工作方式:差分(平衡);

節點(diǎn)數:點(diǎn)對多通訊(1發(fā)32收);

最大傳輸距離:4000ft ( 4000 * 0.3048 = 1219.2m);

最大傳輸速率:10Mbit/s;

連接方式:多點(diǎn)對多點(diǎn)(兩線(xiàn)制,半雙工);

電氣特性:2V ~ 6V表示邏輯1,-2V ~ -6V表示邏輯0;

常用芯片有max485、SP3072EEN等,以SP3072EEN收發(fā)器芯片的典型應用電路如下


一主多從效果圖:

在RS-485總線(xiàn)網(wǎng)絡(luò )基礎下制定的Modbus應用層通信協(xié)議可參考傳感網(wǎng)應用開(kāi)發(fā)(中級)網(wǎng)絡(luò )協(xié)議報文詳解


四、CAN通信協(xié)議

CAN(Control Area Network,控制器局域網(wǎng))由德國B(niǎo)osch公司于1983年開(kāi)發(fā)出來(lái),最早被應用于汽車(chē)內部控制系統的監測與執行機構間的數據通信,目前是國際上應用最廣泛的現場(chǎng)總線(xiàn)之一。


1、CAN總線(xiàn)具有以下主要特性:

數據傳輸距離遠(最遠10km);

數據傳輸速率高(最高數據傳輸速率1Mbit/s);

具備優(yōu)秀的仲裁機制;

使用篩選器實(shí)現多地址的數據幀傳遞;

借助遙控幀實(shí)現遠程數據請求;

具備錯誤檢測與處理功能;

具備數據自動(dòng)重發(fā)功能;

故障節點(diǎn)可自動(dòng)脫離總線(xiàn)且不影響總線(xiàn)上其它節點(diǎn)的正常工作;

2、 CAN技術(shù)規范與標準

ISO 11898標準的CAN通信數據傳輸速率為125kbit/s~1Mbit/s,適合高速通信應用場(chǎng)景;而ISO 11519標準的CAN通信數據傳輸速率為125kbit/s以下,適合低速通信應用場(chǎng)景。

CAN技術(shù)規范主要主要對OSI基本參考模型中的物理層(部分)、數據鏈路層和傳輸層(部分)進(jìn)行了定義。

3、CAN總線(xiàn)報文信號和網(wǎng)絡(luò )拓撲

ISO 11898在靜態(tài)時(shí)兩條信號線(xiàn)上電平電壓均為2.5V左右(電位差0V),此時(shí)的狀態(tài)表示1(稱(chēng)為“隱性電平”狀態(tài)),當CAN_H上的電壓值為3.5V且CAN_L上的電壓值為1.5V時(shí),兩線(xiàn)的電位差為2V,此時(shí)的狀態(tài)表示邏輯0(稱(chēng)為“顯性電平”狀態(tài))。

ISO 11519標準在靜態(tài)時(shí),當CAN_H上的電壓值為4.0V且CAN_L上的電壓值為1.0V時(shí),兩線(xiàn)的電位差為3.0V,,此時(shí)的狀態(tài)表示0(稱(chēng)為“顯性電平”狀態(tài)),當CAN_H上的電壓值為1.75V且CAN_L上的電壓值為3.25V時(shí),兩線(xiàn)的電位差為-1.50V,此時(shí)的狀態(tài)表示邏輯1(稱(chēng)為“隱性電平”狀態(tài))。


CAN總線(xiàn)網(wǎng)絡(luò )拓撲圖如下:

高速CAN總線(xiàn)ISO 11898網(wǎng)絡(luò )被應用在汽車(chē)動(dòng)力與傳動(dòng)系統,它是閉環(huán)網(wǎng)絡(luò ),總線(xiàn)最大長(cháng)度是40m,求端各有一個(gè)120Ω的電阻。

低速CAN總線(xiàn)ISO 11519網(wǎng)絡(luò )被應用在車(chē)身系統,它的兩根總線(xiàn)是獨立的,不形成閉環(huán),要求每根總線(xiàn)上各串聯(lián)一個(gè)2.2kΩ的電阻。

傳輸介質(zhì)可用雙絞線(xiàn)、同軸電纜和光纖。


4.、CAN通信幀的介紹

(1)數據幀

用途:用于發(fā)送單元向接收單元傳送數據


數據幀由7個(gè)段構成

幀起始,表示數據幀和遠程幀的起始,他僅由一個(gè)“顯性電平”位組成。

仲裁段,是表示幀優(yōu)先級的段。標準幀的仲裁段由11bit的標識符ID和RTR(遠程發(fā)送請求)位組成;擴展幀的仲裁段由29bit的標識符ID、SRR(替代遠程請求位)、IDE位和RTR為構成。

控制段,是表示數據的字節數和保留位的段,標準幀與擴展幀的控制段格式不同。

數據段,用于承載數據的內容,它包含0~8B的數據,從MSB(最高有效位)開(kāi)始輸出。

CRC段,是用于檢查幀傳輸是否錯誤的段,它由15bit的CRC序列和1bit的CRC界定符(用于分隔)構成。

ACK段,是用于確認接收是否正確的段,它由ACK槽和ACK界定符(用于分隔)構成,長(cháng)度為2bit

幀結束,用于表示數據幀的結束,它由7bit的隱性位構成。


(2)遙控幀

用途:用于接收單元向具有相同ID的發(fā)送單元請求數據。



(3)錯誤幀

用途:用于當檢測出錯誤時(shí)向其他單元通知錯誤。




(4)過(guò)載幀

用途:用于接收單元通知發(fā)送單元其尚未做好接收準備。



(5)幀間隔

用途:用于分隔數據幀和遙控幀的幀。

幀間隔的構成元素有三個(gè):

一是間隔,它由3bit的隱性位構成。

二是總線(xiàn)空閑,它由隱性電平構成,且無(wú)長(cháng)度限制。只有在總線(xiàn)處于空閑狀態(tài)下,要發(fā)送的單元才開(kāi)始訪(fǎng)問(wèn)總線(xiàn)。

三是延遲傳送,它由8bit的隱性位構成。



五、I2C通信協(xié)議

1、總線(xiàn)簡(jiǎn)介

IIC(Inter-Integrated Circuit)其實(shí)是IICBus簡(jiǎn)稱(chēng),所以中文應該叫集成電路總線(xiàn),它是一種串行通信總線(xiàn),使用多主從架構,由飛利浦公司在1980年代為了讓主板、嵌入式系統或手機用以連接低速周邊設備而發(fā)展;IIC總線(xiàn)有兩根雙向的信號線(xiàn),一根數據線(xiàn)SDA用于收發(fā)數據,一根時(shí)鐘線(xiàn)SCL用于通信雙方時(shí)鐘的同步。



2、IIC通信過(guò)程

主機發(fā)送起始信號啟用總線(xiàn);

主機發(fā)送一個(gè)字節數據指明從機地址和確定后續主機從機的傳遞方向;

IIC總線(xiàn)上各從機判斷主機發(fā)送的從機地址是否是自己,匹配的從機發(fā)送應答信號回應主機;

發(fā)送器發(fā)送一個(gè)字節數據;

接收器發(fā)送應答信號回應發(fā)送器;

…(循環(huán)重復步驟4、5);

最后通信完成后主機發(fā)送停止信號釋放總線(xiàn);

IIC總線(xiàn)發(fā)送和停止時(shí)序圖:


IIC總線(xiàn)發(fā)送數據時(shí)序圖:



3、IIC典型時(shí)序

主機向從機發(fā)送數據

從機向主機發(fā)送數據


3.主機先向從機發(fā)送數據,然后從機再向主機發(fā)送數據


六、SPI通信協(xié)議

1、SPI總線(xiàn)的簡(jiǎn)介

SPI是由摩托羅拉公司開(kāi)發(fā)的高速全雙工同步串行通信協(xié)議(一主多從)。 有點(diǎn)類(lèi)似IIC,但又與IIC選通從設備的方式不同,IIC是通過(guò)發(fā)送從機地址來(lái)選通從機,而SPI是通過(guò)拉低連接到從機的NSS引腳對從機進(jìn)行選通的。


SPI一般應用由四個(gè)引腳組成(一主多從):


SCLK(Serial Clock):串行時(shí)鐘,由主機發(fā)出;

MOSI(Maser Output,Slave Input):主機輸出從機輸入信號,由主機發(fā)出;

MISO(Master Input,Slave Output):主機輸入從機輸出信號,由從機發(fā)出;

NSS(Slave Selected):選擇信號,由主機發(fā)出,一般是低電位有效。

SPI主從連接如圖所示:


2、SPI通信的過(guò)程

SPI是串行通信協(xié)議,但是主機占用的引腳明顯比IIC和UART多,而主機引腳數會(huì )隨著(zhù)從機數量增多而增多。主機在通過(guò)MOSI數據線(xiàn)發(fā)送數據的同時(shí),從機也會(huì )通過(guò)MISO將數據傳輸給主機(收發(fā)同時(shí)進(jìn)行),它們以虛擬似緩形拓撲連接。數據通常先移出最高位,在時(shí)鐘邊沿,主機和從機均移出一位,然后在傳輸線(xiàn)上輸出給對方(改變數據)。在下一個(gè)時(shí)鐘沿,主從設備的接收器都從傳輸線(xiàn)接受該位,并設置為移位寄存器的新的最低有效位(采樣數據)。在完成這樣一個(gè)移出一移入的周期后,主機和從機就交換了寄存器中的一位,傳輸可能會(huì )持續任意數量的時(shí)鐘周期。傳輸完成后,主設備會(huì )停止時(shí)鐘信號,并拉高NSS選通線(xiàn)。


圖片無(wú)法轉載,詳情可到https://blog.csdn.net/a6662580/article/details/122601481查看


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。




相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>