RS485總線通信系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文_第1頁
RS485總線通信系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文_第2頁
RS485總線通信系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文_第3頁
RS485總線通信系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文_第4頁
RS485總線通信系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、本科學(xué)生畢業(yè)論文論文題目:RS485總線通信系統(tǒng)的設(shè)計與實現(xiàn)學(xué) 院:年 級:專 業(yè):姓 名:學(xué) 號:指導(dǎo)教師: 摘要無論是工業(yè)控制還是信號測試領(lǐng)域,實現(xiàn)不同通訊協(xié)議的數(shù)據(jù)融合都有著迫切需要。但是目前市場中存在的協(xié)議轉(zhuǎn)換器只能滿足兩種協(xié)議之間的轉(zhuǎn)換,如RS485轉(zhuǎn)RS232,USB轉(zhuǎn)RS485等,但是經(jīng)常存在著多種數(shù)據(jù)總線并存的情況,因此研制多種總線協(xié)議轉(zhuǎn)換的設(shè)備有著比較大的實際意義。除此之外,目前接口標(biāo)準(zhǔn)的RS485總線通信協(xié)議不統(tǒng)一,需設(shè)計一個高效穩(wěn)定的通信協(xié)議。基于以上原因,本論文提出一種基于高速RS485的多總線通信系統(tǒng)。整個系統(tǒng)包含多個RS485節(jié)點,各個節(jié)點包含的通訊接口包括RS23

2、2,RS485和USB,從而實現(xiàn)這三類總線的通訊協(xié)議的轉(zhuǎn)換。設(shè)計并實現(xiàn)了一種適用于微機和單片機之間串行通信的通信協(xié)議,采用RS485簡便,通信可靠性高總線標(biāo)準(zhǔn),可用于工業(yè)測控和控制現(xiàn)場。實驗結(jié)果表明,該通信協(xié)議是切實可行的,達到了預(yù)期的設(shè)計要求。關(guān)鍵詞RS485總線;主從式;多機通信;通信協(xié)議Abstract Whether in the field of industrial control or signal test, the achievement of data fusion which is based on different communication protocol is

3、urgent needed. However, in the current market, protocol converter can only achieve conversion between two protocols, such as RS485 to RS232, USB to RS485 and so on. Cases of coexistence data bus, it has great practical significance to develop an equipment for protocol conversion among different buse

4、s. Based on the reasons above, a high-speed RS485-based multi-bus communication system is presented in this paper. The entire system which is used to realize the three categories of bus communication protocol conversion consists of some RS485 nodes, each node contains the communication interfaces in

5、cluding RS232, RS485 and USB. In the practical application, the number of nodes can be changed as required to form system, for achievement of data fusion between a variety of bus communication protocol.Key wordsRS485 bus; Serial Bus; Protocol Conversion; Communication protocol目錄摘要IAbstractII第一章 緒論11

6、.1 研究背景及意義11.2 RS485總線通信系統(tǒng)研究現(xiàn)狀2第二章 RS485介紹42.1 RS485標(biāo)準(zhǔn)42.2 MAX485芯片介紹42.3 RS485總線組網(wǎng)方式52.4 RS485方式構(gòu)成的多機通信原理5第三章 系統(tǒng)協(xié)議及硬件設(shè)計73.1 RS485通信協(xié)議設(shè)計73.1.1 物理層設(shè)計73.1.2 數(shù)據(jù)鏈路層設(shè)計83.1.3 應(yīng)用層設(shè)計83.1.4 通信協(xié)議83.2 系統(tǒng)硬件設(shè)計103.2.1 PC與RS485總線的接口103.2.2 RS485方式構(gòu)成的多機通信103.2.3 單片機與PC機串行通信系統(tǒng)構(gòu)成11第四章 系統(tǒng)的軟件實現(xiàn)124.1 上下位機的關(guān)系134.2 下位機通信軟

7、件的設(shè)計144.3 上位機通信軟件的設(shè)計164.3.1 通信協(xié)議設(shè)計164.3.2 多機傳輸174.3.3 差錯控制184.4 程序設(shè)計19第五章 系統(tǒng)問題解決措施205.1 總線隔離205.2 失效保護205.3 電磁干擾問題20結(jié)論22參考文獻23致謝24第一章 緒論所謂通信,不僅僅要實現(xiàn)數(shù)據(jù)的傳輸,更應(yīng)該體現(xiàn)準(zhǔn)確性,也稱可靠性傳輸,最好具有一定的糾錯和檢錯能力。RS485通信標(biāo)準(zhǔn)的電器協(xié)議是差分、多點傳輸,在現(xiàn)代社會被廣泛應(yīng)用。RS485通信系統(tǒng)被大量應(yīng)用在自動化生產(chǎn)中,許多智能設(shè)備應(yīng)用RS485通信協(xié)議進行通信。RS485系統(tǒng)多數(shù)以半雙工形式通信,具有超強的可靠性、抑制噪聲能力,數(shù)據(jù)傳

8、輸速率非常高,電纜長度特別長。RS485系統(tǒng)常用的芯片有很多種,本文采用MAX485芯片。RS485接口以平衡方式傳輸,多點之間進行通信。在工業(yè)控制和信號測試領(lǐng)域中,常常需要將不同通訊協(xié)議進行融合,在這個過程中協(xié)議轉(zhuǎn)換器發(fā)揮著重要作用,如RS485轉(zhuǎn)RS232,USB轉(zhuǎn)RS485等,可以實現(xiàn)兩種協(xié)議的轉(zhuǎn)換。本文采用USB轉(zhuǎn)RS485進行轉(zhuǎn)換。最近幾年,計算機技術(shù)的發(fā)展日新月異,發(fā)展迅猛,普遍性高,智能測量、系統(tǒng)控制大多采用上位機與下位機采用主從式工作方式,現(xiàn)場控制單元可以實現(xiàn)遙測、遙調(diào)、遙控、遙信功能。由此可知,上位機與下位機的串行通信需要達到一定的可靠性,對實現(xiàn)智能化測控至關(guān)重要。主機與分機

9、串行通信主要包括:硬件設(shè)計、設(shè)計通信協(xié)議和軟件設(shè)計。本文簡述PC機與單片機串行通信的組成設(shè)計,包括硬件設(shè)計、協(xié)議設(shè)計、軟件設(shè)計以及通信時需要考慮的問題。1.1 研究背景及意義在計算機技術(shù)發(fā)展迅猛的今天,信息量日益增大,交互速度日益加快,系統(tǒng)內(nèi)各個模塊信息交互日益復(fù)雜,這對總線體系發(fā)展起到了推動性作用,使得信息交互更加簡潔,即使信息量龐大,也能輕松實現(xiàn)。隨著系統(tǒng)數(shù)據(jù)處理量的增大,對速度的要求也不斷提升,并行總線具有時鐘同步和串碼等的缺陷,不能滿足系統(tǒng)數(shù)據(jù)交換的條件。高速串行總線采用低壓差分技術(shù),電路的結(jié)構(gòu)簡單、可擴展、傳輸速度快,逐漸取代了并行總線成為主流總線電路方案1。由于嵌入式等技術(shù)的發(fā)展,

