版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 CAN总线技术及其在船舶监控系统的应用摘 要:在CAN总线通信网络的建设中, CAN总线控制器实现了CAN总线协议的大部分内容。首先介绍了CAN总线的概况,简单介绍了CAN总协议的内容,详细介绍了有限状态自动机的组成特点以及利用有限状态自动机实现CAN总线协议的方法,论述智能测控单元 CAN 通讯接口设计、CAN控制器外围硬件电路和 CAN 通信软件的实现。关键词:CAN总线;CAN总线协议;控制局域网;船舶监控系统; Application of CAN bus technology in ship monitoring System Abstract:In the constructio
2、n of CAN bus communication network, CAN bus controller implements most of the contents of the CAN bus protocol. First introduced the CAN bus, introduces the general agreement of CAN content, introduces the method of characteristics of finite state automata and the use of finite state automata implem
3、entation of CAN bus protocol, discusses the design, implementation intelligent measurement and control unit of CAN communication interface in CAN controller hardware circuit and CAN communication software.Keywords:CAN bus; CAN bus protocol; controller area network; monitoring system for ships;1 前言 1
4、.1 选题目的及意义 CAN即控制器局域网,是世界上得到广泛应用的现场总线之一。由于CAN的基本设计规范要求有高的位速率、高抗电磁干扰性、而且能够检测出产生的任何错误,使得它在汽车工业、航空工业、船舶工业等其他领域也得到了广泛应用。CAN总线规范已被ISO国际标准组织制订为国际标准,CAN总线协议也是建立在国际标准组织的开放系统互连参考模型基础上的,主要工作在数据链路层和物理层。实际的CAN总线网络建设中, CAN总线协议一般都固化在CAN总线控中,SJA10001。文中主要讨论在CAN总线控制器设计中CAN总线协议的实现问题。2 CAN总线协议介绍CAN总线协议主要描述设备之间的信息传递方式
5、,并为任意2个CAN仪器之间建立兼容性,如电气特性和数据转换等方面。2.1 CAN总线的层结构CAN总线中各个层的定义与开放系统互连模型(OSI)相一致。如图1所示, CAN被分为应用层、数据链路层和物理层3层2-3。其中数据链路层又被分为逻辑链路控制子层(LLC)和媒体访问控制子层(MAC),各层之间相互独立且透明。每一层只与另一设备上相同的那一层通讯,而实际的通讯则发生在每一个设备上的相邻的2层,而各个设备之间则只通过物理层的通信介质连接在一起。CAN的规范定义了模型的最下面2层:数据链路层和物理层。应用层协议可以由CAN用户定义成适合特别工业领域的任何方案,如已在工业控制和制造业领域得到
6、广泛应用的标准DeviceNe,t在汽车工业中,许多制造商都拥有他们自己的应用层标准。2.2 CAN总线协议的主要内容CAN总线协议主要定义了数据链路层的MAC子层和LLC子层,其内容主要包括:1)报文竞争总线时的仲裁方式,定义了当2个或2个以上的节点同时开始发送报文时总线访问权获得的问题;2)报文传输规则,定义帧格式、帧类型、接收器与发送器之间的应答、报文校验等;3)错误处理,定义错误的种类、错误的处理方式等;4)故障界定,定义节点的错误状态及错误状态间的转换关系;5)位定时,定义物理层位传输时间片断划分、同步方式以及重新同步方式等。3 CAN 总线在船舶的应用 CAN 在船舶中的应用始于
7、20 世纪 90 年代初。1994 年德国MTU 公司成功地研制了基于 CAN 的 MCS-51 监控系统,开创了CAN 网络船舶系统应用的新纪元。此后,CAN 网络被广泛地用于船舶的远程控制、巡回检测、电站监控以及火灾报警系统中。CAN 网络在船舶控制系统中的成功应用为解决船舶设备级 (传感器、执行器、控制模块)的互联网络通信问题提供了新的数据传输协议,并由 CAN 控制器硬件完成协议的功能和服务。在CAN 网络中,通过一根可同时传输电源和数据信号的总线可将所有满足 CAN 协议的设备挂接,并提供点对点、一点对多点和广播式三种通信方式。针对 CAN 在船舶中的日益广泛应用,美国 国 家 海
8、洋 电 子 协 会 (NMEA,national marine electronsassciation) 扩 展 了 原 有 的 NMEA0813 协 议 , 形 成 了 新 的NMEA2000 协议,为 CAN 网络在船舶中应用制定了统一的标准和接口协议。4 监控系统的基本结构 在一个监控系统中,测量、控制和执行单元是必不可少的。同时,在一个基本的通信网络中,网络硬件和协议控制器也是必需的。典型的基于 CAN 的监控系统结构设计如图 1 所示 在图 1 中,基于 CAN 的监控系统包括以下几个部分: (1)上位 PC 机收集总线上传输的所有信息,对系统的运行状态进行监控,检测所有设备的运行参
9、数的调整及越限时的声光报警等功能。并通过 CAN 接口卡接入网络之中。 (2)智能测控单元(下位机系统)包括智能传感器、智能执行器和智能控制器等,它们被安装在测控现场,用于直接获取现场设备的参数或者执行相应操作和功能。智能测控单元和传统设备相比,区别在于它们本身带有支持 CAN 总线通信协议的 CAN控制器模块。因而,单元 3 不仅可与上位机系统通信,同时也可根据系统设计需要从单元 1 接收数据或者向单元;2 发送数据,实现现场底层设备之间的通信,这点对于某些系统来说是非常重要的。4.1 智能测控单元 CAN 通讯接口设计 智能测控单元主要以 Cygnal 公司出品的 C8051F040 单片
10、机为核心构成。该单片机是完全集成的混合信号系统级芯片(SOC),具有与 MCS-51 完全兼容的指令内核。内部采用流水线结构,机器周期由标准的 12 个系统周期将为 1 个系统周期,峰值性能达到 25MIPS。此外,C8051F040 的内能还集成有 CAN 控制器、高速 A/D 转换器等,可以简化系统设计。C8051F040 集成的是 CAN 控制器,要使 CAN 总线得以运行,还需在单片机上接CAN 收发器,进行电气转换,将逻辑信号转换为平衡差分码。常用的 CAN 收发器为 PHILIPS 公司出品的 PCA82C250、高速TJA1050 等。这里选用的是 PCA82C250,它可以提供
11、对总线的差动发送和接收功能,与 ISO11898 标准完全兼容,有三种不同的工作方式,即高速(最高可达 1Mbps)、斜率控制和待机,可根据实际情况选择。C8051F040 中的 CAN 的工作位速率可达 1Mbps ,实际速率可能受 CAN 总线上所选择的传输数据的物理层的限制。CAN 处理器有 32 个消息对象,可以被配置为发送或接收数据。输入数据、消息对象及其标识掩码存储在 CAN 消息RAM 中。所有数据发送和接收过滤的协议处理全部由 CAN 控制器完成,不需要 CIP-51 干预,这就使得用于 CAN 通信对 CPU干涉最小。该 CAN 控制器是可实现的 Bosch 全功能 CAN
12、模块,完全符合 CAN 规范 2.0A 和 2.0B。CAN 控制器的原理框图如图 2 所示。CAN 核提供移位输出和输入(CANTX 和 CANRX)、消息的串/并转换及其它协议相关的任务(如数据发送和接收过滤)。消息 RAM 可存储 32 个可以在 CAN 网络上接收发送的消息对象。CAN 寄存器和消息处理器为 CAN 寄存器和消息处理器为 CAN 控制器和 CIP-51 之间的数据传送和状态通知提供接口。CIP-51 可以通过特殊寄存器直接或间接访问 CAN 控制器中的 CAN 控制器寄存器(CAN0CN)、CAN 测试寄存器(CAN0TST)和 CAN 状态寄存器(CAN0STA)。其
13、它寄存器必须通过间接索引法访问。4.1.1CAN 控制器外围硬件电路实现为了进一步提高系统的抗干扰能力,在 CAN 控制器引脚CANTX、CANRX 和收发器 PCA82C250 之间并不是直接相连,而是通过高速光耦 6N173 构成的隔离电路后再与 PCA82C250 相连,这样就可以很好的实现总线上各节点的电气隔离。此通信物理层电路图如图 3 所示。在 PCA82C250 与 CAN 总线接口部分也采用了一些安全和抗干扰措施。PCA82C250 的 CANH 和 CANL 引脚各自通过一个5 的电阻与 CAN 总线连接,电阻可以起到一定的限流作用,从而保护 PCA82C250 免受过流的冲
14、击。在 CANH 和 CANL 与地之间各自接一个 30pF 的小电容,可以起到滤除总线上的高频干扰和防电磁辐射的能力。另外,在 CANH 和 CANL 之间并联一个15V 的瞬态电压抑制二极管(TVS),可以保护 PCA82C250 在瞬间高电压情况下而不受损坏。PCA82C250 的 RS 引脚上接有一个下拉电阻,电阻的大小可根据总线速率适当的调整,其值一般在16k-140K 之间,图 3 中选用 47K。C8051F040 工作电压为 2.7V3.6V,其所有 I/O 口允许 5V(极限值 5.8V)输入,但是 I/O 口输出电平为 VDD,而 PCA82C250为 5V 系统,为了能够
15、驱动其工作,在 CANTX 引脚上接一上拉电阻,其值为 4.7K。4.1.2CAN 通信软件实现下位机 CAN 通信部分主要完成的任务是:将检测到的数据传送给上位机或其它下位机节点。同时,上位机可以对下位机的相关参数进行设置。由以上可知,CAN 节点通信主要包括系统初始化、发送程序、接收程序等。在本例中,系统软件采用结构化程序设计方案,使其具有较好的模块性和可移植性.4.1.3系统初始化 系统初始化初始化程序主要完成对所有报文对象的初始化(一般将所有值置零),对 CAN 控制器寄存器 (CAN0CN)、位定时寄存器(BITREG)进行设置,还要对发送报文对象和接收报文对象分别进行初始化。其中,
16、位定时寄存器的设置较为复杂,这里使用外部晶振为 11.0592MHz,CAN 通信速率为 1Mbps。(1)初始化 CAN 控制器的一般步骤为:将 SFRPAGE 寄存器设置为 CAN0_PAGE;将 CAN0CN 寄存器中的 INIT 和 CCE 位设置为 1;设置位定时寄存器和 BRP 扩展寄存器中的时序参数;初始化每个消息对象或将其MsgVal为设置为0(无效);将INIT清零。(2)初始化发送对象的过程包括设置发送消息对象的命令屏蔽寄存器;设置仲裁寄存器;消息发送方向;指明消息长度和帧类型;选择发送消息号。部分代码如下: void init_msg_object_TX (char Ms
17、gNum) SFRPAGE=CAN0_PAGE; CAN0ADR=IF1CMDMSK; / 指向命令掩码寄存器 1 CAN0DAT=0x00B2; / 设为写,除了标识掩码和数据位 CAN0ADR=IF1ARB1; / 指向仲裁寄存器 CAN0DAT=0x0000; / 将仲裁 ID 设为最高优先级 CAN0DAT=0xA000; / 设置消息有效位,没有扩展ID,方向为写 CAN0DAT=0x0088; / 数据长度为 8,数据帧 CAN0ADR=IF1CMDRQST; / 指向命令请求寄存器 CAN0DAT=MsgNum; / 写消息对象号,即对哪个消息对象进行操作 / 36 个 CAN
18、时钟周期后,IF 寄存器中的内容将被移到CAN 存储器的消息对象中 初始化接收对象与发送对象类似,只需要将消息发送方向改为接收即可。 (3)CAN 启动主要包括设置位定时寄存器;设置消息对象的命令屏蔽寄存器;设置CAN允许Init位;开中断即可。代码如下: void start_CAN (void) SFRPAGE=CAN0_PAGE; CAN0CN |=0x41; / 使能 CCE 和 INIT 位 CAN0ADR=BITREG; / 指向位定时寄存器 CAN0DAT=0x2640; / 指向命令掩码寄存器 1 CAN0ADR=IF1CMDMSK; /设置 CAN RAM 为写,写数据字节,
19、置位 TXrqst/NewDat,Clr IntPnd CAN0DAT=0x0087; CAN0ADR=IF2CMDMSK; / 指向命令掩码寄存器 2 CAN0DATL=0x1F;/设置接收:读 CAN RAM,读数据字节 CAN0CN |=0x06; / 全局初始化 IE 和 SIE CAN0CN &=0x41; / 清除 CCE 和 INIT 位 (4)数据发送和接收。配置好以上信息,C8051F040 就可以接收到 CAN 总线上的数据帧,执行相应命令或进行相应的数据处理,将反馈信息送入CAN数据寄存器,告知CAN发送消息号就可以将反馈数据传送到上位机处理。发送程序的部分代码如下:void CAN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《小乌龟看爷爷》课件
- 《电气安全操作技术》课件
- 三年级数学认识分数课件
- 《神经系统的疗养》课件
- 单位管理制度集合大合集人员管理篇十篇
- 单位管理制度汇编大合集人力资源管理十篇
- 中心对称课件
- 单位管理制度分享大全职工管理篇
- 《证据法的基础知识》课件
- 《诊断学》课程标准
- 2024-2025学年人教版八年级上册地理期末测试卷(一)(含答案)
- 统编版(2024新版)七年级上册道德与法治第四单元综合测试卷(含答案)
- 沪教版英语小学六年级上学期期末试题与参考答案(2024-2025学年)
- 北京市海淀区2023-2024学年四年级上学期语文期末试卷
- 混凝土企业安全培训
- 《肿瘤与营养》课件
- 国际政治学概论,宋新宁、陈岳
- 能源行业智能电网与需求响应管理系统方案
- 2024至2030年电子压力计项目投资价值分析报告
- GB/T 44747.1-2024建筑施工机械与设备固定式混凝土布料机第1部分:术语和商业规格
- 地质灾害治理工程竣工报告
评论
0/150
提交评论