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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于23OMHz電臺(tái)通信的集抄算法設(shè)計(jì)

          基于23OMHz電臺(tái)通信的集抄算法設(shè)計(jì)

          作者: 時(shí)間:2016-12-20 來源:網(wǎng)絡(luò) 收藏

            0 引言

            伴隨著科技的不斷發(fā)展,智能化漸漸成為人們關(guān)注的焦點(diǎn),并在社會(huì)和生活的各個(gè)角落不斷深化,大量的人力物力正源源不斷的投入到智能化建設(shè)之中。2008年受金融海嘯的影響,國(guó)家發(fā)改委擬大規(guī)模投資電力基礎(chǔ)設(shè)施建設(shè),以拉動(dòng)內(nèi)需,應(yīng)對(duì)金融危機(jī)帶來的影響;另外,電力行業(yè)從自身的發(fā)展規(guī)律出發(fā),也需要將電能量采集與計(jì)費(fèi)系統(tǒng)盡快自動(dòng)化,在這些背景下,研究電力集中抄表系統(tǒng)替代傳統(tǒng)的人工抄表模式成為電力發(fā)展研究人員的研究熱點(diǎn)。

            1 集中抄表系統(tǒng)的特點(diǎn)

            受通信距離的和通信質(zhì)量的影響,目前的集中抄表系統(tǒng)都只是停留在范圍較小的居民小區(qū)層面上,集中抄表的基本原理如圖1所示。


            每棟居民樓都裝有一臺(tái)集抄器(終端),負(fù)責(zé)抄讀本棟居民樓的所有電表數(shù)據(jù),通常采用的是:RS485、脈沖口等有線方式,由于表的數(shù)量較少而且一般比較集中,所以布線不會(huì)存在很大困難,通常容易實(shí)現(xiàn)。由集抄器向集中器上報(bào)所采集到的數(shù)據(jù)并由集中器(主站)將收集到的各棟居民樓(小區(qū))的電表數(shù)據(jù)通過 GPRS/CDMA/GSM等方式上報(bào)給遠(yuǎn)端服務(wù)器。

            終端抄表和主站上報(bào)數(shù)據(jù)的方式是相對(duì)固定的,通常不考慮其他通信方案,由終端向主站上報(bào)數(shù)據(jù)理論上可以采用RS485有線通訊,但是由于距離較遠(yuǎn),布線工程很大,通常難以實(shí)現(xiàn)。目前比較流行的有兩種:采用電力專用的230 MHz電臺(tái)通訊和電力線低壓載波技術(shù)。采用電力線載波抄表方案,在傳輸數(shù)據(jù)信息時(shí),由于存在干擾噪聲大、噪聲帶寬大、阻抗不確定等因素,導(dǎo)致在電力線上傳送信息困難、傳輸距離有限等問題,而采用電臺(tái)則可以有效避免或改善這些問題,本文就是針對(duì)無線電臺(tái)通信方式提出的組網(wǎng)方案。

            2 電臺(tái)通信方式

            采用電臺(tái)通信方式的情況下,終端和主站上都自帶了一個(gè)無線電臺(tái)通信模塊,負(fù)責(zé)完成無線電的收發(fā)。其基本通信原理如圖2所示。


            M為主站,而其他的三角形則是分布在各個(gè)樓層、小區(qū)的抄表終端。由于采用的調(diào)制頻率都在230 MHz這個(gè)頻段內(nèi),多臺(tái)終端同時(shí)上報(bào)數(shù)據(jù)的時(shí)候會(huì)因?yàn)橥l干擾而導(dǎo)致接收出錯(cuò),因此,實(shí)際操作時(shí)在任意一個(gè)時(shí)刻只允許一臺(tái)設(shè)備發(fā)射信號(hào),其他設(shè)備都處于*狀態(tài)。正因?yàn)檫@點(diǎn),給建網(wǎng)規(guī)模造成了很大的限制。如上圖所示,主站的輻射半徑R是有限的,由于地理位置等諸多因素的影響,總有些終端會(huì)處于主站的輻射盲區(qū)之中,這就需要以輻射區(qū)域內(nèi)的終端作為中繼間接聯(lián)系上這些設(shè)備。由于無線電臺(tái)存在同頻干擾問題,在建網(wǎng)時(shí)要求有一套具有防沖突功能的路由機(jī)制,下面提出一種給予偵聽信道空閑思想的無線電臺(tái)路由算法。

            3 路由策略

            路由策略大致分為兩個(gè)部分:發(fā)起建網(wǎng)策略和后期維護(hù)策略。首先分析初始建網(wǎng)的路由方案及建網(wǎng)過程。

            3.1 中心主站發(fā)出建網(wǎng)命令

            幀結(jié)構(gòu)在遵循“國(guó)家電力負(fù)荷管理系統(tǒng)數(shù)據(jù)傳輸規(guī)約”的基礎(chǔ)上加入只含主站地址 A0的一條地址鏈表消息。該幀以廣播的形式發(fā)出,且重復(fù)三次,以確保覆蓋范圍內(nèi)的所有終端都能夠接收到。主站廣播完之后偵聽信道空閑狀態(tài)。這就要求所有的終端、主站必須設(shè)定一個(gè)建網(wǎng)收發(fā)等待時(shí)間值,每臺(tái)終端可在出廠時(shí)分配由N秒到kN秒之內(nèi)的一個(gè)任意值,k和N的值需要通過實(shí)驗(yàn)來確定。

            3.2 一級(jí)終端接收到主站廣播時(shí)做出的響應(yīng)

            當(dāng)終端M1接收到主站建網(wǎng)廣播時(shí),將廣播地址加入自己地址A1,組成地址鏈表L1:AOA1保存起來并丟棄之后收到的所有建網(wǎng)命令幀,同時(shí)偵聽信道的空閑狀況,如果在它的等待時(shí)問T內(nèi)沒有接收到任何消息,則將該地址鏈表分別以建網(wǎng)命令幀和回應(yīng)建網(wǎng)命令幀的形式廣播出去,并繼續(xù)偵聽重新等待,偵聽過程中收到任何消息都將重新等待時(shí)間T。

            3.3 非一級(jí)終端接收到建網(wǎng)命令時(shí)做出的響應(yīng)

            這類終端保存自己接收到的最短地址鏈表,鏈表的最后一個(gè)地址加入自身的地址Ax,并存儲(chǔ)x條備用鏈表,選擇其中一條最優(yōu)鏈表在經(jīng)過相應(yīng)的空閑等待時(shí)間后分別以建網(wǎng)命令幀和回應(yīng)建網(wǎng)命令幀的形式廣播出去。丟棄接收到比已保存的鏈表長(zhǎng)的所有建網(wǎng)命令地址鏈表。

            3.4 主站、終端對(duì)回應(yīng)建網(wǎng)命令幀的響應(yīng)過程

            主站提取接收到的建網(wǎng)回應(yīng)幀中的地址鏈表并保存起來,對(duì)于相同目的地址的鏈表選擇最短的進(jìn)行保存更新;終端接收到地址鏈表中包含自己地址、且以中繼形式出現(xiàn)的建網(wǎng)回應(yīng)幀時(shí),在鏈路空閑狀態(tài)下將該幀廣播轉(zhuǎn)發(fā)出去,且加入該幀已被轉(zhuǎn)發(fā)標(biāo)識(shí),繼續(xù)偵聽信道消息,對(duì)于接收到的、以自己為目的地址或者鏈表中不含自己地址的建網(wǎng)回應(yīng)幀一概丟棄,對(duì)于接收到的曾經(jīng)轉(zhuǎn)發(fā)過的幀也做丟棄處理。

            整個(gè)建網(wǎng)發(fā)起過程就完成了。雖然建網(wǎng)時(shí)采用偵聽空閑機(jī)制進(jìn)行收發(fā)的思想來盡量避免多臺(tái)終端在能夠造成相互干擾的范圍內(nèi)同時(shí)發(fā)送數(shù)據(jù),但由于發(fā)送時(shí)數(shù)據(jù)的調(diào)制以及發(fā)送都需要一定的時(shí)間來完成,所以接收時(shí)的同頻干擾依然是存在的,無法排除有些本該能與主站正常取得聯(lián)系的終端由于各種因素而未聯(lián)系上主站。此時(shí),主站需要補(bǔ)發(fā)搜尋命令幀來搜索未能登記終端Mx,地址鏈表為Mm(主站)Mx。當(dāng)終端收到搜尋命令幀時(shí),分兩種情況:第一種,Mx即為自己,則在空閑時(shí)段內(nèi)發(fā)送該地址鏈表Mm.....Mx的廣播建網(wǎng)命令回應(yīng)幀;第二種,目的地址不是自己,則將自己的地址Mt加入地址鏈表形成Mm.....MtMx以搜尋命令幀的格式發(fā)送出去。

            廣播建網(wǎng)的整個(gè)流程中,除了主站首次廣播發(fā)起建網(wǎng)命令幀廣播三次以外,其他所有的數(shù)據(jù)幀均只發(fā)送一次,以縮短建網(wǎng)時(shí)間,同時(shí)也可以降低建網(wǎng)過程中的相互干擾和等待的復(fù)雜性。當(dāng)主站已經(jīng)聯(lián)系上所有終端的時(shí)候,停止發(fā)送廣播建網(wǎng)和搜尋命令,只接受終端回應(yīng)建網(wǎng)命令進(jìn)行路由優(yōu)化。這樣,由于所有終端接收到非丟棄幀的回應(yīng)命令不會(huì)重復(fù)發(fā)送,整個(gè)網(wǎng)絡(luò)內(nèi)會(huì)因?yàn)闆]有主站命令而最終停止廣播行為,從而達(dá)到建網(wǎng)完成時(shí)自動(dòng)停止的目的。

            第二就是后期維護(hù)。也就是在成功完成建網(wǎng)之后,為使整個(gè)網(wǎng)絡(luò)實(shí)時(shí)暢通所必需采取的維護(hù)檢測(cè)行為。主站可以在空閑時(shí)段(如夜間)與每個(gè)終端發(fā)起一次檢測(cè)通信會(huì)話,以確認(rèn)通信的完好性。如果在通信的過程中某個(gè)終端的通信出現(xiàn)障礙,則其中繼終端必須將該錯(cuò)誤信息上報(bào)到主站進(jìn)行登記,主站完成一次完整的檢測(cè)通信會(huì)話之后,針對(duì)搜集到的所有通信出錯(cuò)終端集中發(fā)起一次廣播搜尋,主站超出等待時(shí)間后記錄下出錯(cuò)情況,上報(bào)遠(yuǎn)端服務(wù)器。

            最后,分析一下建網(wǎng)完成后的正常通信過程。當(dāng)主站需要與非一級(jí)終端通信時(shí),按照主站上存儲(chǔ)的最優(yōu)路由鏈表發(fā)出命令請(qǐng)求后,對(duì)應(yīng)的中繼將會(huì)將該命令層層轉(zhuǎn)發(fā),一直到目標(biāo)終端,中繼終端必須在空閑狀態(tài)向主站發(fā)送回應(yīng)幀匯報(bào)兩路鏈接狀態(tài)。若某個(gè)中繼超時(shí)未能發(fā)送回應(yīng),主站應(yīng)進(jìn)行一定數(shù)量的重試,若始終不能成功,則選擇備用路由聯(lián)系目的終端,同時(shí)記錄出錯(cuò)終端,以備空閑時(shí)段的維護(hù)檢測(cè)。

            4 總結(jié)

            此路由策略的最大特點(diǎn)就是引入了偵聽空閑思想,合理利用每個(gè)時(shí)問段來進(jìn)行數(shù)據(jù)通信,而且可以使多個(gè)不處于同一干擾范圍內(nèi)的區(qū)域在同一時(shí)間段內(nèi)各自互不影響地自由通信,突破了同一時(shí)刻只能有一臺(tái)設(shè)備發(fā)出廣播的限制,理論上能夠大大提高建網(wǎng)速度和效率;其次,每臺(tái)終端只保存自己與主站的通信路徑而不必管理需要以自己為中繼的其他設(shè)備,這樣就大大簡(jiǎn)化了終端的路由管理;第三,突破了傳統(tǒng)的無中繼方式,有效擴(kuò)大了通信范圍,降低了終端發(fā)射功耗和通信費(fèi)用;第四,每個(gè)終端都可以作為路由,簡(jiǎn)化了組網(wǎng)設(shè)備結(jié)構(gòu)和軟件結(jié)構(gòu),可以節(jié)約一定運(yùn)營(yíng)成本,同時(shí)也為管理終端設(shè)備提供了便利。

            由此可見,基于空閑檢測(cè)機(jī)制的無線電臺(tái)路由策略在確定合適的k和N后,理論上是可行的,也是很有實(shí)際意義的。

          參考文獻(xiàn):

          [1].RS485datasheethttp://www.dzsc.com/datasheet/RS485_585289.html.
          [2].GPRSdatasheethttp://www.dzsc.com/datasheet/GPRS_1594650.html.



          評(píng)論


          技術(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); })();