梁天太,周英杰,張 澤,劉慧慧
(1.北京石油化工學院 機械工程系,北京 102617;2.北京化工大學 機械工程學院,北京 100029;3.北京工業(yè)大學 機械工程學院,北京 100124)
基于MAX232實現(xiàn)PC機與CPU通信
梁天太1,周英杰2,張澤3,劉慧慧1
(1.北京石油化工學院 機械工程系,北京 102617;2.北京化工大學 機械工程學院,北京 100029;3.北京工業(yè)大學 機械工程學院,北京 100124)
摘要:介紹了串行通信和MAX232芯片的應用,并采用MAX232芯片制作串行接口電路,利用該電路把CPU數(shù)據(jù)讀取到PC機上。在此之前,收發(fā)雙方應按照約定的通信協(xié)議進行設定,以便確保單片機與PC機能正確的進行通信。在PC機上利用設置好的串行調試助手將讀取的數(shù)據(jù)直觀地顯示出來。為進一步保證讀取數(shù)據(jù)的正確性,通過示波器將串口數(shù)據(jù)波形顯示出來,將兩者進行對比,判斷接收數(shù)據(jù)是否正確,以此來驗證該串行接口電路的正確性,確保正確實現(xiàn)CPU與PC機之間點對點的串行通信。
關鍵詞:CPU;MAX232;串行通信;PC機
隨著單片微型計算機技術的發(fā)展,人們經(jīng)常采用單片機對自動化系統(tǒng)的參數(shù)(如溫度、壓力和速度等)進行檢測和控制。單片機之所以被廣泛使用,是因為它具有靈活快速的控制能力,而PC機則具有強大的管理和監(jiān)控功能;因此,PC機與外部設備進行串行通信在許多測控系統(tǒng)中得到廣泛應用。鑒于此,利用MAX芯片制作串行接口實現(xiàn)PC機與單片機[1]之間的信息交換方法具有十分重要的意義。
1硬件電路的制作
1.1串行通信
串行通信[2]是指用1條數(shù)據(jù)線,將數(shù)據(jù)依次傳輸,每一位數(shù)據(jù)占據(jù)1個固定的時間長度。串行通信只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息,特別適合在計算機與計算機、計算機與外設之間進行通信,具有使用線路少和成本低的優(yōu)點,特別是在遠程傳輸時,避免了多條線路特性的不一致。
串行通信可以分為2種方式:同步串行通信和異步串行通信。同步串行通信一般用在傳輸速度較快的場合,但對硬件的要求也相對較高;而異步串行通信常用在傳輸速率50~115 200 b/s,對硬件的要求相對較低,是應用最為廣泛的串行通信方式。異步通信在傳輸數(shù)據(jù)時是逐幀傳輸?shù)?,而每一幀的?shù)據(jù)格式分為四部分:1位起始位,5~8位的數(shù)據(jù)位,1位奇偶校驗位和1、1.5或2位停止位。當然,在數(shù)據(jù)傳輸過程中,收發(fā)雙方要約定好數(shù)據(jù)格式以及數(shù)據(jù)的傳輸速率(波特率)。
1.2MAX232芯片
MAX232芯片是美信公司專門為RS-232標準串口設計的接口電路,使用5 V電源供電。內部結構基本可分為下述3個部分。
1)電荷泵電路。由1、2、3、4、5、6腳和4只電容構成。功能是產(chǎn)生+12 V和-12 V 2個電源,提供給RS-232串口電平的需要。
2)數(shù)據(jù)轉換通道。由7、8、9、10、11、12、13、14腳構成2個數(shù)據(jù)通道。13腳(R1in)、12腳(R1out)、11腳(T1in)和14腳(T1out)為第1數(shù)據(jù)通道。8腳(R2in)、9腳(R2out)、10腳(T2in)和7腳(T2out)為第2數(shù)據(jù)通道。
TTL/CMOS數(shù)據(jù)從T1in、T2in輸入,轉換成RS-232數(shù)據(jù),從T1out、T2out送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1in、R2in輸入,轉換成TTL/CMOS數(shù)據(jù)后,從R1out、R2out輸出。
3)電源部分。由15腳GND和16腳VCC(+5 V)構成。
1.3RS-232C標準
RS-232C是美國電子工業(yè)協(xié)會(EIA)制定的一種串行物理接口標準。它適合于數(shù)據(jù)傳輸速率[3]為0~20 kb/s的通信。這個標準對串行通信接口的有關問題,如信號線功能和電器特性都作了明確規(guī)定。由于通信設備廠商都生產(chǎn)與RS-232C制式兼容的通信設備,因此RS-232C作為一種標準,目前已在微機通信接口中廣泛采用。
RS-232C總線標準設有25條信號線,包括1個主通道和1個輔助通道。在多數(shù)情況下主要使用主通道,對于一般雙工通信,僅需幾條信號線就可實現(xiàn),如1條發(fā)送線、1條接收線及1條地線。
RS-232C標準規(guī)定的數(shù)據(jù)傳輸速率為50、75、100、150、300、600、1 200、2 400、4 800、9 600、19 200、38 400和115 200 b/s。
1.4 串行接口電路
利用MAX232芯片制作的硬件接口電路,該電路不需要驅動芯片,因為MAX232本身就具有驅動能力,所以不必再外加驅動電路。接口電路如圖1所示。
圖1 RS-232接口電路
MAX232芯片有2路數(shù)據(jù)通道,本文只用1路接受/發(fā)射讓PC機與單片機進行數(shù)據(jù)通信。單片機的TD(發(fā)射)與MCU_TXD1連接,單片機的RD(接收)與MCU_TXD1連接;PC機的接收與T1out相連,發(fā)射與R1in相連,接口J1與芯片MAX232的連接。J1口通過連接線與PC機的RS-232串口相連。一般情況下,這樣的連接方式即可滿足普通通信的要求。
1.5RS-232交叉串口線
在實際應用中,9針RS-232串口線通常用在計算機與外圍設備的通信,多用于工控和測量設備以及部分通信設備中。如三菱PLC梯形圖下載以及工控觸摸屏畫面下載等。
通常在9針的基礎上再進行簡化,只用其中的2、3和5等3個管腳進行通信。這3個管腳分別是接收線、發(fā)送線和地線,在一般情況下即可滿足通信的要求。
通常進行串口數(shù)據(jù)通信,需要使用到RS-232交叉串口線,如圖2所示,其中2腳和3腳是交叉互聯(lián)的,這很容易理解,因為一個設備的發(fā)送線必須連接到另外一臺設備的接收線上,反之亦然。另外,232信號的有效通信距離是15 m。
圖2 RS-232交叉串口線的內部連線
2通信協(xié)議的制定
通信協(xié)議是指雙方實體完成通信或服務所必須遵循的規(guī)則和約定。協(xié)議定義了數(shù)據(jù)單元使用的格式,還有串行通信最重要的參數(shù):比特率、數(shù)據(jù)位、奇偶校驗位和停止位。對于2個進行通信的實體,這些參數(shù)必須相匹配,從而確保數(shù)據(jù)順利地傳送到確定的地方。通信協(xié)議如下:1)串行通信的波特率設為15 200 b/s;2)幀格式為1位起始位,8位數(shù)據(jù)位,2位停止位;3)無奇偶校驗位;4)PC機采用COM1口進行通信。
3PC機與單片機的通信過程
PC機與單片機通信之前,首先要做的就是搭建硬件電路,即PC機通過COM1與上面設計的接口電路收/發(fā)口相連,接口電路的發(fā)/收口與單片機[4]的串行口相連,它們之間的連接是通過RS-232串口交叉線相連?,F(xiàn)在單片機地址為1006里面存放的數(shù)據(jù)為04,可以通過編寫相應程序將單片機地址1006里面的數(shù)據(jù)讀取。最后通過串口將它們讀到PC機上。讀取結果如圖3所示。
圖3 調試助手顯示串口數(shù)據(jù)
在PC機上利用串口調試助手,將接收到的數(shù)據(jù)讀出,當然,串口調試助手必須按預先設定好的通信協(xié)議[5]進行設定,這樣才能保證接收到正確的數(shù)據(jù)。否則,可能接收不到或者收到錯誤的數(shù)據(jù)。
為了驗證PC機上顯示數(shù)據(jù)的正確性,再通過示波器將串口波形(見圖4)輸出,然后對波形進行分析。波形的周期是88 us,即每傳輸1幀數(shù)據(jù)用時88 us。由通信協(xié)議可知,1幀數(shù)據(jù)由1位起始位、8位數(shù)據(jù)位、2位停止位共11位組成,每位用時約8 s。進一步對波形進行分析,第1位起始位為低電平,隨后是數(shù)據(jù)位,其數(shù)據(jù)值為01111111,即十六進制7F,數(shù)據(jù)位的第1位是0,為低電平;另外7位數(shù)據(jù)位是1,為高電平,最后2位是停止位,為高電平。其中,數(shù)據(jù)位與PC機接收數(shù)據(jù)7F相同,因此讀取的數(shù)據(jù)正確。
圖4 示波器顯示串口數(shù)據(jù)波形
4結語
串行通信方式使用線路少、成本低和適合遠程傳輸,大多數(shù)RS-232C技術規(guī)范的目標在于提供必要的電壓電平以驅動損耗較大的線路,如MC1488和MC1489組成RS-232接口,則需要±12 V和+5 V電源供電,以實現(xiàn)TTL和CMOS邏輯轉換匹配。而MAX232芯片不僅可以實現(xiàn)RS-232C的技術指標,而且芯片的供電電源只需要+5 V,這樣不僅使串行通信的性能更加可靠,而且價格低廉。該通信接口電路已經(jīng)在帶有串口的模塊、芯片和外圍設備等通信系統(tǒng)中得到了廣泛的應用,而且優(yōu)點非常突出。
參考文獻
[1] 陳壽元. 單片機多及通訊網(wǎng)絡改進及數(shù)據(jù)通信容錯技術[J]. 山東師范大學學報:自然科學版,2006(2):33-35.
[2] 李泓. MCS-51系列單片機與IBM-PC微機通信技術[J]. 電子技術應用,1996(7): 41-42
[3] 李朝青. 單片機原理及接口設計[M]. 北京:北京航空航天大學出版社,1994.
[4] 李心廣,王金礦,張晶. 電路與電子技術基礎[M]. 北京:機械工業(yè)出版社,2012.
[5] 周明德. 微機原理與接口技術[M]. 北京:人民郵電出版社,2008.
責任編輯鄭練
Computer and CPU Communication based on MAX232
LIANG Tiantai1, ZHOU Yingjie2, ZHANG Ze3, LIU Huihui1
(1.School of Mechanical and Electrical Engineering, Beijing Institute of Petrochemical Technology, Beijing 102617, China;
2.School of Mechanical and Electrical Engineering, Beijing University of Chemical Technology, Beijing 100029, China;
3.School of Mechanical and Electronic Engineering, Beijing University of Technology, Beijing 100124, China)
Abstract:This paper introduces the application of serial communication and MAX232 chip. Using MAX232 chip makes serial interface circuit, and utilizing the circuit reads the CPU data of the computer. Before this, the transceiver sides must be in accordance with the agreement good communication protocol for communication. Using a serial debugging assistant makes data visually displayed in the setting PC. In order to ensure the correctness of the data, make serial port data displayed in waveform through the oscilloscope. Comparing the two types of data, whether receiving correctly or not can verify the correctness of the serial interface circuit. Ensure the correct implementation of point-to-point serial communication between CPU and the computer.
Key words:CPU, MAX232, serial communication, personal computer
收稿日期:2015-01-07
作者簡介:梁天太(1985-),男,碩士研究生,主要從事脈沖激光測距及微弱信號處理等方面的研究。
中圖分類號:TN 91
文獻標志碼:A