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

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

【技术实现步骤摘要】

本专利技术属于嵌入式系统
,更为具体地讲,涉及一种宽带接入网的逻辑文 件动态加载方法。
技术介绍
VxWorks是美国风河公司开发的一套实时嵌入式操作系统,因其优良的性能而广 泛的应用在各个嵌入式设备上,尤其是无源光网络PON(Passive Optical Network)、路由 器、交换机等网络设备;TCP协议实现若干台主机的相互通信,一种应用程序访问通信协议 的操作系统调用套接字;基于接入网的嵌入式在比较复杂的需求下,所需要加载的文件有 不同功能的多个版本文件需要对单板上芯片控制以保证整体运行在特定的功能;在接入网 中,在处理不同的Ρ0Ν模式逻辑文件,需要不同功能的编译文件加载到单板上运行。接入网 中的无源光网络Ρ0Ν是一种纯介质网络,避免了外部设备的电磁干扰和雷电影响,减少了 线路和外部设备的故障率。Ρ0Ν的业务透明性较好,原则上可适用于任何制式和速率信号。 众所周知,通常任何一款嵌入式系统编译的逻辑文件都需要传输到单板上才能控 制单板的正常工作。接入网应用中也可能需要通过嵌入式控制具体的功能,在目前接入网 的嵌入式逻辑文件加载方法中,其一般加载都是基于串口和文件传输协议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端的加载目录下; ⑵、运行当前版本的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逻辑文件 动态加载,在加载完成之后不需重启系统,并且在单板运行过程中,任何时候均可以加本文档来自技高网
...
一种宽带接入网中逻辑文件的动态加载方法

【技术保护点】
一种宽带接入网中逻辑文件的动态加载方法,其特征在于,包括以下步骤:(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服务,并将客户端的连接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逻辑文件的模式下。...

【技术特征摘要】
1. 一种宽带接入网中逻辑文件的动态加载方法,其特征在于,包括以下步骤: (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端中客户端的传输端口设置相 同,并将单板(PU中的TCP Socket服务器端和PC端中的客户端同时开启TCP Socket服务, 并将客户端的连接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 服务器端发送来的接收确认信息后发送...

【专利技术属性】
技术研发人员:张崇富刘载伟凌云肖能武邱昆
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1