首页> 中国专利> 智能ODN系统中基于CAN总线的通信方法

智能ODN系统中基于CAN总线的通信方法

摘要

本发明公开了一种智能ODN系统中基于CAN总线的通信方法,涉及智能ODN领域,包括步骤:主控管理模块与配线控制模块作为CAN节点连接到CAN总线上,主控管理模块下发的命令通过CAN总线传到各配线控制模块;每个CAN节点分配唯一的节点标识,主控管理模块是具有最高节点标识优先级的CAN节点;在数据片前后添加传输控制信息,将数据片封装成帧发送;发送CAN报文时由于总线竞争失败的CAN节点,使用二进制指数退避算法重传;接收数据的CAN节点,从接收的CAN报文中恢复数据。本发明能有效提高CPU使用效率和通信效率,比通用串行总线系统的可靠性更高。

著录项

  • 公开/公告号CN102739488A

    专利类型发明专利

  • 公开/公告日2012-10-17

    原文格式PDF

  • 申请/专利权人 烽火通信科技股份有限公司;

    申请/专利号CN201210197067.X

  • 发明设计人 陈海成;张丹;肜云;王欣;向斐;

    申请日2012-06-15

  • 分类号

  • 代理机构北京捷诚信通专利事务所(普通合伙);

  • 代理人魏殿绅

  • 地址 430074 湖北省武汉市东湖开发区关东科技园东信路5号

  • 入库时间 2023-12-18 06:57:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-12-31

    授权

    授权

  • 2012-12-12

    实质审查的生效 IPC(主分类):H04L12/40 申请日:20120615

    实质审查的生效

  • 2012-10-17

    公开

    公开

说明书

技术领域

本发明涉及智能ODN(Optical Distribution Network,光分配网) 领域,特别是涉及一种智能ODN系统中基于CAN总线的通信方法。

背景技术

在光传送网中,ODN起着关键的骨干网连接功能,在PON (Passive Optical Network,无源光网络)网络下,ODN是OLT(Optical  Line Tterminal,光线路终端)和ONU(Optical Network Unit,光网络 单元)两个有源设备之间所有无源光纤、无源设备(光分路器)组成 的一个网络,其作用是为OLT和ONU之间提供光传输通道。

智能ODN设备在性能与应用范围上与常规ODN设备没有差异, 但在功能上增加了许多智能化的管理,新增了一些智能特性,这些智 能特性主要体现在利用计算机数据库管理技术对ODN网络,特别是 光配线设备进行管理的技术,它涉及ODN网络的设计、开通、维护、 扩容等诸多方面,可以有效提高网络的运营质量,杜绝网络数据记录 的错误,降低网络维护的难度,缩短网络故障的抢修时间。

智能ODN的主要功能包括设备管理、路由拓扑管理、线路连接 关系管理,以及配线管理等。参见图1所示,主控管理模块下接有若 干配线控制模块,对于采用主控管理模块与配线控制模块相分离结构 的智能ODN设备,必定要解决此两者间的通信问题。主控管理模块 与配线控制模块的通信方式可以使用通用的串行总线,还可以使用其 它的总线,例如CAN(Controller Area Network,控制器局域网络) 总线进行通信。CAN属于现场总线的范畴,是一种有效支持分布式 实时控制的串行网络。CAN总线设计之初主要应用在汽车电子技术 中,到上世纪九十年代,CAN总线已经在航空、工业控制、安全防 护、船舶、医疗设备、工业设备等领域得到了广泛的应用,其现行标 准有ISO11898、ISO11519等。

在现有的光配线系统管理方案中,通常采用通用串行总线(例如 422总线、485总线)作为智能ODN设备主控管理模块与配线控制 模块的通信桥梁,而一般的情况是在同一总线上挂载一个主控管理模 块和多个配线控制模块。但是通用的串行总线无法解决总线竞争的问 题,即在同一时刻不能有两个或两个以上的节点发送数据到总线上, 否则会造成接收数据出现乱码的情况,因而必须采用一定方法来调度 实现在任一时刻最多有一个节点使用总线发送数据,这样就会使得通 信的方案变得复杂而且通信效率又非常低下。另外,当有任一节点使 用总线发送数据时,总线上的其它节点都会收到数据,这样就会使得 原本负荷较重的处理器变得更加繁忙,降低了处理器的利用率。

发明内容

本发明的目的是为了克服上述背景技术的不足,提供一种智能 ODN系统中基于CAN总线的通信方法,能有效提高CPU的使用效 率和通信效率,比基于通用串行总线的系统可靠性更高。

