基于RS-485總線的可擴(kuò)展局域網(wǎng)絡(luò)的研究
這2個(gè)背靠背的節(jié)點(diǎn)模塊又是子網(wǎng)之間的中繼站。同時(shí)還規(guī)定00H子網(wǎng)的00H節(jié)點(diǎn),即地址為00000000?00000000的節(jié)點(diǎn)為整個(gè)網(wǎng)絡(luò)的最高管理者。局域網(wǎng)絡(luò)宜采用拓?fù)浣Y(jié)構(gòu),以提高網(wǎng)絡(luò)運(yùn)行效率,而鏈?zhǔn)浇Y(jié)構(gòu)可增加網(wǎng)絡(luò)的通信距離。RS-485總線構(gòu)成的局域網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖3所示(以00H、01H2個(gè)子網(wǎng)為例)。
3節(jié)點(diǎn)模塊的設(shè)計(jì)
該局域網(wǎng)絡(luò)的關(guān)鍵是節(jié)點(diǎn)模塊的設(shè)計(jì)。這也是本局域網(wǎng)絡(luò)的特色所在,其中軟件設(shè)計(jì)至關(guān)重要。節(jié)點(diǎn)模塊主要完成網(wǎng)絡(luò)的管理和通信。為了使模塊具有通用性,所有節(jié)點(diǎn)模塊具有相同的結(jié)構(gòu)和軟件,只要按照網(wǎng)絡(luò)協(xié)議選擇好正確的地址,任一模塊都可相互替換。網(wǎng)絡(luò)中沒有專門的網(wǎng)絡(luò)服務(wù)器,任意一個(gè)節(jié)點(diǎn)模塊都具有服務(wù)器的功能。哪個(gè)節(jié)點(diǎn)模塊充當(dāng)服務(wù)器是由其自身的地址決定的,因此節(jié)點(diǎn)模塊軟件應(yīng)該具有自動(dòng)識(shí)別地址的功能,以確定自己在網(wǎng)絡(luò)中的位置和角色。例如,當(dāng)檢測(cè)到自身的地址是00001010?×0000000時(shí),就知道自己是0AH子網(wǎng)中的OOH節(jié)點(diǎn),并且是該子網(wǎng)中的管理者;當(dāng)檢測(cè)到自身地址是00000000?×0000000時(shí),就知道自己是整個(gè)局域網(wǎng)絡(luò)的最高管理者。節(jié)點(diǎn)模塊地址可由用戶自行設(shè)定。
為了實(shí)現(xiàn)即插即用功能,最高管理者必須定時(shí)向整個(gè)網(wǎng)絡(luò)廣播,以便收集網(wǎng)絡(luò)的運(yùn)行情況(如是否有新節(jié)點(diǎn)加入,是否有節(jié)點(diǎn)從網(wǎng)絡(luò)上退出等)并形成網(wǎng)絡(luò)狀態(tài)注冊(cè)表,根據(jù)實(shí)際情況實(shí)時(shí)刷新。任何節(jié)點(diǎn)都可以向最高管理者取得該注冊(cè)表,以便管理人員從任一節(jié)點(diǎn)上獲得網(wǎng)絡(luò)運(yùn)行狀態(tài)。
網(wǎng)絡(luò)空閑時(shí),最高管理者不斷地向整個(gè)網(wǎng)絡(luò)發(fā)出詢問,監(jiān)視是否有數(shù)據(jù)通信要求。子網(wǎng)內(nèi)部的數(shù)據(jù)通信由該子網(wǎng)的管理者(節(jié)點(diǎn)地址為00H)協(xié)調(diào),只有跨子網(wǎng)傳輸數(shù)據(jù)時(shí),最高管理者(子網(wǎng)地址為00H,節(jié)點(diǎn)地址也是00H)才會(huì)干預(yù)。節(jié)點(diǎn)模塊中有8KB的SRAM作為數(shù)據(jù)緩沖區(qū),另外有2KB的E2PROM用于保存注冊(cè)表等信息。單片機(jī)的串行通信口既要完成RS-485總線的通信,又要完成由RS-232總線到設(shè)備的通信,所以必須有通信口切換功能。平時(shí)單片機(jī)的串行通信口總是與RS-485總線相連,只有當(dāng)設(shè)備需要傳輸數(shù)據(jù)時(shí)才切換到RS-232總線,所以系統(tǒng)還必須有對(duì)設(shè)備通信請(qǐng)求的檢測(cè)功能。限于篇幅,軟件具體編程在此不作敘述。節(jié)點(diǎn)模塊的結(jié)構(gòu)如圖4所示。
4總結(jié)
理論上該局域網(wǎng)絡(luò)對(duì)節(jié)點(diǎn)的擴(kuò)展沒有限制,但考慮到RS-485總線通信速度的限制,因此網(wǎng)絡(luò)規(guī)模不宜過大。由前面的結(jié)構(gòu)分析可知,網(wǎng)絡(luò)的可靠性取決于子網(wǎng)。由于各子網(wǎng)間不會(huì)產(chǎn)生串?dāng)_,因此網(wǎng)絡(luò)的可靠性不會(huì)隨網(wǎng)絡(luò)的規(guī)模擴(kuò)大而降低。這是一個(gè)通用的局域網(wǎng)絡(luò),適合任何需要RS-485總線通信的場(chǎng)合,因此實(shí)用性非常強(qiáng)。
評(píng)論