姚高華 廖秋香 李 琛
計算機與單片機多機通信系統(tǒng)的實現(xiàn)
姚高華廖秋香李 琛
(梧州學院 信息與電子工程學院,廣西 梧州 543002)
介紹了工業(yè)控制中應(yīng)用廣泛的計算機與單片機多機通信問題,提出了一種多機通信系統(tǒng)整體實現(xiàn)方案,實現(xiàn)了計算機與單片機主機、單片機主機與多個從機之間的多機通信問題,滿足了設(shè)計要求。
多機通信;RS485;遠程監(jiān)控;單片機
隨著科學技術(shù)的不斷發(fā)展,工業(yè)生產(chǎn)和管理的自動化程度不斷提高,社會對遠程監(jiān)控的需求不斷增大。在遠程監(jiān)控系統(tǒng)中,一般采用主從機的多機通信系統(tǒng)結(jié)構(gòu)。計算機具有強大的數(shù)據(jù)處理能力,具有很強的通用性,所以實際應(yīng)用中一般用計算機作為主機;單片機雖然數(shù)據(jù)處理能力不及計算機,但成本低、控制簡單、使用方便,所以一般作為從機接收各種傳感器采集的數(shù)據(jù),并傳輸給主機進行數(shù)據(jù)處理,還可以遠程監(jiān)控各種現(xiàn)場設(shè)備,并接收主機的控制命令。
在工業(yè)控制中,現(xiàn)場設(shè)備和各類傳感器往往分布在不同的地方,具有分布式的結(jié)構(gòu)特點,因此從機一般有很多個。為了實現(xiàn)主從機多機之間的通信,需要進行硬件設(shè)計和軟件開發(fā),硬件方面核心在通信接口問題,軟件方面的關(guān)鍵在于通信協(xié)議設(shè)計以進行數(shù)據(jù)傳輸。
系統(tǒng)整體實現(xiàn)方案如圖1所示,包括三個組成部分:(1)計算機作為上位機,通過VC控制界面可以實時監(jiān)控;(2)單片機主機模塊,通過RS232接口與計算機上位機通信,通過RS485接口與多個單片機從機連接;(3)多個單片機從機模塊,主要用來接收多傳感器數(shù)據(jù)和控制現(xiàn)場設(shè)備。
用戶在使用本系統(tǒng)的時候,只需坐在電腦前面,通過計算機上位機的控制界面與單片機主機進行數(shù)據(jù)通信,單片機主機與多臺單片機從機之間利用RS485總線進行數(shù)據(jù)傳輸,從機的任務(wù)是進行現(xiàn)場設(shè)備監(jiān)控和各種傳感器數(shù)據(jù)采集,并將結(jié)果返回給單片機主機,單片機主機再把數(shù)據(jù)傳輸給上位機,計算機把數(shù)據(jù)處理后顯示在上位機的控制界面上,控制界面簡單明了,易于操作。
在上位機控制界面上有一下拉列表,這個列表是給用戶選擇需要控制的從機編號,用戶通過點擊下拉列表的是三角形箭頭,可以彈出標有各個從機的下拉菜單,用戶只需選中其中一個從機,就可以對該從機進行操作。在監(jiān)測區(qū)域,有各個從機返回的各種數(shù)據(jù),包括各從機現(xiàn)場設(shè)備的工作狀態(tài)、從機傳感器傳回的數(shù)據(jù)等;在控制區(qū)域,能夠利用上位機控制界面,遠程控制各個從機的現(xiàn)場設(shè)備。
圖1 多機通信系統(tǒng)整體實現(xiàn)方案
多機通信硬件系統(tǒng)結(jié)構(gòu)主要包括主控電路、串口通信接口電路、串口擴展電路、RS485通信接口電路等。由于單片機的串口有限,該系統(tǒng)使用8251A作為單片機的串口擴展芯片,它可以并行接收單片機數(shù)據(jù)串行發(fā)送出去,也可以串行接收數(shù)據(jù)并行傳遞給單片機。PC機與單片機之間的通信,利用MAX232實現(xiàn)TTL電平到RS-232電平的轉(zhuǎn)換,可以延長電腦與單片機之間的通信距離。
單片機主機與從機均采用ATMEL公司生產(chǎn)的AT89S52單片機作為核心處理器,它片內(nèi)有8K的ROM, 256字節(jié)的RAM以及32個I/0口,無需擴展外部程序存儲器,外部電路形式簡潔。AT89S52單片機主要負責主機和各從機系統(tǒng)的數(shù)據(jù)采集及處理,主機單片機負責把從機返回的數(shù)據(jù)接收處理,并行發(fā)給8251A,控制8251A把數(shù)據(jù)串行反饋給PC機;從機單片機負責檢測紅外接收管的電平變換,從而判斷門的開關(guān)狀態(tài),同時還負責收集溫度傳感器傳回的數(shù)據(jù),此外從機處理器還負責接收主單片機發(fā)來的命令,進行相應(yīng)的控制操作。由于RS485協(xié)議和RS232協(xié)議相比,具有通信速率更快、傳輸距離更遠、多機連接能力更強等優(yōu)點[1],所以本系統(tǒng)主機與從機之間的通信,采用RS485通信協(xié)議。
2.1串口通信電路設(shè)計
本系統(tǒng)計算機和單片機主機之間的串口通信電路用MAX232芯片作為電平轉(zhuǎn)換芯片,電路圖如圖2所示。目前在計算機與工業(yè)設(shè)備的通信中廣泛采用RS232作為串行接口。典型的RS232信號其發(fā)送端驅(qū)動器輸出的正電平在+5~+15V之間,輸出的負電平在-5~-15V電平之間,接收端典型的工作電平在+3~+12V與-3~-12V;由于發(fā)送端的工作電平和接收端的工作電平僅相差約2V到3V,所以共模抑制能力較差,此外傳輸線上還存在分布電容,因此RS232信號的傳輸距離最大約15米,傳輸?shù)淖罡咚俾蕿?0kb/s[2]。RS232只能用于點對點的通信,因其傳輸距離較短,故只適合在本地設(shè)備之間進行通信。
圖2 串口通信電路圖
2.2RS-485接口電路設(shè)計
本系統(tǒng)單片機主機和從機通信采用RS485通信協(xié)議,接口電路采用MAX485芯片,電路圖如圖3所示。RS485接口抗干擾能力強,能連接多達256個收發(fā)器,最大傳輸距離可以達到1200米,因此是串行通信中接口電路的首選,RS485接口為半雙工通信,只需二根連線即可,所以采用屏蔽雙絞線進行數(shù)據(jù)傳輸[3]。
圖3 RS485接口電路
2.3串口擴展電路設(shè)計
串口擴展電路在器件上選擇8251A和鎖存芯片74LS373以及為8251A提供時鐘的摩托羅拉生產(chǎn)的MC14060芯片。8251A可以接收來自單片機的并行數(shù)據(jù),轉(zhuǎn)換為串行數(shù)據(jù)輸出;也可以接收來自外部的串行數(shù)據(jù),轉(zhuǎn)換為并行數(shù)據(jù)輸出到單片機;同時8251A占用的外部地址單元只有2個,對其讀、寫訪問非常簡單[4]。
圖4 串口擴展電路
本系統(tǒng)單片機主機和從機程序流程圖分別如圖5和圖6所示,單片機主機在初始化后令TB8為1,選擇某個從機并發(fā)送從機地址幀,再等待該從機應(yīng)答,收到應(yīng)答信息后令TB8為0,再與該從機進行數(shù)據(jù)通信;單片機從機初始化時波特率要和主機一致設(shè)為9600kb/s,初始化后令SM2為0,等待主機發(fā)來地址幀,若接收到的地址幀與該從機對應(yīng)的地址幀一致,則令SM2為1,再將數(shù)據(jù)發(fā)送給單片機主機。
圖5 單片機主機程序流程圖
圖6 單片機從機程序流程圖
本系統(tǒng)以計算機作為上位機,利用計算機的軟硬件資源設(shè)計友好直觀的控制界面進行實時監(jiān)控,通過RS232接口實現(xiàn)單片機主機與計算機上位機通信,通過RS485接口實現(xiàn)單片機主機與多個單片機從機連接,用來接收各種傳感器數(shù)據(jù)和控制現(xiàn)場設(shè)備。通過上述設(shè)計方法,成功實現(xiàn)了計算機與單片機主機、單片機主機與多個從機之間的多機通信問題,滿足了設(shè)計要求。實踐表明,該系統(tǒng)運行穩(wěn)定可靠,控制簡單靈活,實現(xiàn)成本低,在類似應(yīng)用場合中具有較好的實用價值。
[1] 羅晴蘭,殷正國.MAX1480集成鉗位傳輸架構(gòu)高性能工控RS-485網(wǎng)絡(luò)[J].西安文理學院學報(自然科學版),2010,(2):85-88.
[2] 郭艷.一種全工收發(fā)器芯片的設(shè)計[D].武漢:華中科技大學,2006.
[3] 趙文昌.基于RS-485總線的深度指示器研制[J].煤炭工程,2009,(12):108- 110.
[4] 賈轉(zhuǎn)紅,朱清林,敖發(fā)良.PC機與多臺單片機實時通信系統(tǒng)的設(shè)計與實現(xiàn)[J].微計算機信息,2007,(2):143-145.
Realization of multi-communication system between PC and MCUs
This paper make a brief introduction on the multi-communication between PC and MCUs, which is widely used in industrial control. The paper puts forward an overall solution for multiple computer communication system, and realized the communication between PC and master MCU, between master MCU and slave MCUs as well.
Multi-communication; RS485; remote monitoring; MCU
TP393
A
1008-1151(2016)02-0001-02
2016-01-13
廣西高??茖W技術(shù)研究項目(KY2015LX442);梧州學院校級科研項目(2015C021)。
姚高華(1981-),男,湖北仙桃人,梧州學院講師,碩士,研究方向為智能控制;廖秋香(1981-),女,四川樂山人,梧州學院講師,碩士,研究方向為圖像處理;李?。?981-),女,湖北黃岡人,梧州學院講師,研究方向為圖像處理。