基于can总线的多点温度监测及报警系统设计毕业设计(论文)(编辑修改稿)内容摘要:

节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响继续传输数据,有效避免了总线冲突; ③ 采用短帧结构,每一帧的有效字节数为 8 个,数据传输时间短,受干扰的概率低,重新发送的时间短; ④ 每帧数据都有 CRC 校验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境下使用; ⑤ 节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其他操作不受影响; ⑥ 可以点对点,一对多 及广播集中方式传送和接受数据。 ( 2) CAN 总线的优点 : ① 具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点; ② 采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作; ③ 具有优先权和仲裁功能,多个控制模块通过 CAN 控制器挂到 CANbus 上,形成多主机局部网络; ④ 可根据报文的 ID 决定接收或屏蔽该报文; ⑤ 可靠的错误处理和检错机制; ⑥ 发送的信息遭到破坏后,可自动重发; ⑦ 节点在错误严重的情况下具有自动退出总线的功能; ⑧ 报文不包含源地址或目标地址,仅用标志符来指示功能 信息、优先级信息。 CAN 协议简介 CAN 协议的分层结构 CAN 协议分为三层 : 目标层、传输层和物理层 [6]。 主要对应于 ISO(Intermational Standard Organizantion,国际标准化组织 )的 OSI(Open System Interconnertion,开放系统互连 )七层模型中数据链路层的媒体访问控制子层以及物理层的物理信号部分。 目标层和传输层包含所有由 ISO/OSI 模型定义的数据链路层的服务和功能。 由于 CAN 的数据结构简单,又是范围较小的局域网,因此 不需要其他中间层,应用层数据直接取自数据链路层或直接向链路层写数据。 结构层次少有利于系统中实时控制信号的传送。 传 播 媒 体 应用层 有设计者自行定义 … 数据 链路层 物理层 逻辑链路控制子层 LLC 媒体访问控制子层 MAC 物理信号子层 PLS 物理媒体附属子层 PMA 媒体相关接口子层 MDI CAN 控制器 CAN 收发器 CAN 协议 规范 图 CAN 协议的分层结构 CAN 协议的分层结构如图 所示。 PMA 子层和 MDI 子层有多种规范,由不同的组织制定,可应用在不同的领域和场合。 CAN 层的定义与开放系统互连模型( OSI)一致,每一层与另一设备上相同的那一层通讯,实际的通讯发生在每一设备上的相邻的两层,而设备只通过模型物理层的物理介质互连,表 21 中展示了 OSI 开放式互连模 型的各层。 应用层协议可以由 CAN 用户定义成合适特别工业领域的任何方案,已在工业控制和制造业领域得到了广泛应用的标准是 DeviceNet,这是 PLC 和智能传感器设计的,在汽车工业,许多制造商都应用他们的标准。 表 21 OSI 开放系统互连模型 7 应用层 最高层用户软件网络终端等之间用来进行信息交换如 DeviceNet 6 表示层 将两个应用不同数据格式的系统信息转化为能共同理解的格式 5 会话层 依靠低层的通信功能来进行数据的有效传递 4 传输层 两通信节点之间数据传输控制操作如数据重发数据错误修 复 3 网络层 规定了网络连接的建立维持和拆除的协议如:路由和寻址 2 数据 链路层 规定了在介质上传输的数据位的排列和组织如数据校验和帧结构 1 物理层 规定通讯介质的物理特性如电气特性和信号交换的解释 CAN 物理层定义了传输线和硬件的机械、电气和电信号特征及功能。 机械特征包括连接器尺寸、类型等; 电气特性包括最大传输速率、最大传输距离、信号电平状态代表意义等;电信号特征包括对应电平信号的逻辑信号、信号的传输时序、数据采样方式等。 但在 ,而在 ISO11898 标准中的内容更加具体,但没有指明通讯介质的材料,因而用户可以根据自己的需要选择双绞线,同轴电缆或光纤,最常用的就是双绞线。 表 22 CAN 总线长度与传输距离的关系 CAN 总线波特率 任意两节点间的最大距离 1Mbps 40m 500kbps 130m 250kbps 270m 125kbps 530m 100kbps 620m 50kbps 20kbps 10kbps 5kbps 10km CAN 网络的速度取决于总线的长度。 控制器最快能达到 1Mbps,但对总线长度有限制。 对于 50m长的总线,最大波特率是 1Mbps,而对于 150m的总线,波特率约为。 CAN 网络上的任意两个节点之间的最大传输距离与其位速率有关,其对应关系见表 22 所示。 图 总线位的数值表示 CAN 总线上的电平形式中的总线数值为两种互补逻辑数值之一:“显性”或“隐性”。 显性数值表示逻辑“ 0”,而“隐性”数值表示逻辑“ 1”。 “显性”和“隐性”同时发送时,最后总 线数值将显示为“显性”。 在“隐性”状态下, HCANV  和 LCANV  被固定于平均电压电平, difV 近似为 0。 在总线空闲或“隐性”位期间,发送“隐性”状态。 “显性”状态改写“隐性”状态并发送。 总线位的数值表示如图 所示。 (差动传输方式 ) 报文传输及其帧结构 SOF 11 位标示符 仲裁场 控制场 RTR 位 difV difV 隐性位 显性位 隐性位 时间 t HCANV  LCANV  平均电压 U 图 数据帧标准格式中的仲裁场结构 CAN 总线的数据传输由以下 4 个不同的帧类型所表示和控制,它们分别是 [7]: 数据帧:数据帧将数据从发送器传送到接收器。 远程帧:总线单元发出远程帧,请求发送具有相同标识符的数据帧。 错误帧:任何单元检测到总线错误就发出错误帧。 超载帧:超载帧用以在相邻的数据帧或远程帧之间提供附加的延时。 数据帧和远程帧用一个帧空间与前面的帧分开。 以下将逐一对各帧的结构做详细介绍。 CAN 技术规范 中有两种不同的帧格式,标准帧和扩展帧。 不同 之处在于每帧的标识符的长度不同:标准帧的标识符长度为 11 位,而扩展帧的长度则为 29 位。 标准格式和扩展格式的仲裁场格式不同。 在标准格式中,仲裁场由 11 位标识符 ID 和远程发送请求位 RTR 组成。 11 位标识符为 ~ ,如图 所示。 数据帧由 7 个不同的位场组成,即帧起始、仲裁场、控制场、数据场、 CRC 场、应答场和帧结束。 数据场的长度可为 0。 数据帧的结构如表 23 所示。 表 23 数据帧结构 „„ 帧起始 仲裁场 控制场 数据场 CRC 场 ACK 场 帧结束 „„ 帧起始( SOF)标志数据帧和远 程帧的起始,仅由一个显性位构成。 只有在总线处于空闲状态时才允许站开始发送。 所有站都必须同步于首先开始发送的那个站的帧起始前沿。 而在扩展格式中,仲裁场由 29 位标识符、 SRR 位、 IDE 位和 RTR 位组成,标识符为 ~ ,如图 所示。 图 数据帧扩展格式中的仲裁场结构 控制场由 6 位组成。 其结构如图 所示。 图 控制场结构 标准格式的控制场结构和扩展格式的不同。 标准格式里的控制场包括数据长度码 DLC, IDE 位及仲裁场 RTR 18 位标示符 SRR IDE 11 位标示符 SOF 控制场 IDE/r1 r0 DLC3 DLC2 DLC1 DLC0 控制场 数据场 数据长度代码 保留为 仲裁场 保留位 r0;扩展格式里的控制场包括 DLC 和两个保留位 r1 和 r0。 保留位必须发送显性位。 数据长度码指出数据场的字节数目。 数据长度码为 4 位,在控制场中发送。 数据字节的允许数目为 0~ 8。 远程帧由 6 个不同的位场组成:帧起始、仲裁场、控制场、 CRC 场、应答场和帧结束。 与数据帧相反,远程帧的 RTR 位是隐性位。 远程帧不存在数据场, DLC 的数值没有意义,它可以是 0~ 8 中的任何数值,这一数值为对应数据帧的 DLC。 错误帧由两个不同场组成,第一个场由来自各站的错误标志叠加得 到,第二个场是出错界定符。 有两种形式的错误标志,一种是活动错误标志,另一种是认可错误标志。 活动错误标志由 6 个连续的显性位组成,认可错误标志由 6 个连续的隐性位组成。 超载帧包括两个位场:超载标志和超载界定符。 有三种超载条件会导致超载标志的发送:一是要求延迟下一个数据帧或远程帧的内部条件,二是在间歇场的第 1 位和第 2 位检测到显性位,三是如果 CAN 节点在错误界定符或超载界定符的第 8 位(最后一位)采样到一个显性位,节点会发送一个超载帧(不是错误帧)。 超载标志由 6 个显性位组成,所有形式对应于活动错误标志形式。 超载界定符 由 8 个隐性位组成,与出错界定符具有相同的形式。 报文滤波 CAN 总线通过报文滤波技术,可以实现点对点、一点对多点及全局广播等多种数据传送方式 [8]。 报文滤波技术实际是通过屏蔽寄存器和滤波寄存器来实现。 屏蔽寄存器设定需要校验的二进制位,滤波寄存器存储需比较的数值。 对这一概念的理解有助于深刻了解 CAN 协议的原理及其硬件结构,为软件的实现打下基础。 滤波寄存器和屏蔽寄存器决定是否将信息装入接收缓冲区。 信息帧仲裁场的标识符与滤波寄存器中的值比较,如果二者相等,则将信息装入相应的接收缓冲区。 屏蔽寄存器的作用是决定标识 符的哪些位需要与滤波寄存器比较。 如果屏蔽寄存器的每一位为 1,那么这一位会自动接收,无须与滤波寄存器的相应位进行比较。 可见如果信息标识符的高字节为 11001101,屏蔽寄存器值为 00001111,若滤波寄存器的值为11001101 则将数据收入缓冲区。 也就是说满足下列两等式之一,则报文被接收。 ( ~ )≡(~ ) ( ~ )≡ 11111111 屏蔽寄存器和滤波寄存器存放在 CAN 控制器中,其自动识别标识符的功能由硬件实现,但滤波寄存器和屏蔽寄存器的值需要软件设定。 3 基于 CAN 多点温度检测系统的总体设计 系统总体方案设计 温度检测系统有则共同的特点:测量点多、环境复杂、布线分散、现场离监控室远 等。 若采用一般温度传感器采集温度信号,则需要设计信号调理电路、 A/D 转换及相应的接口电 路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。 这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降。 所以多点温度检测系统的设计的关键在于两部分:温度传感器的选择和远程通信的设计。 温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首。 系统采用针对传统温度测温系统测温点少,系统兼容性及扩展性较差的特点,运用分布式通讯的思想。 设计一种可以用于大规模多点温度的检测报警系统。 系统的 主控模块与监控模块之间采用 CAN 总线进行数据传 输 ,从而 成为总线上的监控节点。 系统组成框图如下图。 图 系统组成框图 系统设计的主要器件选择 在粮库、仓库中温度是主要的参数,本设计要求设计温度参数的自动检测系统,该系统由单片机或其它微型 机来完成,并实现显示温度值,当测量到的温度超过用户界限时报警。 目前 CAN 总线已被公认为是最有前途的几种现场总线之一。 因其高性能价格比、实现简单等突出优点深得越来越多的研发人员的青睐 , CAN 控制器有 82C250、SJA1000 及 Intel 82526/82527 等;根据当前市场、开发工具和课题的实际需要,系统的智能节点均选用 ATMEL8 位单片机 AT89S52 为微处理器,并选取 PhiliPs 公司的SJA1000CAN 控制器以及 PCA82C250 总线收发器,主要考虑到 SJA1000 支持,而 82C250 可以支持 110 个 CAN 节点,并且国内市场上 PhiliPs 的产品型号比较多,购买比较方便。 微处理器 AT89S51/52 系列单片机是美国 ATMEL 公司生产的一种低功耗、高性能的片内有4K/8K 快闪可编程 /擦除只读存储器 (FPEROM)的 8 位 COMS 微控制器。 除与 8031 引脚和指令系统完全兼容外,又增加了许多新的功能。 AT89S52 具有 8K 在系统可编程 Flash存储器。 使用高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。 片上 Flash 允许程序存储器在系统可编程,亦 适于常规编程器。 在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵单片机 CAN CAN 单片机 温度传感器 主控模块 监控模块 活、超有效的解决方案。 AT89S52 具有以下标准功能: 8k 字节 Flash, 256 字节 RAM,32 位 I/O 口线,看门狗定时器, 2 个数据指针,三个 16 位定时器 /计数器,一个 6 向量2 级中。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。