logo资料库

基于STM32单片机的CAN总线分析仪的设计.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
第 28卷 第 1期 2 0 1 3年 3月 青 岛 大 学 学 报 (工 程 技 术 版 ) JOURNAL OF QINGDAO UNIVERSITY (E&T) VoI.28 NO.1 M ar. 2 0 1 3 文 章 编 号 :1006—9798(2013)0l一0019—03 基 于 STM32单 片 机 的 CAN 总 线 分 析 仪 的 设 计 (1.青 岛大 学 自动 化 工程 学 院,山 东 青 岛 266071;2.山 东电力 集 团公 司物 资部 ,山 东 济 南 250001) 邢 洋 ,李 立 伟 ,张 洪伟 摘 要 :针 对使 用不 同协 议和 不 同波特 率 的 CAN 总线 网络 ,本 文 以 STM32F103单 片机 为 主 控制 器 ,设 计 了 一 种 监 测 CAN 总线 多 种 现 场 状 态 的 分 析 仪 。STM32F103通 过 外 接 CAN 接 收器 TJA1050与 CAN 总线 进行 通信 ,实 现 对 CAN 总 线数 据 的 收集 和 处 理 。测 试 结果 表 明 ,当 波特 率 为 5 kbps/s,发 送 报 文 间隔 为 100 ms时 ,检 测 到 的 总线 吞 吐量 为 1O帧 /s,说 明不 同的波 特 率和 不 同的 报 文 发 送 时 间 间 隔 ,所 测 得 的 总线 负载 和 总线 吞 吐 量 与实 际相 符 。该分 析仪 为 CAN 总线 的现 场监 测 和 排错 提 供 了快 速 、准 确 的解 决 方 案 , 可 以对 cAN 网络 进行 可靠 的实时 监控 。 关 键词 :CAN 总线 ;STM32F1O3;总线 分析 仪 ;TJA1050 中 图 分 类 号 :TP273.5 文 献 标 识 码 :A CAN 总线 是现 场 总线 的一种 ,最初 应 用 于汽 车产业 ,并 逐 步 成 为 车 载 网络 系 统 中 比较 流 行 的 高速 网络 协 议标 准 。与一 般 的通信 总线 相 比 ,CAN 总线 的数 据 通 信 具 有灵 活 性 、可 靠 性 、实 时 性 等特 点 。近年 来 ,对 CAN 总线 网络 的监 测 主要通 过 CAN适 配 卡 与 计 算机 相 连 ,并 利 用 上 位 机 软件 分 析 总线 网络 状 况 ,但 这 样 连 接有 一定 的弊 端 ,而 且高 端 CAN 适配 卡价 格高 昂 ,低端 cAN 适 配 卡的监 测 精度 又 不是 很 高 ]。基 于 此 , 本 文 以 STM32F1O3单片 机作 为 主控 芯片 ,设 计 了 便 携 式 CAN 网 络分 析 仪 ,实 现对 cAN —BUS网络 的开 发 、测试 、管 理和 维护 等 ,其 功能 强 大且通 用 ,能处 理 11位 标识 符模 式 (CAN2.0 A 协议 )和 29位 标识 符模 式 (CAN2.0 B协议 )的 CAN 报文 ,与国 内传 统 的 CAN 总线 分析 仪 相 比 ,本设 计 方 案具 有 成本 低 、结 构 电路 简 单 、可靠 性高 、便 于维 护等 特点 。 1 CAN 总 线 分 析 仪 的 组 成 cAN 总线 分析 仪 的主要 功 能是分 析 总线 波特 率 、总 线 出错 率 、总线 吞 吐量 和总 线 负载 等 参 数 ,监测 cAN 总 线 的 运 行状 态 ,让 使用 者 能 观测 到 总 线 上 的各 种 参 数 及 运 行 状 况[2 ]。本 文 所 设 计 的 cAN 总 线 分 析 仪 主 要 由 MCU 控 制 模 块 ,CAN 接 口模 块 ,按 键 控 制 模 块 ,JTAG 下 载 模 块 及 液 晶显 示模 块组 成 。系统 构成 方案 总体 框 图如 图 1所示 。 STM 32F 1O3 (M CU) CAN 网络 2 CAN 总 线 分 析 仪 的 整 体 设 计 图 1 系统 构 成 方 案 总体 框 图 2.1 主 控 制 器 与 CAN 接 口模 块 主控器 件 STM32F1O3RBT6芯 片 拥 有 高 性 能 32位 RISC 内 核 ARM Cortex—M3,工 作 频 率 为 72 MHz,嵌 入式 闪存为 128 KB,SRAM 为 20 KB。其 外设 丰 富 ,可 用 I/O 口 51个 ,1 s的 12位 ADC 2个 ,全 收 稿 日期 :2012~09—21 基 金 项 目 :山 东 省 自 然 科 学 基 金 项 目 资 助 (Y2008F23);山 东 省 科 技 发 展 计 划 项 目 资 助 (2011GGB01123);863 计 划 项 目 资 助 (2012AA 110407) 作 者 简 介 :邢 洋 (1 987一),男 ,硕 士研 究 生 ,主要 研 究 方 向为 CAN 总线 分 析 。 通 讯 作 者 :李 立 伟 (1970一),男 ,博 士 ,副 教 授 ,硕 导 ,主 要 研 究 方 向 为 电力 系 统 在 线 监 测 和 故 障诊 断 、蓄 电池 组 智 能 管 理 系 统 和 电 动 汽 车 能 量 管 理 系 统 等 。 Email:ytllw@ 163.corn
20 青 岛 大 学 学 报 (工 程 技 术 版 ) 第 28卷 速 USB(OTG)接 口 1个 ,CAN接 口 1个 ,4 M/s的 UART 3个 ,18 M/s的 SPI 2个 ,I C 2个 等 ]。该控 制 器 功能强 大 ,功耗低 ,在 72 MHz时 ,消 耗 36 mA(所有 外设 处于 工作状 态 ),相 当于 0.5 mA/MHz,待机 时下 降 到 2FA,该产 品 在 32位 市 场 上 功 耗 最 低 。 由于 其 白带 的 CAN 控 制 器 可 作 为 与 外 界 的 通 信 接 口,用 STM32F103做 主控制 器可 减少 使用器 件 ,简化 整体 电路 ,降低 CAN 总线分析 仪 的成本 。 由于 STM32F103单 片 机 自带 一 路 CAN 控 制 器 ,所 以 只 需 外 设 一 片 CAN 收 发 器 芯 片 ,本 文 采 用 PHILIPS公 司 生 产 的 高 速 CAN总线 驱 动 器 TJA1 050。TJA10 50是 CAN高 速 收 发 器 ,有 一 个 电 流 限 制 电 路 ,一 个温 度保 护 电路 ,将 CAN 底层 协议 集 成 到 芯 片硬 件 中 ,方便 了用户 的使 用 。它 具 有 速 率 高 、低 功耗 、安 全 性 高 、电磁 性 能 优 越 等 特 点 。单 片机 的 CAN 信 号 接 收 引 脚 RX 和 发 送 引 脚 TX 并 不 是 直 接 连 接 到 CAN 收 发 器 TJA1050的 RXD 和 TXD 端 ,而 是 经 过 高 速 光 耦 6N137芯片 进行 连 接 ,这样 可 以 实 现 CAN 总线 各 节 点 间 的 电气 隔 离 。CANH 与 CANL之 间接 一 个 120Q 的 终 端 电阻 ,主要用 于远 距 离传 输 时 的阻抗 匹配 和 增 强 电 磁兼 容 性能 。接 口电路 如 图 2所 示 。 2.2 按 键 模 块 图 2 STM32F103F103与 TJA1050模块 接 口 电路 常用 的按键 接 口可分 为独立 式按 键接 口、行 列式按 键接 口和 专用 芯片 等 。由于本方 案涉及 的按键 不 多 , 所 以采 用独 立式按 键接 口,按 键模 块引 脚 、拉 电 阻与 STM32F103的 I/O 口相 连 ,拉 电阻可 以增 强上 拉 电流 , 提 高模 块 的抗干 扰性 。 2.3 液 晶 显 示 模 块 多 数 TFT 液 晶模 块均 支持 SPI接 口通 信 ,但 因 SPI通信 具有 传 输 速 度 慢 ,不 利 于 液 晶数 据 快 速 传 输 的 缺 点 ,所 以 多 数 液 晶模 块 选 择 PBO PB 1 DO V CC D l C 86 3 3V 并 口通信 。本设计 中 ,STM32F103通过 I/O 口与 TFT 液 晶模 块 相 PB l 5 D 15 连 ,并选 用 3.5寸 的 TFT液 晶屏模块 ,工 作 电压 为 3.3 V,最大 工作 电流为 70 mA,分 辨 率 为 320×240。接 口电路 如 图 3所 示 ,PB0~ PB15分别 与 D0--D15相 连作 为数 据 通 信 口,将 PC0,PC6~PC9分 别 连接 RESET,RD,WR,RS和 CS,并 作 为控制 口,实 现复位 、片选 、 指令 数据 切换 、读 写等 控制 功 能 。液 晶显 示 模 块 和按 键 功 能模 块 能 实 现操 作系 统 的人 机交 互 ,用 户根 据 自己的要 求 ,通过按 键操 作界 面 。 2.4 CAN 总 线 分 析 仪 的 软 件 设 计 PC 9 PC 8 PC7 PC6 PC O C S R S W R RD RE SETGN D 图 3 STM 32F103F103与 TFT 液 晶 模块 接 口 电路 为提高 系统 软件 的可读 性 和编程 效 率 ,并考 虑 软 件调 试 方便 及 以后 的可 移 植 性 和 功 能 升 级 ,本 文 采 用 c+ +语 言 与 模 块 化 进 行 程 序 设 计 ],并 在 Keil uVision4集 成 环 境 中 进 行 编 辑 、编 译 和 连 接 ,同 时 ,通 过 JTAG 方 式 实 现 在 线 仿 真 调试 ,可 通过 JTAG接 口将调 试好 的程 序下 载到 STM32F103单 片机 的 Flash 中 ,以提 高 编程和 调试 效率 。程序 流程 图如 图 4所 示 。 CAN 总线分 析仪 的主要功 能是 监测现 场状 况 。首 先使 其接 入总 线 ,对总 线 的波特率 进行 自识 别 ,CAN 控制 器进 入复位 模式 并设 置初始 波特 率 。当还 未 收 到 报文 且未 产生 中断 时 ,则 继续 进入 复 位模 式 ,并 选择 下 一个 波 特 率 ;当 收到 报 文 且产 生 中断时 ,则表 明 已检测 到正确 的波 特率 。波特 率 自识 别结 束后 ,系统 进 入 CAN 总线 正 常工作 状态 ,开始 接收 总线 上 的各 种报 文 。当 CAN 总线 出现 错 图 4 程序流程图 误 时 ,其错误 节 点将会 向总 线发送 错误 帧 ,以此标 示错误 ,当系统接 收到错 误 帧时将 其显示 出 ,用 以分 析总线 上 的各 种错 误~7--8]。同 时 ,通过 定 时器确 定单位 时 间内正确 和错 误 的 报文 数 ,计 算 总线 吞 吐量 与 总线 负载 等 参 数 ,最后 将获 得 的数据 与信息 传输 给液 晶模块 进行显 示 。
第 1期 邢 洋 ,等 :基 于 STM32单 片机 的 CAN 总线分 析 仪 的设 计 21 3 测 试 结 果 本文 对 CAN 分析 仪 的有效 性 与准确 性 进 行 测试 。本 设计 取 单 节 点 进行 实 验 ,即总 线 上 只 有 1个 节 点 进行 报文 发送 。其 波 特率分 别 为 5,10,50 kbps,每 帧报 文有 8字节 数 据域 ,实验 结果 如表 1所 示 。 表 1 实 验 结 果 波 特 率 发 送 报 文 吞 吐 量 总线 负 载 波 特 率 发 送报 文 吞 吐 量 总 线 负 载 波 特 率 发 送报 文 吞 吐量 总线 负 载 /kbps 间 隔 /ms /(帧 ·s一 ) / /kbps 间 隔 /ms /(帧 ·S ) / /kbps 间 隔 /ms /(帧 ·S一 ) / 100 10.0 25.4 200 5.2 6.3 400 2.5 0.7 150 6.5 17.5 250 4.1 5.0 45O 2.4 0.5 10 50 由表 1可 知 ,当波 特率 为 5 kbps/s,发 送报 文 问隔 为 100 ms时 ,检 测到 的总 线吞 吐量 为 10帧 /s,与实 际 情 况 相符 。说 明不 同 的波特 率 和不 同的 报文发 送 时 间间隔 ,所测 得 的总 线负 载 和总线 吞 吐量与 实 际相 吻合 。 4 结 束 语 本 文 以 STM32F103单 片 机 为 主 控 制 器 ,设 计 了 一 种 监 测 CAN 总 线 多 种 现 场 状 态 的 分 析 仪 。 STM32F103单 片机 具有 高速 、低 耗 的优 越 性能 ,完 全可 以达 到 总线 分 析 仪 的主 控 制芯 片 要求 。本 设计 方 案 降低 了 CAN 分析仪 的成本 ,简化 了硬 件 电路 结构 ,通信 更 可靠 ,编 程更 简 洁 。通 过 实验 测试 表 明 ,该 设计 可 以实 现对 CAN 总线 报 文检测 分 析 的功能 ,能够 达 到预期 的效 果 。 参 考文献 : [1] 阳宪 惠.现 场 总 线 技 术 及 其 应 用 [M].北 京 :清 华 大 学 出版 社 ,1999. [2] 凌 威 ,赵 向阳 .AVR单 片 机 的 CAN 总 线 分 析 仪 设 计 [J].单 片机 与嵌 人 式 系 统 应 用 ,2008(9):54—57. [3] 李 平 .基 于 CAN —BUS的 汽 车 车 载 网络 系统 EJ3.电 脑 与 信 息 技 术 ,2007,15(4):52—54. [4] 吴 恒 ,夏 立 .基 于 CAN 总线 的 船舶 火 灾 报 警 系 统 的设 计 EJ].青 岛 大 学 学 报 (自然 科 学 版 ),2004,17(1):67—70. [5] 李 宁 .基 于 MDK 的 STM32处 理器 开 发 应 用 [M ].北京 :北 京 航 空航 天 大 学 出 版 社 ,2008. [6] 俞 建 新 .嵌 入 式 系 统 基 础 教 程 [M].北 京 :机 械 工 业 出版 社 ,2008. [7] 周 立 功.CAN—bus规 范 V2.0版 本 [M].广 州 :单 片 机 发 展 有 限 公 司 ,1999. [8] 邬 宽 明 .CAN 总 线 原 理 和 应 用 系 统 设 计 [M].北 京 :北 京 航 空 航 天 大 学 出版 社 ,1996. Design of CAN Bus Analyzer Based on STM 32F103 M CU XIN G Yang ,LI Li—wei ,ZH A N G H ong—wei (1.College of Autom ation Engineering,Qingdao U niversity,Qingdao 266071,China; 2.Shandong Electric Power Group Corp.,Jinan 250001,China) Abstract:For CAN bus networks with different protocols and baud rates,this paper takes STM 32F103 as the pri— mary controller and designs a type of analyzer to monitor different states of CAN bus.STM 32F103 can communi— cate with CAN bus through external CAN receiver TJA1050,realizing the data collection and processing of CAN bus.The test results show that,the monitoring to the bus throughput is 10 fps/s when the baud rate is 5 kbps/s and the sending packets interval is 1 00 m s. The m easured bus loads and bus throughput are m atched the actua1. This type of analyzer provides rapid and exact solutions to the fielding monitoring and troubleshooting of CAN bus and can realize the reliable real-time monitoring of CAN network. Key words:CAN bus;STM 32F103;bus analyzer;TJA1050
分享到:
收藏