毕业设计-CAN总线的智能节点的设计.doc_第1页
毕业设计-CAN总线的智能节点的设计.doc_第2页
毕业设计-CAN总线的智能节点的设计.doc_第3页
毕业设计-CAN总线的智能节点的设计.doc_第4页
毕业设计-CAN总线的智能节点的设计.doc_第5页
免费预览已结束,剩余47页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CAN 总线的智能节点的设计总线的智能节点的设计 摘要摘要 现场总线时连接智能现场设备和自动化系统的数字式 双向传输 多分支 结构的通讯网络 它是计算机技术 通讯技术和控制技术高度综合与集成的产物 是一 种开放式和分布式的新模式 现场总线是当今自动化领域技术发展的热点之一 CAN 控制器局域网 属于现场总线的范畴 是一种有效支持分布式控制和实时控制的 串行通信网络 智能控制是控制理论和技术发展的高级阶段 是一个新兴的并正在迅速 发展的领域 它主要用来解决那些用传统方法难以解决的复杂系统的控制问题 本文采用 CAN 现场总线技术 设计开发了一种分布式控制系统 系统中采用了计算 机 PHILIPS 公司生产的智能 CAN 控制器 SJA1000 以及 CAN 收发器 82C250 组成 CAN 的通 讯网络 具有实时监控 实时处理 实时显示 实时控制的功能 以及用 LabWindows CVI 制作的友好的人机界面 能够完全仿真现场工业总线监控系统 系统硬件由三部分组成 分别是 数字开关量输入输出节点 模拟量采集节点 主 机通讯节点 下位机程序采用汇编语言 用 AT89S51 作为微控制器 上位机采用 C 语言 编写充分运用 CVI 的 RS232 库函数进行串口通讯 利用上位机可以监视数字开关量输入 输出节点 模拟量采集节点两个节点的输入输出情况 同时能够对数字开关量输入输出 节点进行输出控制 在通讯方面 本系统定义的 RS23 串口通讯协议以及 CAN 总线应用层通讯协议 可以 进行双向通讯和远程控制 关键词 关键词 现场总线 CAN 分布式控制系统 智能控制 监控系统 1 Abstract Fieldbus at the scene connected smart devices and automated systems for digital two way transmission multi branch structure of the communications network It is computer technology communications technology and control technology and integration of highly integrated product is an open and distributed the new model Fieldbus automation technology is the development of one of the hot spots CAN CAN bus belonging to the scene of the areas is an effective support of distributed control and real time control of the serial communication network Intelligent Control is the control theory and technology advanced stages of development is an emerging and rapidly developing field It is mainly used to resolve those using traditional methods difficult to solve the complex system of control issues In this paper CAN fieldbus technology design and development of a distributed control system The use of a computer system PHILIPS company s intelligent controller SJA1000 CAN CAN transceiver and 82 C250 CAN composition of the communications network with real time monitoring real time processing real time real time control functions and use LabWindows CVI friendly production The man machine interfaces simulation can completely control the scene industrial bus systems System hardware consists of three parts namely the number of input and output switching nodes analog collection points host communication nodes The crew procedures using assembly language with AT89S51 as microcontrollers PC using C language prepared by the full use of the CVI s RS232 serial communication functions Computer use can monitor the number of input and output switching nodes the simulation of the two nodes collection of input and output nodes at the same time be able to input and output of digital switching nodes to control output In communications the system definition of the RS23 serial communication protocol and the application layer CAN bus communication protocol can be two way communication and remote control Key words fieldbus CAN Distributed Control System Intelligent Control Monitoring System 2 目目 录录 绪 论 4 第一章 现场总线 5 1 1 现场总线的概念 5 1 3 现场总线的结构模型 5 1 4 现场总线的特点与优点 6 1 4 1 现场总线系统的特点 6 1 4 2 现场总线的优点 7 1 4 3 本章总结 7 第二章 控制器局域网总线 CAN 8 2 1 CAN 总线技术特点 8 2 2 CAN 总线技术规范 8 2 2 1 CAN 总线的电气特性 9 2 2 2 CAN 总线的分层结构 10 2 2 2 12 2 2 1 数据链路层数据链路层 10 2 2 3 CAN 总线报文传送及其帧结构 11 2 2 4 CAN 总线的通信原理 15 2 2 5 本章总结 17 第三章 CAN 智能测控节点的设计 18 3 1 CAN 智能测控节点总体设计 18 3 2 主控机节点的设计 18 3 3 从机机节点的设计 20 3 4 本章总结 20 第四章 CAN 智能测控节点硬件设计 21 4 1 主机节点硬件设计 21 4 1 1 微处理器基本系统 21 4 1 2 CAN 通信接口电路 22 4 1 3 CAN 通信接口电路设计 26 4 1 4 RS 232 通信接口电路 27 4 2 数字开关量节点硬件设计 28 4 3 模拟输入采样节点硬件设计 28 4 3 1 AD0809 的使用 29 4 3 2 AD0809 应用说明 30 4 4 本章总结 31 第五章 系统通讯协议的定义 32 3 5 1 串口通讯协议的定义 32 5 2 CAN 应用层协议的定义 33 5 2 1 信息标志符分配方案 33 5 2 2 信息标志符的结构 33 5 2 3 信息优先权的分配 35 5 3 本章总结 35 第六章 CAN 智能测控节点软件设计 36 6 1 CAN 初始化子程序的设计 36 6 2 CAN 发送接收子程序的设计 37 6 3 主机节点的软件设计 38 6 2 1 主程序 后台程序 的设计 38 6 4 数字输入节点的软件设计 38 6 5 模拟量输入节点的软件设计 40 6 6 本章总结 42 第七章 上位机程序的设计 43 第八章 系统调试 44 8 1 单元电路调试 44 8 1 1 串口通讯电路的调试 44 8 1 2 CAN 通信单元电路调试 44 8 2 上位机控制面板程序的调试 45 8 3 整体调试 45 8 4 本章总结 46 第九章 总结 47 9 1 实现功能 47 9 2 不足之处和改进意见 47 9 3 心得体会 47 参考文献 48 附录 主机节点电路图 49 4 绪绪 论论 CAN 是 Controller Area Network 的缩写 以下称为 CAN 是 ISO 国际标准化的串 行通信协议 在当前的汽车产业中 出于对安全性 舒适性 方便性 低公害 低成本 的要求 各种各样的电子控制系统被开发了出来 由于这些系统之间通信所用的数据类 型及对可靠性的要求不尽相同 由多条总线构成的情况很多 线束的数量也随之增加 为适应 减少线束的数量 通过多个 LAN 进行大量数据的高速通信 的需要 1986 年德国电气商博世公司开发出面向汽车的 CAN 通信协议 此后 CAN 通过 ISO11898 及 ISO11519 进行了标准化 现在在欧洲已是汽车网络的标准协议 现在 CAN 的高性能和可靠性已被认同 并被广泛地应用于工业自动化 船舶 医 疗设备 工业设备等方面 现场总线是当今自动化领域技术发展的热点之一 被誉为自动 化领域的计算机局域网 它的出现为分布式控制系统实现各节点之间实时 可靠的数据 通信提供了强有力的技术支持 CAN 属于现场总线的范畴 它是一种有效支持分布式控制或实时控制的串行通信网络 较之目前许多 RS 485 基于 R 线构建的分布式控制系统而言 基于 CAN 总线的分布式控 制系统在以下方面具有明显的优越性 首先 CAN 控制器工作于多主方式 网络中的各节点都可根据总线访问优先权 取决于 报文标识符 采用无损结构的逐位仲裁的方式竞争向总线发送数据 且 CAN 协议废除了站 地址编码 而代之以对通信数据进行编码 这可使不同的节点同时接收到相同的数据 这些 特点使得 CAN 总线构成的网络各节点之间的数据通信实时性强 并且容易构成冗余结构 提高系统的可靠性和系统的灵活性 而利用 RS 485 只能构成主从式结构系统 通信方式 也只能以主站轮询的方式进行 系统的实时性 可靠性较差 其次 CAN 总线通过 CAN 控制器接口芯片 82C250 的两个输出端 CANH 和 CANL 与物理总 线相连 而 CANH 端的状态只能是高电平或悬浮状态 CANL 端只能是低电平或悬浮状态 这 就保证不会出现象在 RS 485 网络中 当系统有错误 出现多节点同时向总线发送数据时 导致总线呈现短路 从而损坏某些节点的现象 而且 CAN 节点在错误严重的情况下具有自 动关闭输出功能 以使总线上其他节点的操作不受影响 从而保证不会出现象在网络中 因 个别节点出现问题 使得总线处于 死锁 状态 而且 CAN 具有的完善的通信协议可由 CAN 控制器芯片及其接口芯片来实现 从而大大降低系统开发难度 缩短了开发周期 这些 是只仅仅有电气协议的 RS 485 所无法比拟的 另外 与其它现场总线比较而言 CAN 总线是具有通信速率高 容易实现 且性价比高 等诸多特点的一种已形成国际标准的现场总线 5 第一章第一章 现场总线现场总线 1 1 现场总线的概念现场总线的概念 现场总线是应用在生产现场 在微机化测量控制设备之间实现双向串行多节点数字 通信的系统 也被称为开放式 数字化 多点通信的底层控制网络 现场总线技术将专 用微处理器置入传统的测量控制仪表 使它们各自都具有了数字计算和数字通信能力 采用双绞线 电缆和光纤等作为通信介质 把多个测量控制仪表连接成网络系统 并按 公开 规范的通信协议 在位于现场的多个微机化测量控制设备之间以及现场仪表与远 程监控计算机之间 实现数据传输与信息交换 形成各种适应实际需要的自动控制系统 传统的测控自动化系统 采用一对一连线 用电压 电流的模拟信号进行测里控制 或 采用自封闭的集散系统 难以实现设备之间以及系统与外界之间的信息交换 使自动化 系统称为 信息孤岛 现场总线是一种在工业现场环境运行的 性能可靠 造价低廉 的通信系统 可以完成现场自动化设备之间的多点通信 实现底层现场设备之间以及生 产现场与外界的信息交换 现场总线作为过程自动化 制造自动化 楼宇和交通等领域现 场智能设备之间的互连通信网络 沟通了生产过程现场控制设备之间及其与更高控制管 理层网络之间的联系 为彻底打破自动化系统的信息孤岛创造了条件 1 3 现场总线的结构模型现场总线的结构模型 按 ISO International Standardization Organization 一国际标准化组织 的 OSI Open SystemI nterconnection 一开放式系统互联 参考模型的规定 计算机网络结构 分为 7 层 如图 1 一 1 所示 包括物理层 数据链路层 网络层 传输层 会话层 表 示层和应用层 IEC International Electrotechnical Commission 国际电工技术委 员会 定义现场总线的结构模型为 3 层 分别为物理层 数据链路层和应用层 其原因是 在 现场总线实际应用中 不需要选择等功能 传送信息通常也不会提交给高层网络 从实 际需要出发 可以减少层次 但是 现有的传输层不支持广播式或多点式寻址 现有的会 话层和表示层均不具备周期性服务的功能 为此 美国仪表学会制定的 ISA SPSO 现场总 线结构模型规定 增加新的用户层 这样 现场总线结构模型统一为 4 层 即 物理层 数据链路层 应用层和用户层 如图 1 1 所示 两种网络模型之间的对照关系如图 1 1 所 示 6 现场总线模型 4 个层次的任务概况如下 1 物理层 Physical layer 规定了铜导线 无线通信和光纤 传输速率通常分为 低 高速两类 低速 H1 一般不超过 31 25kbps 高速 H2 不超过 I Mbps 或 2 SMbps 2 数据链路层 Data link layer 规定了物理层与应用层之间的接口 如数据结构 从总线上传送数据的规则 传输差错识别处理 噪音检测 多主站使用规范等 该层通 过每帧数据校验来保证信息的正确性 完整性 为应用层透明与可靠的传输和处理做准 备 概括的讲 其主要任务是解决通信过程中数据的链接任务 具体表现在确定总线存 取规则 令牌传送 申请立即响应 总线时间调度等规则 3 应用层 Application layer 提供设备之间及网络要求的数据服务 以对现场控 制进行支持 为给用户提供一个简单的接口 该层大部分工作内容是定义信息语法 传 输信息的方法 网络初始化的管理操作 通过出错统计 控制网络运行并检查有无新站挂 网或老站退出 系统连续询问各可能的站地址以寻找新站 4 用户层 User layer 把数据规格为确定的形式 并用以表达特定的功能或设备 从而能被连接在现场总线网络上的智能端口 设备或仪表 所识别和理解 简言之 用户 层的主要任务是对现场总线设备中数据库信息的互相存取制定统一的规则 定义功能块 提供用户对系统进行组态的语言 现场总线模型中还必须有网络管理部分 其任务是将 上述网络通信协议中的 4 个层次有机的结合在一起 协调的工作 使各层准确的完成通 信和数据交换所赋予的任务 1 4 现场总线的特点与优点现场总线的特点与优点 1 1 4 4 1 1 现场总线系统的特点现场总线系统的特点 系统的开放性 开放是指对相关标准的一致性和公开性 强调对标准的共识与遵从 7 开放系统是指世界上任何遵守相同标准的设备或系统之间都可以互连 通信协议一致公开 各不同厂家的设备之间可实现信息交换 互可操作性和互用性 互可操作性是指实现互连 的设备间和系统间的信息传送与沟通 互用性则是指不同生产厂家的性能类似的设备可 以实现互相替换 现场设备的智能化与自治性 现场总线技术的应用将传感测量 补偿计 算 工程量处理与控制等功能分散到现场设备中完成 仅靠现场设备即可完成自动控制 的基本功能 并可随时诊断设备的运行状态 系统结构的高度分散性 现场总线己构成一 种新的全分散性控制系统的体系结构 从根本上改变了原有 DCS 系统集中与分散相结合 的控制体系 简化了系统结构 提高了可靠性 对现场环境的适应性 工作在生产现场前 端 作为工厂网络底层的现场总线 是专门为现场环境而设计的 可支持双绞线 同轴 电缆 光缆 射频 红外线和电力线等 具有较强的抗干扰能力 能采用两线制实现通 信与供电 并可满足本质安全防爆要求等 1 4 2 现场总线的优点现场总线的优点 节省硬件资源与投资 由于现场总线系统中分散在现场的智能设备能直接执行多种传 感 控制 报替和计算功能 因而可减少变送器的数量 不再需要单独的调节器 计算 单元等 也不在需要 DCS 系统的信号调理 转换 隔离等功能单元及其复杂接线 还可 以用工控 PC 机作为操作站 从而节省了硬件投资 并可减少控制室的占地面积 节省安 装费用 现场总线系统的接线十分简单 一对双纹线或一条电缆上通常可挂多个设备 因 而电缆 端子 槽盒 桥架的用量大大减少 连线设计与接头校对的工作量也大大减少 当需要增加现场控制设备时 无需增设新的电缆 可就近连接在原有的电缆上 既节省 了投资 又减少了设计和安装的工作量 节省维护开销 由于现场控制设备具有自诊断 与简单故障处理的能力 并通过数字通信将相关的诊断维护信息送往控制室 用户可以 查询所有设备的运行 诊断维护信息 以便早期分析故障原因并快速排除 缩短了维护 停工时间 同时由于系统结构简单化 连线简单而减少了维护工作量 1 4 3 本章总结本章总结 本章介绍了现场总线的基本概念 产生发展以及现场总线的结构模型以及其特点 为下文介绍现场总线的一个分支 CANZ 总线作了知识上的准备 CAN 总线作为现场总线 的发展的一个分支 具有现场总线所共有的结构模型以及优点 但又有其独特的应用领 域 8 第二章第二章 控制器局域网总线控制器局域网总线 CAN CAN 2 1 CAN 总线技术特点总线技术特点 CAN 总线 Control Area Network 控制局域网络 最初是由德国 Bosch 公司为汽车内 部的监控系统而设计的 具有物理层 数据链路层和应用层三层协议 CAN 总线专用接口 芯片中以固件形式集成了 CAN 协议的物理层和数据链路层功能 可完成对通信数据的成帧 处理 包括位填充 数据块编码 循环冗余校验 优先级判别等多项工作 CAN 总线播的 形式进行通信 由于采用了许多新技术及独特的设计 与一般的通信总线相比 具有突 出的可靠性 实时性和灵活性 其应用范围目前己不再局限于汽车行业 CAN 现已经形成 国际标准 并已被公认为最有前途的现场总线之一 CAN 具有如一下主要特性 1 CAN 为多主方式工作 网络上任一节点均可在任意时刻主动地向网络上其它节点发送 信息 而不分主从 通信方式灵活 且无需站地址等节点信息利用这一特点可方便 地构成多机备份系统 2 CAN 网络上的节点信息可分为不同的优先级 可满足不同的实时要求 高优先级的数 据最多可在 134 s 内得到传输 3 CAN 采用无破坏性的基于优先权的总线仲裁技术 当多个节点同时向总线发送信息时 优先级较低的节点会主动地退出发送 而最高优先级的节点可不受影响地继续传输数 据 从而大大节省了总线冲突仲裁时间 尤其是在网络负载很重的情况下也不会出现 网络瘫痪情况 4 CAN 只需通过报文滤波即可实现点对点 一点对多点及全局广播等几种方式传输数据 无需专门 调度 5 CAN 的直接通信距离最远可达 l 0km 速率 5kbps 以下 通信速率最高可达 1 Mbps 通信距离最长为 40m 6 CAN 上的节点数主要取决于总线驱动电路 可达 110 个 报文标识符口可达 2032 种 CAN2 OA 而扩展标准 CAN2 0B 的报文标识符几乎不受限制 7 CAN 采用短帧结构 传输时问短 受干扰的概率低 具有极好的检错结果 8 CAN 的每帧信息都有 CRC 校验及其它检错措施 保证了数据出错率极低 9 CAN 的通信介质可以是双绞线 同轴电缆或光纤 选择灵活 10 CAN 节点在错误严重的情况时 具有自动关闭功能 以切断该节点与总线的联系 使 总线上的其它节点及其通信不受影响 抗干扰能力强 可靠性高 2 2 CAN 总线技术规范总线技术规范 由于 CAN 总线在不同领域内的应用和推广 故要求对其通信格式标准化 为此 9 1991 年 9 月 Philips Semiconductors 制定并发布了 CAN 技术规范 Version2 0 该技 术规范包括 A 和 B 两部分 2 OA 给出了 CAN 报文标准格式 2 0B 给出了标准的和扩展 的两种格式 1993 年 11 月 ISO 正式颁布了道路交通运输工具一数据信息交换一高速通信 控制器局域网 CAN 国际标准 ISOI 1898 2 2 1 CAN 总线的电气特性总线的电气特性 CAN 总线的通信线路由两根导线组成 分别为 CAN H 和 CAN L 这两根导线也就是 CAN 网络中的总线 网络中所有的节点都挂接在该总线上 并且都通过这两根导线交换数 据 总线上某一时刻显现的数值山两根导线上电压和的差值表示 该差分 CANL V CANH V 电压可表示 显性 和 隐性 两种互补的逻辑数值 如图 1 2 所示 在 隐性 diff V 状态下 差分电压近似为 Do 显性 状态则大于一个最小阂值 在 CAN 总 diff V diff V 线标准通信协议中规定 显性 表示逻辑 0 而 隐性 则表示逻辑 1 0 当在 总线上存在 显性 位和 隐性 位同时发送时 节点发送驱动电路的设计使得总线数 值表现为 显性 在总线空闲位期间 总线表现 隐性 状态 即逻辑 1 o 显性 状 态改写 隐性 状态启动发送并进行各节点之间的同步 CAN 总线上的数据按位串行传输 其传输速率可高达 1Mbps 在速率为 5Kbps 时传输距离可为达 l0km 在速率为 1 Mbps 时 的传输距离为 40m 当然 挂接在同一条总线上的所有节点都必须采用相同的传输速率 CAN 总线系统内的两个任意节点之间的最大传输距离与位速率有关 两节点间的最大 距离如表 1 一 1 所示 10 2 2 2 2 2 2 CANCAN 总线的分层结构总线的分层结构 CAN 按照开放系统互连 OSI 基本参考模式 IS07498 实现了一种简化的 OSI 模型 它只具有 OSI 七个层次中的两层 数据链路层和物理层 这两层一般固化在专用的 CAN 总 线接口芯片和微处理器中 CAN 总线系统的开发者在软件上主要进行应用层的工作 数据 链路层和物理层的具体结构如图 2 2 所示 2 2 2 12 2 2 1 数据链路层数据链路层 按照 IEEE 802 2 和 802 3 标准 数据链路层又划分为 逻辑链路控制 LLC Logic LinkControl 媒体访问控制 MAC Medium Access Control 在 CAN 技术规范 2 OA 版本中 LLC 和 MAC 子层的服务和功能被描述为 目标层 和 传送层 1 逻辑链路控制 LLC 子层 LLC 子层的主要功能是 帧接收滤波 超载通告和恢复管理 1 帧接收滤波 在 LLC 子层仁开始的帧跃变是独立的 其自身操作与先前的帧跃变无 关 帧内容由标识符命名 标识符并不能指明帧的目的地 但描述数据的含义 每个接 收器通过接收滤波确定此帧与其是否有关 2 超载通告 如果接收器内部条件要求延迟下一个 LLC 数据帧或 LLC 远程帧 则通过 LLC 子层开始发送超载帧 最多可产生两个超载帧 以延迟下一个数据帧或远程帧 3 恢复管理 发送期间 对于丢失仲裁或被错误干扰的帧 LLC 子层具有自动重发送 功能 在发送成功完成前 帧发送服务不被用户认可 2 媒体访问控制 MAC 子层 按照 IEEE 802 3 标准 sac 子层划分为完全独立工作的两个部分 发送部分和接收部 分 如图 2 3 所示 发送部分功能包括 a 发送数据封装 b 发送媒体访问管理 2 接收部分功能包括 a 接收媒体访问管理 b 接收数据卸装 2 2 2 2 2 2 2 2 物理层物理层 按照 IEEE 802 3 LAN 标准规范 物理层又划分为 1 物理媒体附属装置 PMA Physical Medium Attachment 实现总线发送 接收的 功能电路并可提供总线故障检测方法 2 媒体相关接口 MDI Medium Dependent Interface 实现物理媒体与媒体访问单 11 元 MAU Medium Access Unit 之间机械和电气接口 MAU 表示用于偶合节点至发送媒体 的物理层的功能部分 由 PMA 和 MDI 构成 3 物理信令 PLS Physical Signalling 实现与位表示 定时和同步相关的功能 位表示 定时确定了正常位时间 正常位时间二同步段 Tsyncseg 十时间段 Tseg 1 时间段 2 C Tseg2 同步段对应一个系统时钟周期 时间段 1 由补偿传播延迟的时间 段和直接采样点前同步缓冲段组成 决定了定位周期内采样点的位置 一位于时间段 1 的结束 时间段 2 提供采样点上的附加时间以计算后续位电平以及采样点后的直接同步 缓冲段 时间段 1 和时间段 2 由 CAN 控制器的 BTRO 和 BTR1 通过编程决定 CAN 总线的同步也是由物理信令完成的 它将到来沿同其实际位定时进行比较 并通 过同步适配位定时 同步包括硬同步和重同步两种 硬同步仅发生在报文的开始 硬同步后 位时间由每个定时逻辑单元从同步段重新 启动 因此 硬同步强迫引起硬同步的边沿处于重新启动位时间的同步段内 重同步发生在报文位流发送期间 以补偿个别 CAN 控制器振荡频率的变化以及由于 从一个发送器转至另一个发送器引入的变化 重同步的结果是时间段 1 被延长或时间段 2 被缩短 这两个时间段的延长或缩短的总和上限由重同步跳转宽度给定 当引起重同步 沿的相位误差幅值小于或等于重同步跳转宽度编程值时 重同步的作用与硬同步相同 当 相位误差幅值大于重同步跳转宽度 且相位误差为正时 则时间段 1 延长总数为重同步 跳转宽度 当相位误差幅值大于重同步跳转宽度且相位误差为负时 则时间段 2 缩短总数 为重同步跳转宽度 硬同步和重同步是同步的两种形式 它们遵从下列规则 1 在一个位时间内仅允许一种同步 2 只要在先前采样点检测到的数值 先前读的总线数值 不同于边沿后即现的总线数 值 边沿将被用于同步 3 在总线空闲期间 当存在一个 隐性 至 显性 的跳变沿时 则执行一次硬同 步 4 所有履行以上规则 1 和 2 的其他 隐性 至 显性 跳变沿都将被用于重同步 例外情况是 对于具有正相位误差的 隐性 至 显性 的跳变沿 只要 隐性 至 显性 的跳变沿被用于重同步 发送显性位的节点将不执行重同步 2 2 3 CAN 总线报文传送及其帧结构总线报文传送及其帧结构 在进行数据传送时 发出报文的单元称为该报文的发送器 该单元在总线 空闲或丢失仲裁前恒为发送器 如果一个单元不是报文发送器 且总线不处于 空闲状态 则该单元为接收器 对于报文发送器和接收器 报文的实际有效时刻是不同 的 对于发送器而言 如果直到帧结束一直未出错 则对于发送器报文有效 如果报文 12 受损 将允许按照优先权顺序自动重发送 为了能同其它报文进行总线访问竞争 总线 一旦空闲 重发送立即开始 对于接收器而言 如果直到帧结束一直未出错 则对于接 收器报文有效 在 CAN 中报文是以帧为单位进行传送的 在 CAN 技术规范中 规定了总线上传输的 四种帧类型 1 携带数据由发送器至接收器 2 请求发送具有相同标识符的数据帧 3 由检测出总线错误的任何单元发送 4 用于提供当前的和后续的数据帧和远程帧之间的附加延迟 1 1 数据帧数据帧 数据帧由 7 个不同的位场组成 即帧起始 仲裁场 控制场 数据场 CRC 场 ACK 场和帧结束 数据帧组成表 2 1 所示 在 CAN 技术规范 2 OA 中规定了标准数据帧的格式 而在 2 0B 中则规定了两种格 式 标准格式和扩展格式 两种格式的控制场 数据场是有区别的 如表 2 2 和表 2 3 所示 1 帧起始 SOF 标志数据帧和远程帧的起始 它仅由一个 显性 位构成 只有当 总线处于空闲状态时 刁一允许节点开始发送 所有节点必须都同步于首先开始发送的 那个节点的帧起始前沿 2 仲裁场仲裁场在标准格式和扩展格式中是不同的 在标准格式中 仲裁场由 11 位标识符和远程发送请求 RTR 位组成 在扩展格式中 仲裁场由 29 位标识符 替代远程 请求位 SRR 标识位和远程发送请求位 RTR 组成 13 3 控制场控制场由 6 位组成 在标准格式和扩展格式中是不同的 在标准格式中 一帧包括数据长度码 发送 显性 电平的 IDE 位和保留位 R0 在扩展格式中 一帧包括 数据长度码和两个保留位 RI RO 这两个保留位必须发送 显性 电平 数据长度码指 明数据场的字节数目 可由 0 至 8 变化 4 数据场由数据帧中被发送的数据组成 可包括从 0 至 8 个字节 每个字节 8 位 首先发送的是最高有效位二 5 CRC 场包括 CRC 序列和 CRC 界定符 如图 1 3 所示 CRC 界定符 必须是 隐性 6 应答场 1 4 所示 应答场 ACK 为两位 包括应答间隙和应答界定符 如图 在应答场中 发送器送出两个 隐性 位 一个正确地接收到有效报文的接收器 在应答间隙 将此信息通过传送一个 显性 位报告给发送器 所有接收到匹配 CRC 序 列的节点 通过在应答间隙内把 显性 位写入发送器的 隐性 位来报告 应答界定 符是应答场的第二位 并且必须是 隐性 位 因此 应答间隙被两个 隐性 位 ICRC 界定符和应答界定符 包围 7 结束帧每个数据帧和远程帧均由 7 个 隐性 位组成的帧结束标志序列界定 2 2 远程帧远程帧 当一个节点希望接收某些信息时 可以借助于传送一个远程帧启动信息源的数据发 送 远程帧由 6 个位场组成 帧起始 仲裁场 控制场 CRC 场 场和帧结束 远程帧组 成表 2 4 所示 14 与数据帧相反 远程帧的数据场 数据长度码是独立的 RTR 位为 1 总线上为隐 性电平 并且没有它可其它场与数据场相同 3 3 出错帧出错帧 1 错误检测 CAN 的 MAC 子层可以检测位错误 填充错误 CRC 错误 形式错误 应答错误五种错 误 位错误 正在向总线发出一位的节点同时在监测总线 当监测到的位 值与送出的位数值不同时 则检测出位错误 但在仲裁场期间例外 填充错误 在填充方法进行编码的帖场中 出现了第 6 个连续相同的位电平时 则检 测出填充错误 CRC 错误 CRC 序列由发送器的 CRC 计算结果组成 接收器以发送器相同的方法计算 CRC 如果计算结果与接收到的 CRC 序列不相同 则检测出 CRC 错误 形式错误 当固定格式的位场中出现一个或多个非法位时 则检测出形式错误 应答错误 在应答间隙期间 发送器未检测到 显性 位时 则检测出应答错误 2 出错帧组成 当任一节点检测到五种错误中的一种错误 就发出一个出错帧 出错帧由两个场组 成 第一个场由来自各站的错误标志叠加得到 第二个场是出错界定符 如图 1 5 所示 3 错误标志 错误标志有两种形式 一种是活动错误标志 Active error flag 由 6 个连续的 显性 位组成 另一利 是认可错误标志 Passive error flag 由 6 个连续的 隐 性 位组成 一个检测到出错条件的 错误激活 节点通过发送一个活动错误标志进行标注 这一出错标志违背了所有场的填充规则或者破坏了应答场或帧结束场的固定形式 因而 其它站将检测到出错条件并发送出错标志 因此在总线上监控到的 显性 位序列是由 各个节点发送的不同出错标志叠加而成的 该序列的总长度在 6 12 之间变化 一个检测到出错条件的 错误认可 节点试图发送一个认可错误标志进行标注 该 错误认可 节点自认可错误标志为起点 等待 6 个相同极性的连续位 当检测到 6 个 相同位后 认可错误标志完成 15 4 出错界定符 出错界定符包括 8 个 隐性 位 错误标志发送后 每个站都送出 隐性 位 并 监视总线 直至检测到 隐性 位 此后 开始发送剩余的 7 个 隐性 位 4 4 超载帧超载帧 超载帧包括两个位场 超载标志和超载界定符 如图 1 6 所示 导致发送超载标志的超载条件有两个 一是接收器线路在接收下一帧之前 需要更多 的时间处理当前的数据 即接收器未准备好 二是在间歇场的第一和第二位上检测到 显 性 位 由前一个超载条件引起的超载起点在期望间歇场的第一位时间开始 由后面超载 条件引起的超载帧在检测到 显性 位后一位开始 超载标志由 6 个 显性 位组成 破坏了间歇场的固定形式 因此所有其他站都将检测 到一个超载条件 并且由它们的部件开始发送超载标志 超载界定符由山 8 个 隐性 位组成 发送超载标志后 每个节点监视总线 直至 检测到由 显性 到 隐性 位的发送 此时 每个节点完成发送其超载标志 且所有 节点同时开始发送剩余的 7 个 隐性 位 5 5 帧间空间帧间空间 数据帧和远程帧同前述的帧相同 均以称之为 i 帧间空间的位场分隔开 相反 在 超载帧和出错帧前面没有帧间空间 并且多个超载帧前面也不被帧间空间分隔 帧间空间包括间歇场和总线空闲场 对于前面已经发送报文的 错误认可 节点还 有暂停发送场 对于非 错误认可 或己经完成前面报文的接收器 其帧间空间如图 2 8 所示 对于己经完成前面报文发送的 错误认可 节点 间歇场由 3 个 隐性 位为组成 间歇期间 不允许启动发送数据帧或远程帧 仅 起到标注超载条件的作用 总线空闲场周期可为任意长度 此时 总线是开放的 因而任何需要发送的节点均 可访问总线 在其他报文发送期间 暂时被挂起的待发送报文紧随间歇场从第一位开始 发送 此时总线上的 显性 位被理解为帧开始 2 2 4 CAN 总线的通信原理总线的通信原理 通过对上述介绍 下面可以对 CAN 总线的组织和通信过程作一简单归纳 CAN 控制器 16 只能在总线空闲状态期间启动发送过程 总线上的所有的控制器同步于帧起始的前沿 这个过程由硬同步来完成 若有两个或更多的 CAN 控制器同时开始发送 总线访问冲突通过仲裁场发送期间位 仲裁处理方法予以解决 仲裁期间 每个进行发送的 CAN 控制器都将发送的位电平与监 控总线电平进行比较 任何发送一个隐性位而监视到一个显性位电平的 CAN 控制器立即 变成总线上较高优先权报文的接收器 而不破坏总线上的任何信息 每段报文包括一个 唯一的标识符和在报文中含描述数据类型的 RTR 位 标识符和 RTR 位最先发送 标识符 和 RTR 位对应二进制数值最低的报文具有最高的优先权 山于数据帧的 RTR 位为显性电 平 因此数据帧比远程帧具有更高的优先权 对于每个数据帧存在唯一的发送器 从与 其他 CAN 总线控制器兼容性的考虑 禁止使用标识符二进制位模式 ID 1111111XXXX X 表示任意电平位 这样 在 BasicCAN 方式下 可以使用的标识符数目为 2048 16 20320 帧起始 仲裁场 控制场 数据场和 CRC 序列使用位填充技术进行编码 当正 在发送的 CAN 控制器检测到 5 个连续的相同极性的位被发送 一个互补 填充 位被插入 到该发送位流中 当一个正在接收的 CAN 控制器检测到接收的上述五种位场的位流中 具有 5 个相同极性的连续位 它将自动地删除下一个接收 填充 位 删除的填充位电平 必须与先前位相反 否则一个填充错误被检测到并被标注 其余的位场和帧具有固定的形式 因而不使用位填充方法进行编码 解码 当发生位 错误 填充错误 形式错误或应答错误时 检测到出错条件的 CAN 控制器将发送一个出 错标志 出错标志在下一位开始发生 当检测到 CRC 错误时 出错标志在紧跟应答界定 符后的一位开始发送 除非其他一些出错条件的错误标志已经开始发送 出错标志将破 坏位填充或损坏固定形式的位场 位填充法则的破坏将影响检测出错条件的任何 CAN 控 制器 一个检测出错条件的认可型 CAN 控制器将发送一个认可出错标志 认可出错标志不 会中断在不同 CAN 控制器上的当前报文 但这类出错标志可能被其他控制器忽略 检测 到出错条件后 认可型出错 CAN 控制器将等待具有相同极性的 6 个连续位 并在检测到 17 它们时 将它们理解为出错标志 发送出错标志后 每个 CAN 控制器都在监视总线直至 检测到一个显性电平到隐性电平的跳变 此时 每个 CAN 控制器就完成了其出错标志发 送 并且所有 CAN 控制器开始发送 7 个附加的隐性位 辨识数据帧或远程帧报文格式的 方法是所有可检测的错误均可在报文发送时间内被标识 因而使 CAN 控制器很容易组成 对应报文的出错帧 并且初始化被破坏报文的重新发送 如果 CAN 控制器监测到出错帧 固定格式的任何偏离 它将发送一个新的出错帧 一些 CAN 控制器要求借助于发送一个 或更多超载帧来延迟下一个数据帧或远程帧的发送 超载帧的发送必须起始于所等待间 歇场的第一位 在期望的间歇场期间 重新激活位显性位的超载帧的发送应在该事件后 的一个开始 2 2 5 本章总结本章总结 本章作为整个论文的技术核心 对 CAN 总线相关的通讯技术规范作的详细的阐述 主要是包括 CAN2 0 通讯协议 技术规范 涵盖了 CAN 总线通讯中 ISO 标准的物理层以 及数据链路层 由于 CAN 技术协会只对 CAN 总线通讯的以上两个层作了定义 用户层 需要用户根据自己的需要自己定义了 这样给了 CAN 以灵活的应用的机会 通过对本章 的了解 可以有效的指导 CAN 通讯调试中所可能出现的所有问题 对于下文解析 SJA1000CAN 智能控制器中的各种寄存器的状态有指导作用 18 第三章第三章 CANCAN 智能测控节点的设计智能测控节点的设计 3 1 CAN 智能测控节点总体设计智能测控节点总体设计 CAN 智能测控节点具有现场数据采集和控制及 CAN 总线通信功能 它可以通过 CAN 总线通信与监控站和其它 CAN 智能测控节点传送状态和各种参数 并接收来自监控站的 命令和数据来调整和改变控制状态 本设计分三个节点构成智能测控节点系统 分为一 个主节点 两个从节点 系统的总体框图如下图所示 三个节点都带相同的 CAN 通讯模块 CAN 通讯模块如下图所示 3 2 主控机节点的设计主控机节点的设计 主控机系统由单片机最小系统 CAN 总线通信接口 串口通信模块组成 CAN 总线 19 通信接口通过双绞线收发数据 实现和执行器的连通 结构框图如下 其中 CAN 通信模块是本次设计中的核心技术 它负责系统中主控机和执行器之间的 数据通信 单个 CAN 总线节点山单片微型计算机与 CAN 总线控制器和总线驱动器组成 可以通过编程控制 所以称之为智能节点 结构如图 设计中 CAN 通信模块采用了独立式的 CAN 控制器 数据通过对控制器编程写入控制 器芯片的发送缓冲里发送出去 口的节点则负责把数据接收到数据接收缓冲里 再通过 CAN 总线接口和单片机之间的数据总线 传递给单片机进行处理 RS 232 通信接口电路是连接电脑和主控机的通信桥梁 它通过一个 RS 232 电平转 换接口将下位机连接到电脑上 实现上位机和下位机的通信功能 20 3 3 从机机节点的设计从机机节点的设计 从机节点包括两个节点 一是数字开关量输入输出节点 二是模拟量输入节点 前 者功能是采集八位数字开关量并通过双绞线发送到主机 并且执行主机发过来的八路开 关命令 后者是根据从主机传过来的命令采集八路模拟输入量的相应路数并反馈回主机 3 4 本章总结本章总结 本章主要是对系统的初步设计作的大体上的说明 内容包括 CAN 智能测控节点总体 设计 主控机节点的设计 从机机节点的设计 每个节点同时包括相同 CAN 通讯模块 各个节点由于实现的功能不同 附带其他模块也不相同 因此要分别设计 PCB 板 21 第四章第四章 CAN 智能测控节点硬件设计智能测控节点硬件设计 4 1 主机节点硬件设计主机节点硬件设计 4 1 1 微处理器基本系统微处理器基本系统 主控机系统采用了 Atmel 公司生产的 89C52 单片机 它含有 256 字节数据存储器 内置 8K 的电可擦除 FLASH ROM 重复编程 大小满足主控机软件系统设计 所以不必再扩 展程序存储器 CAN 控制器的片选分别用 P2 7 复位电路和晶振电路是 89C52 上作所需 的最简外围电路 微处理器基本系统电路原理图如下 在本系统中 除单片机本身需要复位外 外部扩展的工 0 接口电路等也需要复位 因此需要一个系统的同步复位信号 即单片机复位后 CPU 开始上作时 外部的电路一定 要同时复位好 以保证 CPU 有效地对外部电路进行初始化编程 89C52 的复位端是一个史密特触发输入 高电平有效 而系统中的时钊 接口和 CAN 22 总线接口的复位信号都是低电平有效 在复位电路中 按一下复位开关就使在 RST 端出 现一段时间的高电平 经过 74LS14 的一次反相整形 提供给单片机复位端 再经过一次 反相整形 通过工 ORST 端提供给外部接口电路 外接 22 1184M 晶振和两个 20P 电容组 成系统的时钟电路 4 1 2 CAN 通信接口电路通信接口电路 方案一集成芯片解决方案 集成 CAN 总线接口的单片机很多 有 TI 公司出品的 DSP 芯片 TMS320C2000 系列 Motorola 公司生产的 68HC0 5X4 等 常用的是 Philips 公司生产的 P8xC591 集成芯片 P8xC591 不但集成了 CAN 控制器 还集成了其它相关功能 如 A D 转换 脉宽调制输出 PMWO 看门狗等 方案二独立 CAN 总线控制器 采用 89C 52 微处理器作为系统的控制核心 再扩展 CAN 通信接口 其中 CAN 通信控 制器采用 Philips

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论