摘 要: 串行通信是指計算機主機與外設之間以及主機系統與主機系統之間按位進行傳輸數據的一種通信方式。串行通信所需的傳輸線少,成本低,不僅適用于近距離的人-機交換及串行存儲設備、實時控制系統,而且可借助現有的電話網等通信通道實現遠距離傳輸,所以串行接口是計算機應用系統常用的接口。在設計通信接口時,必須根據需要選擇接口標準,并考慮傳輸介質、電平轉換等問題。關鍵詞:總線; 串行通信; 通信接口; 電平轉換
中圖分類號:TN915-33文獻標識碼:A
文章編號:1004-373X(2010)18-0083-04
Computer Serial Communication Interface and Its Application
WU Xiao-yan
(Sichuan Information Technology College, Guangyuan 628017, China)
Abstract: Serial communication is between the host computer and peripherals as well as between the host systems for the transmission of data by digital means of communication. As the serial communication needs less transmission line and is low cost, it is not only suitable for the man-machine exchange at close range, serial memory devices and real-time control system, but also the existing telephone network and other communication channels can be employed to achieve long-distance transmission. Therefore, the serial interface is commonly used as a interface of computer application system. In the design of communication interface, the selection of interface standards must be performed first, and the transmission medium and level translator should be considered.
Keywords: computer; serial communication; communication interface; level translator
0 引 言
隨著多微機系統的廣泛應用和計算機網絡技術的普及,計算機的通信功能顯得愈來愈重要。在多微機系統及現代測控系統中,信息的交換多采用串行通信方式。對于串行通信、數據信息、控制信息要按位在一條線上依次傳送,為了對數據和控制信息進行區分,收發雙方要事先約定共同遵守的通信協議。通信協議約定的內容包括數據格式、同步方式、傳輸速率和校驗方式等。依發送與接收設備的時鐘控制方式,串行通信可分為同步通信和異步通信兩類[1]。異步通信不要求收發雙方時鐘的嚴格一致,實現容易,設備開銷較小。下面介紹RS 232接口,RS 422A/RS 485接口和20 mA電流環三類異步串行通信中的串行接口。
1 RS 232C接口
RS 232C是使用最早、應用最多的一種異步串行通信總線標準。RS 232是美國電子工業協會(EIA)于1962年制定的標準。RS表示EIA的“推薦標準”,232為該標準的標識號。1969年修訂為RS 232C,1987年修訂為EIA-232D,1991年修訂為EIA-232E,1997年又修訂為EIA-232F。由于修改的不多,所以人們習慣于早期的名字“RS 232C”[2]。
RS 232C主要用來定義計算機系統的一些數據終端設備(DTE)和數據電路終接設備(DCE)之間的物理接口標準。例如CRT、打印機與CPU的通信大都采用RS 232C接口,80C51單片機與PC機的通信也是采用該種類型的接口。由于80C51系列單片機本身具有一個全雙工的串行接口,因此該系列單片機采用RS 232C串行接口總線非常方便。
RS 232C串行接口總線適用于設備之間的通信距離不大于15 m,傳輸速率最大為20 Kb/s。
1.1 RS 232C信息格式
RS 232C采用串行格式,如圖1所示。該標準規定,信息的開始為起始位,信息的結束為停止位;信息本身可以是5~8位再加1位奇偶校驗位。如果兩個信息之間無信息,則寫“1”,表示空。
圖1 RS 232C信息格式
1.2 RS 232C電平轉換電路
RS 232C規定了自己的電氣標準,由于它是在TTL電路之前研制的,所以它的電平不是+5 V和地,而是采用負邏輯。規定DC(+3~+15 V)為邏輯0,DC(-3~-15 V)為邏輯1。-3~+3 V過渡區,不作定義。因此,RS 232C不能和TTL電平直接相連,使用時必須進行電平轉換,否則將使TTL電路燒壞,實際應用時必須注意[3]。常用的電平轉換器有MC1488,MC1489和MAX232等芯片。
MC1488內部有3個與非門和1個反相器,供電電壓為±12 V,輸入為TTL電平,輸出為RS 232C電平;MC1489內有4個反相器,供電電壓為+5 V,輸入為RS 232C電平,輸出為TTL電平。MC1488和MC1489與RS 232C電平轉換電路如圖2所示。
圖2 TTL與RS 232C電平轉換電路
近年來,人們愈來愈多地采用自升壓電平轉換電路。各廠商生產的此類芯片雖然不同,但原理類似,并可代換。它的主要功能是在單+5 V電源下,有TTL電平輸入到RS 232C電平輸出的功能,也有RS 232C電平輸入到TTL電平輸出的功能。如圖3為RS 232C雙工發送器/接收器接口電路MAX232引腳圖,該芯片與TTL/CMOS電平兼容,片內有2個發送器和2個接收器,內置電子泵電壓轉換器將+5 V轉換成±10 V,使用時,此芯片只需要單一的+5 V電源就可以了,它能滿足RS 232C的電氣規范要求[4]。引腳T1IN或T2IN可直接接TTL/CMOS電平的單片機串行發送端TXD;R1OUT或R2OUT可直接接TTL/CMOS電平的單片機串行接收端RXD;T1OUT或T2OUT可直接接PC機的RS 232串行接口的接收端RXD;R1IN或R2IN可直接接PC機的RS 232串行接口的接收端TXD。
1.3 RS 232C總線規定
RS 232C標準總線為25根,采用標準的D型25芯連接器,連接器的尺寸及每個插針的排列位置都有明確的定義。在一般的應用中并不一定使用RS 232C標準的全部信號線,所以在實際應用中常使用9芯連接器替代25芯連接器。連接器引腳排列如圖4所示,圖中所示為陽頭定義,通常用于計算機側,對應的陰頭用于連接線側。
圖3 MAX232引腳圖
圖4 DB-25(陽頭)和DB-9(陽頭)連接器排列圖
RS 232C接口的主要信號線的功能定義如表1所示。
表1 RS 232C標準接口主要信號線定義
引腳序號名稱功能信號方向
1PGND保護接地
2(3)TXD發送數據(串行輸出)DTE→DCE
3(2)RXD接收數據(串行輸入)DTE←DCE
4(7)RTS請求發送DTE→DCE
5(8)CTS允許發送DTE←DCE
6(6)DSR數據建立就緒DTE←DCE
7(5)SGND信號接地
8(1)DCD載波檢測DTE←DCE
20(4)DTR數據終端準備就緒DTE→DCE
22(9)RI振鈴指示DTE←DCE
注:引腳序號欄中( )內為9芯非標準連接器的引腳號。
在最簡單的全雙工系統中,僅用發送數據、接收數據和信號地3根線即可。對于80C51單片機,利用其RXD(串行數據接收端)線、TXD(串行數據發送端)線和1根地線,就可以構成符合RS 232C接口標準的全雙工通信口。
2 RS 422A/RS 485接口
RS 232C是廣泛應用的串口通信標準,但因其推出較早,在現代網絡通信中已暴露出數據傳輸速度慢、傳輸距離短、接口處各信號間容易產生干擾等明顯的缺點。鑒于RS 232C的這些缺點,EIA于1977年制定了新標準RS 499,RS 422A是RS-499的子集,RS 485則是RS 422A的變型。
2.1 RS 422A接口
RS 422A文本給出了RS 449中對通信電纜、驅動器和接收器的要求,規定雙端電氣接口型式,其標準是雙端線傳送信號。它是通過傳輸線驅動器將邏輯電平變換成電位差,實現發送端的信息傳遞;通過傳輸線接收器把電位差變換成邏輯電平,完成接收端的信息接收。
RS 422A比RS 232C傳輸距離長、速度快,傳輸速率最大可達10 Mb/s。在此速率下,電纜的允許長度為12 m,如果采用低速率傳輸,最大距離可達1 200 m[5]。
RS 422A和TTL進行電平轉換最常用的芯片是傳輸線驅動器SN75174和傳輸線接收器SN75175,這兩種芯片的設計都符合EIA的RS 422A標準。RS 422A的接口電路如圖5所示,發送器SN75174將TTL電平轉換為標準的RS 422A電平;接收器SN75175將RS 422A接口信號轉換為TTL電平。
圖5 RS 422A接口電平轉換電路
2.2 RS 485接口
RS 485是RS 422A的變型:RS 422A用于全雙工,而RS 485則用于半雙工[6]。RS 485是一種多發送器的電路標準,它擴展了RS 422A的性能,在通信線路上最多可以使用32對差分驅動器/接收器。RS 485接口電平轉換電路如圖6所示。
圖6 RS 485接口電平轉換電路
RS 485接口是一種基于平衡發送和差分接收的串行總線,具有很強的抗共模干擾能力,又因為它的阻抗低,無接地問題,在適當的波特率下傳輸距離遠;同時易于進行網絡擴展,被廣泛的應用在很多工業現場。
RS 485是一點對多點的通信接口,一般采用雙絞線的結構。普通的PC機一般不帶RS 485接口,因此要使用RS 232/RS 485轉換器。對于PC機與單片機組成的通信系統可以通過芯片MAX485來完成TTL/RS 485的電平轉換。
3 20 mA電流環路串行接口
20 mA電流環是目前串行通信中廣泛使用的一種接口電路,但未形成正式標準。電流環串行通信接口的最大優點是低阻傳輸線對電氣噪聲不敏感,而且易實現光電隔離,因此在長距離通信時要比RS 232C優越得多。圖7是一個實用的20 mA電流環接口電路,它是一個加上光電隔離的電流環傳送和接收電路[7]。在發送端,將TTL電平轉換為環路電流信號,在接收端又轉換成TTL電平。
圖7 20 mA電流環接口電路
4 基于MAX232的PC機與單片機串行通信接口
PC機與單片機之間可以由RS 232C,RS 422A或RS 485等接口相連。單片機和PC機之間的通信與單片機和單片機之間的通信從軟件上講完全一樣,其差別主要在硬件方面[8] 。計算機的串行口使用的是RS 232電平,而單片機串行口的電平為TTL電平,兩者的電氣規范不同,所以,當需要單片機和PC機之間進行通信時,需要在兩者之間加上電平轉換電路。采用MAX232芯片的PC機和單片機串行通信接口電路如圖8所示[9]。
圖8 基于MAX232芯片的PC機和單片機串行通信接口
5 結 語
計算機與單片機的串行通信在實際的工業過程中的應用十分廣泛,且在工業現場易于調試,具有很大實用價值[10]。在選擇通信接口標準時必須注意:通信速度與通信距離的關系以及系統的抗干擾能力。
標準串行接口通常都有滿足可靠傳輸時的最大通信速度和傳送距離指標,但這兩個指標具有相關性,適當降低傳輸速度,可以提高通信距離,反之亦然。如采用RS 232C標準進行單向數據傳輸時,最大的傳輸速度為20 Kb/s,最大的傳輸距離為15 m。而采用RS 422A標準時,最大的傳輸速度可達10 Mb/s,最大的傳輸距離為300 m,適當降低傳輸速度,傳輸距離可達1 200 m。
通常,選擇的標準接口,在保證不超過其使用范圍時都有一定的抗干擾能力,以保證可靠的信號傳輸。但在一些工業測控系統中,通信環境十分惡劣,因此在通信介質選擇、接口標準選擇時,要充分考慮抗干擾能力,并采取必要的抗干擾措施。例如在長距離傳輸時,使用RS 422A和RS 485標準,采用差動方式傳輸能有效地抑制共模信號干擾;使用20 mA電流環技術,能大大降低對噪聲的敏感程度。
在高噪聲污染的環境中,通過使用光纖介質可減少噪聲的干擾,通過光電隔離可以提高通信系統的安全性。
參考文獻
[1]郭成林.AT89系列單片機與PC機之間的串行通信接口設計[J].山西電子技術,2008(1):31-32.
[2]郭俊香,曹領.RS 232C接口及其使用[J].儀器儀表用戶,2007(1):27-28.
[3]王瑋.51單片機與PC機串行通信接口的設計[J].硅谷,2009(6):5-6.
[4]陳欣琳,王海峰,金亮.PC機和MCS-51單片機間的串行通信[J].中國科技信息,2009(13):86.
[5]李慶輝.RS 422A接口在單片機系統中的應用[J].遼寧師專學報:自然科學版,2008,10(1):97-98.
[6]牛思先,向征.基于RS 422/485的串行異步通訊接口設計和應用[J].計算機工程與設計,2007,28(10):72-74.
[7]朱玉田,唐興華.高共模電壓下4~20 mA電流環路信號的拾取[J].機械與電子,2009(1):23.
[8]林志強.單片機多協議串行通信接口擴展技術[J].福建電腦,2009(9):40-41.
[9]郭宏亮.PC機與AT89C51單片機的串行通信接口設計[J].平原大學學報,2007,24(3):117-119.
[10]李華.基于VB與單片機串行通信的數據采集系統設計[J].煤炭工程,2007(12):135-136.
[11] 操建華.CAN/RS 232接口卡的設計與實現[J].現代電子技術,2009,32(24):39-41.
[12]李丹,賀占莊,李灝.PCI Express總線接口板的設計與實現[J].現代電子技術,2009,32(4):158-161.
[13]陳鐵軍,謝春萍.PC機與RS 485總線多機串行通信的軟硬件設計[J].現代電子技術,2007,30(5):103-105.