摘要:在功能比較復雜的自動控制系統(tǒng)中,通常以工控機為上位機,單片機為下位機,RS 232串口通信是工控機和單片機之間信息傳遞的樞紐,采用MAX232實現(xiàn)TTL邏輯電平和RS 232電平之間的相互轉換,如此連接,既可體現(xiàn)出單片機的靈活控制功能,又可發(fā)揮出PC機強大的計算和顯示功能,有利于對現(xiàn)場信號的實時采集、處理和監(jiān)控,確保了良好的人機界面的交互性。
關鍵詞:RS 232;接口定義;電氣特性;消除干擾;MAX232
0 引言
隨著信息技術的飛速發(fā)展和科技進步,在許多現(xiàn)代化集中管理的控制系統(tǒng)中,需要對現(xiàn)場數(shù)據(jù)進行統(tǒng)計、分析、打印、報警等,同時又要對現(xiàn)場設備進行實時控制,完成各種操作。單片機作為控制系統(tǒng)中必不可少的部分,在各個領域得到了廣泛的應用。由于單片機具有體積小、價格低廉、適應性強的特點,一般在工業(yè)控制系統(tǒng)中,各種數(shù)據(jù)的采集和執(zhí)行機構的控制都是由單片機來完成。而單片機的計算能力有限,難以進行復雜的數(shù)據(jù)處理。在功能比較復雜的自動控制系統(tǒng)中,通常以工控機為上位機,單片機為下位機,由單片機完成數(shù)據(jù)的采集及對設備的控制,而由上位機完成各種復雜的數(shù)據(jù)處理及對單片機的控制。在分布式控制系統(tǒng)中大多采用單片機作為下位機來進行數(shù)據(jù)采集和現(xiàn)場控制,在這些應用中,單片機只是直接面對被控對象底層,而對采集到的數(shù)據(jù)進行進一步的分析和處理工作,則是由功能強大的PC機來完成的。因此,PC機和單片機之間就有著大量的數(shù)據(jù)交換。在絕大多數(shù)PC機的標準配置中,都有一個到多個RS 232串口,因為RS 232串口擔
負著PC機和單片機之間大量的數(shù)據(jù)交換的重任。單片機89C52用于自動控制及數(shù)據(jù)傳輸,并通過RS 232接口向上位機進行數(shù)據(jù)通信。
1 RS 232串口通信
1.1 RS 232C標準
RS 232C標準(協(xié)議)的全稱是EIA-RS-232C標準,其中EIA(Electronic Industry Association)代表美國電子工業(yè)協(xié)會,RS(ecommeded standard)代表推薦標準,232是標識號,C代表RS 232的最新一次修改。在這之前,有RS 232B,RS 232A,它規(guī)定連接電纜和機械、電氣特性、信號功能及傳送過程。
1.2 RS 232的接口引腳定義
由于RS 232C并未定義連接器的物理特性,因此,出現(xiàn)了DB-25,DB-15和DB-9各種類型的連接器,其引腳定義也各不相同。常用的連接器接口圖如圖1所示,DB9的引腳功能見表1。
RS 232C標準接口有25條線,分別為4條數(shù)據(jù)線、11條控制線、3條定時線、7條備用和未定義線,常用的只有9根,它們是:
(1)狀態(tài)線
數(shù)據(jù)準備就緒(Data Set Ready,DSR):有效時(ON)狀態(tài),表明數(shù)據(jù)通信設備可以使用。
數(shù)據(jù)終端就緒(Data Terminal Ready,DTR):有效時(ON)狀態(tài),表明數(shù)據(jù)終端設備可以使用。
這兩個信號有時連到電源上,上電就立即有效。
這兩個設備狀態(tài)信號有效,只表示設備本身可用,并不說明通信鏈路可以開始進行通信了,能否開始進行通信由下面的控制信號決定。
(2)聯(lián)絡線
請求發(fā)送(Request to Send,RTS):DTE準備向DCE發(fā)送數(shù)據(jù),DTE使該信號有效(ON狀態(tài)),通知DCE要發(fā)送數(shù)據(jù)給DCE了。
允許發(fā)送(Clear to Send,CTS):對RTS的響應信號。當DCE已準備好接收DTE傳來的數(shù)據(jù)時,使該信號有效,通知DTE開始發(fā)送數(shù)據(jù)。
RTS/CTS請求應答聯(lián)絡信號是用于半雙工MODEM系統(tǒng)中發(fā)送方式和接收方式之間的切換。在全雙工系統(tǒng)中,因配置雙向通道,故不需要RTS/CTS聯(lián)絡信號,使其變高。
(3)數(shù)據(jù)線
發(fā)送數(shù)據(jù)(Transmitted Data,TXD):DTE發(fā)送數(shù)據(jù)到DCE。
接收數(shù)據(jù)(Received Data,RXD):DCE發(fā)送數(shù)據(jù)到DTE。
(4)地線
有兩根線SG,PG:信號地和保護地信號線。
(5)其余
載波檢測(Carrier Detection,CD):用來表示DCE已接通通信鏈路,告知DTE準備接收數(shù)據(jù)。
振鈴指示(Ringlng,RI):當DCE收到交換臺送來的振鈴呼叫信號時,使該信號有效(ON狀態(tài)),通知DTE,已被呼叫。
通常的應用系統(tǒng)中,往往是在CPU和I/O設備之間傳送信息,兩者都是DTE,上位機和單片機89C52之間的通信,雙方都能發(fā)送和接收,他們的連接只需要使用三根線即可,即RXD,TXD和GND,這種連接方式,即兩個串口連接時,接收數(shù)據(jù)針腳與發(fā)送數(shù)據(jù)針腳相連,彼此交叉,信號地對應接地即可。連接方式如圖2所示。
1.3 波特率的概念
串行通信中,每秒傳送的數(shù)據(jù)位稱為波特率。如數(shù)據(jù)傳送的波持率為1200波特,采用N.8.1幀格式(10位),則每秒傳送字節(jié)為120個,而字節(jié)中每一位傳送時間即為波特率的倒數(shù):T=1/1 200=0.833 ms。同樣,如數(shù)據(jù)傳送的波特率為1 9 200波特,則字節(jié)中每一位傳送時間T=1/19 200=0.052 ms。根據(jù)數(shù)據(jù)傳送的波特率即字節(jié)中每一位的傳送時間,便可用普通I/O口來模擬實現(xiàn)串行通信的時序。
1.4 RS 232C的電氣特性
(1)邏輯電平
在TXD和RXD上:
邏輯1(MARK):-3~-15 V;
邏輯0(SPACE):+3~+15 V。
在RTS,CTS,DSR,DTR和DCD等控制線上:
信號有效(接通,ON狀態(tài),正電壓):+3~+15 V;
信號無效(斷開,OFF狀態(tài),負電壓):-3~-15 V。
由以上定義可以看出,信號無效的電平低于-3 V,也就是當傳輸電平的絕對值大于3 V時,電路可以有效地檢查出來,介于-3~+3 V之間的電壓無意義,低于-1 5 V或高于+15 V的電壓也認為無意義,因此,實際工作時,應保證電平的絕對值在3~15 V之間。當計算機和TTL電平的設備通信時,如上位機和單片機通信時,需要使用RS 232/TTL電平轉換器件,常用的有MAX232。
1.5 RS 232與單片機之間的接口電路MAX232
由于RS 232信號的電平和單片機串口信號的電平不一致,必須進行二者之間的電平轉換。MAX232由單一的+5 V電源供電,只需配5個高精度10μF/50 V的鉭電容即可完成電平轉換,轉換后的串行信號TXD,RXD直接與上位機的串口連接。MAX232芯片的內部結構基本可分三個部分:
第一部分是電荷泵電路。由1,2,3,4,5,6腳和4只電容構成。功能是產(chǎn)生+12 V和-1 2 V兩個電源,提供給RS 232串口電平的需要。
第二部分是數(shù)據(jù)轉換通道。由7,8,9,10,11,12,13,14腳構成兩個數(shù)據(jù)通道。其中13腳(R1in)、12腳(R1out)、11腳(T1in)、14腳(T1out)為第一數(shù)據(jù)通道。8腳(R2in)、9腳(R2out)、10腳(T2in)、7腳(T2out)為第二數(shù)據(jù)通道。TTL/COMS數(shù)據(jù)從T1in,T2in輸入轉換成RS 232數(shù)據(jù)從T1out,T2out送到電腦DB9插頭;DB9插頭的RS 232數(shù)據(jù)從R1in,R2in輸入轉換成TTL/COMS數(shù)據(jù)后從R1out,R2out輸出。
第三部分是供電。1 5腳GND、16腳VCC(+5 V)。
1.6 RS 232的不足之處
(1)傳輸距離有限,實際最大傳輸距離只有50 m。
(2)傳輸速率較低,在異步傳輸時,速率最大為19 200 b。
(3)接口使用一根信號線和一根信號返回線而構成共地的傳輸形式,這種共地傳輸容易產(chǎn)生共模干擾,所以抗噪聲干擾性弱。
1.7 消除干擾噪聲的主要方法
針對以上所述RS 232易產(chǎn)生共模干擾的問題,常用的解決方法主要是采用光隔離器,光隔離器穿過一個隔離的屏障來傳輸信號。一個光隔離器由一個光敏電阻耦合的發(fā)光二極管構成。流過發(fā)光二極管的電流使得它以可見光或者紅外線的方式釋放能量。這些能量將這個光敏電阻打開,導致在這個電阻的發(fā)射極和集電極之間的低阻抗。這個發(fā)光二極管的基極可以留著沒有連接。從基極到發(fā)射極加入一個電阻可以導致更快的開關速度,但是輸出電流更低。
2 結語
Rs 232串口通信是PC機和單片機之間信息傳遞的樞紐,一切數(shù)據(jù)和指令的傳輸必須由RS 232串口來完成。針對RS 232存在的不足之處加以改進之后,RS 232使得PC機和單片機之間能高效地通信,采用電平轉換芯片MAX232實現(xiàn)TTL邏輯電平和RS 232電平之間的相互轉換,轉換之后的串行信號TXD,RXD直接與PC機的串口連接,如此連接,既可體現(xiàn)出單片機的靈活控制功能,又可發(fā)揮出PC機強大的計算和顯示功能,有利于對現(xiàn)場信號的實時采集、處理和監(jiān)控,確保了良好的人機界面的交互性。