10、高速串行總線可編程資源驟增,也可滿足系統(tǒng)集成要求,提高了系統(tǒng)的靈活性和適應(yīng)性。這一技術(shù)的研究對于促進智能化信息系統(tǒng)的發(fā)展、進一步提高現(xiàn)代生產(chǎn)、生活效率有著重大意義。自動控制系統(tǒng)技術(shù)和信息交互技術(shù)的發(fā)展迅速,信息化、數(shù)字化、網(wǎng)絡(luò)化、微型化、分散化、智能化成為信息系統(tǒng)發(fā)展的主流方向,隨著接口編碼技術(shù)的發(fā)展和系統(tǒng)的逐漸壯大,一系列數(shù)據(jù)格式和接口信息不同的高速總線出現(xiàn)在市場中。即使是同一設(shè)備可能使用不同的總線接口,多總線之間的數(shù)據(jù)通訊及其協(xié)議轉(zhuǎn)換,使信息系統(tǒng)從設(shè)計、運行、維護等多通訊協(xié)議的轉(zhuǎn)換,簡化復(fù)雜系統(tǒng)結(jié)構(gòu)和提高系統(tǒng)工作可靠性都至關(guān)重要2。在現(xiàn)代生產(chǎn)和生活中,信息傳輸以及交互量大,交互速度高,同時

11、,現(xiàn)場工作條件使其重量、體積受限,提升設(shè)備的運行速度和可靠性迫在眉睫。為此,本文設(shè)計了一種基于RS485的分布式多總線通信系統(tǒng),由基于高速RS485的總線節(jié)點組成,節(jié)點中具有RS485總線及USB的通訊功能,且分布式系統(tǒng)的總線節(jié)點個數(shù)可靈活刪減,應(yīng)運而生。從而可以滿足對多個RS485和USB接口設(shè)備進行通訊及控制等。本論文為對進一步研究通用化、模塊化、可編程化及標(biāo)準(zhǔn)化的信息控制系統(tǒng)和信息處理系統(tǒng)有著重要意義3。隨著計算機技術(shù)的發(fā)展,微機的價格大幅度下降,PC機和各種單片機在工業(yè)和各行業(yè)應(yīng)用日益廣泛。在現(xiàn)場中,各種測量儀表往住采用單片機做數(shù)據(jù)處理和控制單元,而在主控室內(nèi),由微機對整個生產(chǎn)過程的數(shù)

12、據(jù)進行統(tǒng)一的顯示、存儲,并可以完成打印報表、參數(shù)設(shè)定等工作。這樣,就由微機和單片機構(gòu)成了小型分布式的測量系統(tǒng)。在這樣的系統(tǒng)中,微機與單片機的通訊就顯得尤為重要。一般微機上都有RS232串行接口,但由于RS232使用的是非平衡的電信號,電氣性能不佳,存在著傳輸速率低、傳輸距離短、接口處信號容易產(chǎn)生相互干擾等問題,難以在工業(yè)現(xiàn)場中得到應(yīng)用。近年來出現(xiàn)的RS485總線,其收發(fā)電平為差動方式,大大提高了通訊的速率、距離和可靠性,并且適合多機通訊。在通訊的波特率小于100kbPs時,允許電纜長度為1200米,一般可以滿足現(xiàn)場的要求。1.2 RS485總線通信系統(tǒng)研究現(xiàn)狀許多年以前,工業(yè)控制領(lǐng)域已經(jīng)出現(xiàn)總

13、線技術(shù),總線發(fā)展的方向主要有串行、高速及采用嵌入式方案等2?,F(xiàn)如今,總線技術(shù)通常為多種總線并存,應(yīng)用領(lǐng)域不斷擴展且總線網(wǎng)絡(luò)結(jié)構(gòu)趨于簡單化。下面重點介紹RS485總線通信系統(tǒng)的發(fā)展歷程。RS485標(biāo)準(zhǔn)由電子工業(yè)協(xié)會于1983年制訂并發(fā)布,后由通訊工業(yè)協(xié)會修訂,并命名為TIA/EIA-485-A。RS485采用平衡驅(qū)動差分接收電路,采用半雙工工作方式,傳輸距離最高可達到1200m,傳輸速率不少于52Mbps,掛載總線節(jié)點數(shù)最多為32個3,基于以上參數(shù)分析,RS485總線可應(yīng)用于遠距離高速傳送數(shù)據(jù)和信息。2009年清華大學(xué),精密儀器與機械學(xué)系王鵬,李成等采用FPGA與RS485收發(fā)器結(jié)合,采用CRC

14、校驗算法,實現(xiàn)了通訊距離為200m,速率為20Mbps,總線誤碼率為10-11的RS485總線。2007年周立功公司采用外置UART芯片SC16IS762結(jié)合MAX485芯片的方案實現(xiàn)5Mbps高速RS485總線方案。RS485是由RS232發(fā)展而來的接口標(biāo)準(zhǔn),包括點對多點和多點對多點的網(wǎng)絡(luò),RS485總線網(wǎng)絡(luò)憑借可靠性高、分布范圍較大、組建成本低等特點,在智能家居、遠程控制等領(lǐng)域得到廣泛應(yīng)用。第二章 RS485介紹RS485通信系統(tǒng)有主從式和總線式兩種通信方式。在工業(yè)控制常用主從式通信方式,總線通信具有更好通用性和可擴展性,在總線通信協(xié)議也容易建立一個主從式RS485通信網(wǎng)絡(luò)。 RS485總

15、線網(wǎng)絡(luò)的網(wǎng)絡(luò)簡單,成本低,但總線協(xié)議至今尚未統(tǒng)一。在基于RS485總線網(wǎng)絡(luò)系統(tǒng),經(jīng)常臨時設(shè)計RS485總線通信協(xié)議,在系統(tǒng)的可移植性和效率穩(wěn)定性方面存在一些問題4??傊O(shè)計一個高效和穩(wěn)定統(tǒng)一的通訊協(xié)議作為協(xié)議標(biāo)準(zhǔn)對信息的處理和傳遞是十分有必要的,本文第三章簡單介紹了高效穩(wěn)定的通信協(xié)議。2.1 RS485標(biāo)準(zhǔn)在計算機網(wǎng)絡(luò)控制系統(tǒng)中,通常使用串行通信進行信息交換,無論是OSI七層協(xié)議模型還是一個簡化的三層(或四層)的網(wǎng)絡(luò),第一層均為物理層,RS485是物理層協(xié)議標(biāo)準(zhǔn),也是串行通信接口標(biāo)準(zhǔn),它可以很容易地把各種計算機,外圍設(shè)備,測量儀器有機地連接,以構(gòu)成測控系統(tǒng)。 1977年開發(fā)的新標(biāo)準(zhǔn)的EIA

