RS-232 接口,RS-232 接口是什么意思
RS-232的最初標(biāo)準(zhǔn)建議將電纜長度限制在50 ft以內(nèi),對于≤20 000 b/s的數(shù)據(jù)傳輸速度,可以使用任何類型的電纜。
本文引用地址:http://m.butianyuan.cn/article/201612/329561.htm后來的標(biāo)準(zhǔn)是在接收器規(guī)定了一個最大的電容2500 pF。這個數(shù)值包括了接收器的電容、電纜中連接器之間的動態(tài)電容以及導(dǎo)線與電纜屏蔽之間,或者在非屏蔽電纜中,導(dǎo)線和地線之間的電容。電容限制了回轉(zhuǎn)速度,或者在輸出切換的時候的電壓變化速度。一個較高的電容導(dǎo)致一個較低的回轉(zhuǎn)速度和較慢的躍遷。一個較高的電容還意味著一個電壓變化需要更大的電流來對電容充電,因此驅(qū)動器總的電能消耗要更大一些。在導(dǎo)線之間的電容還能導(dǎo)致干擾。如果想要使用一個超出了電容限制的連接,可能仍舊能夠進(jìn)行通信,但是以更低的波特率。利用短電纜及相應(yīng)的更小的電容,如果發(fā)送和接收端硬件都支持更高的速度,則可以比20 000 b/s更快的速度進(jìn)行通信。
5.1) 非屏蔽電纜
對于非屏蔽電纜,計算非屏蔽電纜的電纜長度的公式如下:
??電纜長度=(2500—接收器輸入電容)/(電纜電容×1.5)?
? 電纜長度的單位是ft,輸入電容的單位是pF,電纜電容的單位是pF/ft。
帶狀電纜的典型電容是15 pF/ft,假定接收器的輸人電容是100 pF,電纜最長可以達(dá)到106 ft((2500—100)/(15×1.5) )。一個單根非屏蔽雙絞線的典型電容是12 pF/ft。仍然假定輸入電容為100 pF, 則最大電纜長度為133ft。
5.2) 屏蔽電纜
為電纜增加屏蔽縮短了最大長度,但是屏蔽有時對于阻止噪聲混入電纜或者從電纜中“溢出”是需要的。對于屏蔽的雙絞線,建議將導(dǎo)線到導(dǎo)線電容乘以3以便把導(dǎo)線到屏蔽的電容考慮在內(nèi)。
? 因此計算屏蔽導(dǎo)線的電纜長度的公式如下:
? 電纜長度=(2500—接受器輸入電容)/(電纜電容×3)
? 電纜長度的單位為ft,輸入電容的單位是pF,電纜電容的單位是pF/ft。
這就將屏蔽雙絞線電纜的最大長度削減到66 ft。
5.3) 雙絞線
為了減少干擾,可以對RS-232使用雙絞線電纜和多個接地線。每一根信號線應(yīng)和一個接地線絞在一起。
5.4) 電纜測試結(jié)果
RS-232-C標(biāo)準(zhǔn)規(guī)定,在碼元畸變小于4%的情況下,傳輸電纜長度應(yīng)為50 英尺(約15米),其實這個4%的碼元畸變是很保守的,在實際應(yīng)用中往往按碼元畸變10-20%的范圍工作的,所以最大距離會遠(yuǎn)超過15米。
美國DEC公司曾在允許碼元畸變?yōu)?0%得出下面實驗結(jié)果。其中1 號電纜為屏蔽電纜,型號為DECP. NO. 9107723,內(nèi)有三對雙絞線,每對由22# AWG 組成,其外覆以屏蔽網(wǎng)。2 號電纜為不帶屏蔽的電纜。型號為DECP. NO. 9105856-04是22#AWG 的四芯電纜。DEC 公司的實驗結(jié)果
波特率bps | 1號電纜傳輸距離(米) | 2號電纜傳輸距離(米) |
110 | 1500 | 900 |
300 | 1500 | 900 |
1200 | 900 | 900 |
2400 | 300 | 150 |
4800 | 300 | 75 |
9600 | 75 | 75 |
6. 串口通信功能的實現(xiàn)
單片機(jī)實現(xiàn)串口通訊一般使用UART接口或利用GPIO口模仿異步串行通訊數(shù)據(jù)格式,外加驅(qū)動芯片連接RS-232口。
在PC機(jī)上一般直接調(diào)用Window API中的一系列標(biāo)準(zhǔn)的串口通信函數(shù),來實現(xiàn)異步串行通訊,控制RS-232口。一般常用VC++或VB來編程。常用的串口通信函數(shù):
CreatFile()函數(shù):實現(xiàn)串口初始化并打開串口;
ReadFile()函數(shù):接收串口傳遞過來的二進(jìn)制流并返回數(shù)據(jù)到接收緩沖區(qū)中
WriteFile()函數(shù):把應(yīng)用程序發(fā)出的指令送到發(fā)送緩沖區(qū)以供串口接收
1. 打開串口
以下程序用于以同步方式打開串口COM1;
HANDLE hCom;
DWORD dwErrorHcomm="CreateFile"(“COM1”,GENERIC_READ|GENERIC_WRITE
,0, NULL,OPEN_EXISTING, 0, NULL);
if (hComm==(HANDLE)0Xffff)
{
dwError=GetLastError();
MessageBox(dwError);
}
2. 配置串口
配置串口是通過改變設(shè)備控制塊DCB(Device Control Block)的成員變量值來實現(xiàn)的,程序?qū)崿F(xiàn)如下:
DCB dcb
dcb.BaudRate=9600;//波特率為9600bps
dcb.ByteSize=8;//數(shù)據(jù)位8位
dcb.Parity=EVENPARTTY;//有校驗
dcb.StopBits=ONESTOPRTT; //一個停止位
SetCommState(hCom,&dcb);
3. 數(shù)據(jù)讀寫
對串口進(jìn)行讀寫與對文件進(jìn)行讀寫所用的函數(shù)相同,具體為可采用查詢、同步、異步或事件驅(qū)動等方法對串口進(jìn)行讀寫所用函數(shù)如下所示:
bReadStatus=ReadFile(hCom,buffer,length,&length &m_lpOverlapped);
if(!bReadStatus)
{
if(GetLastError()=ERROR_IO_PENDING)
{
WaitForSingleObject(m_lpOverlapped,hEvent,1000);
return((char)length);
}
return 0;
}
//寫入函數(shù)程序為:
bWriteStatus=WriteFile(hCom,buffer,length,&length,&m_lpOverlapped)
if(!bWriteStatus)
{
if(GetLastError()=ERROR_IO_PENDING)
{
WaitForSingleObject(m_lpOverlapped, hEvent,1000);
return((char)length);
}
return 0;
}
4. 程序的編制
用VC++進(jìn)行程序的編制首先要對串口進(jìn)行初始化,設(shè)定端口,通信速率和校驗方式,并在使用前打開串口,程序部分如下:
{
Cdialog::OnInitDialog();//TOD Add extra initialization here
m_comm.SetCommPort(1);//選擇串口1
if(! m_comm.GetPortOpen())
m_comm.SetPortOpen(TRUE);//打開串口1
m_comm.SetSettings(“9600,n,8,1”); //設(shè)置串口參數(shù)
m_comm.SetRThreshold(1);
m_comm.SetInputMode(1);//設(shè)置二進(jìn)制模式
return TRUE;
}
除了串口的位置和基本串口參數(shù)(數(shù)據(jù)傳輸速率9600bps,1位開始位,8位數(shù)據(jù)位,1位停止位,一位奇偶校驗)設(shè)置外,為了實現(xiàn)實時數(shù)據(jù)采集功能,接受數(shù)據(jù)的讀寫要盡可能的快速,則設(shè)置RTHreshold=1即接收緩沖區(qū)收到一個字節(jié)產(chǎn)生OnComm事件InputLen=1每次讀取一個字節(jié)。如果PC上位機(jī)在一定時間內(nèi)不能將數(shù)據(jù)處理完,接收緩沖區(qū)會滯留數(shù)據(jù),數(shù)據(jù)會產(chǎn)生丟失現(xiàn)象,我們必須對接受緩沖區(qū)進(jìn)行適當(dāng)?shù)脑O(shè)置。RS-232 的缺陷及改進(jìn)
由于RS-232標(biāo)準(zhǔn)開發(fā)較早,使用的是當(dāng)時流行的DTL技術(shù),隨著技術(shù)的進(jìn)步,越老越顯露出其局限。
7.1)RS-232 的缺陷
1)接口的信號為DTL電平,電壓值較高,易損壞接口電路的芯片,又因為與TTL電平不兼容故需使用電平轉(zhuǎn)換電路方能與TTL電路連接?! ?br />
2) 傳輸速率較低,在異步傳輸時,波特率為20Kbps(現(xiàn)在已發(fā)展到超過115.2 Kbps)。
3) 接口使用一根信號線和一根信號返回線而構(gòu)成共地的傳輸形式,這種共地傳輸容易產(chǎn)生共模干擾,所以抗噪聲干擾性弱。
4)傳輸距離有限,最大傳輸距離標(biāo)準(zhǔn)值為50英尺(約15米),實際上也只能用在50米左右?! ?br />5)接口為一對一連接
7.2)RS-422/485接口
為彌補(bǔ)其技術(shù)缺陷,后來又在其基礎(chǔ)上發(fā)展了其他一些串行接口標(biāo)準(zhǔn),最常見的是422/485:
RS-422(EIA-422):
標(biāo)準(zhǔn)全稱是“平衡電壓數(shù)字接口電路的電氣特性”,收發(fā)都使用差分信號,為四線接口,還有一根信號地線(一定要接地,要求通信雙方的地電位差小于1V),共5根線(+發(fā)、-發(fā)、+收、-收、地),一般使用雙絞線傳輸差分信號,因此有良好的抗共模干擾能力。采用單獨的發(fā)送和接收通道,為全雙工方式,支持點對多的雙向通信,允許在相同傳輸線上連接多個接收節(jié)點,最多可接10個節(jié)點,即一個主設(shè)備(Master),其余為從設(shè)備(Salve),從設(shè)備之間不能通信。
RS-422多節(jié)點構(gòu)成網(wǎng)絡(luò)。網(wǎng)絡(luò)拓?fù)?/strong>一般采用終端匹配的總線型結(jié)構(gòu),不支持環(huán)形或星形網(wǎng)絡(luò)。發(fā)送驅(qū)動器A、B之間的正電平在+2~+6V,是一個邏輯狀態(tài),負(fù)電平在-2~-6V,是另一個邏輯狀態(tài)。接收端A比B高200mV以上即認(rèn)為是邏輯"1",A 比B 低200mV 以上即認(rèn)為是邏輯"0"。
接收器輸入阻抗為4k。RS-422需要一終接電阻,終接電阻接在傳輸電纜的最遠(yuǎn)端,要求其阻值約等于傳輸電纜的特性阻抗。在矩距離傳輸時(一般在300米以下)可不需終接電阻。
RS-422的最大傳輸距離為4000英尺(約1200米),最大傳輸速率為10Mb/s,其平衡雙絞線的長度與傳輸速率成反比。在100kb/s速率以下,才可能達(dá)到最大傳輸距離;只有在很短的距離下才能獲得最高速率傳輸,一般100米長的雙絞線上所能獲得的最大傳輸速率僅為1Mb/s。
RS-485(EIA-485):
RS-485是從RS-422基礎(chǔ)上發(fā)展而來的,許多電氣規(guī)定與RS-422相仿,但一般采用二線方式,使用屏蔽雙絞線,共有三條信號線(+A、-B、地),是半雙工多點雙向通信,總線上可接到32個設(shè)備。
RS-485接收器最小輸入阻抗為12k。需要2個終接電阻,在傳輸線的兩端,其阻值要求等于傳輸電纜的特性阻抗。
為了安全起見,建議通信機(jī)器的外殼接大地。RS-422/485光隔轉(zhuǎn)換器的所有外接電源的“地”必須全部連在一起但不要與計算機(jī)外殼地相連,因為電源“地”同時也是RS-485或 RS-422的信號“地”。當(dāng)通信距離超過100米時建議最好使用光電隔離的通信接口轉(zhuǎn)換器。RS-485 的國際標(biāo)準(zhǔn)并沒有規(guī)定RS485 的接口連接器標(biāo)準(zhǔn)。
7.3)RS-422/485的電纜長度:
在使用RS422/485接口時,對于特定的傳輸線徑,從發(fā)生器到負(fù)載其數(shù)據(jù)信號傳輸所允許的最大電纜長度是數(shù)據(jù)信號速率的函數(shù),這個長度數(shù)據(jù)主要是受信號失真及噪聲等影響所限制。
下圖所示的最大電纜長度與信號速率的關(guān)系曲線是使用24AWG銅芯雙絞電話電纜(線徑為0。51mm),線間旁路電容為52.5pF/m,終端負(fù)載電阻為100歐時所得出。(曲線引自GB11014-89附錄A)。
由圖中可知,當(dāng)數(shù)據(jù)信號速率降低到90Kbit/S以下時,假定最大允許的信號損失為6dBV時,則電纜長度被限制在1200M。實際上,圖中的曲線是很保守的,在實用時是完全可以取得比它大的電纜長度。當(dāng)使用不同線徑的電纜。則取得的最大電纜長度是不相同的。例如: 當(dāng)數(shù)據(jù)信號速率為600Kbit/S時,采用24AWG電纜,由圖可知最大電纜長度是200m,若采用19AWG電纜(線徑為0.91mm)則電纜長度將可以大于200m;若采用28AWG電纜(線徑為0.32mm)則電纜長度只能小于200m。RS-485的遠(yuǎn)距離通信建議采用屏蔽電纜,并且將屏蔽層作為地線。
7.4)RS-422/485接口與RS-232對比的優(yōu)勢:
1)邏輯“1”以兩線A、B間的電壓差為+2~+6V表示,邏輯“0”以兩線間的電壓差為-2~-6V 表示,電平與TTL電平兼容,可方便與TTL電路連接。
2)數(shù)據(jù)最高傳輸速率為10Mbps
3)接口是采用平衡驅(qū)動器和差分接收器的組合,抗共模干能力增強(qiáng),即抗噪聲干擾性好?! ?br />4)接口的最大傳輸距離標(biāo)準(zhǔn)值為1200米(9600bps時),實際上可達(dá)3000米
5)接口可為總線方式,允許連接多達(dá)128個收發(fā)器,具有多站能力,可方便地建立起設(shè)備網(wǎng)絡(luò)。
雖然RS-422/485接口有如此對的優(yōu)勢,但RS-232仍是最普遍使用的串行通訊接口標(biāo)準(zhǔn),這可能與PC機(jī)的普遍使用分不開,而RS-422/485往往只局限在一些特殊場合,主要是工業(yè)控制方面,比如需要總線式連接多個設(shè)備或需要長距離、高速度傳輸?shù)牡胤剑乙餐褂肦S-232轉(zhuǎn)RS-422/485接口實現(xiàn)。
3.RS-232的互連
如果需要連接不同類型的連接器,可以使用不同配置的適配器和電纜,或者自己制作適配器和電纜。所有的RS-232輸出和輸入必須能夠承受任何其他RS-232信號,包括接地信號的短路而不受損壞。
4.1) 直連
在連接的兩端都有相同類型的連接器的時候,要連接DTE和DCE,電纜可直接連接對應(yīng)的每一根導(dǎo)線,引腳1到引腳1,引腳2到引腳2等等。
4.2)9到25針直連
如果連接一個9針和一個25針的連接器,使用如圖所示的9到25針(或相反)的適配器。
4.3)全握手連接(交互連接)
DTE與DTE之間連接,允許硬件握手,常用于計算機(jī)之間的互連。數(shù)據(jù)和握手信號輸出連接到它們在另一臺設(shè)備上的相應(yīng)的輸入 。
4.4)循環(huán)回送連接
在一個循環(huán)回送連接中,握手信號輸出循環(huán)回送給自身設(shè)備的相應(yīng)輸入,這在一臺設(shè)備要求有握手信號而另一臺不提供握手信號的時候就很有用處。如圖所示:
數(shù)據(jù)線正常連接,但是握手信號輸出循環(huán)回送到它們相應(yīng)的輸入,RTS、CTS、DSR和CD連接到一起。在這種方式下,無論什么時候只要DTE聲明了RTS,也會出現(xiàn)DCE聲明CTS、DSR和CD。一個變化是連接RTS和CTS,以及將DTR連接到DSR和CD。但是,使用這種類型的連接如果接收設(shè)備不能跟上發(fā)送速度就會導(dǎo)致數(shù)據(jù)錯誤。
4.5)不使用硬件握手連接
3根導(dǎo)線連接。連接交換RD和TD線,因此每個TD連接到對應(yīng)的RD。如圖所示。
4.6)串行打印機(jī)連接
串行打印機(jī)通常配置成DTE,因此TD和RD 必須在連接到一臺PC機(jī)的時候交換。另外,很多打印機(jī)使用DTR作為握手信號,而有的PC軟件假定CTS為握手信號。出現(xiàn)這種情況,電纜或者一個適配器必須將這臺打印機(jī)的DTR,而不是RTS,連接到PC機(jī)的CTS。
4.7)串口測試常用的環(huán)回方式
3.RS-232接口的信號
現(xiàn)在的RS-232接口常用于異步(Asynchronous)串行通訊,實際上也可以用于同步(Synchronous)串行通訊。
3.1)RS-232接口信號引腳及定義
數(shù)據(jù)傳輸分別使用PIN2和PIN3,DSR指示DCE(如MODEM)已啟動,而DTR指示DTE(如計算機(jī))已啟動,DCD指示遠(yuǎn)端MODEM已接收到良好的載波信號。
DTE發(fā)出的RTS和DCE發(fā)出的CTS 用于控制。在多數(shù)異步傳輸方式下,RTS和CTS 在通訊過程中保持不變。然而在DTE連接在多點傳輸線上時,RTS用來打開和關(guān)閉MODEM的載波,因為多點傳輸線上在某個時間只能有一個發(fā)送者,以使多終端共用一對電話線。 每當(dāng)一個DTE要發(fā)送數(shù)據(jù),就使RTS有效, MODEM于是發(fā)出載波,一般要等待幾毫秒使載波穩(wěn)定,然后使CTS有效。DTE在收到CTS后開始發(fā)送數(shù)據(jù)。當(dāng)DTE完成發(fā)送數(shù)據(jù),就使RTS無效,MODEM于是使CTS無效并關(guān)閉載波。
時鐘信號(PIN15、17和24) 僅用于同步通訊(synchronous communications)。MODEM從數(shù)據(jù)碼流中取出穩(wěn)定的時鐘信號并發(fā)給DTE。注意,即使波特率相同時,發(fā)送和接收的時鐘信號也不一定相同。
RS232 DB25
3.2)PC機(jī)常用的RS-232接口信號引腳及定義
IBM制造PC 機(jī)時將RS-232 簡化成了DB-9連接器,后來成為事實標(biāo)準(zhǔn)。
舊式的PC 機(jī)有些帶有DB-25針插座的串口連接器(一般為COM2),為公頭插座(或稱MALE),這與常見的DB-25的并口連接器不同,DB-25的并口使用25 芯孔插座(也稱為母頭或FEMALE)。
3.3)信號電平及電平轉(zhuǎn)換
在RS-232-C中任何一條信號線的電壓均為負(fù)邏輯關(guān)系。即:邏輯“1” 為-5—-15V;邏輯“0”為+5—+15V。噪聲容限為2V,即要求接收器能識別低至+3V的信號作為邏輯“0”,高到-3V的信號作為邏輯“1”。+3V到-3V之間稱為死區(qū),為抵抗線路噪聲的干擾。但不同的設(shè)備有可能使用不同的電平門限,比如CCITT V.10 定義死區(qū)為+0.3V to -0.3V。也有的接收機(jī)把門限設(shè)為1V或更低。
邏輯“1”表示 "idle" 狀態(tài)(也稱OFF或MARK),邏輯“0”表示"active"狀態(tài)(也稱ON或SPACE)。
這種信號方式源于當(dāng)時主要使用的DTL電平,與現(xiàn)在數(shù)字電路常用的TTL電平不同,不能直接相連,中間需要加電平轉(zhuǎn)換電路。
RS-232-C規(guī)定了25條引線,實際中有許多是很少使用的,如PC 機(jī)一般只有9條引線,3條輸出5條輸入,因PC 機(jī)有+12V和-12V電源,常用的電平轉(zhuǎn)換芯片為SN75185、GD75232等芯片,也有單獨的驅(qū)動芯片MC1488、SN75188和接收芯片MC1489、SN75189。而DCE(數(shù)據(jù)通信設(shè)備)方有3條輸入5條輸出線,需使用對應(yīng)驅(qū)動芯片SN75196、GD75323,但往往DCE只有5V單電源,這時一般使用內(nèi)帶電荷泵的芯片MAX207、SN65C3238、SN65C3243等, 甚至也有使用3.3V單電源的芯片。
一些情況下,設(shè)備與PC 機(jī)連接的RS-232 接口,不使用控制信號,僅使用三條接口線RXD、TXD、GND(如單片機(jī)通過UART連接PC 機(jī)),也只有單電源,使用內(nèi)帶電荷泵的單路收發(fā)芯片,MAXIM、TI、SIPEX、ST等公司都有這種芯片。
3.4)信號格式
RS-232最常使用異步串行傳輸,每個數(shù)據(jù)包含有7 或 8 bit數(shù)據(jù)位和起始位start,停止位stop, 校驗位parity (可選用,也可用于指示位)。 傳輸數(shù)據(jù)的樣值如圖所示:起始位(低有效,通常在+3v到+15v之間),緊接著數(shù)據(jù)位(7或8 bit),校驗位(根據(jù)協(xié)議選用),由停止位結(jié)束(通常返回邏輯高,電壓在-3v到-15v之間)。注意:RS-232使用負(fù)邏輯。
3.5)串口鼠標(biāo)
早期PC機(jī)使用串口鼠標(biāo),以標(biāo)準(zhǔn)的RS-232-C 輸出信號 (+-12V) 作為輸入。鼠標(biāo)取用RS-232-C的輸出線的電流(大約10mA),并發(fā)送計算機(jī)RS-232-C接收芯片可以識別的電平信號。鼠標(biāo)一般輸出信號為+-5V或0-5V ,有些輸出+-12V。鼠標(biāo)電路一般使用+5V電壓,一般從DTR和RTS線產(chǎn)生MCU使用的正電源,而負(fù)電源一般取自TD,典型的機(jī)械鼠標(biāo)需要4只紅外LED做移動檢測,一般使用二極管從DTR和RTS線取電,然后通過電阻加到4只LED上。鼠標(biāo)總體需要10 mA 電流,工作電壓6-15V。
鼠標(biāo)能夠正常工作,RTS和DTR線必須為正電壓, DTR-DSR和RTS-CTS之間不要連接。當(dāng)DTR正常,鼠標(biāo)要發(fā)一個包含字母"M" (ascii 77) 的字節(jié)來識別自身。而冷啟動后,RTS 一般設(shè)為負(fù)電壓,這時需要把RTS轉(zhuǎn)換為正,稱為反轉(zhuǎn)RTS。要完成RTS電壓的反轉(zhuǎn),負(fù)脈沖寬度至少為100ms。
串口鼠標(biāo)使用格式為1200bps, 7 data bits, 1 stop-bit,發(fā)送的數(shù)據(jù)包為3字節(jié)長度,每次鼠標(biāo)狀態(tài)改變(移動或按鍵的按壓與釋放) 都要向計算機(jī)發(fā)送數(shù)據(jù)。數(shù)據(jù)格式如下:
bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 | |
byte1 | X | 1 | LB | RB | Y7 | Y6 | X7 | X6 |
byte2 | X | 0 | X5 | X4 | X3 | X2 | X1 | X0 |
byte3 | X | 0 | Y5 | Y4 | Y3 | Y2 | Y1 | Y0 |
字節(jié)1(byte1)首先發(fā)出,然后是其他2個字節(jié)。字節(jié)1的bit6用做同步數(shù)據(jù)包。
LB是左鍵的狀態(tài)(1表示按下),RB是右鍵的狀態(tài)(1表示按下);X7-X0表示從上次數(shù)據(jù)包發(fā)出后沿X方向移動的距離,Y7-Y0表示從上次數(shù)據(jù)包發(fā)出后沿Y方向移動的距離。
用X表示的位,在使用7 bits數(shù)據(jù)和2 bits停止位格式時為0;而使用8 bits數(shù)據(jù)和1 bits停止位格式時為1 。最安全的方式是使用7 bits數(shù)據(jù)和1 bits停止位的接收格式。
3.6)信號規(guī)格表
系統(tǒng)分類: | 接口電路 | | 用戶分類: | 信號接口 | | 標(biāo)簽: | RS-232 DB25 DB-9 | | 來源: | 整理 | |
點擊查看原文
發(fā)表評論 閱讀全文(1589) | 回復(fù)(0)
2
RS-232 接口(摘)
計算機(jī)與計算機(jī)或計算機(jī)與設(shè)備之間的數(shù)據(jù)傳送可以采用串行通訊和并行通訊二種方式。由于串行通訊方式具有使用線路少、成本低,特別是在遠(yuǎn)程傳輸時,避免了多條線路特性的不一致而被廣泛采用。
RS-232是在1970 年由美國電子工業(yè)協(xié)會(EIA: Electronics Industry Association)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計算機(jī)終端生產(chǎn)廠家共同制定的用于串行通訊的標(biāo)準(zhǔn)。它的全名是"數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)"。該標(biāo)準(zhǔn)規(guī)定采用一個25個腳的DB-25連接器,對連接器的每個引腳的信號內(nèi)容加以規(guī)定,還對各種信號的電平加以規(guī)定。后來IBM的PC 機(jī)將RS-232 簡化成了DB-9連接器,并隨著IBM PC的普及,從而成為事實標(biāo)準(zhǔn)。
RS-232歷史悠久,因為當(dāng)時技術(shù)和認(rèn)識的局限,有很多缺陷,后來針對這些缺陷提出了其他許多串行接口標(biāo)準(zhǔn),如422、485等等,但因為各種原因都只局限在部分特殊場合,RS-232-C接口(又稱EIA RS-232-C)仍是最常用的一種串行通訊接口,其中的“-C”表示RS-232的版本,現(xiàn)在已發(fā)展到-D版本。
1. DTE和DCE的定義
RS-232-C,是RS-232-B的修改版,規(guī)定了OSI基本參考模型物理層部分的規(guī)格,制定的目的是用于DCE和DTE之間進(jìn)行串行二進(jìn)制數(shù)據(jù)交換。有如下特點:DCE-DTE采用直通方式,全雙工通信,基本頻帶,電流環(huán)方式,串行傳輸方式。
數(shù)據(jù)通信,就是數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)終端設(shè)備之間的通訊,二者之間需通過傳輸介質(zhì)(如銅線、同軸電纜、光纖、微波中繼、衛(wèi)星等)組成的傳輸網(wǎng)絡(luò),在此之間就需要加網(wǎng)絡(luò)接口設(shè)備,即數(shù)據(jù)線路設(shè)備(DCE),這樣就組成一條數(shù)據(jù)通訊鏈路。
DTE(數(shù)據(jù)終端設(shè)備):數(shù)據(jù)鏈路兩端的端末設(shè)備。DTE通過DCE連接到一個數(shù)據(jù)網(wǎng)絡(luò)上,并且通常使用DCE產(chǎn)生的時鐘信號。數(shù)據(jù)終端設(shè)備包括計算機(jī)、協(xié)議翻譯器以及多路分解器等設(shè)備。如計算機(jī)、終端、通信控制器等。
DCE(數(shù)據(jù)通信設(shè)備或者數(shù)據(jù)電路終端設(shè)備):處于數(shù)據(jù)終端設(shè)備(DTE)和傳輸電路或信道之間,提供了到網(wǎng)絡(luò)的一條物理連接、轉(zhuǎn)發(fā)業(yè)務(wù)量、信號變換器,并且提供了一個用于同步DCE設(shè)備和DTE設(shè)備之間數(shù)據(jù)傳輸?shù)臅r鐘信號。如調(diào)制解調(diào)器、接口卡、數(shù)傳機(jī)、基帶傳輸器、波形變換器等設(shè)備。
RS-232-C在ITU建議的V.24/V.28 和X.20bis/X.21bis、ISO IS2110規(guī)定的25引腳連接器在功能上具有互換性。
后來RS-232已不只應(yīng)用于DCE和DTE設(shè)備,還有其他更多的應(yīng)用,如鼠標(biāo)、鍵盤、打印機(jī)、計算機(jī)間通訊、設(shè)備監(jiān)控、EPROM編程器等,現(xiàn)在嵌入式系統(tǒng)常用的UART接口也來源與此。
2. RS-232接口的接插件和電纜
RS-232-C標(biāo)準(zhǔn)中規(guī)定的連接器為25引腳插入式連接器,一般稱為25引腳D-SUB(DB-25),這個連接器的外殼和一個大寫字母D的外形相似,它可以確定插接連接器時的方向,導(dǎo)線在兩個錯開的行上,每行導(dǎo)線相距0.109英寸。DTE應(yīng)該使用針輸出(也稱為MALE或公頭),DCE使用孔輸出(也稱為FEMALE或母頭)。RS-232-C所用電纜的形狀并不固定,但大多使用帶屏蔽的24芯電纜,電纜端為DB-25-F對DB-25-M,直通方式,電纜的最大長度為15m,在200K位/秒以下的任何速率都能進(jìn)行數(shù)據(jù)傳輸。
圖示為RS-232接口中常用的DB-25連接器結(jié)構(gòu):
連接器的引腳或者插座的號碼都印在引腳或者插座孔附近。
25 pin D-SUB male connector at the DTE (Computer)
實際中RS-232-C 接口連接器一般使用DB-9 插頭座,PC 機(jī)的RS-232 口為9芯針插座(也稱為MALE或公頭),而相應(yīng)的MODEM則使用9芯孔插座(也稱為FEMALE或母頭),用DB-9-F對DB-9-M的電纜連接,直通方式。而兩臺計算機(jī)如果用RS-232-C 接口連接,則要使用DB-9-F對DB-9-F的電纜,且部分信號線要交叉連接。一些設(shè)備與PC 機(jī)連接的RS-232 接口,因為不使用對方的傳送控制信號,只需三條接口線,即"發(fā)送數(shù)據(jù)TXD"、"接收數(shù)據(jù)RXD"和"信號地GND"。
圖示為RS-232接口中常用的DB-9連接器結(jié)構(gòu):
連接器的引腳或者插座的號碼都印在引腳或者插座孔附近。
9 pin D-SUB male connector at the computer
特殊情況下,也有使用RJ-45的8PIN連接器用作RS-232接口,其定義如下:
腳序 | 符號 | 信號名稱 | 流向 | 功能說明 |
1 | DSR/RI | 數(shù)據(jù)設(shè)備準(zhǔn)備好/振鈴指示 | DTE←DCE | DataSetReady/RingIndicator |
2 | CD | 載波檢測 | DTE←DCE | CarrierDetect |
3 | DTR | 數(shù)據(jù)終端準(zhǔn)備好 | DTE→DCE | DataTerminalReady |
4 | GND | 信號地 |
| SystemGround |
5 | RXD | 接收數(shù)據(jù) | DTE←DCE | ReceiveData |
6 | TXD | 發(fā)送數(shù)據(jù) | DTE→DCE | TransmitData |
7 | CTS | 允許發(fā)送 | DTE←DCE | CleartoSend |
8 | RTS | 請求發(fā)送 | DTE→DCE | RequesttoSend |
8 PIN RJ45 (8P8C) female connector at the devices
有的公司也使用其他的接頭
DEC MMJ
評論