RS232 協(xié)議及其工作原理
在 RS232 中,“RS”代表推薦標(biāo)準(zhǔn)。它定義了使用 DTE 和 DCE 信號(hào)的串行通信。
從歷史上看,RS232 通信協(xié)議是 EIA(電子工業(yè)聯(lián)盟)/TIA(電信工業(yè)協(xié)會(huì))-232 在 1962 年開發(fā)的舊串行通信協(xié)議?,F(xiàn)代硬件設(shè)計(jì)使用創(chuàng)新的串行通信協(xié)議,如 USB、以太網(wǎng)和 Wi-Fi . 但是,RS232 已被證明是突出的。原因是,與 I2C 和串行 TTL 信號(hào)相比,RS232 信號(hào)傳播的距離更長。此外,它具有更好的抗噪能力。它被證明在不同制造商之間兼容,用于連接計(jì)算機(jī)和調(diào)制解調(diào)器。
什么是 RS232 協(xié)議?
在 RS232 中,“RS”代表推薦標(biāo)準(zhǔn)。它定義了使用 DTE 和 DCE 信號(hào)的串行通信。這里,DTE 是指數(shù)據(jù)終端設(shè)備,DCE 是指數(shù)據(jù)通信設(shè)備。DTE 設(shè)備的示例是計(jì)算機(jī),DCE 是調(diào)制解調(diào)器。形式上,它被指定為 DTE 設(shè)備和 DCE 設(shè)備之間使用串行二進(jìn)制數(shù)據(jù)交換的接口。

DTE(計(jì)算機(jī))將信息串行傳輸?shù)搅硪欢嗽O(shè)備 DCE(調(diào)制解調(diào)器)。在這種情況下,DTE 向 DCE 發(fā)送二進(jìn)制數(shù)據(jù)“11011101”,DCE 向 DTE 設(shè)備發(fā)送二進(jìn)制數(shù)據(jù)“11010101”。
RS232 描述了從 DTE 到 DCE 傳輸?shù)耐ㄓ秒妷弘娖?、電氣?biāo)準(zhǔn)、操作模式和位數(shù)。該標(biāo)準(zhǔn)用于通過電話線路傳輸信息交換。
電氣標(biāo)準(zhǔn)
RS232 的電氣規(guī)范于 1969 年更新。它指定了電壓、轉(zhuǎn)換速率、線路阻抗、操作模式和波特率。
電壓等級(jí)
RS232 的線電壓范圍為 -25V 至 +25V。它們分為信號(hào)電壓和控制電壓。

+3V 到+25V 之間的信號(hào)電壓代表邏輯“1”,-3V 到-25V 之間的信號(hào)電壓代表邏輯“0”。而控制電壓信號(hào)使用負(fù)邏輯,即邏輯“1”表示-3至-25伏,邏輯“0”表示+3V至+25V。從-3V 到+3V 的電壓被認(rèn)為是一個(gè)不確定的狀態(tài)。
轉(zhuǎn)換速率
輸入電壓的變化決定了RS232 驅(qū)動(dòng)器的響應(yīng)速率。這通常被稱為轉(zhuǎn)換率。RS232 標(biāo)準(zhǔn)通過緩慢的上升和下降時(shí)間保持最小壓擺率,以減少相鄰信號(hào)之間的串?dāng)_。通常,允許的最大轉(zhuǎn)換速率為 30V/μsec。
線路阻抗
RS232 驅(qū)動(dòng)器和接收器之間的阻抗橋接被定義為最大化發(fā)射器和接收器之間的電壓傳輸。它在 3KΩ 到 7KΩ 的范圍內(nèi)。
操作模式
RS232 設(shè)備使用單端信號(hào)(兩線)。這意味著一根電線傳輸變化的電壓,另一根電線接地。單端信號(hào)受到驅(qū)動(dòng)器和接收器電路接地電壓差異引起的噪聲的影響。單端技術(shù)的優(yōu)點(diǎn)是,它需要更少的電線來傳輸信息。
波特率
它是每秒傳輸?shù)亩M(jìn)制位數(shù)。RS232 支持的波特率從 110 到 230400。通常使用 1200、4800、9600、115200 的波特率。它決定了數(shù)據(jù)從發(fā)送器發(fā)送到接收器的速度。
注意:發(fā)送端和接收端的波特率必須相同。
通訊接口
RS232 使用 DB9 和 DB25 連接器確定 DTE 和 DCE 之間的通信。D-sub 連接器(DB9、DB25)帶有公母電纜。DB9 連接器有 9 針,DB25 連接器有 25 針,每個(gè)針都有自己的功能。