16、RS449,它定義了10種電路功能的RS232C,它的傳輸速率高,傳輸距離遠,RS485是RS422的變體5。2.2 MAX485芯片介紹MAX485是用于RS485通信的收發(fā)器,功率較低,芯片內(nèi)部含有1個接收器和1個發(fā)射器,具體特性如表2-1所示。表2-1 MAX485芯片介紹通信方式低功耗關(guān)機接收器使能靜態(tài)電流/mA數(shù)據(jù)率/Mbps轉(zhuǎn)換率限制管腳數(shù)半雙工NOYES3002.5NO8MAX485芯片8個管腳的功能如下:(1)RO腳,即為輸出端: 若A比B小100 mV, RO為低,若A比B大100 mV, RO為高。(2)RE腳,即為接收器輸出使能端):當(dāng)RE為高時,RO為高阻狀態(tài),只有RE

17、為低時,RO才有效。(3)DE腳,即為驅(qū)動器輸出使能端:若DE為低,它們成高阻狀態(tài),若DE為高,驅(qū)動輸出A和B有效; 若為高阻狀態(tài)時, RE為低,它們作線接收器用,若驅(qū)動器輸出有效,器件作為線驅(qū)動器用。(4)DI腳:即為驅(qū)動器輸入:若DI為高,輸出Y為高,Z為低,若DI為低,Y為低,Z為高。(5)GND腳:即為接地作用。(6)B腳: 反相驅(qū)動器輸出和反相接收器輸入。(7)A腳: 同相驅(qū)動器輸出和同相接收器輸入。(8)VCC:即為電源正極。2.3 RS485總線組網(wǎng)方式RS485總線網(wǎng)絡(luò)組建并不復(fù)雜,通常采取兩線或者四線方式。所有RS485節(jié)點全部掛在一對RS485總線上,此處 GND以及VCC

18、可以不接,接線時RS485總線不能開叉。從總線到每個節(jié)點的引出線長度應(yīng)盡量短,以便使引出線中的反射信號對總線信號的影響最低,RS485總線網(wǎng)絡(luò)的終端有PC機和嵌入式設(shè)備6。2.4 RS485方式構(gòu)成的多機通信原理實際應(yīng)用系統(tǒng)中,往往分散控制單元數(shù)量較多,分布較遠,現(xiàn)場存在各種干擾,所以可能有以下兩個問題出現(xiàn),一是通信數(shù)據(jù)收發(fā)的可靠性問題,二是在多機通信方式下,一個節(jié)點的故障(如死機),往往會使得整個系統(tǒng)的通信框架崩潰,而且給故障的排查帶來困難。針對上述問題,作者對485總線的軟硬件采取了具體的改進措施。在由單片機構(gòu)成的多機串行通信系統(tǒng)中,一般采用主從式結(jié)構(gòu):從機不主動發(fā)送命令或數(shù)據(jù),一切都由主

19、機控制。并且在一個多機通信系統(tǒng)中,只有一臺單機作為主機,各臺從機之間不能相互通訊,即使有信息交換也必須通過主機轉(zhuǎn)發(fā)。在總線末端接一個匹配電阻,吸收總線上的反射信號,保證正常傳輸信號干凈、無毛刺。匹配電阻的取值應(yīng)該與總線的特性阻抗相當(dāng)。當(dāng)總線上沒有信號傳輸時,總線處于懸浮狀態(tài),容易受干擾信號的影響。將總線上差分信號的正端A+和+5電源間接一個10K的電阻;正端A+和負端B-間接一個10K的電阻;負端B-和地間接一個10K的電阻,形成一個電阻網(wǎng)絡(luò)。當(dāng)總線上沒有信號傳輸時,正端A+的電平大約為3.2V,負端B-的電平大約為1.6V,即使有干擾信號,卻很難產(chǎn)生串行通信的起始信號0,從而增加了總線抗干擾

20、的能力。現(xiàn)以8031單片機自帶的異步通信口,外接75176芯片轉(zhuǎn)換成485總線為例。其中為了實現(xiàn)總線與單片機系統(tǒng)的隔離,在8031的異步通信口與75176之間采用光耦隔離。第三章 系統(tǒng)協(xié)議及硬件設(shè)計3.1 RS485通信協(xié)議設(shè)計在工業(yè)控制,所有下位機相互獨立,同時受主計算機的管理和控制,通過使用通信技術(shù)向多個下位機傳輸資料和控制命令。個人計算機系統(tǒng)中,為了實現(xiàn)下位機的實時監(jiān)控,當(dāng)前PC的數(shù)據(jù)和控制命令傳遞給下位機。許多大型監(jiān)測網(wǎng)絡(luò),不適合于小企業(yè)使用,大部分成本高。 RS485總線為基礎(chǔ)的通信系統(tǒng)中,是一個可靠的、簡單的、低成本系統(tǒng),在對數(shù)據(jù)傳輸速率要求不太高、傳輸數(shù)據(jù)不太遠時可以廣泛應(yīng)用7。

21、可以很容易地構(gòu)建小型工業(yè)監(jiān)測網(wǎng)絡(luò)。根據(jù)OSI(開放系統(tǒng)互連)模型規(guī)范和實際工作需求,在這個系統(tǒng)中,可以把RS485總線通信協(xié)議分為三層:物理層,數(shù)據(jù)鏈路層和應(yīng)用層。 物理層設(shè)計物理層用來規(guī)定RS485系統(tǒng)的時間特性、功能特性、機械特性和電氣特性,隱藏當(dāng)前層的信息細節(jié),以提供上一層的服務(wù)。 JKW-L06型485轉(zhuǎn)換器常被用來實現(xiàn)數(shù)據(jù)采集系統(tǒng)從點到多點的通信。RS485采用差分接收和平衡發(fā)送的方式實現(xiàn)通信:在TXD發(fā)送端將串行端口TTL電平信號轉(zhuǎn)換為差分信號AB兩端輸出,經(jīng)過傳輸后,在接收端將差分信號恢復(fù)到一個TTL電平信號8。如果降低傳輸速率,傳輸距離可以進一步提高。RS485最多連接32臺設(shè)

