<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于RS485單片機(jī)多機(jī)串行通信的電子開關(guān)設(shè)計(jì)

          基于RS485單片機(jī)多機(jī)串行通信的電子開關(guān)設(shè)計(jì)

          作者: 時(shí)間:2012-06-04 來源:網(wǎng)絡(luò) 收藏

          2.1.5 主從機(jī)之間地址確認(rèn)

          主從機(jī)在進(jìn)行數(shù)據(jù)通信之前,首先進(jìn)行地址確認(rèn),其目的就是讓主機(jī)知道哪號從機(jī)向主機(jī)發(fā)送數(shù)據(jù)。主機(jī)首先發(fā)送n號從機(jī)地址編號#0FFH,所有從機(jī)接收到主機(jī)發(fā)送的地址后與各自的地址進(jìn)行核對,地址不是#OFFH的從機(jī)將繼續(xù)等待主機(jī)的呼叫,核對正確的從機(jī)向主機(jī)發(fā)送本機(jī)的應(yīng)答地址,主機(jī)收到從機(jī)的應(yīng)答地址后進(jìn)一步做出判斷,確認(rèn)是否是n號從機(jī)的地址。地址確認(rèn)正確之后,主機(jī)與n號從機(jī)進(jìn)行數(shù)據(jù)通信,直到數(shù)據(jù)通信完畢,主機(jī)將呼叫下一號從機(jī)。

          2.1.6 避免多從機(jī)與主機(jī)通信產(chǎn)生數(shù)據(jù)沖突

          一個(gè)主機(jī)與多個(gè)從機(jī)進(jìn)行串行通信的時(shí)候,如果當(dāng)某一從機(jī)有數(shù)據(jù)時(shí)向主機(jī)發(fā)送,這時(shí)可能出現(xiàn)兩個(gè),三個(gè)或者更多從機(jī)同時(shí)產(chǎn)生數(shù)據(jù),需要同時(shí)向主機(jī)發(fā)送,這樣就會(huì)導(dǎo)致數(shù)據(jù)通信的沖突問題。該的設(shè)計(jì)采用主機(jī)輪詢從機(jī)的方式,從而有效避免了主從機(jī)數(shù)據(jù)通信沖突的問題,主機(jī)先呼叫n號從機(jī),地址確認(rèn)之后,是n號的從機(jī)應(yīng)答并與主機(jī)進(jìn)行通信,其余從機(jī)處于等待狀態(tài),主機(jī)接收n號從機(jī)數(shù)據(jù),并判斷該從機(jī)是否繼續(xù)有數(shù)據(jù)發(fā)送,此時(shí)其他從機(jī)若有數(shù)據(jù)只能處于排隊(duì)等待中,不會(huì)對主機(jī)產(chǎn)生干擾,主機(jī)接收完畢后將n號從機(jī)地址減1,呼叫n-1號從機(jī),如此反復(fù)輪詢各個(gè)從機(jī)。主機(jī)輪詢的過程是很快的,從機(jī)檢測到被測信號的時(shí)候也能得到及時(shí)的處理。如圖2所示。

          基于RS485單片機(jī)多機(jī)串行通信的電子開關(guān)設(shè)計(jì)

          2.2 多RS 485串行通信模塊

          RS 485采用平衡發(fā)送和差分接收方式來實(shí)現(xiàn)通信:在發(fā)送端TXD將串行口的TTL電平信號轉(zhuǎn)換成差分信號A,B兩路輸出,經(jīng)傳輸后在接收端將差分信號還原成TTL電平信號。兩條傳輸線通常使用雙絞線,又是差分傳輸,因此有極強(qiáng)的抗共模干擾的能力,接收靈敏度也相當(dāng)高。如果以10 Kb/s速率傳輸數(shù)據(jù)時(shí)傳輸距離可達(dá)12 m,而用100 Kb/s速率傳輸數(shù)據(jù)時(shí)傳輸距離可達(dá)1.2 km。如果降低波特率,傳輸距離還可進(jìn)一步提高。

          實(shí)現(xiàn)RS 485串行通信只需給主機(jī)和每個(gè)從機(jī)接各接一片MAX485芯片,其接收器的輸出端RO和驅(qū)動(dòng)器的輸入端DI,只需分別與單片機(jī)的RXD和TXD相連即可;和DE端分別為接收和發(fā)送的使能端,當(dāng)為邏輯0時(shí),器件處于接收狀態(tài);當(dāng)DE為邏輯1時(shí),器件處于發(fā)送狀態(tài),因?yàn)镸AX485工作在半雙工狀態(tài),所以只需用單片機(jī)的一個(gè)管腳控制這兩個(gè)引腳即可;在主機(jī)中使用單片機(jī)的P3.4引腳控制MAX485的和DE兩端,如圖3所示。

          基于RS485單片機(jī)多機(jī)串行通信的電子開關(guān)設(shè)計(jì)

          A端和B端分別為接收和發(fā)送的差分信號端,當(dāng)A引腳的電平高于B時(shí),代表發(fā)送的數(shù)據(jù)為1;當(dāng)A的電平低于B端時(shí),代表發(fā)送的數(shù)據(jù)為0。在與單片機(jī)連接時(shí)接線非常簡單。只需要一個(gè)信號控制MAX485的接收和發(fā)送即可。

          可靠性措施如下:

          復(fù)位時(shí),主從機(jī)都應(yīng)該處于接收狀態(tài)。

          控制端,DE的信號的有效脈寬應(yīng)該大于發(fā)送或接收一幀信號的寬度。

          同時(shí)將A和B端之間加匹配電阻,一般可選120 Ω的電阻,吸收總線上的反射信號,保證正常傳輸信號干凈、無毛刺。匹配電阻的取值應(yīng)與總線的特性阻抗相當(dāng)。

          接收和發(fā)送的使能端和DE的引腳控制在程序中的實(shí)現(xiàn),主機(jī)部分程序如下:
            

          基于RS485單片機(jī)多機(jī)串行通信的電子開關(guān)設(shè)計(jì)

          2.3 液晶顯示模塊

          液晶顯示模塊選用1602液晶,1602液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng)用。上使用1602液晶顯示,是用來顯示發(fā)送信號數(shù)據(jù)的從機(jī)編號,某一從機(jī)檢測到信號時(shí)將會(huì)顯示:

          行程開關(guān)相關(guān)文章:行程開關(guān)原理


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();