首页> 中国专利> 一种宽带接入网中逻辑文件的动态加载方法

一种宽带接入网中逻辑文件的动态加载方法

摘要

本发明公开了一种宽带接入网的逻辑文件动态加载方法,通过TCP协议实现FPGA逻辑文件动态加载,在加载完成之后不需重启系统,并且在单板运行过程中,任何时候均可以加载新版本的FPGA逻辑文件去替代当前运行的FPGA逻辑文件,这样在保证了传输效率和可靠性的同时又提高了系统的灵活性;在实际运行过程中,只需要将客户端的连接IP地址设置为单板的IP地址,这样又扩大了应用范围,且简单易行符合当前嵌入式系统发展的需要。

著录项

  • 公开/公告号CN104090792A

    专利类型发明专利

  • 公开/公告日2014-10-08

    原文格式PDF

  • 申请/专利权人 电子科技大学;

    申请/专利号CN201410314207.6

  • 申请日2014-07-03

  • 分类号G06F9/445(20060101);H04L29/08(20060101);

  • 代理机构成都行之专利代理事务所(普通合伙);

  • 代理人温利平

  • 地址 611731 四川省成都市高新区(西区)西源大道2006号

  • 入库时间 2023-12-17 01:49:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-07-28

    授权

    授权

  • 2014-10-29

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20140703

    实质审查的生效

  • 2014-10-08

    公开

    公开

说明书

技术领域

本发明属于嵌入式系统技术领域,更为具体地讲,涉及一种宽带接入网的 逻辑文件动态加载方法。

背景技术

VxWorks是美国风河公司开发的一套实时嵌入式操作系统,因其优良的性 能而广泛的应用在各个嵌入式设备上,尤其是无源光网络PON(Passive Optical  Network)、路由器、交换机等网络设备;TCP协议实现若干台主机的相互通信, 一种应用程序访问通信协议的操作系统调用套接字;基于接入网的嵌入式在比 较复杂的需求下,所需要加载的文件有不同功能的多个版本文件需要对单板上 芯片控制以保证整体运行在特定的功能;在接入网中,在处理不同的PON模式 逻辑文件,需要不同功能的编译文件加载到单板上运行。接入网中的无源光网 络PON是一种纯介质网络,避免了外部设备的电磁干扰和雷电影响,减少了线 路和外部设备的故障率。PON的业务透明性较好,原则上可适用于任何制式和 速率信号。

众所周知,通常任何一款嵌入式系统编译的逻辑文件都需要传输到单板上 才能控制单板的正常工作。接入网应用中也可能需要通过嵌入式控制具体的功 能,在目前接入网的嵌入式逻辑文件加载方法中,其一般加载都是基于串口和 文件传输协议TFTP(Trivial File Transfer Protocol)传输到单板上。使用TFTP 与串口加载存在的缺点:1、其一般是在开启单板时或者整个系统复位之后加载, 相对于是一种静态加载方式;2、其需要串口与TFTP同时工作才能够加载逻辑 文件,即同时需要串口与网口都与单板链接,相对使用的范围比较狭隘;3、TFTP 协议传输数据速率比较低,传输较大的逻辑文件时需要时间特别长;4、TFTP 协议传输相对于TCP协议可靠性更低,使得在传输过程中可能出现任何错误, 降低了传输文件的可靠性;5、对于有多个版本需要加载的FPGA逻辑文件,其 不能在运行过程中动态加载,使得对于相对比较复杂的工程,其不能完成相对 应的功能,降低了系统可用性。