功能說明
除了電氣特性外,RS232 還定義了串行接口中使用的信號(hào)的功能。其中一些是公共接地、數(shù)據(jù)、控制和定時(shí)信號(hào)。這是 RS232 引腳分配中使用的信號(hào)列表。

除上述信號(hào)外,(一次信號(hào))RS232還提供二次信號(hào),如二次DTE、二次RTS、二次DCD、二次TxD和二次RxD,用于DTE和DCE的可選連接。
串行電纜的類型
為了使DTE 和 DCE 之間的串行通信成為可能,存在兩種類型的 RS232 電纜。它們是零調(diào)制解調(diào)器和直電纜。在零調(diào)制解調(diào)器電纜中,公頭連接器的 TX(發(fā)送器)引腳與母頭的 RX(接收器)引腳相連,公頭的 RX 引腳連接到母頭的 TX 引腳。

下一個(gè)是直通電纜。顧名思義,它是一對一的連接器,即一個(gè)設(shè)備的發(fā)送引腳連接到另一個(gè)設(shè)備的發(fā)送引腳,一個(gè)設(shè)備的接收器引腳連接到另一個(gè)設(shè)備的接收器引腳。除連接外,電纜長度還取決于接線電容。根據(jù)規(guī)范,電纜長度接近 80 英尺。

RS232 通信如何工作?
RS-232 的工作方式可以通過協(xié)議格式來理解。由于 RS-232 是一種點(diǎn)對點(diǎn)的異步通信協(xié)議,它以單一方向發(fā)送數(shù)據(jù)。在這里,同步發(fā)送器和接收器不需要時(shí)鐘。數(shù)據(jù)格式以起始位開始,隨后是 7 位二進(jìn)制數(shù)據(jù)、奇偶校驗(yàn)位和停止位,依次發(fā)送。
協(xié)議格式

發(fā)送以發(fā)送起始位“0”開始。隨后是 7 位 ASCII 數(shù)據(jù)。奇偶校驗(yàn)位附加到此數(shù)據(jù)以進(jìn)行接收器驗(yàn)證。從發(fā)送器發(fā)送的數(shù)據(jù)應(yīng)該在接收器匹配。最后,使用停止位停止傳輸,并由二進(jìn)制“1”表示。一般可以發(fā)送 1 或 2 個(gè)停止位。
在上圖中,ASCII 字符“A”是使用“1”和“0”的串行二進(jìn)制流發(fā)送的。在發(fā)送數(shù)據(jù)時(shí),每個(gè)位之間應(yīng)該有一定的延遲。此延遲被視為無效時(shí)間,RS232 線處于負(fù)邏輯狀態(tài) (-12V)。
什么是握手?
握手是發(fā)送者(發(fā)送者)和接收者之間交換信息信號(hào)的過程。這些信號(hào)在發(fā)射器和接收器之間建立了通信鏈路。在 RS232 中,有兩種類型的握手。它們是硬件握手和軟件握手。

連接器 DB9 和 Db25 用于握手目的。當(dāng)不執(zhí)行握手時(shí),只有 TxD(發(fā)送器)和 RxD 交叉耦合。其他引腳 RTS、CTS、DSR 和 DTR 以環(huán)回方式連接。
為了使用握手技術(shù),RTS 和 CTS 是交叉耦合的。此外,DTR 和 DSR 也以交叉模式連接。
為什么要使用握手?
為了在不丟失數(shù)據(jù)的情況下發(fā)送和接收信息,有必要在發(fā)送器和接收器之間保持穩(wěn)健的通信。為此,使用了緩沖區(qū)。緩沖區(qū)是一個(gè)臨時(shí)存儲(chǔ)位置,它允許發(fā)送器和接收器存儲(chǔ)數(shù)據(jù),直到信息被彼此以不同的速度處理。

