CAN总线系统原理及在钻井仪表中的应用.pdf
第 2 0卷第 3期 江汉石 油科技 2 0 1 0年 9月 J I A N G H A N P E T RO L E U M S C I E N C E A N D T E C HN O L O G Y Vo 1 . 2O No . 3 S e p. 201 0 C A N总线系统原理及在钻井仪表 中的应用 席亚娟 周 家磊 湖北江汉石油仪器仪表有限公司 摘要通过对 C A N总线的构成和_ T - 作原理的分析 , 总结了 C AN总线的特点, 并对采用 C A N 总线研发的S Z J I I 型钻井多参数仪和其他同类产品做以比较, 可以看出 C A N总线支持即插即用 和 多站接收 , 且抗干扰 能力强, 数据安全性 高。文 中通过一个应用实例的分析, 给 出了 C A N总线接 口电路 的设计 思路 。 关键词C A N总线总线控制器短帧钻 井仪表模块化结构隔离 C A N, 全称为“ C o n t r o l l e r A r e a N e t w o r k ” , 即控制 器局域 网, 是 国际上应用最广 泛 的现 场总线之一 。 C A N最早出现在 8 0年代末的汽车工业中。当时, 由于消费者对于汽车功能的要求越来越多 , 而这些 功能的实现大多是基于电子操作 的, 这就使得 电子 装置之间的通讯越来 越复杂 , 同时意味着需要更 多 的连接信号线。提 出 C AN 总线 的最初动机就是 为 了解决现代汽车中日益庞大的电子控制装置之间的 通讯, 减少不断增加的信号线。于是, 一个单一的网 络总线被设计 出来 了, 所有的外 围器件可 以被挂接 在该总线上。由于它改变 了传统控制系统的结构 , 形成了全新 的网络集成分布式控制系统 , 因此现场 总线标准及其技术 日 益成为国际自动控制领域关注 的一大焦点 。1 9 9 3年 , C A N已成 为国际标准 , 并被 公认为是最有前途的现场总线之一, 该技术得到了 计算机芯片商的广泛支持 , 他们纷纷推 出直接带有 C A N接 口的微处理器芯片 , 此类芯片总量 已经达到 了 1亿 3千万片 不一定全部用于 C A N总线 , 因此 在接 口芯片技 术方 面 , C A N 已经 遥遥 领先 。在 我 国, 现场总线也已经在 汽车 、 航空 、 工业 控制等领域 广泛应用, 所以研究现场总线技术并将其应用于实 际就显得尤为重要 。 1 系统构成 C A N数据传输系统 由若干个 C A N节点和数据 总线构成 。每个 C A N节点 中除了必须的微处理器 即 C P U 外 , 还增加 了一个 C A N控制器 , 一个 C A N 收发器; 节点之间通过两条 C A N数据总线连接。在 系统中作为终端的两个节点, 其内部还装有一个数 据传递终端, 有时数据传递终端安装在节点外部, 例 如我们为用户配置的终端匹配插头。 各部分功能如下 1 C A N控制器作用是接收控制单元 中微处理 器发出的数据 , 处理数据并传给 C A N收发器 。同时 C A N控制器也接收收发器收到的数据 , 处理数据并 传给微处理器。 2 C A N收发器 是一个 发送器 和接收器 的组 合, 它将 C A N控制器提供的数据转化成电信号并通 过数据总线发送出去 , 同时, 它也将接收的总线数据 传到 C A N控制器 。 3 数据传递终端实际是一个 电阻器, 作用是 避免数据传输到终端后反射回来, 产生反射波而使 数据遭到破坏 。只要将终端匹配插头与系统 中所有 总线节点盒 的空闲总线插座对接 , 就可确保系统 总 线不受节点反射信号的影响。 4 C A N数据总线是传输数据 的双 向数据线 , 分为 C A N高位 C A N h i g l 1 和低位 c A N 0 w 数 据线。C A N总线采用两条线缠绕在一起 见附图 1 , 两条线上的电位是相反的, 如果一条线的电压 是 5 V, 另一条线就是 0 V, 两条线 的电压和总等于常 值。通过这种办法 , C A N总线得到保护而免受外界 电磁场干扰 , 同时 C A N总线向外辐射也保持中性 , 第一作者简 介席亚娟 , 女 , 工程师 , 1 9 9 7年毕业于江汉 石油学院机电工程专业 , 2 0 0 0年 6月毕业于武汉测绘科技大 学 现武汉大学 电子技术专业, 长期从事石油仪器仪表研发 工作, 现在湖北江汉石油仪器仪表有限公司研发所工作。 6 8 江汉石油科技 第2 O卷 图 1 数据总线示意图 即无辐射。 2 工作原理 C A N总线, 简单的说 是将传感器信号经过一 系列处理, 转换成串行数据, 然后通过总线的形式进 行数据传送、 通讯。例如 前台触摸屏计算机需要某 参数资料 , 它可向该参数对应的节点发送命令 , 该节 点的C A N收发器接收到来自 计算机的数据后, 进行 信号转换并发给本节点的总线控制器 , 总线控制器 又将此信号传送给节点的微处理器, 微处理器根据 该命令进行相应操作后将结果通过总线控制器一收 发器一总线电缆, 这一数据链后到达前台触摸屏计 算机。系统中的其他节点收发器均可接收到前台触 摸屏计算机发出的命令 , 经过检查判 断命令 中的标 志符后, 如标志符与该节点标志符一致则接收此命 令 , 否则将忽略此命令。 3 技术特点 C A N总线与其它通信网的不同之处有二 一是 报文传送中不包含 目标地址 , 它是 以全 网广播为基 础, 各接 收站根据报 文 中反 映数据性 质 的标识 符 即 I D号 过滤报文 , 该 收的收下 , 不该收的弃而不 用。其好处是可在线上 网下 网、 即插即用和多站接 收; 二是特别强化了对数据安全性的关注 , 满足控制 系统及其它较高数据要求的系统需求。C A N具有 以下主要技术特性 1 C A N遵从 I S O / O S I 模型 , 采用 了其 中的物 理层 、 数据链路层与应用层。采用双绞线 , 通信速率 最高可达到 1 M b p s 传输距离为 4 0 m , 直接传输距 离最远可达 1 0 k in 通信速率 为 5 k b p s 。同一段总 线 内最多可挂接 1 1 0个设备。 2 C A N的信号传输采用短帧结构, 每一帧有 效字节数为 8个。因而传输时间短, 受 干扰 的概率 低 。发送的信息遭到破坏后 , 可 自动重发。当节点 发生严重错误时, 具有 自动关 闭的功能 , 切断该节点 与总线 的联系 , 使总线上其它节点不受影响, 具有很 强的抗干扰能力。 3 C A N支持多主工作方式 , 网络上任一节点 均可在任何时候主动向其它节点发送信息, 优先级 高的先发送, 优先级低的节点则主动停止发送 , 从而 避免 了总线冲突。 由于具有 以上显著特点 , 因此 , C A N已经在汽 车工业、 航空工业、 工业控制、 安全防护等领域中得 到了广泛应用。我公司开发 的 S Z J I I 型钻井多参 数仪就采用了 C A N总线技术 , 该仪器 由 P C / 1 0 4嵌 入式计算机、 rI F T大屏幕触模式液晶显示器为主的 前台钻显单元和 C A N总线型传感器及后台计算机 组成。与其他类型的钻井多参数仪相 比有以下特 点 1 采用 C A N总线型传感器, 实现了模块化结 构设计 , 易于扩充 , 可根据用户需要任意配置。 2 以 P C / 1 0 4嵌人式计算机为核心 , 进行数据 采集和处理 , 可靠性高。 3 前台监控软件可直接采集处理参数达 3 0 项, 派生参数2 0 多项, 并可设置相关参数报警门限、 实现声光报警 。 4 监控软件实现人性化设计 , 司钻可根据 自 己习惯 自主选择仪表仿真、 数 据显示和曲线显示等 界 面 。 5 采用 T F T大屏幕触模式液晶显示屏, 人机 对话操作、 视觉效果好 。 6 后台监控软件可实时监控 , 远程显示 , 实时 声光报警; 各种参数报表和曲线可实时显示、 存储并 打印。 7 系统各部分之 间均采用 C AN总线连接 , 现 场安装调试简单 , 易维护 。 8 稳定性好 , 易操作 , 抗干扰能力 强, 可长时 间无故障使用。 通过该仪表对钻井过程的实时监控, 对提高钻 井效率、 平衡钻井、 安全钻井 、 降低成本 、 有效保护油 气层、 实现科学钻井起着重要作用。目前该产品已 生产超过 1 0 0套 , 产值超过 4 0 0 0万元, 在国内各油 田钻井现场均有使用 , 并 出口俄罗斯、 印度尼西亚、 巴基斯塔、 阿尔及利亚、 肯尼亚等国家和地区。 4 应用实例 以下将以我们在 S Z J l I 型钻井多参数仪中采 第3 期 席亚娟等 C A N总线系统原理及在钻井仪表 中的应用 - 6 9 8 置 s 一 ’ 。 I I, r l 一 一RI 2, 5 鐾 。 熏 鼙 Lw tz/U N D2摹25 i蔡2 TXI~14 j 一 。书 一7 上 I 6 』 毛电隔离 样 1\ 6 ⋯ ⋯ 3。 D5 ⋯ 如挞幽1冀 lr RI3 ⋯ “ ⋯⋯⋯ C 蠢 、 ; 6 一 28 4 换 -_ ; ,一 , 16 6 ⋯ j 。P 5 i 2 , M ⋯ OD E 2 2 }萋 车争 奠 。 V DD2 ’ 一 } _ 予 ,幸, ⋯ Ⅵ D ⋯ 9 _j 7 J ⋯ ;l ” } 光 屯 隔 离 器 Rgt S I N ]广 I X TAL 广 j } . R如 {] 尊 斧 L _ D C / D C 复位电路 图2 C A N总线电路原理图 用的C A N总线电路为例进行说明 4 . I 硬件 电路设计 系统电源和 C A N总线通过插座 X S 2进入节点 , V I N经过保险后进入 D C / D C模块 , 这样可避免该节 点出现故障时影响整个系统的电源。D C / D C模块 可将输入直流电压转换为两路相互隔离的直流电压 输出, 即附图2中的V C C和V D D 。传感器信号通过 插座 X S 1 进入节点 , 传感器所需 的工作 电压也经过 此插座送出。若传感器输出4 2 0 m A电流信号, 则 经过采样、 A / D转换后进入节点 的微处理 器 ; 若传 感器输出脉冲信号, 则经过采样、 整形 深度节点中 还包含鉴相 电路后进人 微处 理器 。节点地址 由拨 码开关确定, 系统中不能出现相 同的节点地址 , 否则 会导致系统总线通讯错误。附图2中的复位电路可 同时为节点 中的微处理器 8 0 5 1 即 C P U 和总线控 制器 S J A 1 0 0 0提供复位信号。当节点意外 出现死循 环或程序跑飞时 , 该复位电路可使节点硬件复位 , 重 新进入正常工作状态。 总线收发器 P C A 8 2 C 2 5 0为 C A N控制器和物理 总线之问的接 口, 它可以提供 向总线 的差动发送能 力和 C A N控制器 的差 动接收能力 , T X D和 R X D引 脚分别发送经过驱动后的发送和接收信号。其引脚 8 R 可以选择 2种工作方式 该 引脚直接接地 , 系 统将处于高速工作方式 , 适用于远距离数据传输 ; 在 波特率较低, 总线较短时, 一般采用斜率控制方式, 上升及下降的斜率取决于 R 的阻值, 本系统采用 3 0 K 。为避免射频干扰, 系统中采用屏蔽双绞线作 总线。 为了增强 C A N总线节点 的抗干扰能力 , 总线控 制器未与总线收发器直 接相连 , 而是通过光 电隔离 器相连接 , 这样可很好 的实现总线上各节点 间的电 气隔离, 提高节点的稳定性和安全性。但要真正实 现隔离 , 就必须在光 电隔离器输入和输 出端采用两 个完全隔离 的电源 , 因此节点 中的 D C / D C模块就发 挥了作用。 总线控制器 中断输出信9/ I N T接至微处理器 I I / I N 1 0 端 , 通过中断方式与微处理器通信。当总 线上的数据通过总线 收发器 、 光 电隔离器进入总线 控制器后 , 控制器/ I N T引脚将产生一个 由高到低 的电平变化 即下降沿 , 当微处理器检测到该变化 时就进人 中断 , 在中断服务程序 中, 对收到的数据进 行判断 , 并根据此命令进行相应 的数据处理后 , 向总 线传送。 4 . 2 软件设计 C A N接 口通信软 件分为 3部分 C A N初始化 、 数据发送、 数据接收。C A N初始化主要是设置 C A N 的通信参数 。需要初始化的 C A N控制寄存器有 模 式寄存器、 时钟寄存器、 接收代码寄存器、 屏蔽寄存 7 0 江汉石油科技 2 0卷 图3 发送程序流程图 器、 总线定时寄存器、 输出控制寄存器等。 发送数据程序是把数据存储区中待发送的数据 取出, 组成信息帧, 并将主机的 I D地址, 填人帧头, 然后将信 息帧发送到 C A N控制器 的发 送缓 冲区。 在接收到主机的发送请求后 , 发送程序启动发送命 令。信息从 C A N控制器发送到总线是由 C A N控制 器 自动完成的。发送程序流程图见附图3 。 信息从 C A N总线到 C A N控制器的接收缓冲区 也是由 C A N控制器 自动完成 的。接 收程序只需从 接收缓冲区读取信息 , 并将其存储在数据存储 区, 接 收程序流程图见附图 4 。 图4 接收程序流程图 参考文献 1 P HI I ,I P S S J A1 0 0 0 s t a n da l o n e C AN c o n t r o l l e r p r o d u c t s p e c i fi c a t i o n 2 0 0 0 J a n 0 4 . 2 邬宽明. C A N总线原理和应用系统设计[ M] . 北京 北京 航空航天大学出版社, 1 9 9 6 . 3 陆前锋. 基于 S J A 1 0 0 0的 C AN 总线智能控制系统设计 [ J ] . 自动化技术与应用 , 2 0 0 3 , 1 6 1 6 4 . 编辑汪孝芝