在现有的技术中,嵌入式系统应用程序动态加载的方法,通过将应用程序 的固件文件存入嵌入式设备自带的外部存储空间中,并设置操作系统和应用程 序间的函数接口来进行动态加载[李敬来.嵌入式系统应用程序动态加载的方 法:中国[P].CN102541579A.2012-07-04];一种嵌入式操作系统加载逻辑文件的 方法和嵌入式系统,将逻辑文件添加到嵌入式操作系统自身的数据中,使嵌入 式操作系统可以通过调用自身数据来加载逻辑文件[杨霆,王伟,曾云刚.一种 嵌入式操作系统加载逻辑文件的方法和嵌入式系统:中国[P].CN1900909. 2007-01-24]。在以上专利只能解决加载一种模式的逻辑文件,在运行过程中不 能在线动态加载,对于有多种模式需要变化的需求,其不能实现动态加载,其 加载过程需要单板重启,无疑增加了复杂性,并且在特定的环境不能实现特殊 的功能。

发明内容

本发明的目的在于克服现有技术的不足,提供一种宽带接入网的逻辑文件 动态加载方法,通过TCP协议实现FPGA逻辑文件动态加载,这样提高了应用 范围,同时具有灵活性高、传输时间快以及传输可靠的优点。

为实现上述发明目的,本发明一种宽带接入网中逻辑文件的动态加载方法, 其特征在于,包括以下步骤:

(1)、编译需要加载的FPGA逻辑文件

在PC端,选择对应使用的FPGA芯片型号,通过quartus II编译需要加载 的FPGA逻辑文件,,将编译后的FPGA逻辑文件存放在PC端的加载目录下;

(2)、运行当前版本的FPGA

加载VxWorks系统文件到单板的CPU上,待VxWorks系统文件加载完成 后,读取PC端加载目录存放的默认FPGA逻辑文件,将默认版本的FPGA逻辑 文件并加载到单板的CPU上,并配置该默认FPGA逻辑文件到FPGA中,使默 认版本的FPGA逻辑文件正常运行;

(3)、更换默认版本的FPGA逻辑文件

将单板中CPU的TCP Socket服务器端的传输端口与PC端中客户端的传输端 口设置相同,并将单板CPU中的TCP Socket服务器端和PC端中的客户端同时开 启TCP Socket服务,并将PC端中客户端的连接IP地址设置为单板的IP地址;

选择需要需动态加载的FPGA逻辑文件,PC端中的客户端从存放FPGA逻辑 文件的加载目录下读取该需动态加载的FPGA逻辑文件,并用功能函数识别出文 件大小信息,然后组装成数据帧传送给单板中CPU的TCP Socket服务器端;

单板中CPU的TCP Socket服务器端监听到发送来的数据帧后进行接收,再根 据功能函数解析接收的数据帧获取到该需动态加载的FPGA逻辑文件的大小信 息,根据该需动态加载的FPGA逻辑的文件信息向CPU申请分配动态内存,CPU 进行分配并记录分配动态内存的首地址;

PC端中的客户端持续分组发送该需动态加载FPGA逻辑文件内容,单板中 CPU的TCP Socket服务器端每接收到一组从PC端中的客户端发送来的该需动态 加载FPGA逻辑文件内容后,发送接收确认信息给PC端中的客户端,PC端中的 客户端接收到单板中CPU的TCP Socket服务器端发送来的接收确认信息后发送 下一组FPGA逻辑文件内容,否则将持续发送当前一组FPGA逻辑文件内容数, 如果在一定的时间内不能成功发送一组FPGA逻辑文件内容,则返回发送失败信 息给PC端中的客户端;

单板中CPU的TCP Socket服务器根据接收FPGA逻辑文件内容的长度不停偏 移接收的首地址,并存入单板中CPU的内存中,待需动态加载的FPGA逻辑文件 全部传送到单板的CPU完成后,从分配的动态内存中拷贝FPGA逻辑文件内容到 CPU的flash中,作为新版本的FPGA逻辑文件,并同时覆盖旧版本的FPGA逻辑 文件,待拷贝完成释放申请的动态内存;

(4)、运行新版本的FPGA逻辑文件;

