已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 基于 CAN 总线的数据通讯接口的设计 展恩颖 自动化部特钢维护车间技术组 摘 要 现场总线是自动化领域的计算机网络 是当今自动化领域技术发 展的热点之一 它以总线为纽带 将现场设备连接起来成为一个能够相互交换 信息的控制网络 是一种双向串行多节点数字通信的系统 CAN 总线也是现 场总线的一种 它最初被应用于汽车的控制系统中 由于其卓越的性能 CAN 总线的应用范围已不再局限于汽车工业 被广泛应用到自动控制 楼宇自动化 医学设备等各个领域 关键词 CAN 总线 dspic30f5011 M9020 FNU20 CTM1050 ABSTRACT Field bus is a kind of computer network in automatization field and it has been one of the hotspots of automatization fields technique development Field bus connects the field equipments with a bus and makes a network through which information can be exchanged mutually So field bus is a system which can transmit digital signals in two directions among many nodes CAN is also one kind of field bus Originally it s applied in the control systems of car industry But its application is not limited in automobile industry for its excellent performance now It s also applied in Automatic control Building automatization Mechanical treatment equipments and so on KEY WORDS CAN bus dspic30f5011 M9020 FNU20 CTM1050 0 引言 现场总线 Field bus 是指开放式 国际标准化 数字化 相互交换操作 1 作者简介作者简介 展恩颖 1988 男 山东省莱芜市 2010 年毕业于青岛科技大学测控技术与仪器专业 现 为自动化部特钢维护车间技术员 的双向传送 连接智能仪表和控制系统的通信网络 CAN总线全称为 3 2 Controller Area Network 即控制器局域网 CAN 总线是国际上应用最广泛的现 场总线之一 现场总线是 20 世纪 90 年代迅速发展起来的工业控制系统技术 是信息化带动工业化和工业化推动信息化的实用技术之一 近年来才在中国获 得初步发展 当计算机网络技术 特别是互联网技术得到广泛应用后 人们对 企业生产过程的控制提出了更高的要求 企业与外界信息沟通的范围不断扩大 这就需要把大量的现场信息送到外面 又需要远程对现场进行诊断 维护和服 务 实现从现场控制到监控 管理 决策等各层次的信息交换和集成 现场总 线顺应了这种要求的发展 具有便于系统功能扩充 结构改型方便 系统结构 简洁 可靠性高 全数字化信号精度比传统的模拟信号高 高度分散控制使风 险得到彻底分散 维护性好 可预防性诊断和维护 具有高度的系统集成主动 权 提供更丰富的现场信息等优点 被认为是工业控制发展的必然趋势 将逐 步取代传统的控制方法 1 CAN 总线技术规范 1 1 CAN 总线的分层结构 CAN遵从 ISO OSI 标准模型 按照这个标准的模型 CAN 结构划分为 4 两层 数据链路层 包括逻辑链路控制子层 LLC 和媒体访问控制子层 MAC 和物理层 在 CAN 技术规范 2 0 版本中 数据链路层的 LLC 和 MAC 子层服 务及功能被描述为 对象层 和 传输层 CAN 的分层结构如下图 1 1 数据链路层 3 逻辑链路控制子层 LLC 接收滤波 超载通知 恢复管理 介质访问控制子层 MAC 数据封装 拆装 帧编码 填充 消除填充 介质访问管理 错误检测 错误标定 应答 串行化 解串行化 物理层 物理信令 PLS 位编码 解码 位定时 同步 驱动器 接收器特征 图 1 1 CAN 分层结构图 Fig 1 1 CAN hierarchical structure diagram LLC 子层的主要功能是 为数据传送和远程数据请求提供服务 确认由 LLC 子层接收的报文已被接收 并为恢复管理和通知超载提供信息 MAC 子 层的功能主要是传送规则 亦即控制帧的结构 执行仲裁 错误检测 出错标 定和故障界定 物理层的功能是有关全部电气特性在不同节点问的实际传送 CAN 技术规范 2 0B 定义了数据链路中的 MAC 子层和 LLC 子层的一部分 并 描述与 CAN 有关的外层 物理层定义了信号怎样进行发送 因而 涉及位定 时 位编码元和同步的描述 在这部分技术规范中 未定义物理层中的驱动器 接收器特性 以便允许根据具体应用 对发送媒体和信号电平进行优化 使 信号传输更加方便 MAC 子层是 CAN 协议的核心 它描述由 LLC 子层接收到的报文和对 4 LLC 子层发送的认可报文 MAC 子层可响应报文帧 仲裁 应答 错误检测 标定 MAC 子层有称为故障界定的一个管理实时监控 它具有识别永久故障 或短暂扰动的自检机制 LLC 子层的主要功能是报文滤波 超载通知和恢复管 理 按照 IEEE 802 2 和 802 3 标准 物理层划分为 1 物理信令 PLS Physical Signaling 2 物理媒体附属装置 PMA Physical Medium Attachment 3 媒体相关接口 MDI Medium Dependent Interface 数据链路层又划分为 1 逻辑链路控制 LLC Logic Link Contr01 2 媒体访问控制 MAC Medium Access Contr01 1 2 CAN 的报文发送和帧 在进行数据传送时 发出报文的单元称为报文的发送器 该单元在总线空 闲或丢失仲裁前恒为发送器 如果一个单元不是报文发送器 并且总线不处于 空闲状态 则该单元为接收器 对于报文发送器和接收器 报文实际有效时刻是不同的 对于发送器而言 如果周到帧结束末尾一直未出错 则对于发送器报文有效 如果报文受损 则 允许按照优先权顺序自动重发送 为了能同其他报文惊醒总线访问竞争 总线 一旦空闲 重发送将立即开始 对于接收器而言 如果直到帧结束的最后一位 一直未出错 则对于接收器报文有效 1 2 1 帧格式 规范中有两种不同的帧格式 不同之处在于每帧的标识符的长度不同 标 准帧的标识符长度为 11 位 而扩展帧的长度则为 29 位 1 2 2 帧类型 CAN 总线的数据传输由以下 4 个不同的帧类型所表示和控制 5 数据帧 数据帧将数据从发送器传送到接收器 远程帧 总线单元发出远程帧 请求发送具有相同标识符的数据帧 错误帧 任何节点检测到总线错误就发出错误帧 超载帧 超载帧用以在先行的和后续的数据帧 或远程帧 之间提供一附加 5 的延时 数据帧和远程帧可以使用标准帧及扩展帧两种格式 它们用一个帧空 间与前面的帧分开 2 基于 dspic30f5011 单片机 CAN 总线的硬件设计 dsPIC30F5011 单片机是 Microchip 公司的高性能数字信号控制器 其 2 CPU 是高性能改进型 RISC CPU 采用改进型哈佛结构 具有优化的 C 编译 器指令集架构和灵活的寻址方式 66KB 片上闪存程序空间 4 KB 片上数据 RAM 1 KB 非易失性数据 EEPROM 最高 30MIPS 的工作速度 最多 41 个 中断源 其 DSP 特性能轻松实现双数据取操作 模寻址和位反转寻址模式 dsPIC30F5011 外设上具备数据转换器接口 Data Converter Interface 3 路 SPI 总线模块 支持 4 种帧模式 I2C 模块支持多主器件主 从模式 支持 7 位 10 位寻址 两个带 FIFO 缓冲区的可寻址 UART 模块 两个与 CAN 2 0B 标准兼容的 CAN 总线模块 下行数据采集板的设计中主要用到了其中的 CAN 总线模块和 SPI 总线模块 PIC 单片机在本系统中的主要功能是 CAN 传输 负责将数据打成 CAN 包然后传送到 ARM 主板 负责处理抄表协议 与 485 通讯等 因此 CAN 模块和 SPI 模的作用犹为重要 2 1 CTM1050 CTM1050 是一款带隔离的高速 CAN 收发器芯片 该芯片内部集成了所 有必需的 CAN 隔离及 CAN 收 发器件 这些都被集成在不到 3 平方厘米的 芯片上 芯片的主要功能是将 CAN 控制器的逻辑电平转换为 CAN 总线的差 分电平并且具有 DC 2500V 的隔离功能及 ESD 保护作用 该芯片符合 ISO11898 标准 因此 它可以和其他遵从 ISO11898 标准的 CAN 收发器产品互操作 2 1 1 电路连接 使用 CTM1050 芯片时 必须将 CTM1050 芯片假如用户的电路板中 如 图 2 1 所示为 CAN 控制器与 CTM1050 接口芯片的连接原理图 6 图 2 1 CTM1050 接口电路 Fig 2 1 CTM1050 interface circuit 2 2 电路设计 本设计里主要部分采用了 LPC2290 微控制器和 dsPIC30F5011 单片机 它 们内部都含两个 CAN 控制器 基于 LPC2290 的工业级微控制器 M9020 FNU20 提供 LPC2290 标准化驱动 并固化协议栈 调用 API 函数即可实现嵌 入式设备 CAN 总线通信功能 完整的 CAN 总线设备由 CAN 控制器 总线 收发器以及相应的隔离电路组成 本系统中 LPC2290 微控制器和 dsPIC30F5011 单片机之间的 CAN 通讯就相对简单只需加入隔离电路 CAN 隔 离收发器和其它相关器件就可实现 CAN 总线的接口电路如下图 2 2 所示 M9020 FNU20 中已固化协议栈 通讯时调用 API 函数即可实现嵌入式设 备的 CAN 总线通信功能 CAN 隔离收发器采用广州致远电子开发的 CTM1050 带 TVS 保护的高速隔离 CAN 收发器 DC2500V 电气隔离 隔 离收发模块集电源隔离 电气隔离 CAN 收发器 CAN 总线保护于一体 模 块 TXD RXD 引脚兼容 3 3V 5V 电平连接 直接将 CAN 控制器收发引 脚与 CTM 模块的收发引脚连接即可构成完整的 CAN 设备 隔离电路能确保 CAN 总线在遭受严重干扰时控制器仍正常工作 7 1 1 2 2 3 3 4 4 5 5 6 6 DD CC BB AA Title NumberRevisionSize B Date 2008 06 22Sheet of File E 业业业业 业业业业 CAN SCHDOCDrawn By 2 1 3 PESD1CAN U36 1 2 CAN1 CON1 C1TX 59 C1RX 58 dsPIC 30F5011 PIC CAN1 CON2 1 2 M 9020 FNU20 TD1 RD1 2 1 3 R R GND 2 RXD 4 TXD 3 Vcc 1 CANH 6 CANL 7 CGND 8 CTM1050 RXD 4 GND 2 CGND 8 CANL 7 CANH 6 TXD 3 Vcc 1 CTM1050 DP5V0 DP5V0 R R 图 2 2 CAN 总线接口电路图 Fig 2 2 CAN bus interface circuit 3 基于 M9020 FNU20 微控制器 CAN 总线的硬件设计 M9020 FNU20 基于 LPC2290 工业级微控制器 支持 10M 以太网通信 CAN 总线通信 具有 CF 卡接口 USB 接口 板载大容量 NAND Flash 电子 盘 A D 转换 RTC 等功能 产品提供保护型总线设计 使模块在 EMC 性 能及稳定性方面均有良好的表现 产品提供 LPC2290 标准化驱动库 并固化协议栈 调用 API 函数即可实 现嵌入式设备的 TCP IP 网络通信 CAN 总线通信功能和 USB CF 卡 海 量电子盘等存储功能 特别适合电力自动化 煤矿产量监控 机电控制等行业 用户程序可在线升级 不但使产品更快投入市场 而且升级简单可靠 明显增 8 强产品的市场竞争力 3 1 M9020 FNU20 结构 M9020 FNU20 嵌入式工控板主要由 LPC2290 ARM7TDMI 微控制器 程 序存储器 数据存储器 工业级以太网控制器 CS8900A USB 主机控制器和 大容量 NAND Flash 存储器组成 总线通过缓冲保护电路与底板接口以保证微 控制器总线运行不受外界干扰 产品标配可校准的实时时钟和带 256Bytes E PROM 的复位监控电路 3 2 电路设计 完整的 CAN 总线设备由 CAN 控制器 总线收发器以及相应的隔离电路组 成 M9020 FNU20 工控板使用如图 3 1 所示 CAN 接口电路 图中只有 1 路 图中 CTM1050 为隔离 CAN 收发器模块 能确保 CAN 总线在遭受严重干扰时控 制器仍正常工作 图 3 1 接口电路 Fig 3 1 Interface circuit 致远 CTM 系列 CAN 隔离收发模块集电源隔离 电气隔离 CAN 收发 器 CAN 总线保护于一体 模块 TXD RXD 引脚兼容 3 3V 5V 电平连 接 毋需外接其他元器件 直接将 CAN 控制器收发引脚与 CTM 模块的收发 引脚连接即可构成完整的 CAN 设备 9 4 CAN 总线数据通讯接口的软件设计 4 1 初始化设置 CAN 总线操作需要初始化 以创建 CAN 控制器所需要的软硬件资源 并 进行引脚配置等 CAN 初始化函数原型为 void CAN Create INT8U CAN Ch INT16U RxBufSize INT32U BaudRate void pfun 4 2 接收程序 CAN 总线模块有 3 个接收缓冲器 但是 其中总是有一个缓冲器用于监 视总线是否有进入的报文 这个缓冲器叫做报文合成缓冲器 Message Assembly Buffer MAB 因此只有 2 个接收缓冲器可见 RXB0 和 RXB1 基本上可以即时接收来自协议引擎的完整报文 当一个接收缓冲器在接收报文 或保持上次接收到的报文时 CPU 仍可以使用另一个接收缓冲器工作 MAB 保存来自总线的解填充比特流 以允许并行访问整个数据帧或远程 帧 以进行接收匹配测试并将帧并行传输到接收缓冲器 MAB 将组合所有接 收到的报文 这些报文只有在符合接收过滤器标准时才被传送到 RXBn 缓冲 器 当接收到报文时 RXnIF 标志 CiINTF 或 CiINRF 将置位 此 位只有在报文被接收时才被模块置位 该位在 CPU 处理完缓冲器中的报文后 将由 CPU 清零 该位提供的正向锁定功能确保 CPU 已经完成了报文缓冲器的 处理 如果 RXnIE 位 CiINTE或 CiINTE 置位 当接收到报文时将 会产生一个中断 有 2 个与接收缓冲器相关的可编程的接收过滤屏蔽器 两个 缓冲器各有一个 当接收到报文时 FILHIT 位 接收缓冲器 0 的 CiRX0CON和接收缓冲 器 1 的 CiRX1CON 会表明报文的接收标准 除了表明使能接收的接收 过滤屏蔽器个数外 还有一个指出所接收的报文是远程传输请求的状态位 10 图 4 1 接收流程图 Fig 4 1 receive flowchart 11 4 3 发送程序 CAN 模块有三个发送缓冲器 每个缓冲器可容纳 14 字节的数据 其中 的 8 个字节用于存放发送的报文 最大 8 个字节 另外 5 个字节用来存放标 准或扩展报文标识符和其他报文仲裁信息 最后一个字节是与每个报文相关的 控制字节 该字节中的信息决定在何种情况下报文将被发送以及表示报文发送 的状态 TXnIF 位 CiINTF CiINTF或 CiINTF 将被置位 并且 TXREQ 位 CiTXnCON 清零 表明报文缓冲器完成了发送 随后 CPU 把将要发送的报文内容装入报文缓冲器 至少 必须装载标准标识符寄存器 CiTXnSID 如果报文中有数据字节 还应装载 TXBnDm 寄存器 如果报文使 用扩展标识符 CiTXnEID 寄存器和 EID位 CiTXnDLC 会被 加载并置位 TXIDE 位 CiTXnSID 在发送报文前 用户必须初始化 TXnIE 位 CiINTE CiINTE 或 CiINTE 以便在发送报文后使能或禁止中 必须置位 TXREQ 位 CiTXnCON 来开始发送报文 CAN 总线模块解决了由 TXREQ 位与 SOF 时间设置造成的所有时序冲突 确保当优先级改变时 能在发送 SOF 之 前正确解决时序冲突 当 TXREQ 置位时 TXABT CiTXnCON TXLARB CiTXnCON 和 TXERR CiTXnCON 标志位将由模块清 零 置位 TXREQ 位并没有真正开始发送报文 它标志一个报文缓冲器正在排 队以等待发送 当模块检测到总线上有可用的 SOF 时 发送开始 模块然后 开始发送设定为具有最高优先级的报文 如果发送第一次尝试就成功完成 TXREQ 位将清零 如果 TXnIE 位 CiINTE CiINTE和 CiINTE 已经置位 还会产生一个中断 如果报文发送失败 其他的某些状态标志位将被置位 TXREQ 位将保 持置位 表示该报文仍然等待发送 如果报文尝试发送但遇到出错情况 TXERR 位 CiTXnCON 将被置位 在这种情况下 出错情况也可能会 引起中断 如果报文尝试发送但仲裁失败 TXLARB 位 CiTXnCON 将被置位 在这种情况下 没有中断可以表明仲裁失败 12 否 否 是 是 是 是 否 是 是 否 否 是 否 开始 是否任意的 TXREQ 为 都 1 清零 TXABT TXLARB 和 TXERR 是否 CAN 总线可用以开 始发送 是 否 TXREQ 0 且 ABAT 1 检查 TXPRI以确定具 有最高优先级的报文 开始发送 报文是否成功发送 设置 TXERR 1 设置 TXREQ 0 是否 TXNIE 1 设置
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江西省抚州市临川二中、临川二中实验学校2026届化学高一第一学期期末调研模拟试题含解析
- 黑龙江省牡丹江市爱民区牡丹江一中2026届高三上化学期中经典试题含解析
- 2025电梯维护保养合同模板
- 2025年装饰工程合同范文
- 2025宠物用品批发合同
- 2025技术服务合同版:全面升级的合作协议
- 19 巧妙地编织教学设计-2025-2026学年小学美术沪教版二年级下册-沪教版
- 2025关于技术研发外包合同的范本
- 二年级上美术教学设计(B)-洒水成画-湘美版
- 《习作:我们眼中的缤纷世界》教学设计-2024-2025学年语文三年级上册统编版
- 高耗能落后机电设备淘汰目录
- 维修空调合同模板7篇
- 旋风除尘器设计计算
- 在线网课知慧《国际商务(双语)(吉林财大)》单元测试考核答案
- 新产品开发计划书
- 创新管理及其实施策略
- 中药贴敷在骨折康复中的临床应用
- 母婴护理讲师如何讲好课件
- 基于核心素养视角下的小学数学方程教学策略研究
- 高速公路机电养护技术要求
- 向榜样学习 争做新时代好少年主题班会
评论
0/150
提交评论