22、備和32臺接收器。RS485通訊接口是基于標(biāo)準(zhǔn)的異步通信協(xié)議,如圖3-1所示的基本協(xié)議的幀格式。圖3-1 異步通信協(xié)議基本字節(jié)格式在本系統(tǒng)中規(guī)定1個起始位、1個停止位、無奇偶校驗位、8位資料位、波特率38。4Kb/s,通信復(fù)用COM1,其地址為0x3F8,COM1對應(yīng)中斷號為IRQ4,中斷地址0x0C。在通信過程中接收資料以中斷方式接收,發(fā)送資料以查詢方式發(fā)送。 數(shù)據(jù)鏈路層設(shè)計RS485總線上的每一個下位機都有一個唯一的本機地址,最多有32個。上下位機的通信方式是:上位機輪流詢問,下位機應(yīng)答。下位機可以接收來自上位機的消息,只能發(fā)出應(yīng)答信息,下位機與下位機無法實現(xiàn)通信。PC機每發(fā)送一次命令,命

23、令幀啟動一次,下位機收到命令后,判斷地址是否與本機相同,相同則發(fā)出應(yīng)答消息,不同則沒反應(yīng)。在數(shù)據(jù)鏈路層中的數(shù)據(jù)幀以實現(xiàn)正確的命令,以創(chuàng)造一個傳輸格式幀所需的信息被發(fā)送到物理層。數(shù)據(jù)采集系統(tǒng)中的幀格式分為:發(fā)送消息幀格式和響應(yīng)消息幀格式,從上至下發(fā)送命令信息的稱作:發(fā)送信息幀格式,如表3-1所示。表3-1 發(fā)送信息幀格式STXADDRCOMDLENDATACRCCR02H1B1B1B0250B1B0DH起始字節(jié)目的字節(jié)命令字節(jié)資料長度數(shù)據(jù)字節(jié)校驗字節(jié)終止字節(jié)3.1.3 應(yīng)用層設(shè)計在網(wǎng)絡(luò)層中還有對COM端口進行起始位、資料位、停止位、波特率設(shè)置的初始化函數(shù)及對端口進行關(guān)閉的Close函數(shù)(程序代碼

24、略)。當(dāng)一個特定的命令傳輸時,若想把數(shù)據(jù)正確地發(fā)送到RS485總線網(wǎng)絡(luò)時,它必須驗證物理層到網(wǎng)絡(luò)層傳輸?shù)谋忍亓?。在這一層,提供整個程序,在流程中調(diào)用數(shù)據(jù)鏈路層中提供的接口進行資料的收發(fā)工作。在網(wǎng)絡(luò)層中還對COM端口進行起始位、停止位、資料位以及波特率設(shè)置的幾種函數(shù)(程序代碼略)。3.1.4 通信協(xié)議一、通信波特率為9 600 bit/s,晶振為12 MHz通信的數(shù)據(jù)格式如前所述,共11位:1位啟動位,8位數(shù)據(jù)位(低位在前),1位可控的第9位和1位停止位。下位機的地址用1個字節(jié)定義,用16進制表示,如1號機地址為01,10號機地址為0A。約定上位機的地址為00,系統(tǒng)廣播地址為FF。二、上位機監(jiān)控

25、程序運行時,上位機開始以時間間隔t對下位機進行輪詢以查驗下位機的狀態(tài),依次向下位機發(fā)送查詢指令。XX為輪詢到的下位機地址,01為上位機查詢指令;00為上位機地址,02為下位機回復(fù)查詢指令。對輪詢到的下位機,上位機根據(jù)下位機回復(fù)查詢指令查詢其狀態(tài)字,判斷其是否有通訊請求,如果沒有,就對該下位機發(fā)出通訊授權(quán)標(biāo)志,若在預(yù)定的時間內(nèi)有應(yīng)答,則上位機建立與該下位機的通信信道;在預(yù)定的時間內(nèi)下位機無應(yīng)答,則置該下位機不在線標(biāo)志,然后輪詢下一位置的下位機,如此反復(fù)。三、上位機與下位機建立通信信道,上位機按照上位機指令優(yōu)先的原則下,根據(jù)下位機的狀態(tài)字和上位機的狀態(tài)字,向下位機發(fā)出準(zhǔn)備接受信息指令。下位機的動作

26、包括登陸、提交實驗信息;上位機的動作有發(fā)送實驗題目、開始實驗、中斷實驗、恢復(fù)實驗及查詢下位機的實驗狀況等,在通信協(xié)議中都將這些動作進行通訊標(biāo)志編碼,如上位機查詢下位機狀態(tài)指令通訊標(biāo)志編碼為01,開始實驗指令編碼為0A,下位機登陸指令編碼為04。XX為與上位機通訊的下位機的地址,YY為上位機功能指令。特別地,上位機發(fā)送開始實驗指令時,XX可以是下位機地址,也可以是系統(tǒng)的廣播地址FF。當(dāng)XX為FF時,用于向所有實驗終端統(tǒng)一發(fā)送開始指令。當(dāng)YY為0A,表示系統(tǒng)中所有的下位機能夠同步接收上位機發(fā)送的開考指令。數(shù)據(jù)域是否存在和上位機的功能指令類型有關(guān),如當(dāng)上位機功能指令為發(fā)送實驗題目指令時,數(shù)據(jù)域的內(nèi)容

27、即為要發(fā)送的相關(guān)內(nèi)容;當(dāng)功能指令為開始實驗指令時,數(shù)據(jù)域為空。在通信過程中,當(dāng)在一個預(yù)定的時間內(nèi),上位機沒有向下位機發(fā)送指令(上位機優(yōu)先原則失效),這時下位機可向上位機發(fā)送指令, 00為上位機的地址,YY為下位機功能指令,根據(jù)YY的不同,數(shù)據(jù)域的內(nèi)容也是不同的,如在下位機請求登陸時,YY為04,數(shù)據(jù)域為學(xué)生姓名、學(xué)號。四、上位機即PC機能夠按照教學(xué)的需要生成難易程度不同的實驗題目,二進制化后通過發(fā)送功能指令發(fā)送給通訊中的下位機。發(fā)送以實驗為單位,組織格式為實驗題號、嵌入式控制器控制字、發(fā)送內(nèi)容長度和實驗內(nèi)容;實驗結(jié)束后,下位機將實驗信息以預(yù)定的數(shù)據(jù)格式通過提交指令發(fā)送到上位機。3.2 系統(tǒng)硬件

28、設(shè)計 PC與RS485總線的接口PC 機的串行接口為 RS- 232 或 USB 總線,本文采用USB轉(zhuǎn)RS485總線,采用51單片機進行RS- 485 進行串行通信, 只需要 將 TTL 電 平 的 串 行 接 口 通 過 芯 片 轉(zhuǎn) 換 為RS- 485 串行接口, 這種轉(zhuǎn)換比較簡單, 本系統(tǒng)采用的是MAX485 芯片。原理圖如圖3-2所示。圖3-2 系統(tǒng)總體連接框圖3.2.2 RS485方式構(gòu)成的多機通信PC與單片機組成的系統(tǒng)中采用主從式結(jié)構(gòu):即多個從機受主機控制,從機單片機不發(fā)送命令,一個系統(tǒng)有且只有一臺主機,從機之間不能實現(xiàn)通信,若要進行信息交換,則需通過主機進行控制。在總線末端接一

