“串口”是串行通信接口的簡稱,所謂“串行通信”是指數據按位依次發送的通信方式。常見的串口有:RS232和RS485。雖然串口通信誕生的時間較早,但它仍然活躍在當今工業自動化控制領域。今天這篇文章,我們來深入介紹下RS232串口。本文包括如下幾個主題:
1、RS232的歷史
2、RS232的接口
4、RS232的電平轉換芯片
5、RS232的數據傳輸
1、RS232的歷史
RS232是美國電子工業協會(Electronic Industries Association ,EIA)于1962年頒布的通信標準,其全稱是:DTE和DCE的電氣/機械接口標準。“DTE”是英文“Data Terminal Equipment ”的縮寫,翻譯為“數據終端設備”,比如計算機;“DCE”是英文“Data Circuit-terminating Equipment”的縮寫,翻譯為“數據電路端接設備”。也有將其寫作“Data Communication Equipment”,翻譯為“數據通信設備”,比如調制解調器。“RS232”名稱中的“RS”是“Recommand Standard”的縮寫,表示“推薦標準”。“232”是標識號。早期的RS232是為了實現計算機、程控電話、調制解調器之間通信而制定的標準,后來經過多次改版,成了一種通用的串行通信標準。RS232的改版信息如下:
1969年C版本(RS232-C);
1986年D版本(RS232-D);
1991年E版本(RS232-E);
1997年F版本(RS232-F);
目前,在工業自動化領域,RS232多用于觸摸屏、讀卡器、掃碼槍、打印機等設備與PLC之間的通信。
2、RS232的接口
在F版本之前,RS232使用25針串行接口,分為公頭(Male)和母頭(Female)兩種,公頭用于DTE設備,母頭用于DCE設備,如下圖所示:
實物如下圖所示:
針腳定義見下面的表格:
編號 | 名稱 | 縮寫 |
---|---|---|
1 |
Shield/ 屏蔽 |
|
2 |
Transmitted Data/ 發送數據 |
TxD |
3 |
Received Data/ 接收數據 |
RxD |
4 |
Request To Send/ 請求發送 |
RTS |
5 |
Clear To Send/ 允許發送 |
CTS |
6 |
DCE Ready/Data Set Ready 數據集就緒 |
DSR |
7 |
Signal ground/common return 信號接地 |
SG |
8 | Received line signal detector | |
9 |
Reserved for data set testing/ 保留 |
|
10 |
Reserved for data set testing/ 保留 |
|
11 |
Unassigned/ 未分配 |
|
12 | Secondary received line signal detector | |
13 | Secondary Clear To Send | (S)CTS |
14 | Secondary Transmitted Data | (S)TxD |
15 | Transmission signal element timing | |
16 | Secondary Received Data | (S)RxD |
17 | Receiver Signal Element Timing(DCE) | |
18 | Local Loopback | |
19 | Secondary Request To Send | (S)RTS |
20 | DTE Ready/Data Terminal Ready | DTR |
21 |
Remote Loopback/ Signal Quality Detector |
|
22 | Ring Indicator | RI |
23 | Data Signal Rate Selector | |
24 | Transmit signal element timing (DTE) | |
25 | Test Mode |
25針串口針腳太多,用起來比較繁瑣。為了簡化RS232串口,在F版本中定義了9針串口,同樣包括公頭(用于DTE)和母頭(用于DCE)兩種,如下圖所示:
針腳定義見下面的表格:
編號 | 名稱 | 縮寫 |
---|---|---|
1 |
Data Carrier Detect/ 數據載波監測 |
DCD |
2 |
Received Data/ 接收數據 |
RxD |
3 |
Transmitted Data/ 發送數據 |
TxD |
4 |
Data Terminal Ready/ 數據終端就緒 |
DTR |
5 |
Ground/ 接地 |
GND |
6 |
Data Set Ready/ 數據集就緒 |
DSR |
7 |
Request To Send/ 請求發送 |
RTS |
8 |
Clear To Send/ 允許發送 |
CTS |
9 |
Ring Indicator/ 振鈴提示 |
RI |
PLC被視為DTE設備,其RS232串口為公頭。比如S7-1200的串口模塊CM1241 RS232其串口為公頭,如下圖所示:
對于DTE和DTC的通信,可以使用直連的方式,如下圖所示:
對于兩個DTE(比如PLC和掃碼槍)之間的通信,應采用交叉連接的方式。可以將所有引腳相互連接,如下圖所示:
可以采用最小連接的方式,僅使用三根線,將雙方的TxD和RxD互連,GND互連,如下圖所示:
這種DTE直接連接,不經過DCE的連接也稱為“ null modem”連接,這類電纜稱為“null modem”電纜或交叉電纜。
3、RS232的電氣信號
RS232接收-發送端的電信號是相對于公共地線(GND)的電壓信號。當電壓差值在+3V~+15V之間表示邏輯“0”,當電壓差值在-3V~-15V之間表示邏輯“1”,電壓差值在-3V~+3V之間沒有定義。3V是最小的可檢測電壓信號,實際使用時期望電壓差的絕對值在5V~15V之間,即:發送數據時,發送端驅動器輸出正電壓信號+5V~+15V,表示邏輯“0”;負電壓信號-5V~-15V表示邏輯1。接收數據時,只要是檢測到大于3V的電信號,即將其視為有效信號。
4、RS232的電平轉換芯片
單片機的引腳輸出的是TTL電平,需要使用專用的轉換芯片(TI公司的MAX3232或者ST公司的ST3232等)將其轉換為RS232電平。詳細內容請看我之前的文章:RS232電平和TTL電平有什么不同?如何轉換?
5、RS232的數據傳輸
數據傳輸涉及的第一個概念是波特率。我們知道串行通信的傳輸是一位接著一位的,其傳輸單位為:位(bit)。因此,波特率的定義就是在單位時間內傳輸的位的個數。國際公用的單位時間為秒(s),因此波特率的單位為:bit/s(b/s),也寫作bps(bit per second)。
波特率有一定的選擇范圍(并非任意值),常見的波特率有:9600,38400,56000,115200等。還有很多其它的值,通信雙方約定好相同的波特率即可。
RS232是一種點對點的通信,其數據幀由起始位、數據位、校驗位、停止位四部分組成。
起始位:長度1,數據值等于邏輯0,表示開始發送數據;
數據位:長度8或7,表示實際發送的數據;
校驗位:長度0(無校驗)或1(奇校驗或偶校驗);
停止位:長度1、1.5或者2,數據值等于邏輯1,表示數據幀發送結束;
假設某RS232通信設置數據位=7,奇校驗,停止位=2,則幀和邏輯值如下圖所示:
接下來我們做一個計算。
假設某RS232通信設置波特率=9600,數據位=8,無校驗(=0),停止位=1。請問該通信參數下,每秒鐘可傳輸多少個字節的數據?
答:根據參數可知,該通信的幀長度=1+8+1=10 位(bit),在該幀中傳輸了一個字節(8位)。因此對于9600的波特率,每秒鐘最多可傳輸實際數據=9600/10=960字節。
關于數據傳輸還有流控制等內容。本文實在有點長,就留到后期介紹吧。我的書《西門子S7-1200/1500 PLC SCL語言編程 ——從入門到精通》通信部分也對RS232有比較詳細的介紹,感興趣的話可以看看下面的鏈接:
審核編輯:湯梓紅
-
數據傳輸
+關注
關注
9文章
1981瀏覽量
65194 -
RS485
+關注
關注
39文章
1181瀏覽量
83129 -
RS232
+關注
關注
13文章
763瀏覽量
95039 -
串口
+關注
關注
14文章
1575瀏覽量
78060 -
串行通信
+關注
關注
4文章
582瀏覽量
35820
原文標題:深入理解RS232串口
文章出處:【微信號:方正智芯,微信公眾號:方正智芯】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
rs232串口通信原理
rs232串口是什么,RS232串口介紹

rs232串口接線,RS232串口通信基本接線方法

實現RS232串口通信的資料合集

評論