公众手持电话系统小基站程序的远程动态下载方法 本发明涉及一种数字通信系统中远程数据更新方法,尤其是PHS(公众手持电话系统)小基站程序的远程下载方法。
PHS无线通信系统采用微蜂窝技术,单基站覆盖范围比较小;基站无线接口采用STD28协议,在不捆绑的情况下,每个基站仅可提供3个业务信道,另外1个信道为控制信道。为了保证通话的接通率,基站的数目就比较多,尤其是在通话量比较大的地方,比如居民区、大型商场和体育馆等场所。这样,为了方便版本升级,稳定、可靠的远程动态下载是该系统的重要组成部分。为了降低功耗,实现远程供电,小基站的体系结构通常包括维护台、CSC(基站控制器)和小基站。其中,CSC由PPT(外围处理中继板)板和多块CSMC板(基站主控板)组成。上述CSMC板,综合实现以下功能:STD28协议的第三层功能、小基站的主要操作维护和B通道和D通道的分离和复接。小基站包括CSBB(小基站基带部分)板和CSRF(小基站射频板)板。其中,CSRF板负责射频信号的收发,没有软件,而CSBB板所实现的软件功能包括STD28协议第一、二层功能和小基站部分操作维护功能。
一个CSMC连接4个小基站,通过U口相连。就动态下载而言,由于CSMC实现基站的部分功能,因此小基站软件包括两部分程序,即CSMC程序和CSBB程序,两个程序分别驻留在不同的单板上。为了保证小基站程序的同步升级,动态下载要求能够支持两个程序的单独下载和同时下载。然而,现有的大基站程序的远程动态下载方法由于不适合小基站的体系结构,无法实现小基站程序的远程动态下载。
针对上述小基站的特点以及大基站程序的远程动态下载方法不适合小基站的体系结构的现状,本发明的目的是,提出一种小基站程序地动态下载实现方法,完成小基站CSMC和CSBB程序的远程动态下载,实现版本升级;同时,动态下载应该尽可能地充分利用维护台现有资源和命令,减少维护台软件修改。
为达到上述目的,本发明采用的技术方案是:一种公众手持电话系统小基站程序的远程动态下载方法,该方法包括基站主控板下载过程和小基站基带板下载过程,其中,基站主控板下载过程为:由维护台向基站主控板发出下载请求,基站主控板检测是否有空闲的传输通道,如果没有,拒绝下载操作,如果有,则向维护台返回下载确认信号,开始传送下载程序,如果传送成功,基站主控板将下载的程序存入存储器中,然后结束下载操作;
小基站基带板下载过程为:维护台向小基站基带板发出包含逻辑基站号的远程登录命令启动程序下载,如果小基站基带板处于等待下载的状态,向维护台返回下载确认信号,然后开始传送下载程序,如果下载成功,小基站基带板将下载的程序存入存储器中,然后结束下载操作。
与上述方法相适应,本发明给出了所述基站主控板下载过程和小基站基带板下载过程所基于的基本操作进程和函数以及具体的实现步骤。具体说,基站主控板下载过程和小基站基带板下载过程所包括的基本操作进程和函数为:BMSI进程、LAPB进程、CALL进程、M03进程、B03进程、BSP函数,所述BMSI进程包括IDLE和WAIT两个状态,所述M03进程包括IDLE、CSMCDL和CSBBDL三个状态,所述B03进程包括IDLE和BBDL两个状态:
上述基站主控板下载过程通过B通道进行,具体包括以下步骤:
(1)由维护台向BMSI进程发出“程序下载开始请求”,该请求中包含主、被叫号码,用于建立呼叫,基站主控板下载可以通过任何一个维护接口发起,BMSI进程收到请求之后,向M03发送“下载开始请求”;
(2)M03进程收到“下载开始请求”以后,如果处于IDLE状态,表示没有基站主控板下载或小基站基带板下载正在进行,就向CALL进程发送“呼叫建立请求”,同时将主、被叫号码转发过去;如果有下载正在进行,直接返回“下载开始确认”,拒绝下载;
(3)CALL进程收到“呼叫建立请求”后,向M03进程返回是否有空闲B通道的信息;
(4)M03进程收到来自CALL进程的B通道状态后,向维护台返回“下载开始确认”,如果“有空闲B通道”,则支持下载,进入CSMCDL状态;否则拒绝下载,下载过程结束;
(5)CALL进程发起呼叫,呼叫建立成功之后,CALL进程创建LAPB进程,如果呼叫无法建立,CALL进程通知M03进程,下载结束;
(6)LAPB进程与维护台上对应的LAPB进程建链,如果LAPB建链不成功,M03进程将收不到来自维护台的信息,超时后结束下载;如果建链成功,维护台开始通过B通道发送数据,LAPB将收到的数据传送到M03进程;
(7)每个文件下载结束之后,M03进程向CALL进程发送一个“文件传输结束报告”,通知CALL下载一直在进行;
(8)如果一次下载两个文件,文件的传输是独立的,再进行一次下载程序传输过程;
(9)数据传输结束之后,由维护台发起LAPB拆链和呼叫释放,呼叫释放的同时杀死LAPB进程;
(10)M03进程收到“程序下载结束请求”之后,通过“程序下载结束确认”返回下载结果,只有下载完全成功,程序才被写入FLASH,在下载过程中,维护台也可以结束下载,这时M03进程认为下载失败,不写FLASH;
(11)在FLASH中,程序版本采用双备份方式保存;与下载程序同时写入FLASH的还有版本更新标志;FLASH写完之后,系统重启,使用新版本;
上述小基站基带板下载过程通过D通道进行,具体包括以下步骤:
(A)维护台通过远程登陆命令启动小基站基带板下载,该命令中包含指定的逻辑基站号,BMSI进程收到请求之后,向M03进程发送“下载开始请求”;
(B)M03进程收到“小基站基带板下载开始请求”之后,如果不处于IDLE状态,则向维护台返回失败,不启动下载,否则向B03发送“下载开始请求”,下载开始请求中包含下载程序的字节个数,如果一个逻辑基站没有对应物理基站,向维护台返回失败,结束下载,如果该逻辑基站对应多个物理基站,则同时发送“下载开始请求”;
(C)B03进程收到“小基站基带板下载开始请求”,返回“下载开始确认”作为应答,进入BBDL状态;
(D)M03进程收到所有确认之后,向BMSI进程返回“下载开始确认”,同时开始向B03进程发送数据,BMSI进程收到“下载开始确认”,向维护台返回远程登陆命令的应答;
(E)“数据传送”全部结束之后,M03进程向B03进程发送“下载结束请求”,该消息中包含已传送数据的和校验,B03进程返回“下载结束确认”,根据收到的字节个数与和校验结果来判断下载是否成功,并且通知M03进程,只有与逻辑基站对应的所有物理基站都下载成功,M03才认为下载成功;
(F)B03进程收到“下载结束请求”后,如果本物理基站下载成功,并且下载程序解压缩正确,B03将新程序和版本更新标志写入FLASH,然后重新启动;
(G)下载结束之后,在维护台可以通过名为“下载结束”的远程登陆命令来查询下载结果,即本次下载是成功还是失败;
为了有效地控制小基站基带板的下载过程,本发明还提供了小基站基带板中止过程和小基站基带板查询过程,其中,小基站基带板中止过程是按照下述方法进行的:
维护台通过远程登陆命令向BMSI进程发送“下载结束请求”,由BMSI进程向M03进程发送“下载结束请求”,M03进程收到“下载结束请求”后向B03进程转发“下载结束请求”,同时向BMSI返回应答“下载结束确认”,然后结束下载,B03进程收到“下载结束请求”之后,结束下载,并且向M03返回确认;
小基站基带板查询过程按照下述方法进行的:
维护台通过远程登陆命令向BMSI进程发送“下载查询请求”,由BMSI进程向M03进程发送“下载查询请求”,M03进程收到“下载查询请求”后,根据目前的下载状态向维护台返回以下应答:下载没有进行、下载结束或下载正在进行,下载进度用百分比表示。
从上述本发明采用的技术方案可以看出,本发明提供的小基站程序动态下载方法在于以下几个方面。首先,本发明能够实现CSMC程序和CSBB程序动态下载,满足小基站的实际需求,操作简单、方便;通过采用LAPB进程、校验和应答方式,保证了下载数据的正确性。其次,CSMC下载过程中建立的维护台与CSMC之间的呼叫,与STD28协议没有关系,即使没有CSBB板与CSMC相连,CSMC下载仍然能够进行,有利于生产调试和设备维护。第三,CSBB下载是针对逻辑基站的,由于一个逻辑基站可能包括一个以上的物理基站,在这种情况下,CSMC板向属于同一个逻辑基站的几个CSBB板转发程序,如果其中任一个CSBB下载失败,就终止CSBB下载,返回下载失败,以保证版本的一致性,同时,下载对系统资源的占用时间少,提高了资源利用率和工作效率,而且CSBB下载从CSMC板启动,有利于保持CSMC程序和CSBB程序的一致性。
下面结合附图和实施例对本发明进行进一步的阐述。
图1是小基站CSMC程序下载的流程示意图;
图2为小基站下载程序传输过程示意图;
图3是小基站动态下载相关进程及其相互关系图;
图4为小基站CSBB程序下载的流程示意图。
本发明是分两步实现的,第一步,将程序首先下载到CSMC板上,如果成功,CSMC程序立即更新,而CSBB程序则保存在CSMC板上,这一过程成为CSMC下载;CSMC下载采用B通道,以提高下载速度;第二步,在维护台上,通过维护接口LOGIN命令,将CSBB程序从CSMC板转发到CSBB板,如果成功,则更新版本,这一过程称为CSBB下载。通过LOGIN命令,还可以终止CSBB下载、查询下载进度和下载结果。
上述LOGIN命令是远程登陆命令,维护台不加解释地发送维护台输入字符到指定基站、显示从基站接收到的字符串。基站解释接收字符串的具体意义,并且作出相应的操作,必要时向维护台返回应答。CSMC板收到适当的LOGIN命令之后,执行CSBB下载。
下载由维护台发起,维护台和CSMC板之间首先建立呼叫,然后LAPB建链,LAPB协议保证数据的正确传输和接收;CSMC程序和CSBB程序有附加的校验字节,下载到CSMC板上之后,经校验正确,系统会抛弃校验字节,更新版本。LAPB协议和数据校验保证了CSMC下载的正确性。
将CSBB程序保存在CSMC板上,采用LOGIN命令进行CSBB下载是基于以下考虑:由于一块CSMC连接四块CSBB,四个CSBB的程序往往是相同的,这种下载方法能够有效地减少系统资源占用;LOGIN命令的发送在维护台上只占用很短的时间,在版本升级时,维护台可以连续启动多个下载,也可以作其他工作。
CSBB下载在D通道上完成,采用停等协议,每一帧数据都有应答。为了加快下载过程,下载的CSBB程序可以为压缩数据,压缩前的数据也有校验字节;CSBB程序转发到CSBB板之后,首先对数据解压缩,并对解压缩后的数据进行校验,校验成功方更新CSBB板程序。
CSBB下载是针对逻辑基站的。一个逻辑基站可能包括一个以上的物理基站。在这种情况下,CSMC板向属于同一个逻辑基站的几个CSBB板转发程序,如果其中任一个CSBB下载失败,就终止CSBB下载,返回下载失败,以保证版本的一致性。
图3是小基站动态下载相关进程及其相互关系图,参考图3。用BMS(Basestation Management System)表示维护台,BMSI(BMS Interface)是小基站维护接口进程。BMSI通过X.25协议与维护台交换信息,信息具有固定格式。BMSI主要负责接收维护台操作维护命令,将其分解后用简化的消息形式通知相关进程;在动态下载中,BMSI主要与M03进程交换信息;对于从M03接收到的各种应答,BMSI将其封装成维护接口的标准格式,发送给BMS。BMSI为(0,n)进程,进程个数是CSMC板控制的逻辑基站的个数,每个BMSI进程都可能从维护台收到CSMC下载和CSBB下载请求。BMSI有两个重要状态IDLE和WAIT;在动态下载中,进程在IDLE状态下等待维护台的请求,收到请求后,将请求转发给M03,启动定时器,同时进入WAIT状态;WAIT状态等待M03的应答,收到应答后返回IDLE状态,同时停止定时器;如果定时器超时,也返回IDLE状态,向维护台返回错误指示。
M03进程是小基站动态下载的核心,为(1,1)进程,该进程的主要功能是:
1、控制与协调CSMC下载和CSBB下载的开始、结束;
2、CSMC下载开始之前,为下载请求B通道资源;
3、接收CSMC下载程序,下载成功后写FLASH;
4、控制CSBB下载过程,向CSBB发送下载程序。该进程有三个主要状态:IDLE、CSMCDL和CSBBDL。M03处于IDEL状态,表示没有下载,只有在该状态下,才能开始新的下载;CSMC下载开始之后进入CSMCDL状态,下载结束之后返回IDLE;同样,CSBB下载时处于CSBBDL状态。
CALL进程是呼叫控制进程。在动态下载中,根据M03的请求,该进程负责与维护台建立呼叫、为下载创建LAPB进程。
在动态下载中,LAPB进程为(0,1)进程,负责维护B通道,包括LAPB的建链、拆链和数据传输。下载程序作为数据通过B通道传输,LAPB将从维护台接收到的数据传送给M03,同时将M03返回的应答发送给维护台。
B03进程为(1,1)进程,驻留在CSBB上。在CSBB下载时,接收从CSMC发送过来的数据,并且返回应答;下载结束之后,调用BSP函数将程序写入FLASH。B03进程有两个状态:IDLE和BBDL,分别表示等待下载和下载正在进行。
BSP为硬件操作函数,负责FLASH读写。下载程序保存在FLASH中,下载结束之后,将下载程序和版本更新信息写入FLASH;CSBB下载时,M03还要读FLASH,也由BSP函数完成。
本发明基于上述的基本操作进程和函数,包括CSMC下载过程、CSBB下载过程、CSBB中止过程和CSBB查询过程;上述过程由维护台发起,具体按下述步骤和方法实施,其中:
CSMC下载过程通过B通道进行,参考图1,具体包括以下步骤:
(1)由维护台向BMSI进程发出“程序下载开始请求”,该请求中包含主、被叫号码,用于建立呼叫,CSMC下载可以通过任何一个维护接口发起,BMSI进程收到请求之后,向M03发送“下载开始请求”;
(2)M03进程收到“下载开始请求”以后,如果处于IDLE状态,表示没有CSMC下载或CSBB下载正在进行,并向CALL进程发送“呼叫建立请求”,同时将主、被叫号码转发过去;如果有下载正在进行,直接返回“下载开始确认”,拒绝下载;
(3)CALL进程收到“呼叫建立请求”后,向M03进程返回是否有空闲B通道的信息;
(4)M03进程收到来自CALL进程的B通道状态后,向维护台返回“下载开始确认”,如果“有空闲B通道”,则支持下载,进入CSMCDL状态;否则拒绝下载,下载过程结束;
(5)CALL进程发起呼叫,呼叫建立成功之后,CALL进程创建LAPB进程,如果呼叫无法建立,CALL进程通知M03进程,下载结束;
(6)LAPB进程被创建之后,立即与维护台上对应的LAPB进程建链,建链成功之后,维护台开始通过B通道发送数据,LAPB将收到的数据传送到M03进程,如果LAPB建链不成功,M03进程将收不到来自维护台的信息,超时后结束下载;
(7)每个文件下载结束之后,M03进程向CALL进程发送一个“文件传输结束报告”,通知CALL下载一直在进行;
(8)如果一次下载两个文件,文件的传输是独立的,再进行一次下载程序传输过程;
(9)数据传输结束之后,由维护台发起LAPB拆链和呼叫释放,呼叫释放的同时杀死LAPB进程;
(10)M03进程收到“程序下载结束请求”之后,通过“程序下载结束确认”返回下载结果,只有下载完全成功,程序才被写入FLASH,在下载过程中,维护台也可以结束下载,这时M03进程认为下载失败,不写FLASH;
(11)在FLASH中,程序版本采用双备份方式保存;与下载程序同时写入FLASH的还有版本更新标志;FLASH写完之后,系统重启,使用新版本;
上面所述维护台通过B通道发送数据是按照下述方法进行的,参考图2:
(A1)维护台向LAPB进程发送“数据传输开始请求”,该请求包含本次下载的文件个数和下载文件序号;文件序号从1开始递增;如果文件序号和文件个数正确,然后LAPB进程向M03进程发送“数据传输开始请求”,M03进程返回“数据传输开始确认”,支持数据传输,否则拒绝数据传输;
(A2)维护台下载程序,同时下载文件的总包数和正在下载的包序号,M03进程根据包序号来判断数据是否连续,M03进程将连续的下载数据保存在RAM中;如果下载数据包序号不正确,M03进程将包丢掉,记录出错原因;如果M03进程持续若干秒收不到来自维护台的数据,认为LAPB出错,结束下载;
(A3)下载结束后,维护台向LAPB进程发送“数据传输结束请求”来结束数据传送,LAPB进程向M03进程转发该请求,M03进程返回“数据传输结束确认”,通知维护台数据传输结果,只要数据不完整,就向维护台发送下载失败信息。
CSBB下载过程通过D通道进行采用等停协议,以保证数据的可靠传送,
参考图4,具体包括以下步骤:
(A)维护台通过远程登陆命令启动CSBB下载,该命令中包含指定的逻辑基站号,BMSI进程收到请求之后,向M03进程发送“下载开始请求”;
(B)M03进程收到“CSBB下载开始请求”之后,如果不处于IDLE状态,则向维护台返回失败,不启动下载,否则向B03发送“下载开始请求”,下载开始请求中包含下载程序的字节个数,如果一个逻辑基站没有对应物理基站,向维护台返回失败,结束下载,如果该逻辑基站对应多个物理基站,则同时发送“下载开始请求”;
(C)B03进程收到“CSBB下载开始请求”,返回“下载开始确认”作为应答,进入BBDL状态;
(D)M03进程收到所有确认之后,向BMSI进程返回“下载开始确认”,同时开始向B03进程发送数据,BMSI进程收到“下载开始确认”,向维护台返回远程登陆命令的应答;
(E)“数据传送”全部结束之后,M03进程向B03进程发送“下载结束请求”,该消息中包含已传送数据的和校验,B03进程返回“下载结束确认”,根据收到的字节个数与和校验结果来判断下载是否成功,并且通知M03进程,只有与逻辑基站对应的所有物理基站都下载成功,M03才认为下载成功;
(F)B03进程收到“下载结束请求”后,如果本物理基站下载成功,并且下载程序解压缩正确,B03将新程序和版本更新标志写入FLASH,然后重新启动;
(G)下载结束之后,在维护台可以通过名为“下载结束”的远程登陆命令来查询下载结果,即本次下载是成功还是失败;
在CSBB下载过程中,可以采用远程登陆命令,即LOGIN命令来强行中止下载和监测下载进度,CSBB中止过程是按照下述方法进行的:
维护台通过远程登陆命令向BMSI进程发送“下载结束请求”,由BMSI进程向M03进程发送“下载结束请求”,M03进程收到“下载结束请求”后向B03进程转发“下载结束请求”,同时向BMSI返回应答“下载结束确认”,然后结束下载,B03进程收到“下载结束请求”之后,结束下载,并且向M03返回确认;
CSBB下载进度查询过程是按照下述方法进行的:
维护台通过远程登陆命令向BMSI进程发送“下载查询请求”,由BMSI进程向M03进程发送“下载查询请求”,M03进程收到“下载查询请求”后,根据目前的下载状态向维护台返回以下应答:下载没有进行、下载结束或下载正在进行,下载进度用百分比表示。
本发明采用定时器监视方式,对可能出现的异常情况进行处理。在CSMC下载中,CALL进程负责呼叫建立和呼叫释放,中间与维护台没有其他信息交换;为了防止维护台异常,比如维护台在下载过程中链路暂时中断,造成呼叫不能正常释放而浪费资源,下载开始之后,CALL进程启动一个定时器,例如定时时间5分钟,M03收到一个完整的文件之后,会发送“文件传输结束报告”通知CALL进程,CALL进程重启该定时器;如果在维护台主动释放呼叫之前,定时器超时,CALL进程会主动请求结束呼叫,释放资源。
CSMC下载开始之后,M03进程启动一个定时器,定时时间保证正确接收数据;每收到一帧来自维护台的数据,重启定时器;如果定时器超时,认为链路中断,M03结束下载,返回IDLE状态。
在CSBB下载中,M03和B03分别维护一个定时器T1和T2。M03发送“下载开始请求”、“数据传送”或“下载结束请求”之后,启动T1,每收到一个应答重启一次T1;如果T1超时,认为与B03的链路出现故障,结束下载,下载结果为失败。返回“下载开始确认”同意下载之后,B03启动定时器T2,等待下一帧数据,收到数据后重启,直到收到“下载结束请求”;如果T2超时,B03认为链路故障,结束下载。采用上述方法,除了异常保护,还可以防止物理基站不存在或消息丢失,保证一个逻辑基站对应的所有物理基站的版本的一致性。