1.基于一主多从式模块的can总线地址分配方法,其特征在于,包含如下步骤:
步骤s1:在每个模块上预先存储有唯一的设备id号;
步骤s2:各模块启动后,通过侦听can总线来竞争推选主模块,并存储所有模块设备id号,主模块给各从模块分配can地址;
步骤s3:各模块正常运行后,通过不断的侦听can总线,收集总线上的信息;主模块发送控制信息到总线,其他从模块依据控制信息进行调节并发送应答can报文。
2.如权利要求1所述的基于一主多从式模块的can总线地址分配方法,其特征在于:在步骤s3后还包括
当前系统正常运行后,新投入一个模块,通过侦听总线来确定自动成为从模块还是竞争做主模块。
3.如权利要求1所述的基于一主多从式模块的can总线地址分配方法,其特征在于:在步骤s3后还包括
当前系统正常运行后,退出一个模块,其他模块通过侦听总线来确定下一步操作。
4.如权利要求1所述的基于一主多从式模块的can总线地址分配方法,其特征在于,所述步骤s1中,设备id号的设定方法具体是:设备id号为出厂调试每个模块的时候根据当前utc时间以及所用dsp硬件id号生成,每个模块的设备id号是唯一的。
5.如权利要求1所述的基于一主多从式模块的can总线地址分配方法,其特征在于,所述步骤s2中竞争推选主模块的方法具体包括:
步骤s2-1:各模块同时上电后,首先会侦听总线,如果在预定时间内没有收到有主模块发出的控制报文,则向总线发送竞争信息;
步骤s2-2:在竞争阶段每个模块均收到所有模块的设备id号并存储下来,进行大小排序,通过比较所有模块的设备id号来确认自身的设备id号是否为所有模块中最小的;
步骤s2-3:如果设备id号最小,成为主模块,如果不是最小,则放弃竞争,成为从模块。
6.如权利要求1或5所述的基于一主多从式模块的can总线地址分配方法,其特征在于,所述步骤s2中主模块给各从模块分配can地址的方法具体包括:
步骤s2-4:主从模块确定后,主模块自身can地址设为1,并按照之前存储的各个模块设备id号内部分配好各设备id号对应的can地址;
步骤s2-5:从模块发送申请can地址报文,主模块收到申请后发送can地址分配报文给从模块;从模块收到can地址分配报文后进行匹配,如果该帧报文发送的设备id号与自身匹配,则获取该帧分配的can地址。
7.如权利要求5所述的基于一主多从式模块的can总线地址分配方法,其特征在于,所述步骤s2-1中,竞争信息can报文的帧id标识符的最后为本模块的设备id号。
8.如权利要求2所述的基于一主多从式模块的can总线地址分配方法,其特征在于,所述当前系统正常运行后,新投入一个模块,通过侦听总线来确定自动成为从模块还是竞争做主模块,具体是:当前系统已经运行后,如果新投入一个模块,新上电的模块首先侦听总线,确认是否收到有主模块发出的控制信息,如果收到控制信息确定有主模块,新投入的模块自动确定为从模块,并发送申请can地址报文,主模块收到报文后存储下新投入模块的设备id号并发送can地址分配报文给该新投入的模块。
9.如权利要求3所述的基于一主多从式模块的can总线地址分配方法,其特征在于,所述当前系统正常运行后,退出一个模块,其他模块通过侦听总线来确定下一步操作,具体是:
如果主模块退出,各个从模块在预设时间内收不到来自主模块的控制信息,则各模块向总线发送竞争信息,开始新一轮的主模块竞争以及can地址分配;
从模块故障退出时,主模块在一定时间内收不到该从模块的应答报文,则确定该模块退出总线,并释放该模块can地址。
10.基于一主多从式模块的can总线地址分配装置,其特征在于,包括
设备id预设单元,用于在每个模块上预先存储有唯一的设备id号;
主从模块设定单元,用于各模块启动后,通过侦听can总线来竞争推选主模块,并存储所有模块设备id号,主模块给各从模块分配can地址;
主从模块运行控制单元:各模块正常运行后,通过不断的侦听can总线,收集总线上的信息;主模块发送控制信息到总线,其他从模块依据控制信息进行调节并发送应答can报文。
11.如权利要求10所述的基于一主多从式模块的can总线地址分配装置,其特征在于:还包括
新模块投入控制单元,用于控制新模块的投入操作,当前系统正常运行后,新投入一个模块,通过侦听总线来确定自动成为从模块还是竞争做主模块。
12.如权利要求10所述的基于一主多从式模块的can总线地址分配装置,其特征在于:还包括
模块退出控制单元,用于控制模块的退出操作,当前系统正常运行后,退出一个模块,其他模块通过侦听总线来确定下一步操作。