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