1、can1. CAN 总 线 的 产 生 与 发 展控 制 器 局 部 网 ( CAN CONTROLLER AREA NETWORK) 是 BOSCH 公 司 为现 代 汽 车 应 用 领 先 推 出 的 一 种 多 主 机 局 部 网 , 由 于 其 高 性 能 、 高 可 靠 性 、 实 时 性 等 优 点现 已 广 泛 应 用 于 工 业 自 动 化 、 多 种 控 制 设 备 、 交 通 工 具 、 医 疗 仪 器 以 及 建 筑 、 环 境 控 制等 众 多 部 门 。 控 制 器 局 部 网 将 在 我 国 迅 速 普 及 推 广 。随 着 计 算 机 硬 件 、 软 件 技 术
2、及 集 成 电 路 技 术 的 迅 速 发 展 , 工 业 控 制 系 统 已 成 为 计 算机 技 术 应 用 领 域 中 最 具 活 力 的 一 个 分 支 , 并 取 得 了 巨 大 进 步 。 由 于 对 系 统 可 靠 性 和 灵 活性 的 高 要 求 , 工 业 控 制 系 统 的 发 展 主 要 表 现 为 : 控 制 面 向 多 元 化 , 系 统 面 向 分 散 化 , 即负 载 分 散 、 功 能 分 散 、 危 险 分 散 和 地 域 分 散 。分 散 式 工 业 控 制 系 统 就 是 为 适 应 这 种 需 要 而 发 展 起 来 的 。 这 类 系 统 是 以 微
3、型 机 为 核心 , 将 5C 技 术 -COMPUTER( 计 算 机 技 术 ) 、 CONTROL( 自 动 控 制 技 术 ) 、COMMUNICATION( 通 信 技 术 ) 、 CRT( 显 示 技 术 ) 和 CHANGE( 转 换 技 术 ) 紧 密结 合 的 产 物 。 它 在 适 应 范 围 、 可 扩 展 性 、 可 维 护 性 以 及 抗 故 障 能 力 等 方 面 , 较 之 分 散 型仪 表 控 制 系 统 和 集 中 型 计 算 机 控 制 系 统 都 具 有 明 显 的 优 越 性 。典 型 的 分 散 式 控 制 系 统 由 现 场 设 备 、 接 口 与
4、计 算 设 备 以 及 通 信 设 备 组 成 。 现 场 总 线( FIELDBUS) 能 同 时 满 足 过 程 控 制 和 制 造 业 自 动 化 的 需 要 , 因 而 现 场 总 线 已 成 为 工 业数 据 总 线 领 域 中 最 为 活 跃 的 一 个 领 域 。 现 场 总 线 的 研 究 与 应 用 已 成 为 工 业 数 据 总 线 领 域的 热 点 。 尽 管 目 前 对 现 场 总 线 的 研 究 尚 未 能 提 出 一 个 完 善 的 标 准 , 但 现 场 总 线 的 高 性 能价 格 比 将 吸 引 众 多 工 业 控 制 系 统 采 用 。 同 时 , 正 由
5、于 现 场 总 线 的 标 准 尚 未 统 一 , 也 使 得现 场 总 线 的 应 用 得 以 不 拘 一 格 地 发 挥 , 并 将 为 现 场 总 线 的 完 善 提 供 更 加 丰 富 的 依 据 。 控制 器 局 部 网 CAN( CONTROLLER AERANETWORK) 正 是 在 这 种 背 景 下 应 运 而 生的 。由 于 CAN 为 愈 来 愈 多 不 同 领 域 采 用 和 推 广 , 导 致 要 求 各 种 应 用 领 域 通 信 报 文 的 标准 化 。 为 此 , 1991年 9月 PHILIPS SEMICONDUCTORS 制 订 并 发 布 了 CAN
6、技 术规 范 ( VERSION 2.0) 。 该 技 术 规 范 包 括 A 和 B 两 部 分 。 2.0A 给 出 了 曾 在 CAN 技术 规 范 版 本 1.2中 定 义 的 CAN 报 文 格 式 , 能 提 供 11位 地 址 ; 而 2.0B 给 出 了 标 准 的 和扩 展 的 两 种 报 文 格 式 , 提 供 29位 地 址 。 此 后 , 1993年 11月 ISO 正 式 颁 布 了 道 路 交 通运 载 工 具 -数 字 信 息 交 换 -高 速 通 信 控 制 器 局 部 网 ( CAN) 国 际 标 准 ( ISO11898) ,为 控 制 器 局 部 网 标
7、准 化 、 规 范 化 推 广 铺 平 了 道 路 。2. CAN 总 线 特 点CAN 总 线 是 德 国 BOSCH 公 司 从 80年 代 初 为 解 决 现 代 汽 车 中 众 多 的 控 制 与 测 试 仪器 之 间 的 数 据 交 换 而 开 发 的 一 种 串 行 数 据 通 信 协 议 , 它 是 一 种 多 主 总 线 , 通 信 介 质 可 以是 双 绞 线 、 同 轴 电 缆 或 光 导 纤 维 。 通 信 速 率 可 达 1MBPS。2.1 CAN 总 线 通 信 接 口 中 集 成 了 CAN 协 议 的 物 理 层 和 数 据 链 路 层 功 能 , 可 完 成对
8、通 信 数 据 的 成 帧 处 理 , 包 括 位 填 充 、 数 据 块 编 码 、 循 环 冗 余 检 验 、 优 先 级 判 别 等 项 工作 。2.2 CAN 协 议 的 一 个 最 大 特 点 是 废 除 了 传 统 的 站 地 址 编 码 , 而 代 之 以 对 通 信 数 据块 进 行 编 码 。 采 用 这 种 方 法 的 优 点 可 使 网 络 内 的 节 点 个 数 在 理 论 上 不 受 限 制 , 数 据 块 的标 识 码 可 由 11位 或 29位 二 进 制 数 组 成 , 因 此 可 以 定 义 211或 229个 不 同 的 数 据 块 , 这种 按 数 据 块
9、 编 码 的 方 式 , 还 可 使 不 同 的 节 点 同 时 接 收 到 相 同 的 数 据 , 这 一 点 在 分 布 式 控制 系 统 中 非 常 有 用 。 数 据 段 长 度 最 多 为 8个 字 节 , 可 满 足 通 常 工 业 领 域 中 控 制 命 令 、工 作 状 态 及 测 试 数 据 的 一 般 要 求 。 同 时 , 8个 字 节 不 会 占 用 总 线 时 间 过 长 , 从 而 保 证了 通 信 的 实 时 性 。 CAN 协 议 采 用 CRC 检 验 并 可 提 供 相 应 的 错 误 处 理 功 能 , 保 证 了 数据 通 信 的 可 靠 性 。 CAN
10、 卓 越 的 特 性 、 极 高 的 可 靠 性 和 独 特 的 设 计 , 特 别 适 合 工 业 过 程监 控 设 备 的 互 连 , 因 此 , 越 来 越 受 到 工 业 界 的 重 视 , 并 已 公 认 为 最 有 前 途 的 现 场 总 线 之一 。2.3 CAN 总 线 采 用 了 多 主 竞 争 式 总 线 结 构 , 具 有 多 主 站 运 行 和 分 散 仲 裁 的 串 行 总线 以 及 广 播 通 信 的 特 点 。 CAN 总 线 上 任 意 节 点 可 在 任 意 时 刻 主 动 地 向 网 络 上 其 它 节 点发 送 信 息 而 不 分 主 次 , 因 此 可
11、在 各 节 点 之 间 实 现 自 由 通 信 。 CAN 总 线 协 议 已 被 国 际标 准 化 组 织 认 证 , 技 术 比 较 成 熟 , 控 制 的 芯 片 已 经 商 品 化 , 性 价 比 高 , 特 别 适 用 于 分 布式 测 控 系 统 之 间 的 数 通 讯 。 CAN 总 线 插 卡 可 以 任 意 插 在 PC AT XT 兼 容 机 上 , 方 便地 构 成 分 布 式 监 控 系 统 。2.4 结 构 简 单 , 只 有 2跟 现 与 外 部 相 连 , 并 且 捏 布 集 成 了 错 误 探 测 和 管 理 模 块 。3. CAN 总 线 技 术 介 绍3.1
12、 位 仲 裁要 对 数 据 进 行 实 时 处 理 ,就 必 须 将 数 据 快 速 传 送 ,这 就 要 求 数 据 的 物 理 传 输 通 路 有较 高 的 速 度 。 在 几 个 站 同 时 需 要 发 送 数 据 时 ,要 求 快 速 地 进 行 总 线 分 配 。 实 时 处 理 通 过网 络 交 换 的 紧 急 数 据 有 较 大 的 不 同 。 一 个 快 速 变 化 的 物 理 量 ,如 汽 车 引 擎 负 载 ,将 比 类似 汽 车 引 擎 温 度 这 样 相 对 变 化 较 慢 的 物 理 量 更 频 繁 地 传 送 数 据 并 要 求 更 短 的 延 时 。CAN 总 线
13、 以 报 文 为 单 位 进 行 数 据 传 送 ,报 文 的 优 先 级 结 合 在 11位 标 识 符 中 ,具 有最 低 二 进 制 数 的 标 识 符 有 最 高 的 优 先 级 。 这 种 优 先 级 一 旦 在 系 统 设 计 时 被 确 立 后 就 不 能再 被 更 改 。 总 线 读 取 中 的 冲 突 可 通 过 位 仲 裁 解 决 。 如 图 2所 示 ,当 几 个 站 同 时 发 送 报 文时 ,站 1的 报 文 标 识 符 为 011111;站 2的 报 文 标 识 符 为 0100110;站 3的 报 文 标 识 符 为0100111。 所 有 标 识 符 都 有 相
14、 同 的 两 位 01,直 到 第 3位 进 行 比 较 时 ,站 1的 报 文 被 丢 掉 ,因 为 它 的 第 3位 为 高 ,而 其 它 两 个 站 的 报 文 第 3位 为 低 。 站 2和 站 3报 文 的 4、 5、 6位 相同 ,直 到 第 7位 时 ,站 3的 报 文 才 被 丢 失 。 注 意 ,总 线 中 的 信 号 持 续 跟 踪 最 后 获 得 总 线 读 取权 的 站 的 报 文 。 在 此 例 中 ,站 2的 报 文 被 跟 踪 。 这 种 非 破 坏 性 位 仲 裁 方 法 的 优 点 在 于 ,在 网 络 最 终 确 定 哪 一 个 站 的 报 文 被 传 送
15、以 前 ,报 文 的 起 始 部 分 已 经 在 网 络 上 传 送 了 。 所有 未 获 得 总 线 读 取 权 的 站 都 成 为 具 有 最 高 优 先 权 报 文 的 接 收 站 ,并 且 不 会 在 总 线 再 次空 闲 前 发 送 报 文 。CAN 具 有 较 高 的 效 率 是 因 为 总 线 仅 仅 被 那 些 请 求 总 线 悬 而 未 决 的 站 利 用 ,这 些 请求 是 根 据 报 文 在 整 个 系 统 中 的 重 要 性 按 顺 序 处 理 的 。 这 种 方 法 在 网 络 负 载 较 重 时 有 很 多优 点 ,因 为 总 线 读 取 的 优 先 级 已 被 按
16、 顺 序 放 在 每 个 报 文 中 了 ,这 可 以 保 证 在 实 时 系 统 中较 低 的 个 体 隐 伏 时 间 。对 于 主 站 的 可 靠 性 ,由 于 CAN 协 议 执 行 非 集 中 化 总 线 控 制 ,所 有 主 要 通 信 ,包 括 总线 读 取 (许 可 )控 制 ,在 系 统 中 分 几 次 完 成 。 这 是 实 现 有 较 高 可 靠 性 的 通 信 系 统 的 唯 一 方法 。3.2 CAN 与 其 它 通 信 方 案 的 比 较在 实 践 中 ,有 两 种 重 要 的 总 线 分 配 方 法 :按 时 间 表 分 配 和 按 需 要 分 配 。 在 第 一
17、种 方法 中 ,不 管 每 个 节 点 是 否 申 请 总 线 ,都 对 每 个 节 点 按 最 大 期 间 分 配 。 由 此 ,总 线 可 被 分配 给 每 个 站 并 且 是 唯 一 的 站 ,而 不 论 其 是 立 即 进 行 总 线 存 取 或 在 一 特 定 时 间 进 行 总 线 存取 。 这 将 保 证 在 总 线 存 取 时 有 明 确 的 总 线 分 配 。 在 第 二 种 方 法 中 ,总 线 按 传 送 数 据 的基 本 要 求 分 配 给 一 个 站 ,总 线 系 统 按 站 希 望 的 传 送 分 配 (如 :Ethernet CSMA/CD)。 因此 ,当 多 个
18、 站 同 时 请 求 总 线 存 取 时 ,总 线 将 终 止 所 有 站 的 请 求 ,这 时 将 不 会 有 任 何 一 个 站获 得 总 线 分 配 。 为 了 分 配 总 线 ,多 于 一 个 总 线 存 取 是 必 要 的 。CAN 实 现 总 线 分 配 的 方 法 ,可 保 证 当 不 同 的 站 申 请 总 线 存 取 时 ,明 确 地 进 行 总 线 分配 。 这 种 位 仲 裁 的 方 法 可 以 解 决 当 两 个 站 同 时 发 送 数 据 时 产 生 的 碰 撞 问 题 。 不 同 于Ethernet 网 络 的 消 息 仲 裁 ,CAN 的 非 破 坏 性 解 决
19、总 线 存 取 冲 突 的 方 法 ,确 保 在 不 传 送 有用 消 息 时 总 线 不 被 占 用 。 甚 至 当 总 线 在 重 负 载 情 况 下 ,以 消 息 内 容 为 优 先 的 总 线 存 取也 被 证 明 是 一 种 有 效 的 系 统 。 虽 然 总 线 的 传 输 能 力 不 足 ,所 有 未 解 决 的 传 输 请 求 都 按重 要 性 顺 序 来 处 理 。 在 CSMA/CD 这 样 的 网 络 中 ,如 Ethernet,系 统 往 往 由 于 过 载 而 崩溃 ,而 这 种 情 况 在 CAN 中 不 会 发 生 。3.3 CAN 的 报 文 格 式在 总 线
20、中 传 送 的 报 文 ,每 帧 由 7部 分 组 成 。 CAN 协 议 支 持 两 种 报 文 格 式 ,其 唯 一 的不 同 是 标 识 符 (ID)长 度 不 同 ,标 准 格 式 为 11位 ,扩 展 格 式 为 29位 。在 标 准 格 式 中 ,报 文 的 起 始 位 称 为 帧 起 始 (SOF),然 后 是 由 11位 标 识 符 和 远 程 发 送请 求 位 (RTR)组 成 的 仲 裁 场 。 RTR 位 标 明 是 数 据 帧 还 是 请 求 帧 ,在 请 求 帧 中 没 有 数 据字 节 。控 制 场 包 括 标 识 符 扩 展 位 (IDE),指 出 是 标 准 格
21、 式 还 是 扩 展 格 式 。 它 还 包 括 一 个 保留 位 (ro),为 将 来 扩 展 使 用 。 它 的 最 后 四 个 字 节 用 来 指 明 数 据 场 中 数 据 的 长 度 (DLC)。数 据 场 范 围 为 0 8个 字 节 ,其 后 有 一 个 检 测 数 据 错 误 的 循 环 冗 余 检 查 (CRC)。应 答 场 (ACK)包 括 应 答 位 和 应 答 分 隔 符 。 发 送 站 发 送 的 这 两 位 均 为 隐 性 电 平 (逻辑 1),这 时 正 确 接 收 报 文 的 接 收 站 发 送 主 控 电 平 (逻 辑 0)覆 盖 它 。 用 这 种 方 法
22、,发 送 站 可以 保 证 网 络 中 至 少 有 一 个 站 能 正 确 接 收 到 报 文 。报 文 的 尾 部 由 帧 结 束 标 出 。 在 相 邻 的 两 条 报 文 间 有 一 很 短 的 间 隔 位 ,如 果 这 时 没有 站 进 行 总 线 存 取 ,总 线 将 处 于 空 闲 状 态 。3.4 数 据 错 误 检 测不 同 于 其 它 总 线 ,CAN 协 议 不 能 使 用 应 答 信 息 。 事 实 上 ,它 可 以 将 发 生 的 任 何 错 误用 信 号 发 出 。 CAN 协 议 可 使 用 五 种 检 查 错 误 的 方 法 ,其 中 前 三 种 为 基 于 报
23、文 内 容 检 查 。3.4.1 循 环 冗 余 检 查 (CRC)在 一 帧 报 文 中 加 入 冗 余 检 查 位 可 保 证 报 文 正 确 。 接 收 站 通 过 CRC 可 判 断 报 文 是否 有 错 。3.4.2 帧 检 查这 种 方 法 通 过 位 场 检 查 帧 的 格 式 和 大 小 来 确 定 报 文 的 正 确 性 ,用 于 检 查 格 式 上 的错 误 。3.4.3.应 答 错 误如 前 所 述 ,被 接 收 到 的 帧 由 接 收 站 通 过 明 确 的 应 答 来 确 认 。 如 果 发 送 站 未 收 到 应 答 ,那 么 表 明 接 收 站 发 现 帧 中 有
24、 错 误 ,也 就 是 说 ,ACK 场 已 损 坏 或 网 络 中 的 报 文 无 站 接 收 。CAN 协 议 也 可 通 过 位 检 查 的 方 法 探 测 错 误 。3.4.4 总 线 检 测有 时 ,CAN 中 的 一 个 节 点 可 监 测 自 己 发 出 的 信 号 。 因 此 ,发 送 报 文 的 站 可 以 观 测 总线 电 平 并 探 测 发 送 位 和 接 收 位 的 差 异 。3.4.5 位 填 充一 帧 报 文 中 的 每 一 位 都 由 不 归 零 码 表 示 ,可 保 证 位 编 码 的 最 大 效 率 。 然 而 ,如 果 在一 帧 报 文 中 有 太 多 相
25、同 电 平 的 位 ,就 有 可 能 失 去 同 步 。 为 保 证 同 步 ,同 步 沿 用 位 填 充 产生 。 在 五 个 生 。 在 五 个 连 续 相 等 位 后 ,发 送 站 自 动 插 入 一 个 与 之 互 补 的 补 码 位 ;接 收 时 ,这个 填 充 位 被 自 动 丢 掉 。 例 如 ,五 个 连 续 的 低 电 平 位 后 ,CAN 自 动 插 入 一 个 高 电 平 位 。CAN 通 过 这 种 编 码 规 则 检 查 错 误 ,如 果 在 一 帧 报 文 中 有 6个 相 同 位 ,CAN 就 知 道 发 生 了错 误 。如 果 至 少 有 一 个 站 通 过 以
26、 上 方 法 探 测 到 一 个 或 多 个 错 误 ,它 将 发 送 出 错 标 志 终 止当 前 的 发 送 。 这 可 以 阻 止 其 它 站 接 收 错 误 的 报 文 ,并 保 证 网 络 上 报 文 的 一 致 性 。 当 大 量发 送 数 据 被 终 止 后 ,发 送 站 会 自 动 地 重 新 发 送 数 据 。 作 为 规 则 ,在 探 测 到 错 误 后 23个 位周 期 内 重 新 开 始 发 送 。 在 特 殊 场 合 ,系 统 的 恢 复 时 间 为 31个 位 周 期 。但 这 种 方 法 存 在 一 个 问 题 ,即 一 个 发 生 错 误 的 站 将 导 致 所
27、 有 数 据 被 终 止 ,其 中 也 包括 正 确 的 数 据 。 因 此 ,如 果 不 采 取 自 监 测 措 施 ,总 线 系 统 应 采 用 模 块 化 设 计 。 为 此 ,CAN 协 议 提 供 一 种 将 偶 然 错 误 从 永 久 错 误 和 局 部 站 失 败 中 区 别 出 来 的 办 法 。 这 种 方 法可 以 通 过 对 出 错 站 统 计 评 估 来 确 定 一 个 站 本 身 的 错 误 并 进 入 一 种 不 会 对 其 它 站 产 生 不 良影 响 的 运 行 方 法 来 实 现 ,即 站 可 以 通 过 关 闭 自 己 来 阻 止 正 常 数 据 因 被 错
28、 误 地 当 成 不 正 确的 数 据 而 被 终 止 。3.4.6 CAN 可 靠 性为 防 止 汽 车 在 使 用 寿 命 期 内 由 于 数 据 交 换 错 误 而 对 司 机 造 成 危 险 ,汽 车 的 安 全 系统 要 求 数 据 传 输 具 有 较 高 的 安 全 性 。 如 果 数 据 传 输 的 可 靠 性 足 够 高 ,或 者 残 留 下 来 的数 据 错 误 足 够 低 的 话 ,这 一 目 标 不 难 实 现 。 从 总 线 系 统 数 据 的 角 度 看 ,可 靠 性 可 以 理 解为 ,对 传 输 过 程 产 生 的 数 据 错 误 的 识 别 能 力 。残 余 数
29、 据 错 误 的 概 率 可 以 通 过 对 数 据 传 输 可 靠 性 的 统 计 测 量 获 得 。 它 描 述 了 传 送 数据 被 破 坏 和 这 种 破 坏 不 能 被 探 测 出 来 的 概 率 。 残 余 数 据 错 误 概 率 必 须 非 常 小 ,使 其 在系 统 整 个 寿 命 周 期 内 ,按 平 均 统 计 时 几 乎 检 测 不 到 。 计 算 残 余 错 误 概 率 要 求 能 够 对 数 据错 误 进 行 分 类 ,并 且 数 据 传 输 路 径 可 由 一 模 型 描 述 。 如 果 要 确 定 CAN 的 残 余 错 误 概率 ,我 们 可 将 残 留 错 误
30、 的 概 率 作 为 具 有 80 90位 的 报 文 传 送 时 位 错 误 概 率 的 函 数 ,并 假定 这 个 系 统 中 有 5 10个 站 ,并 且 错 误 率 为 1/1000,那 么 最 大 位 错 误 概 率 为 1013数 量级 。 例 如 ,CAN 网 络 的 数 据 传 输 率 最 大 为 1Mbps,如 果 数 据 传 输 能 力 仅 使 用 50%,那 么对 于 一 个 工 作 寿 命 4000小 时 、 平 均 报 文 长 度 为 80位 的 系 统 ,所 传 送 的 数 据 总 量 为91010。 在 系 统 运 行 寿 命 期 内 ,不 可 检 测 的 传 输
31、 错 误 的 统 计 平 均 小 于 102量 级 。 换句 话 说 ,一 个 系 统 按 每 年 365天 ,每 天 工 作 8小 时 ,每 秒 错 误 率 为 0. 7计 算 ,那 么 按 统 计 平均 ,每 1000年 才 会 发 生 一 个 不 可 检 测 的 错 误 。4.应 用 举 例某 医 院 现 有 5台 16T/H 德 国 菲 斯 曼 燃 气 锅 炉 , 向 洗 衣 房 、 制 剂 室 、 供 应 室 、 生 活 用水 、 暖 气 等 设 施 提 供 5kg/cm2的 蒸 汽 , 全 年 耗 用 天 然 气 1200万 m3,耗 用 20万 吨 自 来水 。 医 院 采 用 接 力 式 方 式 供 热 , 对 热 网 进 行 地 域 性 管 理 , 分 四 大 供 热 区 。 其 中 冬 季 暖 气的 用 气 量 很 大 , 据 此 设 计 了 基 于 CAN 现 场 总 线 的 分 布 式 锅 炉 蒸 汽 热 网 智 能 监 控 系 统 。现 场 应 用 表 明 : 该 楼 宇 自 动 化 系 统 具 有 抗 干 扰 能 力 强 , 现 场 组 态 容 易 , 网 络 化 程 度 高 ,人 机 界 面 友 好 等 特 点 。