电调天线接口中的设备扫描方法、装置及系统 【技术领域】
本发明涉及移动通信技术领域,特别涉及一种电调天线接口中的设备扫描方法、装置及系统。
背景技术
天线接口标准组织(AISG,Antenna Interface Standards Group)协议中规定任何一个天线阵列设备(ALD,Antenna Line Device)均需要一个全球唯一的唯一标识码(UniqueID),此UniqueID需要通过扫描获取,扫描过程如图1所示,该过程包括以下步骤:
步骤101:基站中的中心控制单元(CCU,Central Control Unit)将带有虚拟唯一标识码(UniqueID′)和比特掩码(Bitmask)的设备扫描请求(Device ScanCommand)消息,以广播的方式下发给所有连接在总线上的ALD。
其中UniqueID′一般为UniqueID的一部分,且Bitmask和UniqueID′两个参数的长度相同。
步骤102:ALD的远端控制单元(RCU,Remote Control Unit)接收到上述广播的设备扫描请求消息后,用设备扫描请求消息中的Bitmask与自身的UniqueID进行匹配得到匹配结果(Result)。
其中,与CCU相连的RCU包括三种状态:无地址(NoAddress)状态、地址分配(AddressAssigned)状态和已连接(Connected)状态,在RCU最初始连接到总线时,所有的RCU都处于NoAddress状态。在CCU下发Device ScanCommand广播消息后,所有的连接在总线上的RCU均能接收到此消息,但是只有处于NoAddress状态的RCU接收到此消息后才将消息中的Bitmask与自身的UniqueID进行匹配。
UniqueID的匹配过程如图2所示,其中UniqueID最长会有19个字节,前两个字节采用从左往右的方式进行匹配,后面字节采用从右往左的方式进行匹配。
步骤103:如果匹配得到的Result与Device Scan Command消息中携带的UniqueID′一致,则RCU回复设备扫描响应(Device Scan Response)消息给CCU,且回复的设备扫描响应消息中包含RCU设备自身的UniqueID、厂商码(VendorCode)和设备类型(Device Type)等信息;如果匹配得到的Result与Device ScanCommand消息中携带的UniqueID′不一致,则RCU忽略CCU广播的该设备扫描请求消息。
其中,如果两个或两个以上的RCU同时向CCU回复Device Scan Response消息,CCU有时可以收到所有正确的响应消息,有时却会收到错误的响应消息,CCU如果收到错误的响应消息,通常会认为两个以上的RCU同时占用总线时出现冲突,并继续扫描。对于出现冲突的情况,标准中建议各个符合匹配规则的RCU在停顿一个随机时延后再向CCU回复Device Scan Response消息,但是这种方法并不能有效的避免多个回复消息的冲突。
综上过程可见,现有技术中当CCU对RCU进行扫描时,需要不断的调整广播的Device Scan Command消息中携带的UniqueID′和Bitmask,使其逐步逼近被扫描的RCU自身的UniqueID,且RCU在接收到CCU广播的Device ScanCommand消息后还需要进行UniqueID的匹配操作,只有当匹配结果与DeviceScan Command中携带的UniqueID′一致时,RCU才向CCU回复带有自身UniqueID的Device Scan Response消息,这就造成了CCU对RCU的扫描时间过长的问题。
【发明内容】
有鉴于此,本发明提供一种电调天线接口中的设备扫描方法,用以解决现有技术中存在的CCU对RCU的扫描时间过长的问题。
相应的,本发明还提供了一种电调天线接口中的设备扫描装置及系统。
本发明提供以下技术方案:
一种电调天线接口中的设备扫描方法,该方法包括步骤:中心控制单元向自身控制的每个远端控制单元广播设备扫描请求消息;接收设备扫描响应消息,所述设备扫描响应消息是由处于无地址状态的远端控制单元接收到所述设备扫描请求消息后发送地;为发送所述设备扫描响应消息的远端控制单元分配地址。
一种中心控制装置,包括广播单元,用于向所述装置控制的每个远端控制单元广播设备扫描请求消息;接收单元,用于接收处于无地址状态的远端控制单元发送的设备扫描响应消息;地址分配单元,用于为发送所述接收单元接收到的设备扫描响应消息的远端控制单元分配地址。
一种远端控制装置,包括接收单元,用于接收中心控制单元广播的设备扫描请求消息;发送单元,用于在所述装置处于无地址状态时,在所述接收单元接收到设备扫描请求消息后,发送设备扫描响应消息给所述中心控制单元。
一种电调天线接口中的设备扫描系统,包括中心控制单元和由该中心控制单元控制的各远端控制单元,其中:中心控制单元,用于向自身控制的每个远端控制单元广播设备扫描请求消息;以及接收处于无地址状态的远端控制单元发送的设备扫描响应消息,并为发送所述设备扫描响应消息的远端控制单元分配地址;远端控制单元,用于在自身处于无地址状态时,在接收到中心控制单元广播的设备扫描请求消息后,发送设备扫描响应消息给中心控制单元。
本发明提供的技术方案中,CCU广播的Device Scan Command消息中可以不携带UniqueID′,且RCU在接收到CCU广播的Device Scan Command消息后,不需要进行UniqueID的匹配操作,而是直接将带有自身UniqueID的DeviceScan Response消息发送给CCU,CCU进而为发送设备扫描响应消息的远端控制单元分配地址,这样依然能够实现CCU对RCU的扫描,同时相对于现有技术而言,采用本发明提供的技术方案还缩短了CCU对RCU的扫描时间。
【附图说明】
图1为现有技术中,电调天线接口中的设备扫描方法流程图;
图2为现有技术中,RCU进行UniqueID的匹配过程示意图;
图3为本发明实施例中,电调天线接口中的设备扫描方法流程图;
图4为本发明实施例中,中心控制装置结构示意图;
图5为本发明实施例中,远端控制装置结构示意图。
【具体实施方式】
本发明实施例中,由于CCU广播的Device Scan Command消息中可以不携带UniqueID′,且RCU在接收到CCU广播的Device Scan Command消息后,不需要进行UniqueID的匹配操作,而是直接将带有自身UniqueID的DeviceScan Response消息反馈给CCU,CCU进而为发送设备扫描响应消息的远端控制单元分配地址,从而大大缩短了CCU对RCU的扫描时间。
下面结合说明书附图对本发明实施例进行详细说明。
如图3所示,为本发明实施例中电调天线接口中的设备扫描方法流程图。
步骤301,在预先设置的信息表中存储CCU控制的所有RCU的信息,该信息可以但不限于包括RCU的个数信息及地址分配的状态信息。
步骤302,CCU判断上述信息表中是否存在地址分配的状态信息为处于NoAddress状态的RCU,如果存在,则转至步骤303,如果不存在,则转至步骤310。
步骤303,CCU向自身控制的每个RCU广播Device Scan Command消息。
CCU广播的Device Scan Command消息中可以不包含对处于NoAddress状态的RCU的UniqueID进行预先估计得到的UniqueID′,也可以不包含对应的Bitmask,即Device Scan Command消息中的UniqueID′和Bitmask的参数长度值为0,其中UniqueID′一般为被扫描的RCU的UniqueID的一部分,且Bitmask和UniqueID′两个参数的长度相同。
步骤304,每个处于NoAddress状态下的RCU接收到上述Device ScanCommand消息后,根据自身的UniqueID,采用相关算法计算出一时延值,其中采用的相关算法可以根据具体实施情况具体选择,以下为较为简单的一种算法:
时延值=RCU自身UniqueID的最后2位数字×5ms
这样所有的处于NoAddress状态下的RCU根据自身UniqueID计算产生的时延值都在500ms内,如果所有处于NoAddress状态下的RCU在延迟上述计算产生的时延后直接向CCU回复Device Scan Response消息,则其产生冲突的概率仅为1%。
步骤305,RCU在延迟上述计算产生的时延后,检测总线是否处于空闲状态,若总线处于空闲状态,则转至步骤306,若总线没有处于空闲状态,则转至步骤309。
步骤306,若RCU确定总线处于空闲状态,则向CCU回复Device ScanResponse消息,其中RCU回复的Device Scan Response消息中可以但不限于包含此RCU自身的UniqueID、VendorCode和DeviceType等信息。
其中,由于各个RCU自身的UniqueID都是全球唯一的,所以各个RCU分别根据自身的UniqueID计算时延,得到的时延一般也是不同的,这样每个RCU在延迟上述计算产生的时延后,才向CCU发送Device Scan Response消息,能够有效地避免当有多个RCU向CCU回复Device Scan Response消息时产生的多个RCU同时占用总线的冲突。当然RCU在延迟计算出的时延后,再判断总线是否处于空闲,则可以更好的避免和其他RCU同时占用总线而产生冲突。
步骤307,CCU接收到第i个RCU回复的Device Scan Response消息。
这里,若CCU在规定的时间长度内没有成功接收到任何Device ScanResponse消息,则确认多个RCU同时向CCU回复Device Scan Response消息时产生冲突,此时CCU在延迟一个随机时延后,将再次向自身控制的每个RCU广播Device Scan Command消息。
若CCU重复广播三次Device Scan Command消息后,都没有在规定时间长度内接收到任何Device Scan Response消息,则确认相关设备或其连接存在问题,此时无论预先设置的RCU信息表中是否存在处于NoAddress状态的RCU,CCU都将结束对自身控制的RCU的扫描过程,并产生相应的告警。
步骤308,CCU为上述回复Device Scan Response消息的第i个RCU分配地址,并在预先设置的RCU信息表中将该第i个RCU的地址分配状态信息由NoAddress状态修改为AddressAssigned状态。
CCU成功接收到一个RCU回复的Device Scan Response消息后,立即针对该RCU进行高级数据链路控制(HDLC,High Level Data Link Control)地址分配处理,并将该RCU在预先设置的RCU信息表中的NoAddress状态信息修改成为AddressAssigned状态信息。
当CCU成功的使第i个RCU进入AddressAssigned状态后,CCU将继续判断在预设的RCU信息表中是否存在处于NoAddress状态的RCU,如果存在,则CCU继续向自身控制的各个RCU广播Device Scan Command消息,如果不存在,则CCU结束对自身控制的每个RCU的扫描。
步骤309,RCU不作任何回应。
若RCU在延迟根据自身的UniqueID计算产生的时延后,检测到总线没有处于空闲状态,则确认此时CCU正在接收其他的处于NoAddress状态的RCU回复的Device Scan Response消息,那么此RCU不作任何回应,忽略CCU广播的该Device Scan Command消息。
步骤310,CCU结束对自身控制的每个RCU的扫描。
由上述处理过程可知,采用本发明提供的方案扫描电调天线接口中的设备时,CCU在接收到一个RCU回复的Device Scan Response消息后,便会为此RCU分配地址,并将此RCU的地址分配状态信息从NoAddress状态修改为AddressAssigned状态,而后再继续扫描下一个RCU,而不再是不断的调整Device Scan Command消息中携带的UniqueID′和Bitmask,使其逐步逼近被扫描的RCU的UniqueID;且RCU也不再是停顿一个随机时延后便将Device ScanResponse消息发送给CCU,而是在延迟根据自身的UniqueID计算产生的时延后发送Device Scan Response消息给CCU,有效的避免了多个RCU同时占用总线所产生的冲突;同时,CCU广播的Device Scan Command消息中可以不携带UniqueID′,且RCU在接收到CCU广播的Device Scan Command消息后,不需要进行UniqueID的匹配操作,而是直接将带有自身UniqueID的DeviceScan Response消息发送给CCU,这就很好的缩短了CCU对RCU的扫描时间。
在上述实施例中,步骤304也可以省略,即每个处于NoAddress状态下的RCU接收到上述Device Scan Command消息后,并不需要根据自身的UniqueID计算时延值。由于本发明是由RCU接收到Device Scan Command消息后,在回复Device Scan Response消息时携带自身的UniqueID,从而使CCU接收到Device Scan Response消息时即得知该RCU的UniqueID,从而避免UniqueID的匹配过程,节约了时间。
由于省略了RCU计算时延的步骤,因此在步骤305中,RCU收到DeviceScan Command消息后,即检测总线是否处于空闲状态,或者RCU收到DeviceScan Command消息后,延迟随机产生的时延(例如20ms,该随机时延可以在0-500ms中随机产生)后,若总线处于空闲状态,则转至步骤306,若总线没有处于空闲状态,则转至步骤309,即用随机产生的时延来代替上述步骤304中根据RCU的UniqueID计算产生的时延。
另外,在某些特殊情况下,例如CCU扫描不到某个RCU时,但是操作人员已经得知此RCU的UniqueID的一部分,即已经得知UniqueID′,此时可以通过UniqueID的匹配对此RCU进行扫描,具体如下:
CCU广播携带UniqueID′和Bitmask的Device Scan Command消息,其中UniqueID′可以是此被扫描的RCU的UniqueID的一部分信息,也可以是此被扫描的RCU的UniqueID的全部信息,且UniqueID′和Bitmask两个参数的长度相同;
此RCU在接收到上述Device Scan Command消息后,利用消息中的Bitmask和自身的UniqueID进行匹配操作,得到匹配结果;
若匹配得到的匹配结果与广播的Device Scan Command消息中携带的UniqueID′一致,则该RCU在延迟根据自身的UniqueID计算产生的时延后,且在确定总线处于空闲状态时向CCU回复Device Scan Response消息,该回复消息中包含此RCU自身的UniqueID、VendorCode和DeviceType等信息。
其中,RCU是采用逐比特位从左至右或从右至左进行匹配的方式,将广播的Device Scan Command消息中携带的Bitmask和自身的UniqueID进行匹配的,而无需人为的分成前两个字节和后面字节两部分进行匹配处理,从而可以使得整个匹配过程简单易行,且匹配结果安全可靠。
如图4所示,本发明实施例中中心控制装置包括:
广播单元401,用于在维护单元404维护的地址分配状态信息中存在处于NoAddress状态的RCU时,向中心控制装置控制的每个RCU广播Device ScanCommand消息,且在监测单元405监测到接收单元402在规定时间长度内未接收到任何Device Scan Response消息时,重新向中心控制装置控制的每个RCU广播Device Scan Command消息;
接收单元402,用于接收处于NoAddress状态的RCU在接收到上述广播单元401广播的Device Scan Command消息后发送的Device Scan Response消息;
地址分配单元403,用于为发送接收单元402接收到的Device ScanResponse消息的RCU分配地址;
维护单元404,用于维护被中心控制装置控制的所有RCU的地址分配状态信息,并将被地址分配单元403分配地址的RCU的地址状态信息由NoAddress状态改为AddressAssigned状态。
监测单元405,用于在监测到上述接收单元402在规定时间长度内未接收到Device Scan Response消息时,通知上述广播单元401重新向中心控制装置控制的RCU广播Device Scan Command消息。
另外,在某些特殊情况下,例如中心控制装置扫描不到某个RCU,但是操作人员已经得知此RCU的UniqueID的一部分,即已经得知UniqueID′,此时,中心控制装置可以通过获取单元获取处于NoAddress状态的RCU的UniqueID′和对应的Bitmask,然后利用插入单元,在广播单元401广播的Device ScanCommand消息中插入获取单元获取的UniqueID′和对应的Bitmask。
如图5所示,本发明实施例中远端控制装置包括:
接收单元501,用于接收CCU广播的Device Scan Command消息;
发送单元502,用于在远端控制装置处于NoAddress状态时,在接收单元501接收到Device Scan Command消息后,延迟根据远端控制装置的UniqueID计算的时延,并在检测连接到CCU的总线处于空闲状态时,发送Device ScanRespons消息给CCU。
如果远端控制装置接收到的Device Scan Command消息中携带有该远端控制装置的UniqueID′和对应的Bitmask,那么上述远端控制装置在接收到CCU广播的Device Scan Command消息后,通过匹配单元将该远端控制装置自身的UniqueID与接收到的Device Scan Command消息中携带的Bitmask进行匹配,然后通过比较单元比较上述匹配单元得到的匹配结果与接收到的Device ScanCommand消息中携带的UniqueID′是否一致,并在比较结果一致时,发送DeviceScan Respons消息给CCU。
其中,上述匹配单元采用逐比特位从左至右或从右至左进行匹配的方式,将上述远端控制装置接收到的Device Scan Command消息中携带的Bitmask和远端控制装置自身的UniqueID进行匹配。
此外,本发明上述实施例中提供的CCU和由该CCU控制的各个RCU还可以组成本发明实施例这里保护的电调天线接口中的设备扫描系统,该系统中的CCU和由该CCU控制的各个RCU的工作过程参见上述图3所示的电调天线接口中的设备扫描方法流程,这里不再赘述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。