<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 分布式測試系統的一種網(wǎng)絡(luò )通信設計

分布式測試系統的一種網(wǎng)絡(luò )通信設計

作者: 時(shí)間:2012-08-08 來(lái)源:網(wǎng)絡(luò ) 收藏

 1 引言

本文引用地址:http://dyxdggzs.com/article/193431.htm

  在中,常需要對多臺儀器設備進(jìn)行集中控制,并對它們的數據進(jìn)行統一分析處理。智能化和自動(dòng)化程度的提高對測試設備間的數據交換提出了更高的要求,這里,控制成為一種十分有效的方式[1]。

  在中,數據交換主要在主處理機與各智能控制單元間進(jìn)行,根據測試系統的特點(diǎn),其通信系統應具有良好的可靠性、通用性、擴展能力和簡(jiǎn)單的連接方式,并應能適應長(cháng)距離傳輸的需要,在系統通信方式及其協(xié)議的制定中應充分考慮以上特點(diǎn),以使其適應不同測試應用的需要。

  為適應多控制節點(diǎn)和長(cháng)距離通信的需要,本文采用RS—485半雙工串行通信協(xié)議作為本測試控制的通信標準。由于采用了平衡驅動(dòng)、差分接收方式,有效地減小了共模干擾等影響,從而使其傳輸距離和帶負載能力等都較RS—232C有很大提高[2]。

  由于目前的PC機都配有RS—232C接口,故設計了一種RS—485接口,它可以安放在普通的轉接頭內,直接插到PC機的串口上,把PC機的RS—232C輸出轉換為RS—485輸出,其結構如圖1所示。與其它方法相比,這一方法具有接口方式簡(jiǎn)單、通用性強、體積小、成本低等優(yōu)點(diǎn)。另外,我們還可在這一接口中加入智能控制單元,以適應與常規儀器設備通信的需要。

  分布式測試系統的一種網(wǎng)絡(luò )通信設計

  圖1 串行接口適配器

  3 數據傳輸協(xié)議與軟件設計

  測試系統中,各測試設備主要與主處理機間進(jìn)行數據通信,根據這一特點(diǎn),本文決定采用較為明確的主從式通信作為系統通信方式[3],以保持系統功能的統一性并同時(shí)滿(mǎn)足其余節點(diǎn)間通信的需要。

  3.1 信息幀格式

  系統中數據與命令的傳輸均采用打包方式,數據幀格式如圖2所示。其中,地址字節最高位規定為0,用以標志幀起始;采用可變長(cháng)數據域,數據長(cháng)度范圍為1~255字節;采用兩個(gè)字節進(jìn)行數據校驗;尾標志規定為0FFH,用以標志幀結束。字節傳輸格式規定為11位,即8位數據位,1位地址/數據標志位,1位起始位和1位停止位。為便于實(shí)現多機通信,把傳輸字節劃分為地址類(lèi)碼與數據類(lèi)碼,地址類(lèi)碼第9位標志為1,可為所有處于聽(tīng)者狀態(tài)的下位機接收;數據類(lèi)碼第9位標志為0,只能被指定的下位機接收。

  通信中,主機發(fā)送的命令和數據可分為針對指定下位機的址令和針對所有下位機的通令。為此,我們規定地址7FH為通令地址,發(fā)向該地址的命令可為所有下位機接收。為保證數據傳輸可靠,均采取應答方式進(jìn)行通信,下位機接收到主機發(fā)出的數據后,立即回送狀態(tài)信息。若超過(guò)指定時(shí)間仍未收到應答信息,則進(jìn)行超時(shí)報警。本系統中約定用4個(gè)字節分別表示系統的通信和工作狀態(tài)。其中,兩個(gè)字節代表通信狀態(tài),兩個(gè)字節代表控制器當前工作狀態(tài),可根據具體應用進(jìn)行調整。這里,采用CRC方式進(jìn)行數據校驗,當發(fā)現數據傳輸錯誤時(shí),主機采用自動(dòng)反饋重發(fā)方法進(jìn)行糾正。

  分布式測試系統的一種網(wǎng)絡(luò )通信設計

  圖2 數據通信幀格式

  3.2 基于中斷的通信軟件設計

  為了保證主處理機進(jìn)行數據處理等工作的時(shí)間,通信過(guò)程應盡量減小其影響,故在軟件設計時(shí),主要過(guò)程均采用中斷驅動(dòng)。發(fā)送信息時(shí),只需將數據寫(xiě)入緩沖區,其后的過(guò)程即由中斷接管;同樣,接收過(guò)程也完全由中斷管理,使主機在進(jìn)行其它處理過(guò)程中無(wú)需任何等待。為適應不同的通信任務(wù),特別是大數據量通信的需要,接收及發(fā)送部分均采用了環(huán)形緩沖區結構。為充分利用硬件資源,主要過(guò)程采用匯編語(yǔ)言編寫(xiě),采用嵌入式匯編與匯編調用相結合的方法編寫(xiě)C語(yǔ)言通信函數,以實(shí)現與高層程序的接口。另外,各主要通信過(guò)程均構成獨立的通信函數,可在任何采用該協(xié)議的通信中使用。圖3所示為其中的串口中斷處理流程。這里,數據的發(fā)送及接收均采取逐字節方式進(jìn)行,以避免集中占用主機工作時(shí)間。

  采用以上通信協(xié)議和軟件,基于總線(xiàn)型,我們方便地實(shí)現了PC機之間以及PC機與智能儀器間的數據通信,實(shí)驗證明它們具有良好適應性。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>