一种基于嵌入式的多板卡IP地址生成方法及装置
技术领域
本发明涉及网络通信技术领域,具体涉及一种基于嵌入式的多板卡IP地址生成方法及装置。
背景技术
在嵌入式系统开发中,大部分设备都会配置网络功能实现设备之间通信,那么需要给设备分配IP地址。目前分配IP地址的方式包括:静态IP地址设置和自动获得IP地址方式。静态IP地址设置方式是指在配置文件中配置对应的IP地址,然后上电读取完成网卡的设置。自动获得IP地址的方式,主要技术是动态主机配置协议(DHCP:DynamicHostConfiguration Protocol),由DHCP服务器集中管理所有的IP网路配置数据,并负责处理客户端的DHCP请求;而客户端则会使用从DHCP服务器分配下来的IP配置数据。
但现有的技术方案都有一定的缺陷:静态IP设置在每次网络环境变化,用户需手动修改配置文件,而且在多设备的情况下,显得效率低下且容易出错; DHCP方式,当DHCP服务器与客户端不在同一个网段,需要在客户端同一个网段内配置一个DHCP中继(Relay)主机。但一般情况下IP网络的标准业务只提供路由功能,而该DHCP Relay主机属于IP地址自动配置的功能,不属于路由功能,较难实现自动IP地址配置。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于嵌入式的多板卡IP地址生成方法及装置,该方法适用于嵌入式领域的多板卡IP地址生成,支持自动和客户端配置方式,实现IP地址生成和分配,降低了实现的难度和提高了分配的效率。
根据公开的实施例,本发明的第一方面提出了一种基于嵌入式的多板卡IP地址生成方法,所述方法包括下列步骤:
板卡设备端:
S101、启动上电,读取有效标记,如果有,执行步骤S102,否则执行步骤S103;
S102、计算有效标记中各个成员的CRC校验值是否和存储的CRC校验值一致,如果一致,提取其中的信息并刷新板卡对应的IP信息;如果不一致则执行步骤S104;
S103、采用默认的IP地址,继续步骤S104;
S104、发送IP地址信息请求报文给客户端,等待客户端的IP地址配置信息报文,如果根据IP地址配置信息报文中的合法标记判断IP地址信息请求报文中的当前IP地址合法,执行步骤S105,否则执行步骤S106;
S105、从IP地址信息请求报文中提取当前IP地址、当前子网掩码和从IP地址配置信息报文中提取客户端IP地址后刷新有效标记,执行步骤S107;
S106、提取IP地址配置信息报文的新IP地址、新子网掩码和客户端IP地址后刷新有效标记,执行步骤S107;
S107、存储有效标记至存储器,并发送完成有效标记存储应答给客户端;
客户端:
S201、启动,查询板卡在位情况,获得板卡数量,读取非易失存储器中是否存有有效标记表,如果有,执行步骤S202;否则执行步骤S203;
S202、刷新IP地址信息表,继续步骤S203;
S203、检测板卡IP地址信息上报数量大于等于板卡数量,如果是,执行步骤S205,否则执行步骤S204;
S204、等待板卡IP地址信息请求报文,如果有执行步骤S205,否则继续等待板卡IP地址信息请求报文;
S205、判断IP地址信息表中是否存在IP冲突,即在位板卡IP是否与有效标记内的IP存在冲突,如果有冲突的话,统计冲突数目,执行步骤S206,否则,执行步骤S207;
S206、弹出显示框,由用户进行修改,点击确定,继续步骤S207;
S207、发送IP地址配置信息报文给板卡,继续执行步骤S208;
S208、判断收到板卡的有效标记上报是否完成,如果是执行步骤S210;否则执行步骤S209;
S209、等待接收有效标记应答,刷新有效标记表,并返回步骤S208继续判断板卡的有效标记上报是否完成;
S210、存储有效标记至存储器中。
进一步地,所述的有效标记包括:设备唯一标识号、槽位号、IP地址、子网掩码、客户端IP地址、CRC校验值。
进一步地,所述的计算有效标记中各个成员的CRC校验值是否和存储的CRC校验值一致的方式包括:奇偶校验、异或校验、CRC循环冗余校验或者MD5校验。
进一步地,所述的步骤S103中采用默认的IP地址具体过程如下:
程序固化IP前三段为“192.168.3”,第四段为板卡槽位号值n,组成默认的IP地址“192.168.3.n”。
进一步地,所述的IP地址信息请求报文包括:报文头、报文长度、设备唯一标识号、槽位号、当前IP地址、当前子网掩码。
进一步地,所述的IP地址配置信息报文包括:报文头、报文长度、设备唯一标识号、槽位号、合法标记、新IP地址、新子网掩码、客户端IP地址。
进一步地,所述的合法标记为1,则表示板卡的IP请求通过,所述的合法标记为0,表示板卡的IP请求不通过,提取客户端分配新的地址信息。
进一步地,所述的IP地址信息表包括有效标记中的设备唯一标识号、槽位号、IP地址。
进一步地,所述的显示框显示所有板卡IP信息,包括在位和不在位,对于冲突的IP地址采用红色标记出来,用户可以根据列表和当前网络资源进行一个配置,然后点击确定实现报文下发。
根据公开的实施例,本发明的第二方面提出了一种基于嵌入式的多板卡IP地址生成装置,所述装置包括:
板卡设备端:
第一启动模块,用于启动上电,读取有效标记,如果有,转至校验模块,否则转至地址模块;
CRC校验模块,用于计算有效标记中各个成员的CRC校验值是否和存储的CRC校验值一致,如果一致,提取其中的信息并刷新板卡对应的IP信息;如果不一致则转至IP地址合法检验模块;
地址模块,采用默认的IP地址,转至IP地址合法检验模块;
IP地址合法检验模块,用于将发送IP地址信息请求报文给客户端,等待客户端的IP地址配置信息报文,如果根据IP地址配置信息报文中的合法标记判断IP地址信息请求报文中的当前IP地址合法,转至第一提取模块,否则转至第二提取模块;
第一提取模块,用于从IP地址信息请求报文中提取当前IP地址、当前子网掩码和从IP地址配置信息报文中提取客户端IP地址后刷新有效标记,转至第一存储模块;
第二提取模块,用于提取IP地址配置信息报文的新IP地址、新子网掩码和客户端IP地址后刷新有效标记,转至第一存储模块;
第一存储模块,用于存储有效标记至存储器,并发送完成有效标记存储应答给客户端;
客户端:
第二启动模块,用于启动,查询板卡在位情况,获得板卡数量,读取非易失存储器中是否存有有效标记表,如果有,转至刷新模块;否则转至检测模块;
刷新模块,用于刷新IP地址信息表,转至检测模块;
检测模块,用于检测板卡IP地址信息上报数量大于等于板卡数量,如果是,转至IP地址冲突检测模块,否则转至报文等待模块;
报文等待模块,用于等待板卡IP地址信息请求报文,如果有转至IP地址冲突检测模块,否则继续等待板卡IP地址信息请求报文;
IP地址冲突检测模块,用于判断IP地址信息表中是否存在IP冲突,即在位板卡IP是否与有效标记内的IP存在冲突,如果有冲突的话,统计冲突数目,转至显示框模块,否则,转至IP地址发送模块;
显示框模块,用于弹出显示框,由用户进行修改,点击确定,转至IP地址发送模块;
IP地址发送模块,用于发送IP地址配置信息报文给板卡,转至有效标记判定模块;
有效标记判定模块,用于判断收到板卡的有效标记上报是否完成,如果是转至第二存储模块;否则转至应答等待模块;
应答等待模块,用于等待接收有效标记应答,刷新有效标记表,转至有效标记判断模块继续判断板卡的有效标记上报是否完成;
第二存储模块,用于存储有效标记至存储器中。
本发明相对于现有技术具有如下的优点及效果:
本发明公开的基于嵌入式的多板卡IP地址生成方法,可以提高批量生产的配置效率;网络环境变化,用户配置好IP地址信息,即可完成整套设备的IP地址设置,简单方便,不依赖外部服务器的稳定性,同时也能支持多设备级联,采用设备唯一标识码可以区分相同槽号下板卡IP地址。该技术方案可以有效的管理和配置设备的IP地址,降低技术实现的难度。
附图说明
图1是本实施例公开的基于嵌入式的多板卡IP地址生成方法在客户端的流程步骤图;
图2本实施例公开的基于嵌入式的多板卡IP地址生成方法在板卡设备端的流程步骤图;
图3本实施例公开的多板卡IP地址生成方法运行的硬件组成框图;
图4本实施例中所述的有效标记组成图;
图5本实施例中所述的IP地址配置报文格式图;
图6本实施例中所述的IP地址信息请求报文格式图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例公开了一种基于嵌入式的多板卡IP地址生成方法,板卡主动上报当前自身的IP地址给客户端,由客户端判断该IP地址是否存在冲突,及查询客户端存储的有效标记表,检验该IP地址是否被其他设备占用,然后客户端下发一个IP地址配置信息报文,通知板卡可以正常使用的IP信息,板卡收到该配置信息后,根据合法标记提取信息作为有效标记并存储。
如图3示,本实施例中多板卡IP地址生成方法运行的硬件组成框图中,包括:客户端1个,运行在计算机上,板卡设备可以1个或多个,背板1个,通信接口采用太网接口。本实施例中板卡设备采用TI的AM1808做处理芯片(也可以其他的处理器芯片),具体实现流程如图1和图2示,该基于嵌入式的多板卡IP地址生成方法包括下列步骤:
板卡设备端:
S101、启动上电,读取NAND FLASH存储器特定的位置是否有有效标记,如果有,执行步骤S102,否则执行步骤S103;
S102、计算有效标记中各个成员的CRC校验值是否和存储的CRC校验值一致,如果一致,方可提取其中的信息并刷新板卡对应的IP信息;如果不一致则执行步骤S104;
采取何种校验方式,由技术人员自行决定,也可以奇偶校验、异或校验、CRC循环冗余校验、MD5校验中的一种,设计原因是为了确保有效标记不被其他不可预测的操作修改到。
有效标记包括:设备唯一标识号、槽位号、IP地址、子网掩码、客户端IP地址、CRC校验值。其中,CRC校验值为设备唯一标识号、槽位号、当前IP地址、当前子网掩码。具体可参照图4示。
其中,设备唯一标识号由AM1808芯片的寄存器DIEDR0-3提供序列号,用来区分级联情况下,不同设备相同槽位号的问题。
槽位号,决定IP地址的第四段,范围为[1,254],1个字节,也就是板卡只需8个管脚来读取背板提供的高低电平,具体多少个视用户资源而定。IP地址、子网掩码、客户端IP地址都为4个字节。CRC校验值为2个字节,采用CRC16算法即可。
S103、采用默认的IP地址,程序固化IP前三段为“192.168.3”,第四段为板卡槽位号值n,组成默认的IP地址“192.168.3.n”,继续步骤S104;
S104、发送IP地址信息请求报文给客户端,等待客户端的IP地址配置信息报文,如果根据IP地址配置信息报文中的合法标记判断IP地址信息请求报文中的当前IP地址合法,执行步骤S105,否则执行步骤S106;
IP地址配置信息报文的具体格式如图5示,包括:报文头(4字节)、报文长度(2字节)、设备唯一标识号(8字节)、槽位号(1字节)、合法标记(1字节)、新IP地址(4字节)、新子网掩码(4字节)、客户端IP地址(4字节)。
S105、从IP地址信息请求报文中提前当前IP地址、当前子网掩码,如果IP地址信息请求报文中客户端IP地址不为0,则也提取,然后刷新有效标记各个对应域,执行步骤S107;
S106、提取IP地址配置信息报文的新IP地址、新子网掩码,如果IP地址配置信息报文的客户端IP地址不为0,则也提取,然后刷新有效标记各个对应域,执行步骤S107;
IP地址信息请求报文的具体格式如图6示,包括:报文头(4字节)、报文长度(2字节)、设备唯一标识号(8字节)、槽位号(1字节)、当前IP地址和当前子网掩码。
一般来说,如果合法标记为1,则表示板卡的IP请求通过,如果为0,表示板卡的IP请求不通过,提取客户端分配新的地址信息。
S107、存储有效标记至存储器,并发送完成有效标记存储应答给客户端。
客户端:
S201、启动,查询板卡在位情况,获得板卡数量,读取非易失存储器中是否存有有效标记表,如果有,执行步骤S202;否则执行步骤S203;
有效标记包括:设备唯一标识号、槽位号、IP地址、子网掩码、客户端IP地址、CRC校验值。
获得板卡数量可以通过背板的在位信号得知,可以在背板嵌入一个小型处理器负责板卡的检测和与计算机通信,也可以由用户直接输入,方式可以灵活。
S202、刷新IP地址信息表,继续步骤S203;
IP地址信息表包括有效标记中的设备唯一标识号、槽位号、IP地址。
S203、检测板卡IP地址信息上报数量大于等于板卡数量,如果是执行步骤S205;否则,执行步骤S204;
S204、等待板卡IP地址信息请求报文,如果有执行步骤S205,否则继续等待板卡IP地址信息请求报文;
S205、判断IP地址信息表中是否存在IP冲突,即在位板卡IP是否与有效标记内的IP存在冲突,如果有冲突的话,统计冲突数目,执行步骤S206,否则,执行步骤S207;
S206、弹出显示框,由用户进行修改,点击确定,继续步骤S207;
显示框显示所有板卡IP信息,包括在位和不在位,对于冲突的IP地址采用红色标记出来,用户可以根据列表和当前网络资源进行一个配置,然后点击确定实现报文下发。
S207、发送IP地址配置信息报文给板卡,继续执行步骤S208;
S208、判断收到板卡的有效标记上报是否完成,如果是执行步骤S210;否则执行步骤S209;
S209、等待接收有效标记应答,刷新有效标记表,并返回步骤S208继续判断板卡的有效标记上报是否完成;
S210、存储有效标记至存储器中。
其中,判断IP地址的合法性,是基于有可能板卡发生变动,或者在级联的情况下,IP地址会有一定的概率出现相同的情况,那么需要客户端和板卡设备交互,来决定请求的IP地址是否合法,在不合法的情况下分配一个合法IP地址给需要分配的板卡。
实施例二
本实施例公开了一种基于嵌入式的多板卡IP地址生成装置,所述装置包括:
板卡设备端:
第一启动模块,用于启动上电,读取有效标记,如果有,转至校验模块,否则转至地址模块;
CRC校验模块,用于计算有效标记中各个成员的CRC校验值是否和存储的CRC校验值一致,如果一致,提取其中的信息并刷新板卡对应的IP信息;如果不一致则转至IP地址合法检验模块;
地址模块,采用默认的IP地址,转至IP地址合法检验模块;
IP地址合法检验模块,用于将发送IP地址信息请求报文给客户端,等待客户端的IP地址配置信息报文,如果根据IP地址配置信息报文中的合法标记判断IP地址信息请求报文中的当前IP地址合法,转至第一提取模块,否则转至第二提取模块;
第一提取模块,用于从IP地址信息请求报文中提取当前IP地址、当前子网掩码和从IP地址配置信息报文中提取客户端IP地址后刷新有效标记,转至第一存储模块;
第二提取模块,用于提取IP地址配置信息报文的新IP地址、新子网掩码和客户端IP地址后刷新有效标记,转至第一存储模块;
第一存储模块,用于存储有效标记至存储器,并发送完成有效标记存储应答给客户端;
客户端:
第二启动模块,用于启动,查询板卡在位情况,获得板卡数量,读取非易失存储器中是否存有有效标记表,如果有,转至刷新模块;否则转至检测模块;
刷新模块,用于刷新IP地址信息表,转至检测模块;
检测模块,用于检测板卡IP地址信息上报数量大于等于板卡数量,如果是,转至IP地址冲突检测模块,否则转至报文等待模块;
报文等待模块,用于等待板卡IP地址信息请求报文,如果有转至IP地址冲突检测模块,否则继续等待板卡IP地址信息请求报文;
IP地址冲突检测模块,用于判断IP地址信息表中是否存在IP冲突,即在位板卡IP是否与有效标记内的IP存在冲突,如果有冲突的话,统计冲突数目,转至显示框模块,否则,转至IP地址发送模块;
显示框模块,用于弹出显示框,由用户进行修改,点击确定,转至IP地址发送模块;
IP地址发送模块,用于发送IP地址配置信息报文给板卡,转至有效标记判定模块;
有效标记判定模块,用于判断收到板卡的有效标记上报是否完成,如果是转至第二存储模块;否则转至应答等待模块;
应答等待模块,用于等待接收有效标记应答,刷新有效标记表,转至有效标记判断模块继续判断板卡的有效标记上报是否完成;
第二存储模块,用于存储有效标记至存储器中。
综上所述,上述实施例公开的一种基于嵌入式的多板卡IP地址生成方法及装置,通过通信协议交互,完成IP地址设置,显著提高嵌入式设备的生产阶段板卡IP地址设置的效率性,以及降低设备在进行部署时修改IP地址方案的复杂性。
值得注意的是,上述装置实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或者单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块或者单元集成在一个模块中。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。