本发明提供的智能ODN系统中基于CAN总线的通信方法, 包括以下步骤:A、智能ODN系统的主控管理模块与配线控制模块 作为CAN节点连接到CAN总线上,主控管理模块下发的命令通过 CAN总线传输到各个配线控制模块;给每个CAN节点分配唯一的节 点标识,主控管理模块是具有最高节点标识优先级的CAN节点,其 发送的CAN报文的节点标识字段是自身节点标识与目的节点标识的 或值,其它节点直接将节点标识填充到发送CAN报文的节点标识字 段;B、在数据片前后添加传输控制信息,将数据片封装成帧,然后 发送成帧的数据片;C、对于发送CAN报文时由于总线竞争失败的 CAN节点,使用“二进制指数退避算法”进行重传;D、接收数据的 CAN节点,从接收到的CAN报文中恢复数据。

在上述技术方案中,所述目的节点标识为全0表示发送到所有 CAN节点。

在上述技术方案中,步骤B中所述传输控制信息包括开始标志 字段、数据长度字段、目的节点标识字段、结束标志字段和CRC校 字段。

在上述技术方案中,步骤B中在数据片前添加开始标志字段、 数据长度字段和目的节点标识字段,在数据片后添加结束标志字段和 CRC校验字段。

在上述技术方案中,步骤B中成帧后的数据按8个字节对应一 个CAN报文进行拆分,最后剩余的少于或等于8个字节的数据占用 一个CAN报文。

在上述技术方案中,步骤C中“二进制指数退避算法”的基本 退避时间2T为发送两个CAN报文所需要的时长。

在上述技术方案中,所述“二进制指数退避算法”的基本退避 时间2T的计算公式为:2T=108×2÷波特率。

在上述技术方案中,步骤D包括以下步骤:在接收到的CAN 报文中查找开始标志字段,如果没有找到,则丢弃该CAN报文,继 续在下一个CAN报文中查找开始标志字段,直到遇到有符合要求的 CAN报文出现;如果找到开始标志字段,则记该CAN报文为 Report-1,从符合要求的CAN报文提取数据长度字段,再根据该字 段计算该数据片总共分成的CAN报文数N,N为正整数;接下来收 到的CAN报文记为Report-2、Report-3……Report-N,检查接收的 CAN报文数量,直到达到接收到恢复该数据片所需的N个CAN报 文;在收到的最后两个CAN报文中提取出的结束标志字段不符合格 式要求或CRC字段计算有错时,丢弃该CAN报文Report-1,并继续 在Report-2、Report-3……Report-N中查找开始标志字段,重复前面 的步骤,直到找到有符合要求的情况出现;在最后两个CAN报文中 提取出的结束标志字段和CRC字段无误时,将这N个CAN报文中 的数据部分提取出来,恢复成成帧后的数据片;对比提取出目的节点 标识与自身的节点标识是否相等,若不相等,则丢弃该N个CAN报 文;若相等,则去掉传输控制信息,然后把数据交予上层处理;数据 帧接收完成。

与现有技术相比,本发明的优点如下:

(1)由于CAN是支持总线竞争的,当同一时刻有两个或两个以 上的节点需要使用总线发送数据时,总线竞争失败的节点会自动退出 数据发送,因此不需要使用另外的调度方案,限制同一时刻在总线只 有一个节点往总线上发送数据,接收的数据也不会出现乱码的情况, 总线竞争失败的节点通过运行“二进制指数退避算法”重新发送数据。

(2)CAN总线控制器是支持接收屏蔽的,通过配置验收代码、 验收屏蔽寄存器,可以选择性的接收来自某些CAN节点的数据,能 有效提高CPU的使用效率。

(3)CAN的总线通信波特率可以达到1Mbps,大大高于通用串 行总线的通信速率,能有效提高通信效率。

(4)CAN总线具有出错报警中断、溢出中断机制,比通用串行 总线的系统有更高的可靠性。

附图说明

图1是主控管理模块与各个配线控制模块的连接示意图。

图2是本发明实施例中主控管理模块与各个配线控制模块通过 CAN总线通信的连接示意图。

图3是本发明实施例中将CAN总线收到的报文重新组装成数据 片的流程图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步的详细描述。

本发明实施例通过CAN总线来实现智能ODN设备的主控管理 模块与配线控制模块之间的通信。本发明实施例提供的智能ODN系 统中基于CAN总线的通信方法,包括以下步骤:

A、通信连接与节点标识:

参见图2所示,主控管理模块与配线控制模块作为CAN节点连 接到CAN总线上,主控管理模块下发的命令通过CAN总线传输到 各个配线控制模块。每一个CAN节点分配有一个唯一的节点标识, 主控管理模块是具有最高优先级的CAN节点,其发送的CAN报文 的节点标识字段是自身节点标识与目的节点标识的或值,其它节点直 接将节点标识填充到发送CAN报文的节点标识字段。目的节点标识 为全0表示发送到所有CAN节点,此时当主控管理模块发送的CAN 报文的节点标识字段填充的是自身节点标识,其下发的命令能以最短 的时间占用CAN总线传输到各个配线控制模块。CAN总线上总共可 挂载110个节点,各个配线控制模块除了可以跟主控管理模块通信 外,他们相互之间也可以进行通信,数据最大通信速率为1Mbps。