29、個匹配電阻, 吸收總線上的反射信號, 使得正常傳輸信號無毛刺。匹配電阻的取值應(yīng)該與總線的特性阻抗相當(dāng)。在總線上沒有信號傳輸時, 總線處于懸浮狀態(tài), 容易受干擾信號的影響。 將總線上的差分信號的正端 A+ 和負端 B- 之間接一個 10K 的電阻; 負端 B- 和地間接一個 10K的電阻, 形成一個電阻網(wǎng)路。當(dāng)總線上沒有信號傳輸時, 正端 A+ 的電平大約為 3.2V, 負端 B- 的電平大約為 1。6V, 即使有干擾信號, 也很難產(chǎn)生串行通信的起始信號 0, 從而增加了總線抗干擾的能力。3.2.3 單片機與PC機串行通信系統(tǒng)構(gòu)成直接利用了單片機上的串行通訊接口,其中Pl.0用于通訊控制,PI.

30、0輸出高電平時,為“收”狀態(tài),Pl.0為低電平時為“發(fā)”狀態(tài),由于采用的是主從式通訊方式,微機處于“發(fā)”狀態(tài),而單片機處于“收”狀態(tài)。系統(tǒng)共線配置方案:凡為平衡電阻,接于總線兩端??偩€上最多可掛32個物發(fā)器。電纜用雙芯屏蔽端連接到設(shè)備機殼。為了避免干擾,每個設(shè)備應(yīng)接地。為了減少反射的影響,在線路兩端接上與之相匹配的特性阻抗。并且應(yīng)使支線與主線的距離盡可能短。單片機選用AT89C51,由40個管腳構(gòu)成。芯片MAX813是專門的看門狗,它的工作原理是:它有內(nèi)部的時鐘,上電后它就開始倒計時,計滿時間約為1.6 s,在此期間,如果WDI引腳的電壓有變化,它就新開始計時,如果沒有變化,它在 RE-SET

31、引腳輸出高電平,給CPU復(fù)位,然后再計數(shù),如此反復(fù)9。第四章 系統(tǒng)的軟件實現(xiàn)由于采用的是主從式通訊方式,各從機間不能互相通訊,主機需要依次查詢各個分機,與各從機進行通訊,MCS系列的具有多機通訊功能,可把其串口設(shè)置為通訊方式3,微機上的8250不具有多機通訊能力,但通過對其奇偶校驗位的設(shè)置,可使其具有多機通訊能力。使8250奇偶校驗位為1的指令:MOVDX,3FSHMOVAL,ZBHOUTDX,AL使8250奇偶校驗位為0的指令:MOVDX,3FBHMOVAL,3BHOUTDX,AL。為了提高通訊效率,數(shù)據(jù)塊的長度和格式是固定的。從機被訪問,此處采用的是定時查詢的方式10。由于采用的主要是主從

32、通訊方式,各個從機間不能相互通訊,由主機依次查詢各個從機,與各個從機進行通訊。MCS系列的UNAL具有多機通訊功能,可把其串口設(shè)置為通訊方式3,微機上的8250不具有多機通訊能力,但通過對其偶校驗位的設(shè)置,可使其具有多機通訊能力。使8250奇偶校驗位為1的指令:MOVDX,3FSHMOVAL,ZBHOUTDX,AL使8250奇偶校驗位為0的指令:MOVDX,3FBHMOVAL,3BHOUTDX,AL。為了提高通訊效率,數(shù)據(jù)塊的長度和格式是固定的。(當(dāng)然也可以設(shè)定)主機通過定時查詢的方式依次對從機進行訪問。由于RS-485通訊是一種半雙工通訊,發(fā)送和接收共用同一物理信道。在任意時刻只允許一臺單機

33、處于發(fā)送狀態(tài)。因此要求應(yīng)答的單機必須在偵聽到總線上呼叫信號已經(jīng)發(fā)送完畢,并且沒有其它單機發(fā)出應(yīng)答信號的情況下,才能應(yīng)答。半雙工通訊對主機和從機的發(fā)送和接收時序有嚴格的要求。如果在時序上配合不好,就會發(fā)生總線沖突,使整個系統(tǒng)的通訊癱瘓,無法正常工作。要做到總線上的設(shè)備在時序上的嚴格配合,必須要遵從以下幾項原則:一、復(fù)位時,主從機都應(yīng)該處于接收狀態(tài)。SN75176芯片的發(fā)送和接收功能轉(zhuǎn)換是由芯片的RE,DE端控制的。RE=1,DE=1時,SN75176發(fā)送狀態(tài);RE=0,DE=0時,SN75176處于接收狀態(tài)。一般使用單片機的一根口線連接RE,DE端。在上電復(fù)位時,由于硬件電路穩(wěn)定需要一定的時間,

34、并且單片機各端口復(fù)位后處于高電平狀態(tài),這樣就會使總線上各個分機處于發(fā)送狀態(tài),加上上電時各電路的不穩(wěn)定,可能向總線發(fā)送信息。因此,如果用一根口線作發(fā)送和接收控制信號,應(yīng)該將口線反向后接入SN75176控制端,使上電時SN75176處于接收狀態(tài)。另外,在主從機軟件上也應(yīng)附加若干處理措施,如:上電時或正式通訊之前,對串行口做幾次空操作,清除端口的非法數(shù)據(jù)和命令。二、控制端RE,DE的信號的有效脈寬應(yīng)該大于發(fā)送或接收一幀信號的寬度。在RS-232,RS-422等全雙工通訊過程中,發(fā)送和接收信號分別在不同的物理鏈路上傳輸,發(fā)送端始終為發(fā)送端,接收端始終為接收端,不存在發(fā)送、接收控制信號切換問題。在RS-

35、485半雙工通訊中,由于SN75176的發(fā)送和接收都由同一器件完成,并且發(fā)送和接收使用同一物理鏈路,必須對控制信號進行切換??刂菩盘柡螘r為高電平,何時為低電平,一般以單片機的TI,RI信號作參考。在485芯片的通信中,尤其要注意對485控制端DE的軟件編程。為了可靠的工作,在485總線狀態(tài)切換時需要做適當(dāng)延時,再進行數(shù)據(jù)的收發(fā)。具體的做法是在數(shù)據(jù)發(fā)送狀態(tài)下,先將控制端置“1”,延時1ms左右的時間,再發(fā)送有效的數(shù)據(jù),一包數(shù)據(jù)發(fā)送結(jié)束后再延時1ms后,將控制端置“0”。這樣的處理會使總線在狀態(tài)切換時,有一個穩(wěn)定的工作過程。三、總線上所連接的各單機的發(fā)送控制信號在時序上完全隔開。為了保證發(fā)送和接收

