Rs485總線上網絡設備的掃描方法
【專利說明】
【技術領域】
[0001]本發(fā)明涉及電調天線控制系統(tǒng)、直放站網絡覆蓋系統(tǒng)、模塊監(jiān)控等RS485總線廣播網絡的設備掃描,更具體地說,涉及RS485總線上主控單元(包括電調天線系統(tǒng)中心控制單元或手持控制器、直放站近端機或連接若干模塊的主監(jiān)控)掃描識別遠端單元(包括電調天線遠端控制單元、直放站遠端機或與主監(jiān)控相連的各個模塊)的方法。
【【背景技術】】
[0002]在電調天線控制系統(tǒng)中,中心控制單元(CXU)或手持控制器需要掃描通過RS485總線連接在一起的遠端控制單元(RCU),準確完整地掃描到總線上的RCU是后續(xù)查詢設置操作的前提。
[0003]在直放站網絡覆蓋系統(tǒng)中,經常會使用一臺直放站接入端(即主機,或近端機)配合多臺覆蓋端(即從機,或遠端機)進行信號覆蓋。在向網管中心“開站上報”之前,工程人員需要先設置好各個覆蓋端的設備編號,確保接入端和各個覆蓋端的連接正常。當一個主從系統(tǒng)中連接的覆蓋端個數(shù)較多時,依次單獨給各個覆蓋端設置設備編號費時費力。如果近端機可以自動掃描連接的覆蓋端個數(shù),并為其分配設備編號,則可大大降低工程人員的工作量。
【
【發(fā)明內容】
】
[0004]本發(fā)明的目的是提供一種RS485總線上網絡設備的掃描方法,通過該掃描方法,主控單元能夠自動掃描識別遠端單元,能夠大大降低工程人員的工作量。
[0005]為達上述目的,本發(fā)明采用的技術方案如下:
[0006]一種RS485總線上網絡設備的掃描方法,所述網絡設備包括主控單元和若干遠端單元,其特征在于,所述掃描方法包括以下步驟:
[0007]所述若干遠端單元各自生成唯一識別碼;
[0008]所述主控單元向所述RS485總線發(fā)送掃描數(shù)據(jù)包,然后在第一時間段內接收所述RS485總線上的應答包;
[0009]遠端單元收到所述掃描數(shù)據(jù)包后生成應答包,并將自身生成的唯一識別碼填入應答包,然后發(fā)送到所述RS485總線上;
[0010]所述主控單元解析收到的應答包,獲取并存儲遠端單元的唯一識別碼。
[0011]為了最大限度地避免因總線沖突而導致通信失敗的情況,在上述的RS485總線上網絡設備的掃描方法中,優(yōu)選地,還包括:在發(fā)送數(shù)據(jù)包之前判斷所述RS485總線是否空閑;當所述RS485總線空閑時開始發(fā)送數(shù)據(jù)包;以及當所述RS485總線忙時等待一段時間再次判斷所述RS485總線是否空閑。
[0012]在上述的RS485總線上網絡設備的掃描方法中,優(yōu)選通過以下方法判斷所述RS485總線是否空閑:獲取當前時間;計算當前時間與最后一次接收到數(shù)據(jù)包之間的時間間隔;當所述時間間隔不小于第一設定值時,判定所述RS485總線空閑,否則判定所述RS485總線忙。
[0013]在上述的RS485總線上網絡設備的掃描方法中,所述第一設定值最好與所述RS485總線的數(shù)據(jù)傳輸速率、遠端單元的個數(shù)以及數(shù)據(jù)包的長度相關。
[0014]為了最大限度地避免因總線沖突而導致通信失敗的情況,在上述的RS485總線上網絡設備的掃描方法中,優(yōu)選地,遠端單元發(fā)送應答包前等待一段隨機時間,該隨機時間與RS485總線上的遠端單元個數(shù)、RS485總線的數(shù)據(jù)傳輸速率以及應答包的長度相關。
[0015]在上述的RS485總線上網絡設備的掃描方法中,優(yōu)選地,還包括:主控單元解析應答包后,判斷應答包是否發(fā)生碰撞以及是否掃描到新的遠端單元;當應答包發(fā)生碰撞或掃描到新的遠端單元時,將掃描計數(shù)器清零,重新向所述RS485總線發(fā)送掃描數(shù)據(jù)包,重復所述掃描過程;當應答包未發(fā)生碰撞且未掃描到新的遠端單元時,掃描計數(shù)器計數(shù);以及當掃描計數(shù)器的值達到第二設定值時,結束掃描。
[0016]在上述的RS485總線上網絡設備的掃描方法中,最好通過以下方法判斷應答包是否發(fā)生碰撞:檢測應答包的起始標志、結束標志和校驗結果,當起始標志和結束標志不全、或者校驗結果不正確時,判定該應答包在所述RS485總線上傳輸時發(fā)生了碰撞。
[0017]在上述的RS485總線上網絡設備的掃描方法中,優(yōu)選地,還包括:所述主控單元在發(fā)送掃描數(shù)據(jù)包前向所述RS485總線發(fā)送初始化數(shù)據(jù)包;以及遠端單元收到所述初始化數(shù)據(jù)包后,將自身置為無地址狀態(tài)。
[0018]本發(fā)明方法由主控單元和遠端單元結合自動掃描識別連接在RS485總線上的遠端單元,因此能夠大大降低工程人員的工作量。
【【附圖說明】】
[0019]圖1為較佳實施例掃描方法中由主控單元執(zhí)行的流程圖;
[0020]圖2為較佳實施例掃描方法中由遠端單元執(zhí)行的流程圖;
[0021]圖3為較佳實施例掃描方法中判斷RS485總線是否空閑的流程圖;
[0022]圖4為較佳實施例掃描方法中數(shù)據(jù)碰撞檢測流程圖。
【【具體實施方式】】
[0023]下面結合附圖和實施例對本發(fā)明進一步說明。
[0024]本RS485總線上網絡設備的掃描方法由主控單元和遠端單元結合自動掃描識別連接在RS485總線上的遠端單元,其中,主控單元中的處理流程如圖1所示,遠端單元中的處理流程如圖2所示。
[0025]參照圖1,主控單元中的處理流程包括:
[0026]步驟S101,初始化掃描次數(shù)(即將掃描計數(shù)器COUNT置零)。在一些未設置掃描計數(shù)器實施例中即不需該步驟。
[0027]步驟S102,判斷是否收到掃描命令。
[0028]步驟S103,收到掃描命令后,向RS485總線發(fā)送初始化數(shù)據(jù)包,以初始化所有遠端單元,將遠端單元設置為。在一些系統(tǒng)中,只有在無地址狀態(tài)下遠端單元才會響應近端設備通過總線發(fā)出的掃描命令,其它狀態(tài)下遠端單元不響應掃描命令,為了具有更好的通用性,所以設置該步驟S103。
[0029]步驟S104,判斷是否停止掃描,當掃描計數(shù)器的值達到第二設定值時或者收到結束掃描命令時,停止掃描。
[0030]步驟S105,向RS485總線發(fā)送一個掃描數(shù)據(jù)包。
[0031]步驟S106,在第一時間段TRecv內接收所述RS485總線上的應答包。
[0032]步驟S107,解析收到的應答包,獲取并存儲遠端單元的唯一識別碼。
[0033]步驟S108,判斷應答包是否發(fā)生碰撞以及是否掃描到新的遠端單元。
[0034]步驟S109,當應答包發(fā)生碰撞或掃描到新的遠端單元時,將掃描計數(shù)器COUNT清零,轉至步驟S104 (即重新向所述RS485總線發(fā)送掃描數(shù)據(jù)包,重復所述掃描過程)。
[0035]步驟S110,當應答包未發(fā)生碰撞且未掃描到新的遠端單元時,掃描計數(shù)器COUNT的值加一,然后轉至步驟S104。
[0036]參照圖2,遠端單元中的處理流程包括:
[0037]步驟S201,生成唯一識別碼(或者叫序列號)。該唯一識別碼可以使用硬件編碼信息、時間、隨機數(shù)中的一種或幾種,采用一定的算法得到。例如:唯一識別碼=系統(tǒng)當前時間的分鐘、秒以及微秒數(shù)之和。在軟件領域,已有很多用硬件編碼信息、時間、或隨機數(shù)計算唯一識別碼的方法,例如生成密鑰的方法等等,這些方法都可應用于本發(fā)明。
[0038]步驟S202