什么是串口通訊協(xié)議?串口通信時(shí)所用的協(xié)議傳輸方式,專業(yè)術(shù)語(yǔ)解釋就是:串口一發(fā)送的數(shù)據(jù)給串口二,兩者都采用特定的數(shù)據(jù)包格式,才能進(jìn)行收發(fā)。如都采用的是RS232協(xié)議,那么他們之間就可以進(jìn)行數(shù)據(jù)收發(fā),這就是串口通信協(xié)議。
在說(shuō)串口常見(jiàn)的幾種通信協(xié)議前,我們需要知道串口通信協(xié)議是包括的有內(nèi)部通信系統(tǒng)協(xié)議,和系統(tǒng)間協(xié)議的。
內(nèi)部系統(tǒng)協(xié)議:常見(jiàn)的有CAN協(xié)議、I2C協(xié)議、SPI協(xié)議
系統(tǒng)間協(xié)議:常見(jiàn)的有USART協(xié)議、UART協(xié)議、USB協(xié)議。
什么是內(nèi)部系統(tǒng)協(xié)議?內(nèi)部系統(tǒng)協(xié)議用于通信電路板上的兩個(gè)設(shè)備。在使用這些系統(tǒng)內(nèi)協(xié)議時(shí),我們將不使用系統(tǒng)內(nèi)協(xié)議而擴(kuò)展微控制器的外圍設(shè)備。使用系統(tǒng)內(nèi)協(xié)議會(huì)增加電路復(fù)雜度和功耗。使用系統(tǒng)內(nèi)協(xié)議,電路復(fù)雜度和功耗降低,成本降低,并且訪問(wèn)數(shù)據(jù)非常安全。
什么是系統(tǒng)間協(xié)議?用于通信兩個(gè)不同設(shè)備的系統(tǒng)間協(xié)議。就像計(jì)算機(jī)與微控制器套件之間的通信一樣。通過(guò)內(nèi)部總線系統(tǒng)進(jìn)行通信。
CAN協(xié)議
CAN代表控制器局域網(wǎng),是一個(gè)串行通信協(xié)議。需要兩條線CAN高(H +)和CAN低(H-),由Robert bosh公司于1985年開(kāi)發(fā)的,用于車載網(wǎng)絡(luò),基于面向消息的傳輸協(xié)議。
CAN協(xié)議常用于汽車、飛機(jī)和醫(yī)療系統(tǒng)中的電子網(wǎng)絡(luò)。
1970年代是汽車制造商開(kāi)始引入新功能的時(shí)代,例如防抱死制動(dòng),空調(diào),齒輪控制,中央操作門鎖等。這些功能確保了額外的接線和復(fù)雜的設(shè)計(jì),從而增加了成本和風(fēng)險(xiǎn)。為了克服這些問(wèn)題,Robert Bosch在1980年代引入了CAN協(xié)議。此串行通信協(xié)議在1993年進(jìn)一步標(biāo)準(zhǔn)化為ISO11898。正是CAN協(xié)議完全改變了高級(jí)傳感器之間的通信。
I2C協(xié)議
I2C總線是由飛利浦半導(dǎo)體公司開(kāi)發(fā)的。其最初目的是提供一種將CPU連接到外圍設(shè)備芯片的簡(jiǎn)便方法。嵌入式系統(tǒng)中的外圍設(shè)備通常作為內(nèi)存映射設(shè)備連接到微控制器。I2C僅需要兩條線即可將所有外設(shè)連接到微控制器。這些稱為SDA和SCL的有源線都是雙向的。SDA線是串行數(shù)據(jù)線,而SCA線是串行時(shí)鐘線。
I2C代表內(nèi)部集成電路。I2C只需兩條線即可將所有外設(shè)連接到微控制器。I2C只需兩條線SDA(串行數(shù)據(jù)線)和SCL(串行時(shí)鐘線)即可在設(shè)備之間傳輸信息,從屬通信協(xié)議的主控。每個(gè)從站都有一個(gè)唯一的地址。主設(shè)備發(fā)送目標(biāo)從設(shè)備的地址和讀/寫標(biāo)志。該地址與該設(shè)備打開(kāi)的任何從設(shè)備匹配,其余從設(shè)備處于禁用模式。一旦地址匹配,在主機(jī)和該從機(jī)之間進(jìn)行通信,并發(fā)送和接收數(shù)據(jù)。發(fā)送器發(fā)送8位數(shù)據(jù),接收器回復(fù)1未確認(rèn)。通訊完成后,主站發(fā)出停止條件。
SPI協(xié)議
SPI代表串行外設(shè)接口,摩托羅拉開(kāi)發(fā)的串行通信協(xié)議之一。有時(shí)SPI協(xié)議也稱為4線協(xié)議,需要實(shí)現(xiàn)MOSI,MISO,SS和SCLK.SPI協(xié)議用于通信主設(shè)備和從設(shè)備。主機(jī)首先使用頻率配置時(shí)鐘。然后,主機(jī)通過(guò)拉片選按鈕選擇特定的設(shè)備進(jìn)行通信。選擇該特定設(shè)備并開(kāi)始主機(jī)與該特定從機(jī)之間的通信。主機(jī)一次僅選擇一個(gè)從機(jī),是一種全雙工通信協(xié)議。在未傳輸?shù)那闆r下,不限于8位字。
USART協(xié)議
USART代表通用的同步和異步發(fā)送器和接收器,是兩種協(xié)議的串口通信。數(shù)據(jù)電纜信號(hào)線標(biāo)記為Rx和TX。該協(xié)議用于逐字節(jié)發(fā)送和接收數(shù)據(jù)以及時(shí)鐘脈沖。這是一種全雙工協(xié)議,意味著同時(shí)以不同的板速發(fā)送和接收數(shù)據(jù)。不同的設(shè)備通過(guò)此協(xié)議與微控制器通信。
UART協(xié)議
UART代表通用異步發(fā)送器和接收器。UART協(xié)議是具有兩個(gè)有線協(xié)議的串口通信。數(shù)據(jù)電纜信號(hào)線標(biāo)記為Rx和Tx。串口通信通常用于發(fā)送和接收信號(hào)。被傳輸并與串口通信接收數(shù)據(jù),而沒(méi)有類脈沖。UART接收數(shù)據(jù)字節(jié)并按順序發(fā)送各個(gè)位。
USAT協(xié)議在嵌入式系統(tǒng)中,通常作為 MCU 的外設(shè); 一般來(lái)說(shuō),由芯片引腳直接引出的一般是 TTL 電平,而中間接有轉(zhuǎn)換芯片的可能就是RS232電平。
UART是半雙工協(xié)議。半雙工意味著具有傳輸和接收數(shù)據(jù)的功能,但不能同時(shí)進(jìn)行。大多數(shù)控制器在電路板上都有硬件UART。使用一條數(shù)據(jù)線來(lái)發(fā)送和接收數(shù)據(jù),具有一個(gè)起始位、一個(gè)8位數(shù)據(jù)和一個(gè)停止位,表示8位數(shù)據(jù)傳輸一個(gè)人的信號(hào)是從高到低。例如:電子郵件、短信、對(duì)講機(jī),工業(yè)物聯(lián)網(wǎng)傳輸設(shè)備串口服務(wù)器。
USB協(xié)議
USB代表通用串行總線。同樣,兩種協(xié)議的串行通信。數(shù)據(jù)電纜信號(hào)線標(biāo)記為D +和D-。此協(xié)議用于與系統(tǒng)外圍設(shè)備進(jìn)行通信。USB協(xié)議用于向主機(jī)和外圍設(shè)備串行發(fā)送和接收數(shù)據(jù).USB通信需要基于系統(tǒng)功能的驅(qū)動(dòng)程序軟件.USB設(shè)備可以在其上傳輸數(shù)據(jù)主機(jī)上沒(méi)有任何請(qǐng)求的總線?,F(xiàn)在,當(dāng)今大多數(shù)設(shè)備都在使用這種技術(shù)與USB協(xié)議進(jìn)行通信。像計(jì)算機(jī)一樣使用USB與ARM控制器通信。USB以不同的模式傳輸數(shù)據(jù)。第一個(gè)是10 kbps至100 kbps的慢速模式;第二個(gè)是全速模式500kbps至10mbps,高速模式25mbps至400Mbps,USB最大電纜長(zhǎng)度為4米。
例如:集線器、開(kāi)關(guān)、鼠標(biāo)、鍵盤、筆式驅(qū)動(dòng)器。