36、信號的完整和正確,避免總線上信號的碰撞,對總線的使用權(quán)必須進行分配才能避免競爭,連接到總線上的單機,其發(fā)送控制信號在時間上要完全隔離。總之,發(fā)送和接收控制信號應(yīng)該足夠?qū)挘员WC完整地接收一幀數(shù)據(jù),任意兩個單機的發(fā)送控制信號在時間上完全分開,避免總線爭端。4.1 上下位機的關(guān)系(1)下位機不可與下位機傳輸通信,只能上位機與下位機之間傳輸。(2)PC機發(fā)起傳輸命令,單詞只能與一臺下位機通信,上位機傳輸?shù)拿畲a對下位機進行控制。(3)PC如果發(fā)現(xiàn)下位機的請求代碼,則立即通信,否則空閑時,上位機巡檢。(4)圖3所示的幀格式是上下位機通信方式,SOC196KC單片機是16位地址或數(shù)據(jù)線,自帶A/D轉(zhuǎn)換

37、器的數(shù)量是8路,是Intel研制的高性能微處理器,可在異步通信模式下在16MHz晶振下運行,集成了事件處理器陣列和外設(shè)事務(wù)服務(wù)器。此型號單片機的串口輸人輸出電平均設(shè)為TTL電平,不能直接與RS485通信,必須使用轉(zhuǎn)化電平轉(zhuǎn)換成統(tǒng)一制式方可實現(xiàn),本系統(tǒng)具體實現(xiàn)方式詳見硬件連線見第2節(jié)11。RS485的通信方式為半雙工,若想要知道他的工作狀態(tài),需要經(jīng)由使能端,由于51單片機是從機,須設(shè)置MAX485芯片的使能端為接收狀態(tài),而且RE為低電平有效,發(fā)送使能端DE為高電平有效,本系統(tǒng)的命令語句如下:andb portl,#11111011b:使能接收orb prod,# OOOOOl00b;使能發(fā)送本系

38、統(tǒng)的波特率設(shè)為9600,用異步模式1作為通信模式,下位機的晶振為12MHz。下面給出51單片機串行通信的程序框圖及接受超時處理程序清單,供設(shè)計者參考。接收超時處理程序pushf;進棧1 db sptemp,sp_stat;保存狀態(tài)寄存器內(nèi)容ldb delaytimel,#2;超時寄存器賦初值確性。Idb delaytime2, #0Pd1ooreajbs sptemp, 6, readl;未超時接收,則轉(zhuǎn)入readdjnz delaytime2, read:等待接收完畢djnz delaytimel , loopsjmp return;超時,則跳離中斷readl:stb sbuf,rxbuf;

39、將接收到的數(shù)據(jù)存入接收單元return:popf;出棧ret4.2 下位機通信軟件的設(shè)計51單片機的始祖是Intel,目前是應(yīng)用最為廣泛的8位單片機之一,它是基礎(chǔ)入門的也是應(yīng)用廣泛的一種單片機,自帶8路A/D轉(zhuǎn)換器,集成了事件處理器陣列,以及先進的外設(shè)事務(wù)服務(wù)器,可在16MHz晶振下運行,在異步通信模式下,波特率最高可達1Mn7080C196KC單片機串口輸人輸出電平為TTL電平,必須通過轉(zhuǎn)化電平轉(zhuǎn)換才能與RS485接口通信,本系統(tǒng)采用MAM483進行電平轉(zhuǎn)換12。RS485串行接口通信采用半雙工的通信方式,必須由使能端來決定其處于發(fā)送狀態(tài)還是接收狀態(tài),由于80C196KC單片機是從機,必須先

40、將MAX813芯片的使能端設(shè)置為接收狀態(tài)14。MAX813的接收使能端RE為低電平有效,發(fā)送使能端DE為高電平有效,本系統(tǒng)采用P1。2口控制其發(fā)送和接收,命令語句如下:andb portl,#11111011b;使能接收orb prot1,# 00000l00b;使能發(fā)送本系統(tǒng)中80C196KC微處理器的串行通信采用中斷方式進行,便于上位機隨時對下位機進行監(jiān)控和管理。下位機晶振為12MHz,通信模式采用異步模式1,波特率為9600。下面給出80C196KC單片機串行通信的程序框圖及接受超時處理程序清單,供設(shè)計者參考。接收超時處理程序Pushf;進棧1db sptemp,sp_stat;保存狀態(tài)

41、寄存器內(nèi)容ldb delaytimel,#2;超時寄存器賦初值確性。loop:1db delaytime2,#0read:jbs sptemp,6,readl;未超時接收,則轉(zhuǎn)入read1djnz delaytime2,read;等待接收完畢djnz delaytimel ,loopsjmp return;超時,則跳離中斷readl:stb sbuf,rxbuf;將接收到的數(shù)據(jù)存入接收單元return:popf;出棧retPushf;進棧1db sptemp,sp_stat;保存狀態(tài)寄存器內(nèi)容ldb delaytimel,#2;超時寄存器賦初值確性。loop:1db delaytime2,#0

42、read:jbs sptemp,6,readl;未超時接收,則轉(zhuǎn)入read1djnz delaytime2,read;等待接收完畢djnz delaytimel ,loopsjmp return;超時,則跳離中斷readl:stb sbuf,rxbuf;將接收到的數(shù)據(jù)存入接收單元return:popf;出棧ret4.3 上位機通信軟件的設(shè)計上位機Windows環(huán)境下的通信軟件用C:+Builder編寫。一般來說,在Windows平臺上進行串行通信編程,不外乎兩種方式:直接利用Windows,API或使用控件。用API能編寫出靈活的程序,但比較繁瑣。本系統(tǒng)使用MSComm控件進行上位機通信軟件的

43、編制。使用MSComm控件進行串口通信時,首先要設(shè)置串口的基本參數(shù),然后可使用Output發(fā)送數(shù)據(jù),Input接收數(shù)據(jù),MSComm事件處理數(shù)據(jù)。上位機的通信流程限于篇幅,具體編程不予介紹15。4.3.1 通信協(xié)議設(shè)計為保證通信進行,首先做到單片機的串行口與主控機串行口的設(shè)置保持一致,即數(shù)據(jù)格式一致、通信波特率相同。如果是多點通信,每個從機要分配一個地址碼。系統(tǒng)中協(xié)議有3種幀格式:呼叫幀、應(yīng)答幀和數(shù)據(jù)幀。呼叫幀由主機發(fā)出。應(yīng)答幀只能由從機發(fā)出。當(dāng)從機收到呼叫幀后,把本機地址和當(dāng)前狀態(tài)回發(fā)給主機。設(shè)置開機自檢、自診斷程序,機器不能帶病工作;如果需要,還可以設(shè)置在工作空閑時或定時自檢程序。PC機與

