一种基于can总线的系统通信方法

文档序号:8925117阅读:299来源:国知局
一种基于can总线的系统通信方法
【技术领域】
[0001]本发明涉及基于CAN总线的系统通信方法,应用于可编程电源、负载等电子设备领域,具体涉及多电子设备串并联系统基于CAN总线的通信方法。
【背景技术】
[0002]CAN为控制区域网路“Controller Area Network”的缩写,CAN设计具有强壮的抗杂讯干扰能力,最早时被广泛应用于运输工具,如汽车上的电脑传输媒介,至今已经被很多产业应用如工厂自动生产系统。CAN只需要两条简单双绞线作为传输媒介,且于发送的讯息遭到破坏后可自动重发,另外节点在错误严重的情况下具有自动退出总线的功能,不会因为某一节点发生错误而导致系统崩溃。CAN最大数据传输距离为I公里(50Kbps),最大数据传输率IMbps (40m)。
[0003]专利CN101499946A,CAN总线动态组网的方法:每个终端设备具有不同的特征ID,多个终端设备通过特征ID竞争出总线控制器。总线控制器通过定时发送心跳报文,探测当前网络中的终端设备数量、运行状态信息,并可以实时的加入或删除终端设备。该方法要求组网的终端设备具有不同的特征ID (每个终端设备唯一的),并提前确定好,这种动态组网是基于确定的特征ID完成的,针对终端设备入网前特征ID不明确或者多台相同设备并机情况下,则会产生入网困难或错误。
[0004]现有技术中,在多个电子设备串并机构成的测试系统中,其主要通信方式有网络、串口(485)和CAN,目前通过CAN通信比较普遍,根据标准的CAN总线协议,设备可方便的接入CAN网,CAN网的拓扑结构简单,可使用标准的CAN通信协议(CAN-OPEN)或特定协议CAN协议方便管理总线上的设备。一般CAN通信时需要预先确定各个电源唯一的ID号,该唯一的ID号一般静态设定(如:通过设置在电源后面板上的拨码开关设定),这种方式随着设备数量的增加,操作和维护的工作量将大幅增加,人为的错误概率也会增大,静态设定增加附件成本,这些附件的存在增加了人员操作复杂度,增加了面板上接口布局的难度,同时也降低了设备可靠性。

【发明内容】