B、数据片成帧和发送:

由于单个CAN报文最多只能携带8字节的数据,但通常需要传 输的数据片长度大于8个字节,所以要通过多个CAN报文完成整个 数据片的传输。但是如果将数据片直接分成8个字节一份,然后放到 CAN报文中传输,接收方将不知道数据片从哪一个CAN报文开始、 到哪一个CAN报文结束、以及数据片的字节长度,所以需要在数据 片前添加开始标志字段与数据长度字段,在数据片后添加结束标字段 和CRC(Cyclic Redundancy Check,循环冗余校验)校验字段等传输 控制信息。另外,由于CAN报文是所带的节点标识只能标识出该报 文来自于哪个节点,而缺少目的节点标识信息,所以还需要在传输控 制信息中添加目的节点标识字段。传输控制信息的格式参见表1所 示,其中CRC字段指的是其前面所有数据的循环校验码。添加传输 控制信息的过程就是将数据片封装成帧,然后发送成帧的数据片。

表1、传输控制信息的格式

  开始标识字段   长度字段   目的节点标识   数据   结束标志   CRC校验码

成帧后的数据按8个字节对应一个CAN报文进行拆分,最后剩 余的少于或等于8个字节的数据占用一个CAN报文。CAN报文的使 用标准帧格式参见表2所示,其中识别符占11位,用于做CAN节点 标识。

表2、CAN报文的使用标准帧格式

  帧起始位   识别符(节点标识)   RTR   IDE   r0保留位   DLC值段   数据段

  CRC校验码   CRC界定符   ACK   结尾标志序列

C、总线竞争失败时的退避:

对于发送CAN报文时由于总线竞争失败的CAN节点,使用“二 进制指数退避算法”进行重传,以保证系统数据传输的可靠性。“二 进制指数退避算法”思想如下:

(1)确定基本退避时间,一般定为2T,也就是一个争用期时间。

(2)定义一个参数K为重传次数,K=min[重传次数,10]。

(3)从离散型整数集合[0,1,2,……,2k-1]中,随机取出一个 数记为R,那么重传所需要的退避时间为的R倍基本时间:R×2T。

(4)同时,重传也不是无休止的进行,当重传16次不成功时, 就丢弃该帧,传输失败,报告给上层协议。

由于大部分的成帧后的数据大小不超过16字节,可以在通过两 个CAN报文发送完成,故“二进制指数退避算法”的基本退避时间 2T确定为发送两个CAN报文所需要的时长,计算公式为:

2T=108×2÷波特率。

D、数据片接收:

参见图3所示,接收数据的CAN节点,从接收到的CAN报中 重新恢复数据的流程如下:

步骤S1、接收数据。

步骤S2、在接收到的CAN报文中查找开始标志字段,如果没有 找到,则转到步骤S3;如果找到开始标志字段,则转到步骤S4。

步骤S3、丢弃该CAN报文,继续在下一个CAN报文中查找开 始标志字段,返回步骤S2,直到遇到有符合要求的CAN报文出现。

步骤S4、记该CAN报文为Report-1,从符合要求的CAN报文 提取数据长度字段,再根据该字段计算该数据片总共分成的CAN报 文数N,N为正整数。

步骤S5、接下来收到的CAN报文记为Report-2、Report-3…… Report-N,判断接收的CAN报文数量是否达到所需的N个,如果没 有达到N个,继续判断,直到收到恢复该数据片所需的N个CAN报 文,再转到步骤S6。

步骤S6、判断在最后两个CAN报文中提取出的结束标志字段和 CRC字段是否无误,若无误,则转到步骤S8;若有误,则转到步骤 S7。

步骤S7、若在收到的最后两个CAN报文中提取出的结束标志字 段不符合格式要求或CRC字段计算有错,则丢弃该CAN报文 Report-1,并继续在Report-2、Report-3……Report-N中查找开始标志 字段,重复步骤S2~S6,直到找到有符合要求的情况出现。

步骤S8、将这N个CAN报文中的数据部分提取出来,恢复成成 帧后的数据片。

步骤S9、对比提取出目的节点标识与自身的节点标识是否相等, 若相等,则转到步骤S11;若不相等,则转到步骤S10。

步骤S10、若不相等,则丢弃该N个CAN报文,再转到步骤S12。

步骤S11、若相等,则去掉传输控制信息,包括开始标志字段、 数据长度字段、结束标志字段和CRC校验码,然后把数据交予上层 处理。

步骤S12、数据帧接收完成。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不 脱离本发明的精神和范围,倘若本发明的这些修改和变型属于本发明 权利要求及其等同技术的范围之内,则本发明包含这些改动和变型在 内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的 现有技术。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号