在上圖中,發(fā)送器和接收器都有自己的緩沖區(qū)。發(fā)送緩沖區(qū)保存要發(fā)送到接收器的字符。而接收緩沖區(qū)保存從發(fā)送器接收到的字符。如果發(fā)送器以更高的速度發(fā)送數(shù)據(jù),則接收器可能無法接收。在這種情況下,接收方錯(cuò)過了字符“C”。為了避免這種情況,使用了握手。握手允許發(fā)送器和接收器設(shè)備在通信開始之前達(dá)成一致。
硬件握手
數(shù)據(jù)傳輸和接收的流控制是使用硬件握手來完成的。它使用控制信號(hào) DTR、DSR、RTS 和 CTS 信號(hào)。通常,在計(jì)算機(jī)和調(diào)制解調(diào)器之間建立通信時(shí),會(huì)使用 RTS 和 CTS 信號(hào)。
它停止在接收緩沖區(qū)中被替換的數(shù)據(jù)。信號(hào)保持在高電平狀態(tài)(邏輯“1”)以激活握手。
軟件握手
這種類型的握手使用兩個(gè) ASCII 字符進(jìn)行啟停通信。因此,這被稱為軟件流控制。軟件握手使用 XON/XOFF 字符來控制串行通信。'XON' 表示 Ctrl+S 或 ASCII 字符 11,而 'XOFF' 表示 Ctrl+Q 或 ASCII 13。此握手需要 3 根線。它們是 TXD、RXD 和信號(hào) GND。
當(dāng)啟用“XOFF”字符時(shí),通信關(guān)閉,直到發(fā)射器接收到“XON”字符。在某些情況下,接收器緩沖區(qū)可能會(huì)過載,從而導(dǎo)致接收器自動(dòng)向發(fā)送器發(fā)送“XOFF”。
握手如何工作?
在初始狀態(tài)下,RTS 線被 DTE 拉高以喚醒 DCE。在這種狀態(tài)下,不傳輸任何數(shù)據(jù)。之后,DCE 將 CTS 線置于高電平以接收數(shù)據(jù)。這使得 DTE 做出響應(yīng)并將 DTR 設(shè)置為 HIGH 狀態(tài)?,F(xiàn)在,數(shù)據(jù)傳輸發(fā)生了。數(shù)據(jù)傳輸完成后,RTS 和 DTR 都被 DTE 拉低。然后,DCE 將 CTS 線觸發(fā)到 LOW 狀態(tài)。這將停止 DTE 傳輸數(shù)據(jù)。

通過這種方式,DTE 請求進(jìn)行握手,控制通信鏈路并讓 DCE 傳輸數(shù)據(jù)。
RS232和UART的區(qū)別
RS232 和UART協(xié)議的主要區(qū)別在于電壓電平。除此之外,它們都支持半雙工和全雙工通信。
微控制器不能承受 RS232 電壓,可能會(huì)損壞。為避免這種情況,使用了UART(通用異步發(fā)送器接收器)。它以串行形式發(fā)送和接收數(shù)據(jù)。為了進(jìn)行電壓的電平轉(zhuǎn)換,在UART和串口之間使用了MAX232等RS232驅(qū)動(dòng)IC。

好處
RS232的優(yōu)點(diǎn)使其成為系統(tǒng)間通信的標(biāo)準(zhǔn)串行接口,并具有以下優(yōu)點(diǎn)。
簡單的協(xié)議設(shè)計(jì)。
硬件開銷小于并行通信。
短距離應(yīng)用的推薦標(biāo)準(zhǔn)。
兼容 DTE 和 DCE 通信。
用于開發(fā)的低成本協(xié)議。
缺點(diǎn)
RS232 協(xié)議的局限性在于,它不支持全雙工通信,它是一種單端協(xié)議,會(huì)改變地電位。此外,較長的電纜長度會(huì)在串行通信期間引入串?dāng)_。因此,該協(xié)議僅限于長距離通信。
應(yīng)用
RS232 通信用于不同的應(yīng)用。他們之中有一些是:
電傳打字機(jī)設(shè)備。
解調(diào)器應(yīng)用。
PC COM 端口接口。
在嵌入式系統(tǒng)中進(jìn)行調(diào)試。
調(diào)制解調(diào)器和打印機(jī)。
手持設(shè)備。
CNC控制器、軟件調(diào)試器等
條碼掃描儀和銷售點(diǎn) (POS) 終端。
