The present invention relates to a CAN bus node address allocation method and system. The method includes: generating a group of random numbers from a node controller through a random number generator, which constitute the temporary CAN node address of the slave node; sending a data frame from the slave node to the master node, and the data frame includes the proximity of the slave node. The master node receives the data sent by the slave node, assigns the corresponding address to the slave node according to the address of the temporary CAN network node, and generates the storage table entries accordingly. The slave node receives the data and modifies the temporary address of the slave node to the address assigned by the master node. This method uses the method of automatically generating random number node addresses from slave nodes and requesting assignment from master nodes. It effectively solves the waste of hardware and software resources in the existing technology by using dial switch, pull-down resistance, or directly modifying programs, and the unreasonable and conflicting address assignment caused by this method. And so on.
【技术实现步骤摘要】
一种CAN总线节点地址分配方法及系统
本专利技术涉及嵌入式领域,具体而言是一种CAN总线节点地址分配方法及系统。
技术介绍
CAN是控制器局域网络(ControllerAreaNetwork)的简称,具有较高的可靠性和良好的错误检测能力,是国际上应用最广泛的现场总线之一,广泛用于汽车电子、工业测控和工业自动化等领域。CAN网络中包含多个节点(如图1所示),它们通过CAN总线连接在一起,每个节点都可以监听CAN总线上的通信。CAN网络中每个节点都必须有自己的地址,CAN协议中规定了地址的长度必须为11位(标准帧)或者29位(扩展帧)。但是CAN协议中没有规定地址的获取方式。通常情况下,采用预设地址的方式进行地址分配。具体而言,在节点接入CAN网络之前,进行地址分配。例如,采用拨码开关、上下拉电阻等方式,或者直接修改程序,为各节点分配对应地址。以上方法实现起来不仅浪费资源,而且可能出现地址分配不合理、冲突等情况。
技术实现思路
本专利技术针对现有技术中存在的技术问题,提供一种CAN总线地址分配的方法及系统,以保证CAN总线通信的正常进行。本专利技术解决上述技术问题的技术方案如下:一方面,本专利技术提供一种CAN总线节点地址分配方法,包括以下步骤:步骤1,从节点控制器通过随机数发生器产生一组随机数,该组随机数组成该从节点的临时CAN网络节点地址;步骤2,从节点向主节点发送数据帧,所述数据帧中包含该从节点的临时CAN网络节点地址和获取地址的命令;步骤3,主节点接收从节点发送的数据,根据所述临时CAN网络节点地址给该从节点分配相应的地址,并对应生成存储表条目;步骤4,从 ...
【技术保护点】
1.一种CAN总线节点地址分配方法,其特征在于,包括以下步骤:步骤1,从节点控制器通过随机数发生器产生一组随机数,该组随机数组成该从节点的临时CAN网络节点地址;步骤2,从节点向主节点发送数据帧,所述数据帧中包含该从节点的临时CAN网络节点地址和获取地址的命令;步骤3,主节点接收从节点发送的数据,根据所述临时CAN网络节点地址给该从节点分配相应的地址,并对应生成存储表条目;步骤4,从节点接收数据,将该从节点的临时地址修改为主节点分配的地址。
【技术特征摘要】
1.一种CAN总线节点地址分配方法,其特征在于,包括以下步骤:步骤1,从节点控制器通过随机数发生器产生一组随机数,该组随机数组成该从节点的临时CAN网络节点地址;步骤2,从节点向主节点发送数据帧,所述数据帧中包含该从节点的临时CAN网络节点地址和获取地址的命令;步骤3,主节点接收从节点发送的数据,根据所述临时CAN网络节点地址给该从节点分配相应的地址,并对应生成存储表条目;步骤4,从节点接收数据,将该从节点的临时地址修改为主节点分配的地址。2.根据权利要求1所述一种CAN总线节点地址分配方法,其特征在于,所述的一组随机数包括依次生成的11位或29位随机数,每位随机数取值0~f,由所述11位或29位随机数构成该从节点的临时CAN网络节点地址。3.根据权利要求1所述一种CAN总线节点地址分配方法,其特征在于,所述步骤3还包括:主节点接收从节点发送的数据后,将所述临时CAN网络节点地址与存储表中已记录的从节点地址进行匹配操作,若匹配到相同的从节点地址,则主节点不响应当前从节点的节点地址分配请求。4.根据权利要求3所述一种CAN总线节点地址分配方法,其特征在于,所述步骤3后还包括:从节点等待接收主节点分配地址超时,则跳转至步骤1,重新生成一组随机数,作为该从节点的临时CAN网络节点地址。5.根据权利要求1所述一种CAN总线节点地址分配方法,其特征在于,还包括,多个从节点根据优先级获取对CAN总线的控制权,在当前从节点地址分配完毕后,释放对CAN总线的控制权。6.一种CA...
【专利技术属性】
技术研发人员:张智雄,
申请(专利权)人:武汉高仕达电气有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。