RS-232接口符合美國電子工業聯盟(EIA)制定的串行數據通信的接口標準,原始編號全稱是EIA-RS-232(簡稱232,RS232)。它被廣泛用于計算機串行接口外設連接。
RS-232是現在主流的串行通信接口之一。由于RS232接口標準出現較早,難免有不足之處,主要有以下四點:
(1)接口的信號電平值較高,易損壞接口電路的芯片。RS232接口任何一條信號線的電壓均為負邏輯關系。即:邏輯"1"為-3- -15V;邏輯"0":+3- +15V ,噪聲容限為2V。即要求接收器能識別高于+3V的信號作為邏輯"0",低于-3V的信號作為邏輯"1",TTL電平為5V為邏輯正,0為邏輯負 。與TTL電平不兼容故需使用電平轉換電路方能與TTL電路連接。
(2)傳輸速率較低,在異步傳輸時,波特率為20Kbps
(3)接口使用一根信號線和一根信號返回線而構成共地的傳輸形式,這種共地傳輸容易產生共模干擾,所以抗噪聲干擾性弱。
(4)傳輸距離有限,最大傳輸距離標準值為50英尺,實際上也只能用在15米左右。
串口232有兩種,第一種:DB9;第二種:DB25;下面分別介紹。
DB9接口接線說明:
2 RXD 接收數據
3 TXD 發送數據
4 DTR 數據終端準備好
5 SGND信號地線
6 DSR數據準備好
7 RTS 請求發送
8 CTS 清除發送
9 RI 振鈴提示
DB25接口接線說明:
1 屏蔽地線
2 TXD 發送數據
3 RXD 接收數據
4 RTS 請求發送
5 CTS 允許發送
6 DSR 數據準備好
7 SG 信號地
8 DCD 載波檢測
9 發送返回(+)
10 未定義
11 數據發送(-)
12~17 未定義
18 數據接收(+)
19 未定義
20 數據終端準備好 DTR
21 未定義
22 振鈴 RI
23~24 未定義
25 接收返回
實際應用中使用最多的是DB9接口,如果遇到DB25接口后可以通過更改接線方法來轉換。DB25轉DB9的接線方法。
在RS-232標準中,字符是以一串行的比特串來一個接一個的串行(serial)方式傳輸,優點是傳輸線少,配線簡單,傳送距離可以較遠。最常用的編碼格式是異步起停(asynchronous start-stop)格式,它使用一個起始比特后面緊跟7或8 個數據比特(bit),然后是可選的奇偶校驗比特,最后是一或兩個停止比特。所以發送一個字符至少需要10比特,帶來的一個好的效果是使全部的傳輸速率,發送信號的速率以10劃分。一個最平常的代替異步起停方式的是使用高級數據鏈路控制協議(HDLC)。
在RS-232標準中定義了邏輯1和邏輯0電壓級數,以及標準的傳輸速率和連接器類型。信號大小在正的和負的3-15v之間。RS-232規定接近0的電平是無效的,邏輯1規定為負電平,有效負電平的信號狀態稱為傳號marking,它的功能意義為OFF,邏輯0規定為正電平,有效正電平的信號狀態稱為空號spacing,它的功能意義為ON。根據設備供電電源的不同,±5、±10、±12和±15這樣的電平都是可能的。
RS-232設計之初是用來連接調制解調器做傳輸之用,也因此它的腳位意義通常也和調制解調器傳輸有關。RS-232的設備可以分為數據終端設備(DTE,Data Terminal Equipment, For example, PC)和數據通信設備(DCE,Data Communication Equipment)兩類,這種分類定義了不同的線路用來發送和接受信號。一般來說,計算機和終端設備有DTE連接器,調制解調器和打印機有DCE連接器。但是這么說并不是總是嚴格正確的,用配線分接器測試連接,或者用試誤法來判斷電纜是否工作,常常需要參考相關的文件說明。
串行通信在軟件設置里需要做多項設置,最常見的設置包括波特率(Baud Rate)、奇偶校驗(Parity Check)和停止位(Stop Bit)。
波特率(又稱鮑率):是指從一設備發到另一設備的波特率,即每秒鐘多少比特bits per second (bit/s)。典型的波特率是300, 1200, 2400, 9600, 15200, 19200等bit/s。一般通信兩端設備都要設為相同的波特率,但有些設備也可以設置為自動檢測波特率。
奇偶校驗(Parity:是用來驗證數據的正確性。奇偶校驗一般不使用,如果使用,那么既可以做奇校驗(Odd Parity)也可以做偶校驗(Even Parity)。奇偶校驗是通過修改每一發送字節(也可以限制發送的字節)來工作的。如果不作奇偶校驗,那么數據是不會被改變的。在偶校驗中,因為奇偶校驗位會被相應的置1或0(一般是最高位或最低位),所以數據會被改變以使得所有傳送的數位(含字符的各數位和校驗位)中"1"的個數為偶數;在奇校驗中,所有傳送的數位(含字符的各數位和校驗位)中"1"的個數為奇數。奇偶校驗可以用于接受方檢查傳輸是否發送生錯誤--如果某一字節中"1"的個數發生了錯誤,那么這個字節在傳輸中一定有錯誤發生。如果奇偶校驗是正確的,那么要么沒有發生錯誤要么發生了偶數個的錯誤。如果用戶選擇數據長度為8位,則因為沒有多余的比特可被用來作為同比特,因此就叫做"無位元(Non Parity)"。
停止位:是在每個字節傳輸之后發送的,它用來幫助接受信號方硬件重同步。
RS232讀寫時序圖:
下面列舉一下編程實例。因為RS232編程使用51單片機的歷程太多了,所以我給大家分享一個由DSP編寫的RS232通信例程。DSP由于庫文件和頭文件比較大,所以我只是把通信部分程序分享出來。如果需要完整項目,可以發送信息到公眾號里。我們看到后會盡快回復并發送到你的郵箱里。
程序簡要說明:開發環境CCS4.2,芯片TMS320F2812,模式:中斷方式讀寫
使用模塊:SCIA模塊
DSP串口通信與單片機串口通信是有很大區別的,但是基本的通信流程相同。首先是配置GPIO(因模式較多所以需要配置,普通單片機不需要配置),配置完成后是通信參數設置,參數設置完成后就可以利用中斷來發送和接收了。(發送也可以不使用中斷,我只是寫了一個歷程,實際使用中要根據功能來寫,我寫的發送是一直在發數據),下面是程序。
責任編輯:PSY
原文標題:工業RS-232接口總線原理與應用方案
文章出處:【微信公眾號:開源嵌入式】歡迎添加關注!文章轉載請注明出處。
-
RS-232
+關注
關注
0文章
388瀏覽量
49933 -
串口通信
+關注
關注
34文章
1626瀏覽量
55528 -
RS-232接口
+關注
關注
0文章
42瀏覽量
14291
原文標題:工業RS-232接口總線原理與應用方案
文章出處:【微信號:KY_QRS,微信公眾號:開源嵌入式】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論