通过单板中CPU的控制命令,把CPU的flash中的新版本FPGA逻辑文件 通过CPU、FPGA连接的localbus传送到FPGA芯片上,待传输完成后,配置新 版本FPGA逻辑文件的时钟以及数据的输入/输出接口,使新版本FPGA逻辑文 件在要求时钟下运行,然后控制整个VxWorks系统工作在新版本FPGA逻辑文 件的模式下。

进一步地,所述的数据帧由帧头和数据部分组成,而数据部分又由数据类 型、数据长度、功能函数组成,其中,数据长度用于申请动态内存,数据类型 对应解析接收的数据帧调用的功能函数。

所述的步骤(4)中,通过单板的CPU的控制命令将新版本FPGA逻辑文 件传送到FPGA芯片上的过程为:通过片选方式将新版本FPGA逻辑文件传送 到FPGA芯片上;其中,新版本FPGA逻辑文件的数据传输是由localbus数据 线与localbus地址线完成,localbus数据线用来传送新版本FPGA逻辑文件对应 的二进制数据,localbus地址线用来指定传送的地址。

本发明的发明目的是这样实现的:

本发明宽带接入网中逻辑文件的动态加载方法,通过TCP协议实现FPGA 逻辑文件动态加载,在加载完成之后不需重启系统,并且在单板运行过程中, 任何时候均可以加载新版本的FPGA逻辑文件去替代当前运行的FPGA逻辑文 件,这样在保证了传输效率和可靠性的同时又提高了系统的灵活性;在实际运 行过程中,只需要将客户端的连接IP地址设置为单板的IP地址,这样又扩大了 应用范围,且简单易行符合当前嵌入式系统发展的需要。

同时,本发明宽带接入网的逻辑文件动态加载方法还具有以下有益效果:

(1)、通过使用TCP协议实现FPGA逻辑文件动态加载,保证了数据传输 的高效性和可靠性;

(2)、对FPGA逻辑文件加载的前后,不要对系统进行重启,且能动态加 载多版本的FPGA逻辑文件,这样扩大了应用的范围,同时保证了系统的灵活 性;

(3)、本发明能够兼容多版本的FPGA逻辑文件的加载,不要额外增加硬 件开销,又具有低成本的特点。

附图说明

图1是本发明宽带接入网的逻辑文件动态加载方法的原理图;

图2是本发明宽带接入网的逻辑文件动态加载方法的流程图;

图3是数据帧的结构图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更 好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设 计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

实施例

图1是本发明宽带接入网中逻辑文件的动态加载方法的原理图。

在本实施例中,如图1所示,宽带接入网的FPGA逻辑文件动态加载时, 在PC端使用的是windows系统作为客户端,单板CPU使用VxWorks6.8系统, 实现过程中使用C/C++语言与TCP协议进行数据传输,并验证传输结果。在此, 以版本2(需要加载的)FPGA逻辑文件代替版本1(默认版本)FPGA逻辑文 件,所实施的过程,单板起始加载版本1FPGA逻辑文件,在运行过程中,根据 需求需要加载版本2。

本发明宽带接入网中逻辑文件的动态加载方法,如图2所示,包括以下步 骤:

S1)、编译需要加载的FPGA逻辑文件;

通过quartus II编译软件编译需要加载的版本1和版本2的FPGA逻辑文件, 编译时需要正确选择对应使用的FPGA芯片型号;编译后的FPGA逻辑文件以 二进制数据组成,由于不同的版本的FPGA逻辑文件所对应的二进制数据是不 一样的,因此,用不同的名字区分不同版本的FPGA逻辑文件;

S2)、存放编译后的FPGA逻辑文件;

将编译后的版本1和版本2的FPGA逻辑文件存放在PC端的加载目录下;

S3)、运行当前版本的FPGA;