[0005]本发明的目的在于提供一种基于CAN总线的多机串并联系统的通信方法,解决各设备动态组网时唯一 ID的确定问题,提高组网的可靠性。
[0006]为实现上述发明目的,本发明采用如下技术方案:
一种基于CAN总线的系统通信方法,其特征在于包括如下步骤:
1)对系统中各设备进行主、从机配置,主机唯一,其余设备默认为从机;
2)各从机生成唯一ID,并发送注册报文给主机,完成首次CAN组网通信;
3)主机根据各从机的注册报文为各从机配置唯一功能ID,完成二次CAN组网,主、从机基于配置的功能ID进行通信;
4)监测CAN网络拓扑结构,如果发生变化,返回步骤2)。
[0007]本发明技术方案通过对系统中各设备进行主、从机配置,针对入网前组网设备在未确定唯一 ID时,采用随机数等方法生成从机唯一 ID标示,以此完成初步CAN组网通信,再根据产品组网目标,通过主机向各从机分配功能ID (满足唯一性),完成二次CAN组网通信,实现实际产品功能控制要求。本发明在组网前不需确定唯一 ID,根据通信功能要求动态完成ID确定配置,免除人工的复杂操作和可能的错误,提高组网可靠性。
【附图说明】
[0008]图1为本发明方法流程图。
[0009]图2为CAN网ID结构。
【具体实施方式】
[0010]下面结合附图和具体实施例对本发明技术方案进行详细说明。
[0011]如图1所示,本发明基于CAN总线的系统通信方法包括如下步骤:
I)对系统中各设备进行主、从机配置。
[0012]根据设备外围接线事先确定唯一主设备(主机),其余设备默认为从设备(从机)。当CAN网中存在多台主机时,检测到这种错误的主机向CAN网发送多主机错误报文,停止动态组网并提示用户错误信息。从机在上电之前需要配置从机所属的组号(例如:在多机串并联组成的三相AC电源系统中,从机所属的A/B/C相,可用作所属的组号)。每个从机在上电之前需要配置分组信息,即该从设备所属组号,例如,在A/B/C三相交流电源系统中,各从设备分别划分到A相组、B相组或C相组。
[0013]2)各从机上电后生成唯一 ID,并发送注册报文给主机,完成首次CAN组网通信。
[0014]从机生成唯一 ID的方式可以利用其产品SN码、CPU芯片唯一标识或利用动态随机算法生成动态随机数。在实际应用中,常采用随机数的方式。随机数是基于连续模拟噪声方式生成,通过FIPS PUB 140-2测试成功率可达99%。设备上电后根据算法生成32位随机数,取其低29位作为CAN网初始化阶段从机的唯一 ID。在设备上电过程中,某几台设备生成相同的随机数的概率是非常低的,但若出现该种情况,主机可以通过两种方式识别:
一一通过硬件(CAN控制器)检测同一时刻相同随机数设备发送报文错误;
一一通过报文检测不同时刻相同随机数设备发送报文错误。
[0015]当主机设备检测到该种错误后,向CAN网发复位报文,复位所有从机设备并重新生成随机数,直到所有从机设备都具有唯一 ID。
[0016]注册报文包含了从机的分组信息,主机由此获取各从机设备信息。注册报文中的分组信息针对CAN网多组情况,本领域技术人员容易想到,针对CAN网无分组需求时,从机也可不用提供分组信息。
[0017]3)主机根据各从机的注册报文为各从机配置唯一功能ID,完成二次CAN组网,主、从机基于配置的功能ID进行通信。
[0018]主机根据各从机的分组信息,根据多个交流电源接线方式形成的网络拓扑结构及交流电源的设计功率输出等信息为从机分配组内地址,并利用从机的随机唯一 ID,将功能ID (含从机分组信息和组内地址信息)分别配置到各从机,完成从机注册过程。从机设备完成注册后,使用主机配置的功能ID进行后续的通信。主机根据功能ID完成对从机设备的各种管理操作,至此完成CAN动态组网过程。
[0019]本实施例CAN网功能ID结构如图2所示,划分为三个部分(使用扩展29bit ID)。
[0020]功能区(bit24-29,5bit):用于CAN网通信通道的选择,根据主、从机不同的通信需求配置不同的功能逻辑通道进行通信。功能类型(包括事件、命令、数据等)和逻辑通道数量由CAN网络层根据具体应用进行配置。
[0021]地址区(bitl6-23,8bit):bit22-23为组号(最多 4 组,O 组保留),bitl6_21 为组地址,每组最多64个站地址,O地址保留。
[0022]连续多帧序号区(bit0_15,16bit):当发送连续大数据报文时,标示帧序号。CAN一帧报文包含8字节,16bit帧序号可表示(2~ 16-1) *8字节数,如果发送更多数据时,由上层软件实现。一般情况帧序号不超过500。
[0023]在实际通信中,优选地功能区的5bit和地址区的8bit通过滤波器进行处理和响应命令,进行主、从机的通信,而连续多帧序号区的19bit内容作为协议中的帧序列号使用,不参与CAN网的滤波。
[0024]4)监测CAN网络拓扑结构,如果发生变化,返回步骤2)。
[0025]在CAN网正常通信过程中,需要实时监测CAN网络的拓扑结构。如拓扑结构无变化则正常运行,如果通过轮询获知掉设备或通过设备上电报文获知增设备,则返回步骤2重新生成随机的唯一 ID,重新组网。
【主权项】
1.一种基于CAN总线的系统通信方法,其特征在于包括如下步骤: 1)对系统中各设备进行主、从机配置,主机唯一,其余设备默认为从机; 2)各从机生成唯一ID,并发送注册报文给主机,完成首次CAN组网通信; 3)主机根据各从机的注册报文为各从机配置唯一功能ID,完成二次CAN组网,主、从机基于配置的功能ID进行通信; 4)监测CAN网络拓扑结构,如果发生变化,返回步骤2)。2.如权利要求1所述的基于CAN总线的系统通信方法,其特征在于所述注册报文中包含从机的分组信息。3.如权利要求1所述的基于CAN总线的系统通信方法,其特征在于所述功能ID中包含从机的分组信息和组内地址信息。4.如权利要求1所述的基于CAN总线的系统通信方法,其特征在于从机利用其产品SN码、CPU芯片唯一标识或动态随机数生成唯一 ID。5.如权利要求1所述的基于CAN总线的系统通信方法,其特征在于如果步骤2)中各从机生成的ID不唯一,主机向CAN网发复位报文,复位所有从机并重新生成ID,直到所有从机都具有唯一 ID。
【专利摘要】本发明公开一种基于CAN总线的系统通信方法,通过对系统中各设备进行主、从机配置,针对入网前组网设备在未确定唯一ID时,采用随机数等方法生成从机唯一ID标示,以此完成初步CAN组网通信,再根据产品组网目标,通过主机向各从机分配功能ID(满足唯一性),完成二次CAN组网通信,实现实际产品功能控制要求。本发明在组网前不需确定唯一ID,根据通信功能要求动态完成ID确定配置,免除人工的复杂操作和可能的错误,提高组网可靠性。
【IPC分类】H04L12/40, H04L1/22
【公开号】CN104901858
【申请号】CN201510260676
【发明人】马海波, 其他发明人请求不公开姓名
【申请人】艾德克斯电子(南京)有限公司
【公开日】2015年9月9日
【申请日】2015年5月21日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1