44、單片機構(gòu)成的多機通信系統(tǒng)采用主從式結(jié)構(gòu)。數(shù)據(jù)通信總是由主機發(fā)起。主機處于發(fā)送狀態(tài)“說”時,從機總是出于“聽”狀態(tài)。若主機發(fā)送的地址信息與本地從機相符,則接收該數(shù)據(jù),否則,繼續(xù)“聽”總線上的數(shù)據(jù)。若從機需要發(fā)送數(shù)據(jù),則必須等到主機輪詢本地從機時,才可提出請求。這種網(wǎng)絡(luò)模式下從機不會“偵聽”其他從機對主機的響應(yīng),這樣就不會對其他從機產(chǎn)生錯誤的響應(yīng)16。主從式多機通信協(xié)議中,通信速率設(shè)為19.2 kb/s。系統(tǒng)上電或復(fù)位后,使所有從機的SM2位置1,處于只接收地址幀監(jiān)聽狀態(tài)。主機向從機發(fā)送一幀地址信息,從機接收到地址幀后,將其與本地地址比較,判斷是否一致。若與本地地址相符,則清除SM2,同時發(fā)送應(yīng)答

45、幀,進入通信狀態(tài);其他與本地地址不相符的從機則保持SM2位不變,繼續(xù)監(jiān)聽。主從機均以中斷方式進行通信,程序流程如圖4-1所示。(a)幀發(fā)送流程 (b)幀接收流程圖4-1 幀通信流程4.3.2 多機傳輸多機發(fā)送時的分時說、聽多機傳送時,通信協(xié)議要合理地協(xié)調(diào)總線的分時共用,通信波特率的計算要有冗余。采用RS 485總線連接的多個站點,由于485總線是異步半雙工的通信總線,在某一個時刻,總線只可能呈現(xiàn)一種狀態(tài),即任意時刻只有一個站點在“說”,其他站點只能處“聽”狀態(tài)。如果有多個站點在“說”,則數(shù)據(jù)將在通信總線時碰撞,結(jié)果是處于接收狀態(tài)的站點不能收到正確的數(shù)據(jù)。在RS 485總線通信網(wǎng)絡(luò)中,必須控制好

46、每個站點的“聽、說”狀態(tài),即收、發(fā)狀態(tài),對總線的使用權(quán)必須進行分配,以使各從機的發(fā)送控制信號在時間上完全隔離,保證能及時、正確地傳輸數(shù)據(jù)。要做到總線上設(shè)備在時序上的嚴格配合,必須要遵從以下幾點:(1)復(fù)位時,主從機都應(yīng)該處于接收狀態(tài)。(2)控制端RE,DE的信號有效脈寬應(yīng)該大于發(fā)送或接收一幀信號的寬度。(3)總線上所連接的各從機的發(fā)送控制信號在時序上完全隔開。通信方式一般主節(jié)點循環(huán)輪詢各個從節(jié)點。各個從節(jié)點都有自己的網(wǎng)絡(luò)通信識別號,即本機地址。當(dāng)主節(jié)點的輪詢信息中包含自己的網(wǎng)絡(luò)通信識別號,此從節(jié)點對此幀進行應(yīng)答,其他節(jié)點則忽略此幀,不做處理。4.3.3 差錯控制差錯控制用于傳輸數(shù)據(jù)的錯誤檢查和

47、錯誤糾正,以保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。當(dāng)主機發(fā)出呼叫幀后,如果在規(guī)定的時間內(nèi)沒有收到從機的應(yīng)答幀,則主機認為幀丟失并重發(fā)呼叫幀;如果發(fā)送3次仍沒有收到應(yīng)答幀,則系統(tǒng)認為該從機處于關(guān)機狀態(tài),開始執(zhí)行其他任務(wù)。在數(shù)據(jù)幀發(fā)送時,本系統(tǒng)采用應(yīng)答方式進行差錯控制,即接收方向發(fā)送方回發(fā)特殊的控制命令碼,作為傳輸是否正確的確認;發(fā)送方收到確認后就可知道是否正確發(fā)送,以決定是否重發(fā)。如果傳輸中幀完全丟失,則發(fā)送方進行超時處理。即發(fā)送方發(fā)送數(shù)據(jù)后超過一定時間,發(fā)送方認為幀丟失,需要重發(fā)。本系統(tǒng)約定最大重發(fā)數(shù)為3次,超過3次系統(tǒng)就認為串行通信出現(xiàn)故障,主機進行故障報警。另外,為避免通信頻繁后舊的數(shù)據(jù)未發(fā)出去,而新的數(shù)

48、據(jù)產(chǎn)生時可能會掉原來的數(shù)據(jù),造成數(shù)據(jù)丟失,在系統(tǒng)中采用了數(shù)據(jù)備份存儲的方式,即將長度為N的數(shù)據(jù)緩沖區(qū),擴展為長度為2N的數(shù)據(jù)緩沖區(qū)。要傳送的新數(shù)據(jù)先放在原來的緩沖區(qū),檢測舊的數(shù)據(jù)是否發(fā)送成功,如果發(fā)送成功,則將新的數(shù)據(jù)復(fù)制到擴展緩沖區(qū);如果未發(fā)送成功,則繼續(xù)發(fā)送,發(fā)送成功后再備份新的數(shù)據(jù)。此時進來的如果是中斷數(shù)據(jù),只是更新原有的緩沖區(qū),備份緩沖區(qū)的數(shù)據(jù)不會被中斷數(shù)據(jù)更新掉。這種方法很好地解決了通信過程數(shù)據(jù)存儲出錯、丟失的問題,使得通信的可靠性得到很大的提高17。4.4 程序設(shè)計單片機用匯編語言編程,根據(jù)通信協(xié)議,通信串行口工作于方式2,用定時器T1作為波特率發(fā)生器,T0工作于方式2,幀格式為1

49、位起始位,8位校驗位,一個可編程的第9位,1個停止位。用T1定時器產(chǎn)生2 400波特率,晶體振蕩器的頻率為12MHz,T1的計數(shù)初值為E6H,中斷入口地址0023H,程序流程如圖2所示。在程序中主程序并不執(zhí)行任何功能,實際上PC機與單片機之間的通信只是單片機的部分功能,單片機在執(zhí)行其他功能時,管理員對單片機寫入預(yù)定常數(shù),或讀出指定地址的數(shù)據(jù)進行監(jiān)測和控制,這需要調(diào)用中斷,并不影響主程序的正確執(zhí)行。在此基礎(chǔ)上可以在主程序上附加其他功能模塊。分布式的數(shù)據(jù)采集系統(tǒng),由各個從機完成參數(shù)測量及控制任務(wù),由主機完成統(tǒng)一的操作顯示的任務(wù),比較適合于小型的測控系統(tǒng)。數(shù)字通訊相對于模擬通訊具有較大的通訊容量和較

