智能传感器的CAN总线接口设计
- 格式:pdf
- 大小:114.18 KB
- 文档页数:9
基于Can总线瓦斯智能传感器的通信应用研究[摘要]目前制约煤炭发展的主要问题是煤矿安全问题。
而瓦斯事故又是煤矿安全中的重中之重。
煤矿瓦斯气体监测的系统是保证煤矿生产安全的必备设备,本文针对矿井瓦斯监控的特点,分析了当前流行的现场总线特点,提出基于can总线煤矿瓦斯气体监测的网络系统。
着重介绍智能传感器的中央处理单元所用单片机为at89s51作为can总线煤矿瓦斯智能节点,研究设计can总线通信接口与智能节点的接口设计等。
通过研究设计表明智能节点具有简单明了、体积小、性能高、成本低廉、抗干扰能力强等特点,能够满足煤矿瓦斯气体监测的网络系统要求。
[关键词]传感器;can总线;网桥;单片机现场总线是应用于过程自动化和制造自动化中的,实现现场智能化设备与高层设备之间互联的,全数字、串行、双向的通信网络,通过该技术可以实现跨网络的分布式控制。
现场总线是当今自动化领域发展的热点之一,被誉为自动化领域的计算机局域网,其作为工业数据通信网络的基础,沟通了生产过程现场设备之间及其与更高控制管理层之间的联系。
现场总线不仅是一个基层网络,而且还是一种开放式、新型全分布式的控制系统。
现场总线是以智能传感器、控制、计算机、数据通信等为主要内容的综合技术具有节省硬件数量和投资、节省安装费用、节省维护开销、使用户具有高度的系统集成主动权以及提高了系统的准确性和可靠性等优点。
所以其受到世界范围的关注而成为自动化技术发展的热点,并将导致自动化系统结构与设备的深刻变革。
目前,现场总线种类众多而且没有统一的标准,根据瓦斯监测监控系统要求,在众多现场总线中,以下几种比较适合矿井应用:(1)rs-485总线rs-485总线协议是目前工业现场常用的总线之一。
该总线数据信号采用差分传输方式,最大传输距离约为1.2km(速率100kb/s),最大传输速率为10mb/s。
rs-485工作模式为半双工,同一时刻总线上只能有一个节点发送数据,不能实现多主结构,如果有两个以上节点同时发送数据,总线将会因“短路”而出现问题。
基于CAN总线的温度控制系统前言CAN (Controller Area Network) 总线又称控制器局域网是Bosch 公司, 在现代汽车技术中领先推出的一种多主机局部网由于其卓越的性能极高的可靠性独特灵活的设计和低廉的价格现,已广泛应用于工业现场控制智能大厦小区安防交通工具医疗仪器环境监控等众多领域CAN, 已被公认为几种最有前途的现场总线之一CAN。
总线规范已被ISO 国际标准组织制订为国际标准,CAN 协议也是建立在国际标准组织的开放系统互连参考模型基础上的,主要工作在数据链路层和物理层。
用户可在其基础上开发适合系统实际需要的应用层通信协议,但由于CAN 总线极高的可靠性从而使应用层通信协议得以大大简化。
CAN总线的物理层是将ECU连接至总线的驱动电路。
ECU的总数将受限于总线上的电气负荷。
物理层定义了物理数据在总线上各节点间的传输过程,主要是连接介质、线路电气特性、数据的编码/解码、位定时和同步的实施标准。
控制器局域网CAN是目前为止被批准为国际标准的少数现场总线之一。
CAN 网络可以采用多主方式工作。
它采用非破坏性的总线仲裁技术,其控制和信号传输采用短帧结构,因而具有低耦合性和较强的抗干扰能力。
它的传输介质可以是双绞线、同轴光纤或电缆,选择十分灵活;每帧信息都有CRC校验及其它检错措施,因此数据出错率极低,可靠性较高;当其传输的信息出错严重时,节点可以自动断开与总线的联系,以使其总线上其它的操作不受影响。
虽然目前USB、PCI等总线技术得到了快速发展,但是在大量应用的测试微机及工控机中,用的最多的还是ISA总线。
ISA总线具有16位数据宽度,其最高工作频率为8MHz,数据传输速率可达到16MB/s,地址总线有24条,可寻址16MB 的地址单元,其总线信号分为5类,分别为数据线、控制线、地址线、电源线和时钟线。
控制器局域网CAN属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络。
1 引言can(controller area network)即控制器局域网络,最初是由德国bosch公司为解决汽车监控系统中的自动化系统集成而设计的数字信号通信协议,属于总线式串行通信网络。
由于can总线自身的特点,其应用领域由汽车行业扩展到过程控制、机械制造、机器人和楼宇自动化等领域,被公认为最有发展前景的现场总线之一。
can总线系统网络拓扑结构采用总线式结构,其结构简单、成本低,并且采用无源抽头连接,系统可靠性高。
本设计在保证系统可靠工作和降低成本的条件下,具有通用性、实时性和可扩展性等持点。
2 系统总体方案设计整个can网络由上位机(上位机也是网络节点)和各网络节点组成(见图1)。
上位机采用工控机或通用计算机,它不仅可以使用普通pc机的丰富软件,而且采用了许多保护措施,保证了安全可靠的运行,工控机特别适合于工业控制环境恶劣条件下的使用。
上位机通过can总线适配卡与各网络节点进行信息交换,负责对整个系统进行监控和给下位机发送各种操作控制命令和设定参数。
网络节点由传感器接口、下位机、can控制器和can收发器组成,通过can收发器与总线相连,接收上位机的设置和命令。
传感器接口把采集到的现场信号经过网络节点处理后,由can收发器经由can总线与上位机进行数据交换,上位机对传感器检测到的现场信号做进一步分析、处理或存储,完成系统的在线检测,计算机分析与控制。
本设计can总线传输介质采用双绞线。
图 1 can总线网络系统结构3 can总线智能网络节点硬件设计本文给出以arm7tdmi内核philips公司的lpc2119芯片作为核心构成的智能节点电路设计。
该智能节点的电路原理图如图2所示。
该智能节点的设计在保证系统可靠工作和降低成本的条件下,具有通用性、实时性和可扩展性等特点,下面分别对电路的各部分做进一步的说明。
图2 can总线智能网络点3.1 lpc2119处理器特点lpc2119是philips公司推出的一款高性价比很处理器。
CAN总线应用简介CAN,全称为“Controller Area Network”,即控制器局域网,采用串行通信,是国际上应用最广泛的现场总线之一。
CAN总线最早在1986年由德国Bosch公司最先提出,使用CAN连接发动机控制单元、传感器、防刹车系统等,解决日益复杂的汽车电子装置之间的连线问题,其传输速度可达1Mb/s,能有效地支持具有很高安全等级的分布实时控制。
一、CAN总线技术规范1、CAN通信模型CAN技术规范(CAN-bus规范V2.0版本)的目的是为了在任何两个CAN 仪器之间建立兼容性。
为了兼容CAN2.0,要求CAN的仪器应兼容A部分或B 部分。
CAN-bus规范V2.0版本由两部分组成:(1)A部分在这部分中,CAN的报文格式说明按CAN1.2规范定义。
为了达到设计透明度以及实现柔韧性,CAN被细分为以下层次:对象层、传输层、物理层。
物理层定义不同节点间的信号根据电气属性进行位信息的传输方法。
同一网络内,物理层对于所有的节点必须是相同的。
A部分没有定义物理层,以便允许根据实际应用,对发送媒体和信号电平进行优化。
传输层是CAN协议的核心。
她把接收到的报文提供给对象层,以及接收来自对象层的报文。
传输层负责位定时及同步、报文分帧、仲裁、应答、错误检测和标定、故障界定。
对象层的功能是报文过滤以及状态和报文的处理。
CAN节点的层结构及其开发系统互联模型OSI之间的对应关系如图所示。
(2)B部分B部分包含了报文标准格式和扩展格式的说明。
B部分的目的是定义数据链路层中MAC子层和一小部分LLC子层,以及定义CAN协议于周围各层当中所发挥的作用。
根据ISO/OSI参考模型,CAN被细分为数据链路层和物理层。
CAN总线的层结构及其与开发系统互联模型OSI之间的对应关系如图所示。
物理层定义信号是如何实际地传输的,因此涉及位时间、位编码、同步的解释。
B部分没有定义物理层的驱动器/接收器特性,以便允许根据它们的应用,对发送媒体和信号电平进行优化。
汽车CAN总线详解概述CAN(Controller Area Network)总线协议是由 BOSCH 发明的一种基于消息广播模式的串行通信总线,它起初用于实现汽车内ECU之间可靠的通信,后因其简单实用可靠等特点,而广泛应用于工业自动化、船舶、医疗等其它领域。
相比于其它网络类型,如局域网(LAN, Local Area Network)、广域网(WAN, Wide Area Network)和个人网(PAN, Personal Area Network)等,CAN 更加适合应用于现场控制领域,因此得名。
CAN总线是一种多主控(Multi-Master)的总线系统,它不同于USB或以太网等传统总线系统是在总线控制器的协调下,实现A节点到B节点大量数据的传输,CAN网络的消息是广播式的,亦即在同一时刻网络上所有节点侦测的数据是一致的,因此比较适合传输诸如控制、温度、转速等短消息。
CAN起初由BOSCH提出,后经ISO组织确认为国际标准,根据特性差异又分不同子标准。
CAN国际标准只涉及到 OSI(开放式通信系统参考模型)的物理层和数据链路层。
上层协议是在CAN标准基础上定义的应用层,市场上有不同的应用层标准。
发展历史1983年,BOSCH开始着手开发CAN总线;1986年,在SAE会议上,CAN总线正式发布;1987年,Intel和Philips推出第一款CAN控制器芯片;1991年,奔驰500E 是世界上第一款基于CAN总线系统的量产车型;1991年,Bosch发布CAN 2.0标准,分 CAN 2.0A (11位标识符)和 CAN 2.0B (29位标识符);1993年,ISO发布CAN总线标准(ISO 11898),随后该标准主要有三部分:ISO 11898-1:数据链路层协议ISO 11898-2:高速CAN总线物理层协议ISO 11898-3:低速CAN总线物理层协议注意:ISO 11898-2和ISO 11898-3物理层协议不属于BOSCH CAN 2.0标准。
手把手教你设计CAN总线系列讲座(2)—CAN总线智能节点的设计在远程测控系统中,都要通过传感器或其他测量装置获取环境或相关的输入参数,传送到处理器,经过一定的算法,做出相应的控制决策,启动执行机构对系统进行控制,基于CAN总线的测控系统将单个测控设备变成网络节点,将控制系统中所需的基本控制、运行参数修改、报警、显示和监控等功能分散到各个远程节点中。
因此总线上的节点应该具有总线通信功能和测控功能,这必然离不开微处理器。
我们把具有这类功能的节点叫智能节点。
1 CAN网络节点结构和SJA1000的应用结构图一般把每个CAN模块分成不同的功能块。
这里以分布式恒温控制节点构成的CAN图1 CAN总线控制网络结构图控制网络为例(如图1所示),分析一下基于CAN总线的分布式网络节点的结构。
CAN节点由微处理器、CAN控制器SJA1000、光耦6N137模块和CAN驱动器82C50构成。
CAN控制器SJA1000执行在CAN规范里规定的完整的CAN协议,用于报文的缓冲和验收过滤,负责与微控制器进行状态、控制和命令等信息交换;在SJA1000下层是CAN收发器PCA82C50,它为CAN控制器和总线接口,它控制从CAN控制器到总线物理层或相反的逻辑电平信号,提供对总线的差动发送和对CAN控制器的差动接收功能。
光耦6N137起隔离作用。
图2 SJA1000的结构图所有这些CAN模块都由微处理器控制,它负责执行应用的功能,负责控制执行器(比如加热设备)、读传感器(比如温度)和处理人机接口。
如图2是SJA1000的应用结构图。
在CAN规范里,CAN核心模块控制CAN帧的发送和接收。
接口管理逻辑负责连接外部微处理器,该控制器可以是单片机、DSP或其他器件。
经过SJA1000复用的地址/数据总线访问寄存器和控制读写选通信号。
SJA1000的发送缓冲器能够存储一个完整的报文(扩展的或标准的)。
当微处理器初始化发送接口管理逻辑,CAN核心模块就会从发送缓冲器读CAN报文。
基于单片机的智能传感器CAN总线接口硬件设计随着智能化技术的不断发展,人们越来越关注智能系统的搭建,传感器技术的应用也越来越广泛,单片机技术更是在这个背景下广受关注。
在实现智能传感器的联网和信息处理方面,CAN总线作为一种主要网络协议,已经被广泛应用。
在这种情况下,智能传感器必须具有相应的CAN总线接口设计。
本文将介绍基于单片机的智能传感器CAN总线接口硬件设计。
1、 CAN总线介绍CAN(Controller Area Network)总线是一种串行通信协议,主要用于多个控制节点之间的实时数据传输。
CAN总线的通讯速度高,误码率低,具有自适应性等特点。
CAN总线的应用包括工业控制系统、汽车电子控制系统等。
2、硬件设计原理基于单片机的智能传感器CAN总线接口硬件设计需要根据自己的实际需求进行选择。
以STM32单片机为例,STM32单片机的CAN总线接口包括CAN1和CAN2,这两个接口在硬件电路上都有Rx和Tx引脚和节点电阻。
3、硬件设计流程(1)选择STM32单片机在选取单片机的时候,需要根据实际应用场景来选择。
STM32单片机有许多系列,每个系列又有不同的型号,不同型号的单片机内置了不同的外设,需要根据实际需求进行选择。
同时,要根据芯片性价比、性能、功耗等因素进行考虑。
(2)CAN总线选择在硬件设计中,需要选择CAN总线芯片,这个芯片需要支持CAN2.0A和CAN2.0B协议,并且需要支持高速通讯。
同时,要注意芯片的封装和额定工作温度等特性。
(3) CAN总线硬件连接在硬件连接中,需要将CAN总线芯片的Rx和Tx引脚和单片机的CAN1或CAN2接口相连,同时还需添加适当的电流限制电阻和终端电阻。
(4) CAN总线软件调试最后,需要对硬件电路进行软件调试,包括使用标准的CAN总线协议进行通信、CAN总线的数据传输、接收和发送数据、调试CAN中断等。
4、总结基于单片机的智能传感器CAN总线接口硬件设计需要根据实际需求进行选择,在硬件设计中需要选择合适的单片机、CAN总线芯片,并进行正确的硬件连接。
智能传感器的CAN总线接口设计智能传感器的CAN总线接口设计引言测控系统离不开传感器。
由于各种传感器的工作原理不同,其最终输出的电量形式各不相同。
即使同一类传感器,其灵敏度、测量范围不同,相同电信号代表的物理量也不尽相同。
因此,传统的测控系统,必须对系统中的每一个传感器进行配置,传感器类型、灵敏度、测量范围等的细微改变都将导致系统(主要是软件和部分硬件)的重新设置。
若要增/减传感器,以改变测控系统的规模,则需对整个系统(软件、硬件及布线)。
进行重新配置。
这无疑极大地限制了测控系统的灵活性,制约了测控系统的扩展性。
CAN的通信硬件接口简单,通信线少,通信介质可以为双绞线、同轴电缆或者光缆。
将测控系统配置为CAN总线结构,将目前广泛应用的各种模拟传感器,配以CAN总线接口,使之成为CAN总线上的一个智能节点,即易于实现传感器的即插即用,也提高了测控系统的灵活性和可扩展性。
1传感器/CAN智能接口系统构成传感器/CAN智能接口的作用主要有两点:一是控制传感器的信号调理,将传感器的输出模拟信号转换为数字量,并进行相应的处理,形成可发送的CAN报文信息;二是控制CAN驱动器,收/发CAN总线上的报文信息,并执行相应的智能控制。
智能接口系统构成。
针对大多数模拟传感器输出信号较弱的特点,接口首先对传感器信号进行一级放大和滤波的预处理,预处理后的传感器信号幅度在200mV左右,单端输出。
此后对该信号的处理完全由基于SOC技术的混合信号微处理器C8051F041自动完成,如信号的程控放大、信号的零点校准、信号的A/D变换、信号的数字滤波以及CAN报文的形成和收发控制等;C8051F041是该接口的核心,它不仅完成传感器信号到CAN报文的转换;更通过对传感器信号调理的智能控制和对CAN应用层的编程,实现传感器的即插即用。
2传感器信号调理考虑到绝大多数传感器信号较弱,且包含大量的噪声信号,因此需首先对传感器输出的模拟信号进行必要的调理,信号调理由信号预处理电路结合S0c中的模拟外设实现,。
在此,信号调理主要对传感器信号进行了必要的滤波、放大和零点校准。
2.1传感器信号的滤波处理考虑到日益恶劣的电磁干扰环境,对传感器信号的滤波分两级实现:终级为利用SoC中的高速MCU对采集的信号进行数字滤波(不在此讨论);初级则是由信号预处理电路中R1、R2、C1、C2、C3,组成抗射频干扰滤波器来实现,。
当不考虑C3时,R1、C1和R2、C2就构成了传感器两输出端至仪用放大器两输入端之间的两低通滤波器,时间常数t1=R1·C1;t2=R2·C2。
由于无论是传感器至AD623之间的自然连线等效形成的t1和t2,还是人为设计的低通滤波器的t1和t2,都不能使RC完全匹配相等,即t1≠t2;△t=t1-t2≠0。
这样耦合到两根连线上的干扰电磁波,即使是同频、同相位、同幅值的共模信号,进入AD623进行放大时也必然出现相位差,并由此导致两输入端之间的幅值差。
当干扰信号频率较低时,由于△t相对干扰信号的周期较小,造成的两输入端之间的幅值差,相对共模部分很小,利用AD623的共模抑制能力,能对干扰信号进行较好地抑制(共模部分被抑制,差分部分影响较小);但当干扰信号频率较高时,则△t相对干扰信号的周期较大,极端情况如两路信号相位差180°时,则同频、同相位、同幅值的共模干扰信号,进入AD623时被合成为两倍幅值的同频差分信号,该差分信号不仅不能被抑制,还被放大器放大,即被混叠到有效信号中,难以消除。
为此,在两低通滤波器之间跨接了电容C3,这样该滤波器的差分带宽为:其中:R=R1=R2,C=C1=C2。
比较(1)(2)两式可以看出,当不接入C3时,滤波器的差分带宽等于共模带宽。
因此,在带宽范围内的共模信号,因RC不完全匹配(△t≠0)引起的幅值差,在带宽范围内,滤波器不能将其滤除。
当接入C3后,如果使C3=10C,则差分带宽比共模带宽降低了20余倍,因此可大量滤除因RC不匹配引起的差分信号。
2.2传感器信号的放大对传感器信号采用两级放大。
第一级用信号预处理电路中的仪用放大器AD623,进行固定增益的信号放大,增益G=100kΩ/R3+1。
可根据传感器信号大小,选择增益(通过选取R3阻值获得),使通过一级放大后的传感器额定输出信号达到200mV左右。
第二级放大,用SOC中的程控放大器(PGA)实现;其可编程增益为0.5、1、2、4、8、16。
理论上使一级放大后的传感器额定输出信号Vg1×16(二级放大最大增益)近似等于ADC的参考电压(实际应用中一般为2/3~3/4参考电压),从而最有效地利用ADC的分辨率。
2.3传感器信号零点的补偿与校准2.3.1根据传感器特性的补偿传感器在工况条件发生变化时,输出信号会有相应的变化,该输出信号的变化与被测物理量无关,即为漂移信号。
当传感器给出相应的特性值时,应设计检测该工况条件的传感器,实时监测传感器的工况条件,利用MCU求得补偿量,进行补偿。
导致传感器零点漂移最常见的特性之一,是温度特性,为补偿因温度变化引起的漂移,特选用了内含温度传感器的SoC——C8051F041。
由于该接口嵌入传感器中,因此其检测到的温度变化△t就是传感器的温度变化,若已知传感器的温度系数为aT(1/℃),则补偿量VTR为:其中YFS为传感器的额定输出。
将该补偿量叠加到传感器信号中,即可消除温漂的影响。
2.3.2根据传感器应用特征的补偿传感器零点信号的漂移,变化是非常缓慢的,在一段时间内的漂移量很小。
当传感器工作于间歇方式且被测物理量的阈值远大于传感器一个工作周期内的漂移量时,则当传感器输出信号小于该阈值时,该输出值即为补偿量,与传感器信号叠加后使输出信号为零。
为使传感器信号与补偿量叠加,利用SOC中的12位DAC()输出一补偿电压VB接一级放大器AD623的参考端(引脚5),则一级放大器输出电压Vout:其中Vc为传感器输出的差分电压信号’b1为一级放大器增益。
当需进行温度补偿时,使VB=VB0+VTB×b1,其中VBO为当前(补偿前)的VB。
将(3)式代入则有:从(6)式中的第2项可见,含有温度漂移的传感器输出信号Vc被修正,温漂被补偿,零点被校准。
当传感器工作于间歇方式,温度补偿后二级放大后输出为V=Vout×b2。
当V小于被测物理量的阈值时,V即为补偿量-V,使其中b2为二级放大器选择的增益,显然再经二级放大后的输出将为0,即零漂被补偿了,零点被自动校准了。
当传感器工作于非间歇方式,或被测物理量的阈值很小,与一个工作周期内的漂移量相当时,则需采用人为的零点校准。
即当传感器处于零点时,发出校准指令,收到指令后,MCU立即将当前二级放大后的电压值V,通过(7)式叠加到信号中,使输出为零,零点被校准。
3信号的A/D变换及定标CAN总线上传送的信息为数字量,为此,选用SoC内部的具有12位分辨率、最高转换速度达到100ksps的SAR ADC0,将模拟量转换为数字量(参见图2)。
该ADC的工作方式与启动方式,将在传感器接入系统后,由主机确定。
定标系数可通过标定传感器获得,即将加载到传感器上的已知被测物理量A,除以此时采集到的数字量N,即定标系数为A/N;也可通过传感器的灵敏度、放大器的增益、ADC的分辨率及参考电压计算获得,但这样得到的定标系数精度稍差。
与定标系数所对应的物理量纲,则在传感器接入CAN总线时,通过向系统主机发送的电子数据表单(Transducer Electronic Data sheet,TEDs),告知系统主机;从而系统主机收到某传感器发来的数字量,就是具有特定物理量纲的被测物理量实际数值。
这样做,第一可减少主机的运算工作量;第二也降低了TEDs的复杂度(只需约定物理量纲,而无需传送定标系数等);第三使接口可灵活地根据传感器信号幅度选择适当的增益,提高小信号的分辨率,此时接口只需自行改变相应的定标系数即可,无需与主机交互变换定标系数。
4CAN应用层协议智能接口利用SoC内嵌的CAN协议控制器外加CAN驱动器,实现CAN报文的收发,系统构成。
内嵌的Silicon Labs CAN协议控制器,符合Bosch规范2.0A(基本CAN)和2.0B(全功能CAN)。
该CAN控制器包含一个CAN控制器核、消息RAM(独立于CIP-51的RAM)、消息处理器和控制寄存器;由于该协议控制器不提供物理层的驱动,为此,外接了一个CAN收发器CTM8251T,将CAN控制器的逻辑电平转换为CAN总线的差分电平。
为实现传感器的即插即用,需对收发的CAN报文内容与格式进行一定的约定,即在CAN应用层上制定相应的协议,以保证测控系统的即插即用。
4.1发送报文的协议由图3可见,该SoC内嵌的消息RAM可保存32个消息对象。
协议将其中的3个消息对象配置为下面介绍的发送消息对象。
4.1.1发送电子数据表单传感器初次接人系统时,须首先向主机申请加入——申请从机ID标识。
申请办法是:传感器一接入系统,立即发送其第1条消息对象,发送的报文为一数据帧,其仲裁域的ID是系统特别约定的“申请ID”。
约定:系统中仅主机对申请ID作出反应,即通过读取该数据帧的8字节数据(该传感器的电子数据表单——TEDs),了解该传感器的类型、特性、编号、物理量纲及数据特征。
主机比较/记录该数据项,并根据其TEDs中类型、特性项,结合系统要求,确定其诸如采样方式、采样周期、是否数字滤波、滤波方式、数据区长度等,并分配给其相应的从机“标识ID”和启动A/D转换的“启动ID”。
传感器TEDs中的编号项,用于区分系统中类型、特性相同的传感器;物理量纲项,用于告知主机该传感器所传数据的实际物理单位,也表征了该被测物理量数值的实际大小;数据特征项,用于表征所传16位数据的特征(BCD码、二进制整数、二进制小数、小数点位置等)。
申请ID,一般可约定采用CAN系统优先级较低的ID,确定后,系统主机将不再将此ID分配给任何CAN节点。
4.1.2发送配置/管理申请传感器可获得主机分配的2个从机标识ID,分别为“标识1ID”和“标识0ID”。