加载VxWorks系统文件到单板的CPU上,待VxWorks系统文件加载完成 后,读取PC端存放FPGA逻辑文件的加载目录,将版本1FPGA逻辑文件读取 并加载到单板的CPU上,并配置版本1的FPGA逻辑文件到FPGA中,使版本 1的FPGA逻辑文件正常运行;

S4)、开启TCP Socket服务;

将单板中CPU的TCP Socket服务器端的传输端口与PC端中客户端的传输端 口设置相同,并将单板CPU中的TCP Socket服务器端和PC端中的客户端同时开 启TCP Socket服务,并将PC端中客户端的连接IP地址设置为单板的IP地址;

S5)、PC端发送需要加载的FPGA逻辑文件大小信息;

选择需要需动态加载的FPGA逻辑文件,PC端中的客户端从存放FPGA逻辑 文件的加载目录,读取版本2FPGA逻辑文件,并用功能函数识别出文件大小信 息,并把版本2FPGA逻辑文件大小信息封装成数据帧传送给单板中CPU的TCP  Socket服务器端。

其中,如图3所示,数据帧由帧头和数据部分组成,而数据部分又由数据类 型、数据长度、功能函数组成,其中,数据长度用于申请动态内存,数据类型 对应解析接收的数据帧调用的功能函数;

S6)、TCP Socket服务端接收PC端发送的FPGA逻辑文件大小信息并向CPU 申请分配动态内存;

TCP Socket服务器端监听到发送来的数据帧后进行接收,再根据功能函数解 析接收的数据帧获取到版本2FPGA逻辑文件的大小信息,并记录下版本2FPGA 逻辑文件的大小信息,再根据版本2FPGA逻辑文件的大小信息向CPU申请分配 动态内存,CPU进行分配并记录分配动态内存的首地址;

S7)、TCP Socket服务器接收PC端发送的FPGA逻辑文件内容;

PC端中的客户端持续发送版本2FPGA逻辑文件内容,TCP Socket服务器根 据接收FPGA逻辑文件内容的长度不停的偏移接收地址,由于TCP协议每次能传 输1518字节数据,在此定义每组传送1024字节,每接收一组数据对应的地址需 要往后移1024字节,准备存放下一组接收FPGA逻辑文件内容。

单板中CPU的TCP Socket服务器端每接收到一组从PC端中的客户端发送来 的该需动态加载FPGA逻辑文件内容后,发送接收确认信息给PC端中的客户端, PC端中的客户端接收到单板中CPU的TCP Socket服务器端发送来的接收确认信 息后发送下一组FPGA逻辑文件内容,否则将持续发送当前一组FPGA逻辑文件 内容数,如果在一定的时间内不能成功发送一组FPGA逻辑文件内容,则返回发 送失败信息给PC端中的客户端。

S8)、存放接收的FPGA逻辑文件;

待版本2FPGA逻辑文件全部传送到单板的CPU完成后,从分配的动态内存 中拷贝版本2的FPGA逻辑文件内容到CPU的flash中,这样将版本2FPGA逻辑文 件存放在CPU固定地址的flash内存中,并覆盖版本1FPGA逻辑文件,待拷贝完 成释放申请的动态内存;

S9)、运行当前版本的FPGA逻辑文件;

通过单板中CPU的控制命令,采用片选的方式把CPU的flash中版本2 FPGA逻辑文件通过CPU、FPGA连接的localbus传送到FPGA芯片上,其中, FPGA逻辑文件的数据传输是由localbus数据线与localbus地址线完成,localbus 数据线用来传送FPGA逻辑文件对应的二进制数据,localbus地址线用来指定传 送的地址;

这样使整个VxWorks系统工作在版本2FPGA逻辑文件模式下,待传输完 成后,配置版本2FPGA逻辑文件的时钟以及数据的输入/输出接口,使版本2 FPGA逻辑文件在要求时钟下运行,然后控制整个VxWorks系统工作在版本2 FPGA逻辑文件的模式下。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的 技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本 技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的 本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明 创造均在保护之列。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号