50、高的可靠性,這使得整個系統(tǒng)的性能有了較大程度的提高,更適合現(xiàn)代工業(yè)生產(chǎn)的要求,是今后小型數(shù)據(jù)采集系統(tǒng)的發(fā)展方向。第五章 系統(tǒng)問題解決措施5.1 總線隔離RS 485總線為并接式二線制接口,一旦有一只芯片故障就可能將總線“拉死”,因此對其二線口VA,VB與總線之間各串接一只PTC電阻,同時與地之間各跨接5 V的TVS二極管,以消除線路浪涌干擾。此外應(yīng)該合理選用芯片。例如,對外置設(shè)備為防止強電磁沖擊,建議選用防雷擊芯片18。5.2 失效保護RS 485標(biāo)準(zhǔn)規(guī)定接收器門限為200 mV。這樣規(guī)定能夠提供比較高的噪聲抑制能力,但也帶來了一個問題:當(dāng)總線電壓在200 mV中間時接收器輸出狀態(tài)不確定。由于

51、UART以一個前導(dǎo)“0”觸發(fā)一次接收動作,所以接收器的不定態(tài)可能會使UART錯誤地接收一些數(shù)據(jù),導(dǎo)致系統(tǒng)誤操作。當(dāng)總線空閑、開路或短路時都有可能出現(xiàn)兩線電壓差低于200 mV的情況,必須采取一定措施避免接收器處于不定態(tài)。傳統(tǒng)的作法是給總線加偏置,當(dāng)總線空閑或開路時,利用偏置電阻將總線偏置在一個確定狀態(tài)(差分電壓200 mV)。但這種方法仍然不能解決總線短路問題。為此,有些器件制造商間將接收門限移到-200 mV/-50 mV,巧妙解決了這個問題。例如Maxim公司MAX3080系列RS 485接口,不但省去了外部偏置電阻,而且解決了總線短路時的失效保護問題19。5.3 電磁干擾問題驅(qū)動器輸出信

52、號中的共模部分需要一個返回通路,如果沒有一個低阻的返回通道(信號地),就會以輻射的形式返回源端,整個總線就會像一個巨大的天線向外輻射電磁波。因此,盡管是差分傳輸,對于RS 485網(wǎng)絡(luò)來講,一條低阻的信號地還是需要的。一條低阻信號地將兩個接口的工作地連接起來,使共模干擾電壓VGPD被短路20。這條信號地可以是額外的一對線(非屏蔽雙絞線)或者是屏蔽雙絞線的屏蔽層。但是,這種做法僅對高阻型共模干擾有效,由于干擾源內(nèi)阻大,短接后不會形成很大的接地環(huán)路電流,對于通信不會有很大的影響。當(dāng)共模干擾源內(nèi)阻較小時,會在接地線上形成較大的環(huán)路電流,影響正常通信。筆者認為,可以采取以下3種措施:(1)如果干擾源內(nèi)阻

53、不是非常小,可以考慮在接地線上加限流電阻限制干擾電流。接地電阻的增加可能會使共模電壓升高,但只要控制在適當(dāng)?shù)姆秶鷥?nèi)就不會影響正常通信。(2)采用浮地技術(shù),隔斷接地環(huán)路。當(dāng)共模干擾電阻很小時上述方法已不能奏效,此時可以考慮將引入干擾的結(jié)點(例如處于惡劣工作環(huán)境的現(xiàn)場儀表)浮置起來,也就是系統(tǒng)的電路地與機殼或大地隔離,這樣就隔斷了接地環(huán)路,不會形成很大的環(huán)路電流。(3)采用隔離接口。有些情況下,出于安全或其他方面的考慮,電路地必須與機殼或大地相連,不能懸浮,這時可以采用隔離接口來隔離接地回路,但是仍然應(yīng)該有一條地線將隔離側(cè)的公共端與其他接口的工作地相連。結(jié)論本文根據(jù)具體的項目需求以及多總線通信系統(tǒng)

54、的特點等,研制了基于高速RS485的分布式多總線通信系統(tǒng),其中包含的設(shè)備接口包括USB,RS232和RS485接口。本多總線通信系統(tǒng)可以實現(xiàn)各個設(shè)備接口的數(shù)據(jù)的融合,且可以利用上位機對與其連接的各個設(shè)備進行檢測和控制。本高速多總線通信系統(tǒng)結(jié)合了嵌入式技術(shù)、數(shù)字電子技術(shù)、總線技術(shù)、信息處理技術(shù)等,應(yīng)用性和綜合性較強?,F(xiàn)對本文完成的工作做如下總結(jié):(1)針對課題的應(yīng)用背景,分析了多總線通信系統(tǒng)的設(shè)計需求,并通過對課題中的重點問題的分析與研究,確定了系統(tǒng)的總體軟硬件設(shè)計方案,明確了多總線通信系統(tǒng)和上位機的協(xié)調(diào)設(shè)計關(guān)系。(2)在確定系統(tǒng)的總體設(shè)計架構(gòu)基礎(chǔ)上,詳細分析了系統(tǒng)的硬件構(gòu)成和選型,對可選的硬件

55、設(shè)計方案特別是電源及電磁兼容性設(shè)計等進行對比并選擇最優(yōu)方案,采用模塊化設(shè)計。的思路設(shè)計了各硬件電路模塊,增強系統(tǒng)的設(shè)計靈活性。完成了對多總線通信系統(tǒng)主要的電路板,包括總線節(jié)點電路、母板電路及前面板電路的原理圖設(shè)計和PCB設(shè)計。(3)基于硬件電路平臺進行軟件設(shè)計,主要是為各功能模塊設(shè)計底層驅(qū)動和應(yīng)用程序,包括CRC校驗算法,節(jié)點與上位機通訊程序及各個設(shè)備接口包括RS232,RS485和USB通訊程序。(4)編寫基于labview的上位機程序,根據(jù)各個設(shè)備的所需實現(xiàn)的功能和控制命令編寫前后面板程序。(5)針對系統(tǒng)的軟硬件設(shè)計制定相應(yīng)的系統(tǒng)功能測試方案,優(yōu)化了子電路中的部分設(shè)計,驗證了系統(tǒng)設(shè)計的正確性。(6)設(shè)計實現(xiàn)了基于RS-485總線的數(shù)據(jù)采集系

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論