亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于rs485分布式總線系統(tǒng)的控制方法_2

文檔序號(hào):9597797閱讀:來源:國(guó)知局
系統(tǒng)總線是否空閑,若空閑,則占用總線,進(jìn)入發(fā)送狀態(tài)使能,啟動(dòng)送數(shù)據(jù)機(jī)制,開始發(fā)送第一個(gè)數(shù)據(jù),并進(jìn)入第八步;若系統(tǒng)總線不空閑,則直接進(jìn)入第八步;
第七,若獲得總線控制權(quán),則連續(xù)發(fā)送數(shù)據(jù),并判斷發(fā)送數(shù)據(jù)是否完畢,若發(fā)送完畢,則關(guān)閉發(fā)送狀態(tài),釋放總線,并清除連續(xù)發(fā)送數(shù)據(jù)機(jī)制;若數(shù)據(jù)沒有發(fā)送完畢,則繼續(xù)發(fā)送數(shù)據(jù),直至發(fā)送數(shù)據(jù)完畢;
第八,由于節(jié)點(diǎn)始終處于接收狀態(tài),所以節(jié)點(diǎn)不僅能接收到系統(tǒng)其它節(jié)點(diǎn)發(fā)出的指令或數(shù)據(jù),也能接收到本節(jié)點(diǎn)發(fā)出的指令或數(shù)據(jù);通過將接收到的字節(jié)與自己剛發(fā)出字節(jié)比較,能及時(shí)知道本節(jié)點(diǎn)是否成功地發(fā)送了指令或數(shù)據(jù),起到自動(dòng)糾錯(cuò)作用,同時(shí)也能判斷總線是否正常;
第九,節(jié)點(diǎn)接收到系統(tǒng)其它節(jié)點(diǎn)發(fā)出的指令或數(shù)據(jù),判斷是否是其它節(jié)點(diǎn)向本節(jié)點(diǎn)發(fā)送的要求入網(wǎng)指令,若是則繼續(xù)判斷其它節(jié)點(diǎn)優(yōu)先級(jí)別是否比本節(jié)點(diǎn)優(yōu)先級(jí)別高,若是則回復(fù)允許入網(wǎng)指令,同時(shí)本節(jié)點(diǎn)退出已獲得的入網(wǎng)權(quán),回到第二步,否則回復(fù)不允許入網(wǎng)指令;對(duì)于本節(jié)點(diǎn)接收到的其它指令或數(shù)據(jù),也要及時(shí)進(jìn)行相應(yīng)處理。
[0020]所述第二步中的依據(jù)節(jié)點(diǎn)優(yōu)先級(jí)別競(jìng)爭(zhēng)獲得本節(jié)點(diǎn)系統(tǒng)控制延時(shí)系數(shù)流程是,參見圖3,
第1,定義變量系統(tǒng)控制設(shè)備號(hào):E=1,變量詢問次數(shù)C=0,常量系數(shù)最大主控?cái)?shù)Max=50,定義常量初始進(jìn)入總線系統(tǒng)的系統(tǒng)控制編號(hào)Ei=50 ;
第2,計(jì)算得到本節(jié)點(diǎn)初始進(jìn)入總線系統(tǒng)的系統(tǒng)控制延時(shí)系數(shù)YS=21+3*Ei,所述系統(tǒng)控制延時(shí)系數(shù)包括二部分,基本延時(shí)系數(shù)和設(shè)備差異延時(shí)系數(shù),即系統(tǒng)控制延時(shí)系數(shù)=基本延時(shí)系數(shù)+設(shè)備差異延時(shí)系數(shù)*系統(tǒng)控制編號(hào),
其中:基本延時(shí)系數(shù)定義為:在發(fā)送1個(gè)字節(jié)所需的時(shí)間,取21,
設(shè)備差異延時(shí)系數(shù)定義為:差異延時(shí)時(shí)間不小于發(fā)送1位所需的時(shí)間,取3,
則系統(tǒng)控制延時(shí)系數(shù)YS=21+3*系統(tǒng)控制編號(hào)Ei ;
第3,給定該節(jié)點(diǎn)控制優(yōu)先級(jí)別;
第4,首先判斷當(dāng)前變量設(shè)備號(hào)E=Max+l ;若等于,則表明本總線系統(tǒng)當(dāng)前已經(jīng)有Max個(gè)優(yōu)先級(jí)別不低于本節(jié)點(diǎn)的設(shè)備正在工作,本節(jié)點(diǎn)無法入網(wǎng),報(bào)錯(cuò),結(jié)束;若不等于,則開始計(jì)數(shù)下一步的詢問次數(shù),進(jìn)入下一步;
第5,向系統(tǒng)控制編號(hào)為E的節(jié)點(diǎn)發(fā)送請(qǐng)求入網(wǎng)指令,延時(shí)等待一段時(shí)間(如:64ms),若時(shí)間到,則再重復(fù)詢問一次,連續(xù)重復(fù)詢問不超過5次;若在延時(shí)等待時(shí)間內(nèi)收到系統(tǒng)控制編號(hào)為E的節(jié)點(diǎn)回復(fù)指令,若該回復(fù)指令是允許入網(wǎng)指令,說明系統(tǒng)控制設(shè)備號(hào)E允許入網(wǎng),否則系統(tǒng)控制設(shè)備號(hào)E加1后再回到第4步進(jìn)行上述的循環(huán);若5次向系統(tǒng)控制編號(hào)為E的節(jié)點(diǎn)發(fā)送請(qǐng)求入網(wǎng)指令,均未收到系統(tǒng)控制編號(hào)為E的節(jié)點(diǎn)回復(fù)指令,則判斷當(dāng)前系統(tǒng)不存在系統(tǒng)控制編號(hào)為E的節(jié)點(diǎn),默認(rèn)系統(tǒng)控制設(shè)備號(hào)E允許入網(wǎng);
第6,系統(tǒng)控制設(shè)備號(hào)E允許入網(wǎng)后,則系統(tǒng)控制設(shè)備號(hào)E成為本節(jié)點(diǎn)系統(tǒng)控制編號(hào),原有的E號(hào)控制節(jié)點(diǎn)退出控制權(quán);
第7,計(jì)算出本節(jié)點(diǎn)正常工作的延時(shí)控制系數(shù)YS,YS=21+3*E0
[0021]所述第五步中的競(jìng)爭(zhēng)獲得系統(tǒng)總線控制權(quán)的流程是,參見圖4,
第1,判斷總線狀態(tài)是否空閑,若總線狀態(tài)不空閑,則重新開始總線空閑延時(shí)計(jì)數(shù),即總線空閑延時(shí)計(jì)數(shù)=0,并結(jié)束;
第2,若空閑,接著判斷本節(jié)點(diǎn)是否已獲主控權(quán),若本節(jié)點(diǎn)已獲主控權(quán),則重新開始總線空閑延時(shí)計(jì)數(shù),即總線空閑延時(shí)計(jì)數(shù)=0,并結(jié)束;
第3,若本節(jié)點(diǎn)沒有獲主控權(quán),再判斷本節(jié)點(diǎn)是否需競(jìng)爭(zhēng)為主節(jié)點(diǎn),即本節(jié)點(diǎn)是否需發(fā)送指令或數(shù)據(jù),若不需競(jìng)爭(zhēng)成為主節(jié)點(diǎn),則重新開始總線空閑延時(shí)計(jì)數(shù),即總線空閑延時(shí)計(jì)數(shù)=0,并結(jié)束;
第4,若需競(jìng)爭(zhēng)成為主節(jié)點(diǎn),則總線空閑延時(shí)計(jì)數(shù)加1 ;
第5,判斷總線空閑延時(shí)計(jì)數(shù)=系統(tǒng)控制延時(shí)系數(shù)YS,若延時(shí)計(jì)數(shù)沒有到,則結(jié)束,下一周期繼續(xù)探測(cè);若延時(shí)計(jì)數(shù)到了,則重新開始總線空閑延時(shí)計(jì)數(shù),總線空閑延時(shí)計(jì)數(shù)=0 ;
第6,再次判別總線狀態(tài)是否仍空閑,若不空閑,則結(jié)束;若空閑,則該節(jié)點(diǎn)作為系統(tǒng)主節(jié)點(diǎn),RS485發(fā)送使能;
第7,發(fā)送指令或數(shù)據(jù)第一字節(jié),再啟動(dòng)連續(xù)發(fā)送數(shù)據(jù)機(jī)制;
第8,結(jié)束;
其中:該流程以總線探測(cè)周期為執(zhí)行周期,所述總線探測(cè)周期為52us。
[0022]所述第七步中,所述連續(xù)發(fā)送數(shù)據(jù)是指,在發(fā)送完一個(gè)字節(jié)后時(shí),立即啟動(dòng)以下發(fā)送數(shù)據(jù)流程,參見圖5,
第1,判斷所有字節(jié)是否發(fā)送完畢,若不是,則發(fā)送下一個(gè)字節(jié),再進(jìn)入第5步,
第2,若是,則退出系統(tǒng)主節(jié)點(diǎn),RS485發(fā)送關(guān)閉;
第3,清除本節(jié)點(diǎn)是主節(jié)點(diǎn)標(biāo)志,
第4,清除需發(fā)送指令;
第5,重新開始總線空閑延時(shí)計(jì)數(shù),總線空閑延時(shí)計(jì)數(shù)=0。
[0023]所述第八步中判斷是否接收到指令或數(shù)據(jù)的流程是,參見圖6,
第1,判斷是否自己發(fā)送字節(jié),若不是,再判斷一幀指令接收完畢否,若沒有接收完畢,則轉(zhuǎn)入第6步,若接收完畢,則再判斷校驗(yàn)是否正確,不正確,則轉(zhuǎn)入第6步,正確,則處理指令后再轉(zhuǎn)入第6步;
第2,是自己發(fā)送字節(jié)的,則再判斷與發(fā)送字節(jié)是否相同,若相同,則總線連續(xù)出錯(cuò)次數(shù)=0,后進(jìn)入第6步;若不同,則總線連續(xù)出錯(cuò)次數(shù)+1 ;
第3,判斷連續(xù)出錯(cuò)次數(shù)是否大于總的出錯(cuò)次數(shù),若不是,進(jìn)入第4步;若是,則報(bào)錯(cuò),做總線出錯(cuò)處理,再清除需發(fā)送指令標(biāo)志;
第4,退出系統(tǒng)主節(jié)點(diǎn),RS485發(fā)送關(guān)閉;
第5,清除本節(jié)點(diǎn)是主節(jié)點(diǎn)標(biāo)志;
第6,重新發(fā)送指令或數(shù)據(jù);
第7,重新開始總線空閑延時(shí)計(jì)數(shù),總線空閑延時(shí)計(jì)數(shù)=0。
[0024]實(shí)施例:
以9600波特率、1為起始位、8位數(shù)據(jù),1位校驗(yàn),1位停止位,共11位的異步串行通信為例;若涉及節(jié)點(diǎn)設(shè)備CPU類型,以采用晶振頻率為11.0592M的51系列單片機(jī)(例如8952)為例;涉及RS485通信芯片,以Texas Instruments SN75176為例。
[0025]1、計(jì)算發(fā)送1位所需的時(shí)間
發(fā)送1位所需的時(shí)間=1/通信波特率=1/9600=104 (us)
2、總線探測(cè)周期
以探測(cè)總線周期為間隙時(shí)間,探測(cè)總線狀態(tài),本發(fā)明不是通過增加硬件設(shè)備直接探測(cè)RS485總線的差分信號(hào),而是將系統(tǒng)控制設(shè)備RS485通信芯片的接收使能端(RE)永遠(yuǎn)使能,探測(cè)接收端(R)的電平,接收端電平為0,稱總線狀態(tài)為忙;反之接收端電平為1,稱總線狀態(tài)為不忙。
[0026]要確保1位數(shù)據(jù)至少能探測(cè)到一次,總線探測(cè)周期需小于發(fā)送1位所需的時(shí)間,越小探測(cè)效果越好,但CPU負(fù)擔(dān)越重,對(duì)CPU要求越高。本實(shí)施例采用總線探測(cè)周期等于發(fā)送1位數(shù)據(jù)所需時(shí)間的一半,即總線探測(cè)周期=104/2=52 (us)。
[0027]3、總線競(jìng)爭(zhēng)延時(shí)系數(shù)
以總線探測(cè)周期為間隙,探測(cè)總線狀態(tài),若總線狀態(tài)連續(xù)為不忙,探測(cè)多少次,才能稱RS485總線為空閑狀態(tài),定義該探測(cè)次數(shù)為總線競(jìng)爭(zhēng)延時(shí)系數(shù)。顯然,總線競(jìng)爭(zhēng)延時(shí)系數(shù)乘總線探測(cè)周期,不能少于發(fā)送1碼(1個(gè)字節(jié))所需的時(shí)間,即不能小于ll*104=1144(us)。
[0028]總線競(jìng)爭(zhēng)延時(shí)系數(shù)包括二部分,基本延時(shí)系數(shù)和設(shè)備差異延時(shí)系數(shù),即總線競(jìng)爭(zhēng)延時(shí)系數(shù)=基本延時(shí)系數(shù)+設(shè)備差異延時(shí)系數(shù)*系統(tǒng)控制編號(hào)?;狙訒r(shí)系數(shù)定義依據(jù)是,基本延時(shí)時(shí)間在發(fā)送1碼(1個(gè)字節(jié))所需的時(shí)間左右;設(shè)備差異延時(shí)系數(shù)定義依據(jù)是,差異延時(shí)時(shí)間不小于發(fā)送1位所需的時(shí)間。經(jīng)實(shí)驗(yàn),確定基本延時(shí)系數(shù)=21 (10.5位傳輸時(shí)間),設(shè)備差異延時(shí)系數(shù)=3 (1.5位傳輸時(shí)間)。以下面公式計(jì)算系統(tǒng)控制設(shè)備的總線競(jìng)爭(zhēng)延時(shí)系數(shù),即:總線競(jìng)爭(zhēng)延時(shí)系數(shù)YS=21+3*系統(tǒng)控制編號(hào)。
[0029]下面計(jì)算并列出部分設(shè)備的延時(shí)系數(shù)和探測(cè)時(shí)間:
1號(hào)系統(tǒng)控制設(shè)備,其總線競(jìng)爭(zhēng)延時(shí)系數(shù)=21+1*3=24 (次),
探測(cè)時(shí)間=24*52us=1248us。
[0030]2號(hào)系統(tǒng)控制設(shè)備,其總線競(jìng)爭(zhēng)延時(shí)系數(shù)=21+2*3=27 (次),
探測(cè)時(shí)間=27*52us=1404us。
[0031]50號(hào)系統(tǒng)控制設(shè)備,其總線競(jìng)爭(zhēng)延時(shí)系數(shù)=21+50*3=171 (次),
探測(cè)時(shí)間=171*52us=8892us。
[0032]78號(hào)系統(tǒng)控制設(shè)備,其總線競(jìng)爭(zhēng)延時(shí)系數(shù)=21+78*3=255 (次),
探測(cè)時(shí)間=255*52us=13260us。
[0033]參見圖7,圖7為特例總線數(shù)據(jù)流狀態(tài)為數(shù)據(jù)=255、校驗(yàn)位=1各節(jié)點(diǎn)探測(cè)原理示意圖,圖7中“tc”的定義是:“發(fā)送多字節(jié)的一幀指令,二字節(jié)
當(dāng)前第2頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1