著录项信息
专利名称 | 节点B单板软件下载及升级方法 |
申请号 | CN200310103988.6 | 申请日期 | 2003-11-04 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2004-11-03 | 公开/公告号 | CN1543107 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 中兴通讯股份有限公司 | 申请人地址 | 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦A座6层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中兴通讯股份有限公司 | 当前权利人 | 中兴通讯股份有限公司 |
发明人 | 陈勇;陈鹏 |
代理机构 | 中原信达知识产权代理有限责任公司 | 代理人 | 张天舒 |
摘要
本发明提供了一种节点B单板软件下载及升级方法,其中节点B单板软件下载流程包括:1.系统初始化,执行ROM里的软件下载程序;2.下载进程向BMC,发出软件下载请求,BMC获得要下载的软件的具体信息发送给单板;3.单板接收到BMC的回应消息后,将软件下载到一临时内存,并对下载下来的软件进行校验;4.校验成功后,将程序指针跳转到存放下载软件的内存地址开始运行正式软件。本发明能够克服现有技术中存在的系统硬件成本高、软件版本管理复杂的缺点。采用本发明所述管理办法,外围单板的升级处理流程简单,且在单板上无需永久存贮设备,节约了成本,可以很方便简单的实现NODE B软件远程下载及升级。
技术领域\n本发明涉及宽带码分多址系统(WCDMA,Wideband Code Division Multiple Access),尤其涉及宽带码分多址系统中Node B(节点B) 内实现单板软件下载升级的处理方法。\n背景技术\n随着移动通讯系统的在社会各个领域中应用范围的日益扩大,人 们对于移动通讯系统的要求也越来越高,从早期的模拟通讯技术,发 展到现在的承载话音信号的数字通讯技术,继而朝着数据业务的第三 代移动通讯系统发展。WCDMA系统分成两个部分:网络部分和无 线接入部分。无线接入部分由多个无线网络子系统(RNS,Ratio Network System)组成,每个RNS包括1个无线网络控制器(RNC, Ratio Network Controller)和一个或多个Node B,Node B通过Iub接 口与RNC相连,上报RNC提供的系统信息广播,执行由RNC下发 的接入控制,移动性管理,无线资源管理和控制命令,通过Uu接口 与UE(User Equipment)连接完成无线链路传输功能。Node B做为一个 电信设备,在地理分布上比较分散且对其脱网时间有严格要求,这就 需要其具有可靠有效的远程软件下载与升级功能。在NODE B系统 中,一般采用诸如摩托罗拉850、8260等系列中央处理器来运行嵌入 式实时操作系统,在对于这些嵌入式实时操作系统而言,由于系统升 级、软件维护等原因,经常会面临软件版本存储、升级的问题。目前 常用的方法是把单板软件放在单板的存贮设备(如FLASH)中,然 后由BOOT ROM(Read-only Memory)引导运行。由于上述方法需要固定 的存贮设备,不仅增加了系统的硬件成本,而且由于每个单板都保存了 升级软件,从而增加了单板对软件版本的管理成本,也增加了软件复杂度。\n发明内容\n本发明的目的是克服现有技术中存在的系统硬件成本高、软件版本 管理复杂的缺点,以期提供一种能够有效避免增加系统硬件成本、简化 软件复杂度的节点B单板软件下载及升级方法。\n为实现上述目的,本发明提供了一种节点B单板软件下载及升级方 法,其特征在于,包括以下步骤:\n节点B单板软件下载流程:\n(1)外围单板上电,ROM中的程序启动,首先初始化寄存器,然后 将ROM中的代码段与数据段挎贝并解压到RAM中去,并定位到 RAM_HIGH_ADRS开始在RAM中执行ROM中的剩余代码,系统完成硬件设 备初始化、核心库初始化及内核初始化后,安装设备驱动,连接时钟中 断,最后启动下载进程;\n(2)下载进程向BMC(主控单板,NODE B Main Control),发出软 件下载请求,BMC收到请求消息后,根据消息来源判断需要下载的软件类 型,并查询数据库,获得要下载的软件的具体信息发送给单板;\n(3)单板接收到BMC的回应消息后,根据BMC返回的信息与BMC建 立相关的文件传输链路,将软件下载到一临时内存,并对下载下来的软 件进行校验;\n(4)校验成功后,将程序指针跳转到存放下载软件的内存地址开始 运行正式软件。\n节点B单板软件升级流程:\n(1)后台软件把要下载的软件拷贝到指定目录,并读出该文件的软 件类型及版本号;\n(2)向BMC发出软件下载消息,BMC收到消息后与后台建立文件传 输链路把文件下载下来;\n(3)BMC查询数据库并进行版本比较,如果数据库中不存在该文件 软件类型的版本信息,则插入一条新的版本信息;如果存在则比较版本, 如果版本相同就改变数据库中的下载时间,如果版本不同则把当前版本 存为最新版本并删除原版本信息;\n(4)BMC向后台返回软件下载成功消息;后台接收到成功下载消息 后,由用户激活下载版本,然后后台向BMC发出激活消息;\n(5)BMC收到激活消息后,查询数据库,根据软件类型更新数据中 的相关版本信息,把要激活的版本做为当前版本;\n(6)BMC向所有符合软件类型的单板发出复位消息;\n(7)单板收到复位消息后,重新启动。\n本发明所述方法将单板软件的分布式贮存方式改为对单板软件的集 中管理,由于NODE B系统内单板间一般具有足够的带宽,板间的软件版 本传递时间可以缩短到10几秒甚至几秒,这样就为采用集中式的软件版 本管理提供了一种可能性。采用本发明所述管理办法,外围单板的升级 处理流程简单,且在单板上无需永久存贮设备,节约了成本,可以很方 便简单的实现NODE B软件远程下载及升级。\n附图说明\n图1是本发明所述节点B单板软件下载消息交互图。\n图2是本发明所述节点B单板软件升级消息交互图。\n图3是VxWorks嵌入式操作系统内存分配图。\n图4是ROM启动软件与正式软件的的内存分配示意图。\n图5是ROM程序与正式软件在RAM中的加载示意图。\n图6是单板软件下载流程图。\n图7是BMC对后激活命令的处理流程图。\n图8是后台向BMC下载升级软件流程图。\n具体实施方式\n下面结合具体实施方式对本发明作进一步描述:\n根据NodeB系统的设计,系统内的外围单板的正式运行软件都 存放在主控单板BMC的CF卡中,外围单板通过特定的协议与BMC 通讯,将各软件下载到各自的内存中,并将其启动。本发明则提出了 一种从BMC下载软件并引导启动及远程升级的处理方案。由于 NodeB的单板通常采用嵌入式操作系统,并通过BOOT ROM启动, 所以可以将整个软件分为两个部分:ROM启动系统和系统正式运行。 其中ROM启动软件的功能是引导单板启动并下载正式软件到指定内 存,而正式运行软件才是整个单板正常工作时运行的软件。\n当ROM上电后,ROM中的程序向BMC申请单板软件下载, BMC根据申请者的信息决定要下载的软件,通过单板与BMC的文 件传输协议将软件下载到单板的RAM中,然后根据具体操作系统的 特点,运行下载下来的软件。BMC板的CF卡上存贮了所有外围单 板所需要的当前运行软件及备份软件,并将相关信息记录在数据库 里。当外围单板上电后,外围单板BOOT ROM里的软件向BMC申 请软件下载,BMC根据申请者的信息查询数据库,得到需要下载的 软件具体信息并发送给申请者。然后,通过BMC与外围单板之间的 文件传输协议把软件下载到外围单板的内存里。\n当软件需要升级的时候,远程控制终端通知BMC,BMC回应后 通过指定的文件传输协议把软件从远程控制终端下载到CF上,然后 在数据库中增加相关的记录并将其标志为备份,下载成功后BMC通 知远程控制终端。用户可以通过远程控制终端激活升级的软件,BMC 接受到激活命令后把数据库中的相关软件的标志为由备份改为运行, 把原先运行状态的软件改为备份状态,然后BMC给外围单板发出复 位消息。单板接收到复位消息后会重新启动,BOOT ROM上电后向 BMC申请软件下载,BMC查询数据库把标志为运行的软件下载到单 板上去。\n下面通过一个实例对本发明做进一步描述:在本发明所述实例 中,用户通过后台软件把BBP(Node B Base-band Processing,基带 处理板)单板软件下载BMC的CF卡上,然后由BBP板再从BMC 下载到内存中去并启动执行。在实例中,单板所用的操作系统是 VxWorks,单板与BMC采用TCP/IP(Transfer Control Protocol,传输 控制协议/Internet Protocol,网际协议)协议,文件传输采用FTP(File Transfer Protocol,文件传送协议)协议。实际上,虽然实施例采用 上述系统和协议,在其他类型的系统和协议中,本发明所述方法仍然 适用。\n图3是VxWorks操作系统的内存分配图,在VxWorks中,系统 上电后,处理器开始执行romInit(),该程序禁止中断,将启动类型(冷 /热)压栈,做相应的硬件初始化后跳转到romStart()。在romStart() 中,系统加载ROM中的映像到RAM中去,如果ROM中的VxWorks 映像是压缩版本,则系统把ROM中的程序段与数据段挎贝并解压到 RAM中,定位在RAM_HIGH_ADRS,然后跳转到该地址在RAM中 执行ROM剩余的程序。由于整个软件可以分为ROM启动软件和正 式运行两个部分。ROM启动软件是压缩的ROM程序形式 (vxWorks_romCompress),正式运行软件则是以二进制文件形式 存在。图3中的RAM_LOW_ADRS是VxWorks默认的BIN文件执 行入口,因此在生成BIN文件的正式运行软件中的 RAM_LOW_ADRS必须与BOOT程序中存放下载下来的正式软件的 地址一致。\n为了避免存放下载下来的正式软件的内存与存放ROM软件的内 存冲突,本发明将ROM中的启动软件与正式软件的内存分配修改为 图4所示。在图4中,ROM启动软件的BOOTStartAddr是存放下载 下来的正式软件的内存地址,它在物理上等于正式软件中的 RAM_LOW_ADRS。同样,ROM启动软件中的RAM_LOW_ADRS 等于正式软件中的RAM_HIGH_ADRS。这样,在ROM启动软件把 正式软件下载到BOOTStartAddr后,跳转到该地址执行正式软件时即 重新定义RAM_LOW_ADRS和RAM_HIGH_ADRS,相当于直接跳 转到RAM_LOW_ADRS,从而可以正常运行正式软件。ROM中的程 序和正式软件在RAM中的加载如图5所示。\n下面结合实施例详细介绍整个实例流程。\n节点B单板软件下载的流程图如图6所示,消息交互图如图1所 示。节点B单板软件升级流程的消息交互图如图2所示,后台向BMC 下载升级软件的流程图如图8所示,其中BMC对后台的激活命令处 理如图7所示。\n首先用户在后台操作维护工具中启用软件版本管理功能,后台通 过向BMC发送软件下载请求消息,把软件下载所需的信息:软件类 型,软件版本号和FTP信息都发送到软件版本管理进程。软件版本 管理进程接收到软件下载请求消息后,则通过接收到的FTP参数, 向FTP SERVER建立连接,进行软件下载,下载成功后,向后台发 送软件下载成功消息,如果下载失败,则发送软件下载失败消息。\nBMC的软件版本管理进程通过读下载下来的BBP软件的文件 头,读出软件类型及版本号,然后查询“软件版本管理表”:如果数 据库中不存在该软件的版本信息,则将下载的软件版本做为当前版 本,更新数据库;如果数据库存在该软件的版本信息,则比较数据库 的版本与下载软件的版本,如果相同则存为当前版本并覆盖原来的当 前版本软件,并更新数据库中的版本下载时间;如果版本不相同,则 将下载下来的版本做为备份版本,如果已经存在务份版本则将其删 除,并修改数据库。最后,向BMC返回下载成功消息。\n用户通过后台软件激活下载的BBP软件,软件配置进程分解所 接收的请求消息的消息体;并根据消息体内容,查询软件配置表;判 断软件配置表中是否存在相应记录;如果记录存在,则修改其软件版 本号和配置时间;如果记录不存在,则插入新纪录;查询软件版本管 理表;判断软件版本管理表中存在的软件版本数;如果软件版本管理 表存在的软件版本数为2,则修改当前版本为备份版本;修改要激活 的版本为当前版本;向所有运行该软件的单板发送复位消息;向后台 发送软件激活成功消息。\nBBP板在重新启动后,BOOT被启动,将在ROM中的程序下载 到RAM的高端地址后运行。该程序首先与BMC建立TCP/IP链路, 成功后向BMC发出软件下载请求。BMC收到请求后根据PID判断 出申请者是BBP板,查询数据库得到BBP板软件所在的位置,大小 及名称,并将这些信息与FTP服务器的IP,用户名与密码一起发送 到BBP板(如果BMC上没BBP板的软件,则在软件大小中填零)。 BBP板收到BMC的返回消息后,利用这些信息首先判断要下载的软 件大小,如果大小为零,则认为下载失败,BBP板系统重启;否则在 内存中开辟出一段相关大小的临时内存。并与BMC建立FTP链路, 开始下载软件到临时内存。下载完毕后,软件下载模块将下载下来的 软件解压到指定的低端地址(BOOTStartAddr)。解压完成后进行 CRC(Cyclic Redundancy Check,循环冗余校验)校验,确认无误后 关闭辅助时钟中断,Reset串口,将MSR(Machine Status Register) 寄存器置0,最后跳转到RAM_LOW_ADRS,软件正式运行。\n根据以上叙述,可以把整个单板软件下载流程描述如下:\n1、单板上电,ROM中的程序启动,首先初始化寄存器,然后将 ROM中的代码段与数据段挎贝并解压到RAM中去,并定位到 RAM_HIGH_ADRS开始在RAM中执行ROM中的剩余代码;\n2、系统完成硬件设备初始化、核心库初始化及内核初始化后,安 装设备驱动,连接时钟中断,最后启动下载进程;\n3、下载进程向BMC发出软件下载请求,BMC收到请求消息后, 根据消息来源判断要下载的软件类型,并查询数据库,获得要下载的 软件的版本、文件名、存放路径,将这些信息与相关FTP信息发送 给单板;\n4、单板接收到BMC的回应消息后,根据BMC返回的信息与BMC 建立FTP链路,将软件下载到一临时内存,将其解压到 BOOTStartAddr并进行CRC校验;\n5、CRC校验成功后,将程序指针跳转到BOOTStartAddr开始运 行正式软件。\n单板软件下载的流程图如图6所示。\n软件升级的流程如下所述:\n1、后台软件把要下载的软件挎贝到指定目录,并读出该文件的软 件类型及版本号;\n2、向BMC发出软件下载消息,BMC收到消息后与后台建立FTP 链路把文件下载下来;\n3、BMC查询数据库进行版本比较,如果数据库中不存在该文件 软件类型的版本信息则插入一条新的版本信息,如果存在,则比较版 本,如果版本相同就改变数据库中的下载时间,如果版本不同则把当 前版本存为最新版本并删除最老的版本信息;\n4、BMC向后台返回软件下载成功消息。后台接收到成功下载消 息后,用户激活下载版本,后台向BMC发出激活消息;\n5、BMC收到激活消息后,查询数据库,根据软件类型更新数据 中的相关版本信息,把要激活的版本做为当前版本;\n6、BMC向所有符合软件类型的单板发出复位消息;\n7、单板收到复位消息后,重新启动。 \n其中,后台向BMC下载软件的流程图如图8所示。BMC处 理后台激活命令的流程如图7所示。
法律信息
- 2018-10-26
未缴年费专利权终止
IPC(主分类): H04J 13/00
专利号: ZL 200310103988.6
申请日: 2003.11.04
授权公告日: 2006.04.19
- 2006-04-19
- 2005-01-05
- 2004-11-03
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |