目錄
什么是串行通信?
串行通信的規(guī)格
信號配置與連接器
連接方法
半雙工通信與全雙工通信
非同步通信與同步通信
什么是串行通信?
使用1根或2根收發(fā)數(shù)據(jù)的傳輸線路,一位接一位地連續(xù)收發(fā)數(shù)據(jù)的通信方式。由于能夠以少的信號線連接,故具有抑制線材、中轉(zhuǎn)裝置的成本等的好處。
串行通信的規(guī)格
RS-232C、RS-422A、RS-485是EIA(Electronic Industries Association:美國電子工業(yè)協(xié)會)的通信規(guī)格。其中,在通信規(guī)格中,無論何種用途,RS-232C都是普及得最廣的,在計算機上也屬于標準配置,常被用于連接調(diào)制解調(diào)器、鼠標。在傳感器、調(diào)節(jié)器中,也有許多配置這些接口且可通過通信控制的產(chǎn)品。
RS-232C
在計算機上標準配置等,應(yīng)用最廣泛的串行通信規(guī)格。也叫“EIA-232”。除了規(guī)定各信號線的目的、時機外,還規(guī)定了連接器(D-SUB 25芯或者D-SUB 9芯)。目前正通過添加信號線等修訂規(guī)格,正式名稱為“ANSI/EIA-232-E”。然而,現(xiàn)在依然一般叫做“RS-232C”。
RS-422A
RS-232C具有傳輸距離短,傳輸速度慢等缺點,RS-422A是改良這些缺點形成的規(guī)格。也叫“EIA-422A”。雖然規(guī)定了各信號線的目的、時機,但沒有規(guī)定連接器。眾多支持EIA-422A的產(chǎn)品主要采用D-SUB 25芯或者D-SUB 9芯。
RS-485
這是改良RS-422A連接數(shù)量少的缺點而形成的規(guī)格。也叫“EIA-485”。RS-485是相對RS-422A向上兼容的規(guī)格。雖然規(guī)定了各信號線的目的、時機,但沒有規(guī)定連接器。眾多支持EIA-422A的產(chǎn)品主要采用D-SUB 25芯或者D-SUB 9芯。
參數(shù) | RS-232C | RS-422A | RS-485 |
傳輸模式 | 單向傳輸多點 | 單向傳輸多點 | 多路傳輸 |
最大連接數(shù)量 | 1個驅(qū)動器 1個接收器 | 1個驅(qū)動器 10個接收器 | 32個驅(qū)動器 32個接收器 |
最大傳輸速度 | 20Kbps | 10Mbps | 10Mbps |
最大線纜長度 | 15m | 1200m | 1200m |
工作模式 | 單端 (非平衡型) | 差動(平衡型) | 差動(平衡型) |
連接示意圖 | |||
特點 | 短距離 全雙工 1:1的連接 | 長距離 全雙工 半雙工 1:N的連接長距離 | 全雙工 半雙工 N:N的連接 |
信號配置與連接器
RS-232C 也規(guī)定了使用的連接器、信號配置,實現(xiàn)了標準化。右表說明了D-SUB9芯的信號配置和信號線。
芯號 | 信號名 | 說明 | |
1 | DCD | Data Carrier Detect | 載波檢測 |
2 | RxD | Received Data | 接收數(shù)據(jù) |
3 | TxD | Transmitted Data | 發(fā)送數(shù)據(jù) |
4 | DTR | Data Terminal Read | 數(shù)據(jù)終端就緒 |
5 | SG | Signal Ground | 信號接地或者公共回線 |
6 | DSR | Data Set Ready | 數(shù)據(jù)集就緒 |
7 | RTS | Request To Send | 發(fā)送請求 |
8 | CTS | Clear To Send | 發(fā)送許可 |
9 | RI | Ring Indicator | 被呼叫指示 |
CASE | FG | Frame Ground | 保養(yǎng)接地或者地線 |
連接方法
由于RS-232C頒布了連接器、信號配置的規(guī)格,市面上有眾多符合規(guī)格的線纜出售。但是,裝置有以下幾種,需要根據(jù)連接的裝置區(qū)別使用直連線纜和交叉(反轉(zhuǎn))線纜。
裝置的種類
DCE
Data Communication Equipment(數(shù)據(jù)通信裝置)。是指調(diào)制解調(diào)器、打印機、繪圖機那樣的被動工作的裝置。
DTE
Data Terminal Equipment(終端裝置)。是指計算機那樣的主動工作的裝置。
交叉線纜連接⑴ | 交叉線纜連接⑵ | 直連線纜連接 | ||
DCE ? DCE (Crossover cable) DCE ? DTE (Straight cable) 有關(guān)交叉線纜、直連線纜一覽表,請點擊這里 RS-232C 通信產(chǎn)品一覽 RS-422A/485 通信產(chǎn)品一覽
半雙工通信與全雙工通信
全雙工通信
發(fā)送和接收有各自的傳輸路線,能夠同時進行收發(fā)的方式。
半雙工通信
使用1條傳輸線路,切換發(fā)送和接收進行通信的方式。因此,不能同時通信。
非同步通信與同步通信
由于串行通信使用1根信號線,一位接一位地發(fā)送數(shù)據(jù),因此接收端要正確接收數(shù)據(jù),必須把握發(fā)送端以多大的速度一位接一位地發(fā)送。RS-232C規(guī)定的通信方式有“同步通信”和“非同步(異步)通信”規(guī)格。在計測和控制上使用的外圍設(shè)備一般使用前述全雙工通信和非同步通信。
同步通信
與對方裝置發(fā)送的時鐘或者己方發(fā)生的時鐘同步,收發(fā)數(shù)據(jù)的方式。依據(jù)發(fā)送端為每位數(shù)據(jù)附加的同步信號,進行通信。雖然數(shù)據(jù)傳輸效率高,但缺點是通信步驟復(fù)雜。
非同步通信 異步通信
與彼此與己方發(fā)生的時鐘同步,收發(fā)數(shù)據(jù)的方式。如果傳輸速度的設(shè)置不一致,就不能正常通信。也就是說,無論發(fā)送端還是接收端,都要首先決定一秒傳輸幾位數(shù)據(jù),分別產(chǎn)生頻率與該通信速度相符的同步信號。 由于非同步通信在1根數(shù)據(jù)線上一位接一位地收發(fā)數(shù)據(jù),如果不首先設(shè)置彼此的通信條件,就不能正常通行。讓計算機(控制器)端結(jié)合外圍設(shè)備端設(shè)置是通常的設(shè)置方法。
通信速度
指定一秒發(fā)送幾位。單位為bps(bit Per Second),從300、600、1200、2400、4800、9600、19200等中選擇。使設(shè)置與時機匹配,這樣數(shù)據(jù)的分隔一致,就能夠正常收發(fā)數(shù)據(jù)。為此,為1個數(shù)據(jù)(1個字節(jié))附加起始位,取得正確的時機。
結(jié)束位長度
設(shè)置表示數(shù)據(jù)終止的位的長度。通常從1位、1.5位、2位中選擇。起始位被固定為1位,不用設(shè)置。
數(shù)據(jù)位長度
指定一個數(shù)據(jù)由幾位構(gòu)成。雖然長度因使用的設(shè)備而異,但通常英文字母和數(shù)字符號指定7位,1個字節(jié)的二進制數(shù)據(jù)指定8位。
奇偶校驗的設(shè)置
這是檢查數(shù)據(jù)錯誤的功能,從“偶校驗(EVEN)”、“奇校驗(ODD)”、“無奇偶校驗(NONE)”中選擇。
奇偶校驗的詳細情況
由發(fā)送端為數(shù)據(jù)附加“1”或者“0”的奇偶校驗位,若是EVEN將“1”湊成偶數(shù)個發(fā)送,若是ODD將“1”湊成奇數(shù)個發(fā)送。對于采用EVEN的,接收端檢查數(shù)據(jù)位中的“1”的個數(shù)是不是偶數(shù);對于采用ODD的,接收端檢查數(shù)據(jù)位中的“1”的個數(shù)是不是奇數(shù),以此判斷數(shù)據(jù)是否正常。
握手信號(流量控制)
在設(shè)備之間收發(fā)數(shù)據(jù)時,如果接收端不處于接收狀態(tài),發(fā)送數(shù)據(jù)可能會丟失,為此,在通信中確認彼此的狀態(tài)很重要。握手信號(流量控制)是確保通信可靠性的功能,由發(fā)送端向接收端發(fā)送“數(shù)據(jù)發(fā)送中”的信號,接收端接收該信號,從信號線上讀入數(shù)據(jù)。并向發(fā)送端返回“已接收數(shù)據(jù)”的信號。也就是說,能夠一邊確認彼此的數(shù)據(jù)收發(fā)狀態(tài),一邊傳輸數(shù)據(jù)。
軟件握手信號(XON/XOFF流量控制)
如果接收端的接收緩沖區(qū)剩余空間已不多,向發(fā)送端發(fā)送“XOFF代碼”,請求臨時中斷發(fā)送。在剩余空間足夠時,發(fā)送“XON代碼”,向發(fā)送端請求繼續(xù)發(fā)送的控制方法。
硬件握手信號
不發(fā)送軟件流量控制的XON/XOFF代碼,而自動地接通/斷開控制線路(RTS或者DTR)。需要分別將RTS信號與CTS信號或者DTR信號與DSR信號互相連接起來。