




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录目 录I摘 要iAbstractii前 言1第1章 现场总线与CAN总线51.1 现场总线的概念51.2 CAN总线的概念51.3 CAN总线应用现状及主要特点61.4 CAN总线的分层结构和通信协议71.4.1 CAN总线的分层结构71.4.2 CAN总线的通信协议91.4.3 J1939协议的应用111.5 CAN总线优越性12第2章 CAN总线控制器与收发器概述142.1 CAN控制器SJA1000功能简介142.2 SJA1000验收滤波器的工作原理162.3 CAN收发器PCA82C250功能简介17第3章 CAN总线智能节点硬件203.1 CAN总线系统中的节点203.2 CEPARK CAN总线开发学习板213.3 智能节点硬件电路233.3 STC89C52简介24第4章 CAN总线智能节点软件设计264.1 软件开发环境Keil C51264.2 软件设计-初始化子程序274.3 发送子程序324.4 接收子程序364.5 主程序39第5章 试验结果42结 语45谢 辞46参考文献47附 录48附表1 几种现场总线技术特性的比较48附表2 SJA1000引脚功能49摘 要现场总线技术被誉为自动化领域的局域网,它是计算机技术、通信技术、控制技术的集成。其中,CAN总线以其高性能、高可靠性及其独特的设计越来越受到人们的重视。CAN总线上的节点能接收和发送信息。智能节点通过编程设置工作方式、ID地址、波特率等参数。本文介绍了现场总线的发展背景以及CAN总线的发展背景、主要特点、协议分层以及报文传输等内容,并对CAN总线节点的各组成部分作了较详细的介绍。采用由单片机STC89C52、可编程的CAN通信控制器SJA1000和CAN收发器PCA82C250组成的节点的设计方案。设计了基于CAN总线智能节点的硬件和软件,并对节点的通信系统做了说明。关键词 CAN总线;协议;智能节点;通信AbstractThe fieldbus technology is praised as the LAN of the automatic field, it is integration of computer,communication , control technology. Among them, CAN bus attach importance to by the people more and more with high performance,high dependability and unique design . The node of CAN bus can receive and transmit communication. Intelligent node set up parameter about working,address of ID and baud rate etc through program. This paper introduces development background of field bus and development background,main character, protocol layer and transmitting message of CAN bus ,and includes more detailed introduction to CAN bus every nodal component . Use the SCM STC89C51, CAN Controller SJA1000,PCA82C250 through demonstration and comparison. On the basis of CAN bus,design hardware and software with intelligent node ,and illuminate communication subsystem.Key word CAN bus;Protocol;Intellectual node;Communicatioi前 言近年来,随着信息技术的飞速发展以及控制、计算机、通信、网络等技术的融合,信息交换已经渗透到生产、生活的各个领域。传统的RS-232、RS-485和CCITTV.24通信标准和通信系统已经远远不能满足工业现场的通信需要。以全数字式现场总线为代表的现场控制仪表、设备的互连规范,在全世界范围内兴起1。以现场总线为基础的全数字控制系统,将现有的模拟信号电缆用高容量的现场总线网络代替,从而大大减轻现场信号电缆连接的费用和工作量,提高信号的传输效率、精密度和灵活性2。现场总线是自动化领域发展的热点,是用于现场仪表与控制系统和控制室之间的一种全分散、全数字化、智能、双向、互联、多变量、多点、多站的串行通信系统,被誉为自动化领域的局域网,它是计算机技术、通信技术、控制技术的集成1。现场总线控制系统打破了传统控制系统的结构形式。传统模拟控制系统采用一对一的物理连接,而现场总线控制系统把单个分散的测量控制设备变成网络节点,以现场总线为纽带,将每个网络节点连接成可以相互沟通信息、共同完成自控任务的网络系统和控制系统。现场总线中的传感器、变送器、执行机构均置入微控制器。使它们具备了数字计算和数字通信的能力,信息的传输不再依赖于控制室内的计算机或控制仪表,直接在现场的每个网络节点完成,实现了彻底的分散,有力地推动了测控系统向数字化、网络化、智能化方向发展1、2。作为现场总线之一,CAN总线以其高性能、高可靠性及其独特的设计越来越受到人们的重视,在国外已有很多大公司的产品采用了这一技术。CAN已被公认为几种最有前途的现场总线之一。CAN是英文Controller Area Network的缩写,即控制器局域网络,是一种主要用于各种过程(设备)检测及控制的网络,最初是为汽车的检测、控制系统而设计的。众所周知,现代汽车越来越多的采用电子控制装置来控制如发动机定时、注油以及复杂的加速刹车控制(ASC)、抗锁定刹车系统(ABS)等。但存在由于这些部件及参数的监控需要交换大量的数据,如果采用硬接信号线的方法势必繁琐而且昂贵等一些问题,用传统方法是很难解决的,采用CAN后就能很好的解决这些问题了。CAN总线的规范已被ISO国际标准组织制订为国际标准(ISO11898),得到多个公司的支持,已广泛应用于离散控制领域 3。CAN 总线通信技术是混合动力汽车研发的关键技术之一。混合动力汽车在传统汽车的基础上新增了电机、电池等部件,从而需要对电机控制器、电池管理系统、能源总成控制系统对发动机、电机进行协调控制。混合动力汽车控制系统与各子控制系统的网络通信采用 CAN 总线通信技术。图0-1是车载网络的构想示意,图0-2是CAN总线的应用示例4。图0-1 车载网络的构想示意图 0-2 CAN 的应用示例本次研究并未使用混合动力汽车,而是以混合动力试验台来仿真,但目前我们还在做前期搭建工作。图0-3是基于CAN总线的混合动力试验台的初步方案示意图5。其中惯性飞轮的必要性:l 维持台架系统转速的相对稳定性。 l 避免复杂的加速阻力矩及制动阻力矩的计算,从而提高整个系统的控制精度和响应速度。 l 简化负载电动机的控制图0-3 初步方案示意图图0-4是模块结构和通信示意图。共有四个模块:驾驶室模拟模块、动力总成模块、阻力模拟及控制模块、数据采集模块。驾驶室模拟模块包括:l 输入模块(整车运行信息采集模块:主要的输入量是:车速信息)l 处理模块(驾驶员模拟模块:针对当前车速和目标车速的PID控制器)l 输出模块(整车控制信息输出模块:输出地控制信息包括:车辆启停信号,油门踏板信号,制动踏板信号,离合踏板信号,档位信号) 动力总成模块:l 由发动机、电机、电池等部件及其控制器组成的动力总成机械结构l 由动力CAN总线及整车控制器组成的动力总成控制模块(根据J1939协议及控制策略需求,确定动力CAN的拓扑结构及总线上传递的信息)阻力模拟及控制模块:l 由惯性飞轮模拟车辆加速阻力(根据模拟车辆信息,计算确定飞轮的转动惯量,根据飞轮材料所允许的圆周运动线速度确定飞轮的尺寸)l 电力测功机在其控制模块的控制下模拟除加速阻力之外的其他阻力(建立车辆在行驶和制动工况下的阻力模型,这个阻力模型的输入有:车辆启停信息,车辆重量,车辆速度,车辆迎风面积,制动踏板信号,档位信号,阻力模型的输出是当前状况下车辆所受得阻力值)数据采集模块包括:l 数字信号采集模块(针对CAN总线上传输的数据)l 模拟信号采集模块(针对实验关心的其他参数)目前,混合动力汽车控制系统中,为了便于调试,采用的是点对点的通讯方式,即 HCU 与各个ECU之间的点对点。各个节点所用的CAN控制器与收发器的类型不尽相同。数据通信技术用于混合动力汽车中多个控制器间的数据传输方式,本次试验基于CAN总线。由于通信原理相同,我们将用一个氮氧化物传感器的例子来研究和说明。氮氧化物传感器发送信息到CAN总线上,我们用单片机从CAN总线中采集信息。图 0-4 模块结构和通信示意图第1章 现场总线与CAN总线1.1 现场总线的概念在计算机数据传输中,长期以来使用RS-232和CCITTV.24通信标准,其是低数据速率和点对点的数据传输标准,无能力支持更高层次的计算机之间的功能操作。同时,在复杂或大规模的应用(如工业现场控制或生产自动化领域)中需要使用大量的传感器、执行器和控制器等,它们通常分布在非常广的范围内,如果在最低层上采用传统星型拓扑结构,那么安装成本和介质造价都将非常昂贵;采用流行的LAN组件及环型或总线型拓扑结构,虽然可以减少电缆长度,但是增加的LAN介质及相关硬件和软件又使其系统造价与星型系统相差无几。所以在最低层次上的确需要设计出一种造价低廉而又能经受工业现场环境的通信系统6。随着计算机技术的高速发展,计算机技术尤其是网络技术与控制结合使我们的想象成为可能。现场总线(Fieldbus)应运而生。现场总线是用于过程控制现场仪表与控制室之间的一个标准的、开放的、双向的多站数字通信系统。随着计算机技术、通讯技术、集成电路技术的发展,以全数字式现场总线为代表的互联规范,正在迅猛发展和扩大。由于采用现场总线将使控制系统结构简单,系统安装费用减少并且易于维护;用户可以自由选择不同厂商、不同品牌的现场设备达到最佳的系统集成等一系列的优点,现场总线技术正越来越受到人们的重视。发展现场总线的初衷是建立开放的控制通信网络,其通信协议理应趋于统一,但近十几年由于现场总线的国际标准不能建立,现场总线发展的种类较多,约有40余种:如德国西门子公司Siemens的ProfiBus,法国的FIP,英国的ERA,挪威的FINT等等1。1.2 CAN总线的概念CAN(Controller Area Network,即控制器局域网络)属于现场总线的范畴。它是在20世纪80年代初由德国的BOSCH公司提出,为解决汽车内部的复杂硬信号连接而开发的一种串行通信协议。它是一种多主总线,通信介质可以是双绞线,同轴电缆或光导纤维。目前,其应用范围已不再局限于汽车工业,而向过程控制、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。CAN总线以其独特的设计,低成本、高可靠性、实时性、抗干扰能力强、纠错能力强等特点在测控领域获得广泛应用,成为一种新型的工业控制现场总线方案。但是,CAN芯片只提供了开放系统互连参考模型中的物理层和链路层功能,一般用户必须直接用驱动程序操作链路层,不能直接满足工业控制网络的组态和产品互连的要求,为了以CAN芯片为基础构成完整的工业控制现场总线系统,必须制定相应的应用层协议,实现系统的组态、设备互连和兼容功能。为此1992年在德国成立了“自动化CAN用户和制造商协会”(CiA),开始着手制定自动化CAN应用层协议CANopen。此后,协会成员开发出一系列CANopen产品,在机械制造、铁路、车辆、船舶、制药、食品加工等领域获得大量应用。1993年11月ISO正式颁布了道路交通运输工具、数据信息交换、高速通信控制器局欲网国际标准ISO11898CAN高速应用标准,ISO11519CAN低速应用标准。这为控制器局域网的标准化、规范化铺平了道路。目前CANopen协议已经被提交欧洲标准委员会讨论,作为一种新的工业现场总线标准EN-50325-43。1.3 CAN总线应用现状及主要特点CAN是一种架构开放、广播式的新一代网络通信协议,是类似LAN(Local Operating Network)局域网的新型控制规范。CAN总线具有实时性、高可靠性,被广泛应用于控制系统中的检测和执行机构之间的数据通信,例如汽车刹车防锁死系统、安全气囊等。今天此项通信协议已得到广泛应用,众多厂商制造供应高温度等级、具有高抗干扰能力的低价位CAN芯片,其特色不仅在汽车工业,在工业控制的其他领域更能发挥其强大的能力3。CAN总线是一种多主总线系统,特别适合工业过程监控设备的互连,因此越来越受到工业界重视。而且,CAN具有的完善的通信协议,大大降低了系统开发难度,缩短了开发周期。CAN已被公认为几种最有前途的现场总线之一。CAN总线规范已被ISO国际标准组织制订为国际标准。CAN协议建立在国际标准组织的开放系统互联参考模型基础上,主要工作在数据链路层和物理层。用户可在其基础上开发适合系统实际需要的应用层通信协议。CAN总线有如下特点4:1) 多主控制。在总线空闲时,所有的单元都可开始发送消息(多主控制)。最先访问总线的单元可获得发送权(CSMA/CA 方式)。多个单元同时开始发送时,发送高优先级ID消息的单元可获得发送权。 2) 消息的发送。在CAN协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为 ID)决定优先级。ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。 3) 系统的柔软性。与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。 4) 通信速度。根据整个网络的规模,可设定适合的通信速度。 在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。 5) 远程数据请求。可通过发送“遥控帧” 请求其他单元发送数据。 6) 错误检测功能错误通知功能错误恢复功能。所有的单元都可以检测错误(错误检测功能)。 检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。 正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。 7) 故障封闭。CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。 8) 连接。 CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。 1.4 CAN总线的分层结构和通信协议1.4.1 CAN总线的分层结构CAN协议涵盖了ISO规定的OSI(Open Systems Interconnection,即开放式系统互联)基本参照模型中的传输层、数据链路层及物理层。CAN 协议中关于ISO/OSI 基本参照模型中的传输层、数据链路层及物理层,具体有哪些定义如表1-1所示4。表 1-1 ISO/OSI 基本参照模型CAN总线协议主要描述设备之间的信息传递方式,从结构上可分为3个层次,分别对应OSI标准网络模型的最低两层:数据链路层和物理层。数据链路层的功能是将物理层收到的信号组织成有意义的消息,并提供传送错误控制等传输控制的流程。具体地说,就是消息的帧化、仲裁、应答、错误的检测或报告。数据链路层的功能通常在CAN 控制器的硬件中执行。CAN总线协议层次结构有高到低如表1-2所示。表 1-2 CAN总线协议分层结构协议层对应OSI模型说明LLC数据链路层逻辑链路控制层,用于为链路中的数据传输提供上层控制手段MAC媒体访问控制层,用于控制仲裁、错误界定等数据传输具体实现物理层物理层作用是在不同节点间根据所有的电气属性进行位的实际传输LLC层和MAC层也可以看作是CAN总线数据链路层的两个子层。其中LLC子层的主要功能是:为数据传送和远程数据请求提供服务,确认有LLC子层接收的报文实际已被接收,完成报文滤波、过载通知和恢复管理等工作。在定义目标处理时,存在许多灵活性。MAC子层是CAN协议的核心部分,主要功能是传送规则,亦即控制帧结构、执行仲裁、错误检测、出错标定和故障界定。MAC子层也要确定,为开始一次新的发送,总线是否开放或者是否马上开始发送。位定时性也是MAC子层的一部分。MAC子层不存在修改的灵活性。在物理层定义了信号实际的发送方式、位时序、位的编码方式及同步的步骤。自然,在一个网络中,物理层的所有节点必须是相同的。但在选择物理层时存在很大的灵活性,具体地说,信号电平、通信速度、采样点、驱动器和总线的电气特性、连接器的形态等均未定义(驱动器及总线的电气特性等在博世公司的CAN规格书中没有定义,但在CAN的ISO标准ISO11898、ISO11519-2等中分别定义了总线及驱动器的电气特性等),这些必须根据系统需求由用户自行确定1、2。 表 1-3 CAN协议和标准规格1.4.2 CAN总线的通信协议不仅是ISO、SAE(Society of Automotive Engineers)等组织和团体,企业也对CAN 协议进行了标准化。众多国际知名汽车公司早在20世纪80年代就积极致力于汽车网络技术的研究及应用。迄今已有多种网络标准,如专门用于货车和客车上的SAE的J1939、德国大众的ABUS、博世的CAN、美国商用机器的AutoCAN、ISO的VAN、马自达的PALMNET等。基于CAN的各种标准规格如表1-3所示,面向汽车的通信协议以通信速度为准进行了分类7。在我国的轿车中已基本具有电子控制和网络功能,排放和其他指标达到了一定的要求。但货车和客车在这方面却远未能满足排放法规的要求。因此,为了满足日益严格的排放法规,载货车和客车中也必须引入计算机及控制技术。采用控制器局域网和国际公认标准协议J1939来搭建网络,并完成数据传输,以实现汽车内部电子单元的网络化是一种迫切的需要也是必然的发展趋势8。J1939是一种支持闭环控制的在多个ECU之间高速通信的网络协议。它以CAN2.0为网络核心,主要应用于载货车和客车上。表1-4介绍了CAN2.0的标准和扩展格式,及J1939协议所定义的格式。表1-5则给出了一个J1939协议报文单元的具体格式。可以看出,J1939标识符包括:PRIORTY(优先权位);R(保留位);DP(数据页位);PDU FORMAAT(协议数据单元);PDU SPECIFIC(扩展单元)和SOURCE ADDRESS(源地址)。而报文单元还包括64位的数据场。表 1-4 CAN2.0的标准和扩展格式及J1939协议所定义的格式表 1-5 J1939协议报文单元的具体格式J1939通信中的核心是负责数据传输的传输协议。它的功能分为两部分9:1) 数据的拆分打包和重组:一个J1939的报文单元只有8个字节的数据场。因此如果所要发送的数据超过了8字节,就应该分成几个小的数据包分批发送。数据场的第一个字节从1开始作为报文的序号,后7个字节用来存放数据。所以可以发送2557=1785个字节的数据。报文被接收以后按序号重新组合成原来的数据。2) 连接管理:主要对节点之间连接的建立和关闭,数据的传送进行管理。其中定义了5种帧结构:发送请求帧、发送清除帧、结束应答帧、连接失败帧以及用来全局接收的广播帧。节点之间的连接通过一个节点向目的地址发送一个发送请求帧而建立。在接收发送请求帧以后,节点如果有足够的空间来接收数据并且数据有效,则发送一个发送清除帧,开始数据的传送。如果存储空间不够或者数据无效等原因,节点需要拒绝连接,则发送连接失败帧,连接关闭。如果数据接收全部完成。则节点发送一个结束应答帧,连接关闭。J1939中还定义了参数的具体格式,如标识符、优先级、数据长度、参数的范围等。参数又划分为状态参数和测量参数。状态参数表示具有多态信号的某一种状态,如发动机刹车使能/禁能、巡航控制激活/关闭,扭矩/速度控制超载模式、错误代码等。而测量参数则表示所接收到的信号的值的具体大小,如缸内爆发压力、最大巡航速度、发动机转速等。1.4.3 J1939协议的应用J1939网络层中定义了如何构建网络及连接的功能。网络层的功能包括数据的过滤、重新打包和转发。分别由以下各部分实现10:l 中继器。可以增强数据信号,使数据传输更远的距离。l 网桥。数据的转发和过滤。它可以把网络拆解成网络分支、分割网络数据流,隔离分支中发生的故障,这样就可以减少每个网络分支的数据信息流量而使每个网络更有效,提高整个网络效率。l 路由。可以使网络段具有独立的地址空间不同的数据传输率和媒介。l 网关。可以在不同的协议和数据设置的网段之间传送数据。图0-1为典型的汽车网络连接。J1939包括在线故障诊断功能,由诊断应用层定义。诊断应用层面向以下几方面:l 安全。在数据链路层上定义一个安全的框架,使得符合工业标准的开发工具执行必要的诊断任务。包括获取诊断信息,获取节点配置信息,标定控制模式。但对非开放型的数据加密。l 连接。建立J1939网络节点与开发工具之间的连接。连接器的设计也必须符合J1939协议。l 诊断状态数据支持。提供一系列的数据格式。包括读取出错数据、清除错误数据、监测通信参数、获取节点的配置以及其他的一些信息。l 诊断测试支持。可以使开发工具把各种控制节点放到具体的测试模式中以正确设计子网体系。诊断工具通过连接器与其他节点进行通信以获取诊断数据。因此所有的控制节点都应该具备以下功能:读取诊断故障代码、清除诊断故障代码、获取实时信息。而诊断故障代码记载了出错的参数及所在的节点等主要信息。综上所述,J1939通信协议解决了如下问题11:l 优先权问题。如自动换挡要求减油门,巡航控制同时要求增油,而ASR则要求减油门以维持驱动轴的低扭矩。根据重要程度,则应确定换挡优先,协议能定义各个子系统的优先权顺序。l 灵活性问题。因为各个子系统都是不同类型的控制系统,网络应具备将各个子系统有机地融合在一起的能力。l 可扩展性。即需要增加新的子系统时,不需要对基本系统作修改。l 独立性。每个子系统都可以独立工作,某个子系统出现故障时并不影响其他系统的正工作。l 为满足不同控制系统的要求,应具有高的数据传输速率带宽,具有通用的故障诊断接口诊断协议。l 车辆状态共享。如发动机转速、车速、轮速等数据必须各子系统共享,数据的传输及刷新时间取决于各个子系统的特性,并由此决定优先权。1.5 CAN总线优越性在报文内容简单、通信距离和速率适中的应用场合,基于CAN总线的控制系统比其他现场总线具有明显的优越性。如:较之目前许多RS-485基于R线构建的控制系统,CAN总线在以下方面具有明显的优越性1:1) CAN控制器工作于多主方式,网络中的各节点都可根据总线访问优先级别(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差;2) CAN总线通过CAN控制器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。而在RS-485网络中,当系统有错误,出现多节点同时向总线发送数据时,会导致总线呈现短路,从而损坏某些节点。因个别节点出现问题,会使得总线处于“死锁”状态。3) CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是只仅仅有电气协议的RS-485所无法比拟的。CAN总线与其它几种现场总线比较而言,通信速率高、容易实现、且性价比高、已形成国际标准,并且是最容易实现、价格最为低廉的一种,但性能却毫不逊色。几种现场总线技术特性的比较见附表1。第2章 CAN总线控制器与收发器概述2.1 CAN控制器SJA1000功能简介在网络的层次结构中,数据链路层和物理层是保证通信质量至关重要、不可缺少的部分,也是网络协议中最复杂的部分。CAN控制器就是扮演这个角色,它是以一块可编程芯片上的逻辑电路的组合来实现这些功能,对外它提供与微处理器的物理线路的接口。通过对它的编程,CAN可以设置它的工作方式,控制它的工作状态,进行数据的发送和接收,把应用层建立在它的基础之上。CAN的通信协议主要由CAN控制器完成。CAN控制器主要由实现CAN总线协议的部分和实现与微处理器接口部分的电路组成。对于不同型号的CAN总线通信控制器,实现CAN协议部分电路的结构和功能大多相同,而与微处理器接口部分的结构和方式存在一些差异。这里主要以SJA1000为代表对CAN控制器的功能作一个简单介绍。图 2-1 引脚配置so-28SJA1000是一种独立CAN控制器。它是PHILIPS公司的PCA82C200 CAN控制器的替代产品。SJA1000具有BasicCAN和PeliCAN两种工作方式。PeliCAN工作方式支持具有很多新特性的CAN 2.0B协议12。学习板使用的型号SJA1000T为so-28封装,即塑质小型线外封装,28引脚,外宽7.5mm,如图2-1。SJA1000在软件和引脚上都是与它的前一款PAC82C200独立CAN控制器兼容(引脚功能如附表2所列),在此基础上增加了很多新的功能。为了实现软件兼容,SJA1000采用了两种工作方式:BasicCAN方式(PCA82C200兼容方式)和PeliCAN方式(扩展特性方式)。工作方式通过时钟分频寄存器中的CAN方式位来选择。上电复位默认工作方式是BasicCAN方式。在PeliCAN方式下,SJA1000有一个重新设计的包含很多新功能的寄存器组。SJA1000包含PCA82C200中的所有位,同时增加了一些新的功能位。PeliCAN方式支持CAN2.0B协议规定的所有功能(29位的标识符)。其内部结构如图2-2所示13。图 2-2 SJA1000内部结构框图SJA1000的主要功能如下14:标准结构和扩展结构报文的接收和发送;64字节的接收FIFO;标准和扩展帧格式都具有单/双接收滤波器(含接收屏蔽和接收码寄存器);具有丢失仲裁定位功能的丢失仲裁中断;硬件禁止CLKOUT输出;和PCA82C200独立CAN控制器引脚兼容;和PCA82C200独立CAN控制器电气兼容;PCA82C200模式(即默认的BasicCAN模式);扩展的接收缓冲器(64字节、先进先出FIFO);和CAN2.0B协议兼容(PCA82C200兼容模式中的无源扩展帧);同时支持11位和29位识别码;位速率可达1Mbits/s;PeliCAN模式扩展功能:-可读/写访问的错误计数器-可编程的错误报警限制-最近一次错误代码寄存器-每一个CAN总线错误都可以产生错误中断-具体控制位控制的仲裁丢失中断-单次发送(当发生错误或丢失仲裁时不重发)-只听模式(监听CAN总线,无应答,无错误标志)-支持热插拔(无干扰软件驱动位速率检测)-验收滤波器扩展(4字节代码,4字节屏蔽)-自身信息接收(自接收请求)-24MHz时钟频率-对不同微处理器的接口-可编程的CAN输出驱动器配置-增强的环境温度范围(-40+125)2.2 SJA1000验收滤波器的工作原理在SJA1000验收滤波器的作用下,只有当接收报文中的标识位和验收滤波器预定义的位值相等时,CAN控制器才允许将已接收到的报文存入RXFIFO。SJA1000验收滤波器由4个验收代码寄存器(ACRn)和4个验收屏蔽寄存器(AMRn)组成,与82C200的相比,主要有2个不同点:一是标志符由原来的11位扩展到29位;二是滤波方式由原来的单一方式改为单滤波和双滤波2种方式。要接收的报文的位模式在验收代码寄存器个定义。相应的验收屏蔽寄存器允许定义某些位为“无关”12。有两种不同的过滤模式可由模式寄存器中的位(MOD.3,AFM)选择:1) 单过滤模式(AFM位是1),即由4个验收码寄存器和4个验收屏蔽寄存器组成一个验收滤波器,总线上的信息只有通过了它的验收滤波才予以接收。对于标准帧,11位标志符和RTR位对应,ACR0,ACR1,AMR0,AMR1。其中ACR1和AMR1的低4位未使用。由于标准帧有包括RTR位的12位标志符,故数据场的前2字节也参与滤波。数据1对应ACR3和AMR3。参与滤波的数据将不能作为用户数据使用。对于扩展帧,包括RTR位的30位标志符对应4个验收码寄存器和4个验收屏蔽寄存器,此时ACR3和AMR3的低2位未使用。可见,单滤波方式更适合于扩展帧。2) 双过滤模式(AFM位是2),即由4个验收码寄存器和4个验收屏蔽寄存器定义2个滤波器,接受的信息通过任意一个滤波器即可予以接收。对于标准帧,第一个过滤器包括ACR0,ACR1,AMR0,AMR1,ACR3和AMR3的低4位共20位,包括RTR位的整个标准识别符和信息的第一个数据字节。其中,ACR0和AMR0与ACR1和AMR1的高4位比较标志符;ACR1和AMR1的低4位与ACR3和AMR3的低4位比较第一个数据字节。此时,第一个数据字节也不能作为用户数据使用。第二个过滤器为ACR2,AMR2,和ACR3和AMR3的高4位共12位,比较包括RTR位的整个标准识别符。对于扩展符,ACR0,ACR1,AMRO,AMR1构成第一个滤波器;ACR2,AMR2,ACR3,AMR3构成第二个滤波器。参与滤波的是29位标志符的高16位。2.3 CAN收发器PCA82C250功能简介PCA82C250收发器是CAN协议控制器和物理总线之间的接口,它主要是为汽车中高速通讯(高达1Mbps)应用而设计。该器件对总线提供差动发送能力并对CAN控制器提供差动接收能力,同时还可以大大增强总线的驱动能力。对于CAN控制器及带有CAN总线接口的器件,82C250并不是必须使用的器件,因为大多数CAN控制器均具有灵活的收发接口,并容许总线故障。只是驱动能力一般只容许2030个节点连接在总线上,而82C250支持多达110个节点。利用82C250可方便地在收发器与控制器之间建立光电隔离,以实现总线上各节点间的电气隔离。利用CAN控制器的双相位输出方式,通过设计适当的接口电路,也不难实现人们希望的电源线与CAN通信线的复用。其内部结构框图如图2-315,引脚定义和功能描述如图2-44。图2-3 PCA82C250内部结构框图图2-4 PCA82C250引脚定义和功能描述PCA82C250收发器主要功能特点1:和“ISO11898”标准完全兼容;高速率(可达1Mbit/s);在汽车中,具有抗瞬间干扰、保护总线的能力;斜率控制以降低射频干扰(RFI);差动接收器具有抗宽范围的共模干扰,有很强的抗电磁干扰(EMI)的能力;热保护;对电源和地的短路保护;低电流待机模式;未供电的节点不会干扰总线;至少可挂110个节点;工作温度范围:-40+125。PCA82C250驱动电路内部具有限流电路,可防止发送输出极对电源、地或负载短路。虽然短路出现时功耗增加,但不至于使输出极损坏。若结温超过大约160,则两个发送器输出端极限电流减小,由于发送器是功耗的主要部分,因而限制了芯片的温升。器件的所有其他部分将继续工作。PCA82C250采用双线差分驱动,有助于抑制汽车等恶劣电气环境下的瞬变干扰。如表2-14,CAN节点的通信有三种通信模式:高速模式、斜率控制模式、待机模式。三种模式的选择是通过PCA82C250端子的接法来实现的。高速模式下要求接一个01.8k的电阻到地;斜率控制模式下要求接一个16.5-140k的电阻到地;待机模式下要求Rs接到高电平,至少保证RS的端电压大于0.75Vcc。表 2-1 管脚Rs选择的三种通信模式第3章 CAN总线智能节点硬件3.1 CAN总线系统中的节点节点是控制系统网络上信息的接收和发送站(设备),CAN总线系统中共有两种类型的节点:不带微处理器的非智能节点和带微处理器的智能节点。如由一片P82C150就可以构成一个数字和模拟信号采集的节点,这种节点就是非智能节点;而CAN的智能节点一般有2种实现方式:一、微控制器(单片机)+CAN控制器(控制芯片)+CAN收发器(单片机接口);二、集成CAN控制器的微控制器+CAN收发器。CAN控制器有Philips公司的82c200、SJA1000,Intel公司的82526、82527等。集成了CAN控制器的微控制器也很多,如 Philips公司的P8XC592/598,Intel公司的196CA/CB,TI公司的TMS320LF2407(DSP)等。CAN的收发器有Philips的82c250,TI的SN65HVD230等。这些芯片一般都兼容最新的 CAN2.0A/B协议16。两种方式相比较,后者设计时需专用的开发工具,而前者可以采用通用的单片机仿真器,所以前者在设计时更为灵活方便,用的也更多、更广泛。本课题中,我们采用的是前者,即由通用微控制器、CAN控制器和CAN收发器来组建CAN节点。只要符合CAN总线规范的单元都可以通过CAN接口接入CAN总线,本课题采用的节点模块如图3-16。图3-1 CAN智能节点模块3.2 CEPARK CAN总线开发学习板我们用CEPARK CAN总线开发学习板7来实现智能节点。它采用STC89C51(普通单片机,不带CAN控制器)、SJA1000(CAN控制器)和 PCA82C250(CAN收发器),主要特点是:l 众多功能、人性化设计。独特的外接下载电路,合理的布局让您在操作的时候更得心应手; l 硬件设计模块划分清晰,原理明确,符合正常使用习惯; l 电路简单,安排了最常用最实用的功能电路,接口尽量不复用; l 串口下载、USB 供电,无需专业的下载器;l 无论是程序下载还是仿真调试,让用户在学习中事半功倍,更快的学习和掌握CAN总线;l 标准例程的基础上加配了综合程序,用户可全方位体验代码的学习,了解产品开发的全过程实例;l 专业的技术论坛提供学习交流的平台,技术专家提供技术支持和问题解答。如图3-2,CAN开发板硬件功能和组成部分如下:l 供电方式:采用USB取电,这种方式简单、方便、安全。l MCU复位方式:上电复位和按键复位,两种方式共存。在调试的过程中不用频繁开关电源。l CAN总线通讯模块:采用SJA1000+82C250构成CAN控制器和驱动器,有指示灯显示通讯状态,支持自收发功能,也支持多点通讯组网。l RS232串口通讯模块:采用Max232完成信号转变。可以与PC机通讯;实现在线程序编程;与CAN通信模块组合应用即可实现232与CAN总线转换,而且是双向的。l 无线接口:可以连接RF2401无线通讯模块,学习无线通讯。如果不需要,也可以作为扩展口。l 温度检测模块:采用单总线器件DS18B20进行温度测量,使系统更加接近实际。l 数码管显示模块:有四个数码管组成,可以简单显示收发数据。l 自由按键:有INT0自由按键,您可以采用按键实现主动发送功能,实现人机交互。l 2 个自由指示灯:可以在您调试时指示一些状态,主要起协助调试功能。图3-2 CAN开发板功能图解为了使设计更加灵活,CEPARK CAN开发板将主板和串口下载电路分离,分为CAN总线通讯模块和 RS232串口通讯模块两部分。CAN总线通讯模块采用 STC89C52 为主控芯片,采用 SJA1000+82C250 构成 CAN 控制器和驱动器,有指示灯显示通讯状态,支持自收发功能,也支持多点通讯组网。RS232 串口通讯模块可以与PC机通讯;实现在线程序编程;与CAN通信模块组合应用即可实现232与CAN总线转换,而且是双向的。CEPARK CAN开发板的板载资源丰富、布局合理、操作简单、性能稳定。核心器件是PHILIPS公司生产的SJA1000和PCA82C250以及微控制器。SJA1000是集成的独立CAN控制器,它负责完成CAN总线通信协议的物理层和数据链路层的功能。对于微处理器,它相当于一个存储器I/O映象设备。SJA1000片内有控制寄存器、命令寄存器、状态寄存器、中断寄存器和收、发寄存器等,单片机就是通过读写这些寄存器来实现对SJA1000的控制;芯片的TX0、TX1、RX0、RX1引脚用于与CAN总线的接口。PCA82C250是专门用于CAN总线收发驱动的9脚芯片,TXD、RXD引脚分别发送和接收信号,提供对总线的差动发送能力和对CAN控制器的差动接受能力,完全和“ISO11898”标准兼容;双绞线传输介质分别接至CANH、CANL引脚(必须注意的一点是CANH、CANL之间要加上120的终端匹配电阻)。考虑到现场有各种各样的干扰,在CAN控制器和驱动器之间加了高速光耦隔离器件(6N137)。由于CAN控制器和微控制器内部都有自己的时钟产生电路,为了让两者之间协调,外加晶振在CAN控制器上作为整个系统时钟,并将CAN控制器的时钟输出作为微控制器的时钟输入。SJA1000的中断输出信号接到单片机的INT1中断,通过中断方式实现单片机与CAN控制器的通信,同时为了使CAN控制器和微控制器能同时可靠的复位,外加了手动复位电路。 CAN总线系统中的每一个节点由单片机、CAN控制器、CAN收发器组成。系统的发送过程是:单片机将外围设备或其他节点传送过来的信息处理后,按CAN规范规定的格式将其写入CAN总线上;接收过程是:CAN控制器从CAN总线上自动接收数据,并经过滤后存入CAN接收缓冲区,且向单片机发出中断请求,此时单片机要从CAN接收缓冲区读取要接收的数据或命令。3.3 智能节点硬件电路在工业控制系统中,以及只需实现简单控制的场合,没有大量数据需要处理,为了降低成本,常采用单片机开发CAN节点。如图3-316所示为CAN总线系统智能节点硬件电路原理图,电路主要由四部分所构成:微控制器89C52、独立CAN通信控制器SJA1000、CAN总线收发器82C250和高速光电耦合器6N137。微处理器89C51负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送等通信任务。SJA1000的AD0AD7连接到89C51的P0口连接到89C51的P2.0,P2.0为0的CPU片外存贮器地址可选中SJA1000 CPU通过这些地址可对SJA1000执行相应的读写操作。 为了增强CAN总线节点的抗干扰能力SJA1000的TX0和RXO并不是直接与82C250的TXD和RXD相连,而是通过高速光耦6N137后与82C250相连,这样就很好的实现了总线上各CAN节点间的电气隔离。不过,应该特别说明的一点是光耦部分电路所采用的两个电源VCC和VDD必须完全隔离,否则采用光耦也就失去了意义。电源的完全隔离可采用小功率电源隔离模块或带多5V隔离输出的开关电源模块实现。 这些部分虽然增加了节点的复杂,但是却提高了节点的稳定性和安全性。图 3-3 CAN 总线系统智能节点硬件电路原理图82C250与CAN总线的接口部分也采用了一定的安全和抗干扰措施。82C250的 CANH和CANL引脚各自通过一个5的电阻与CAN总线相连,电阻可起到一定的限流作用,保护82C250免受过流的冲击。CANH和CANL与地之间并联了两个30P的小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力。另外在两根CAN总线接入端与地之间分别反接了一个保护二极管,当CAN总线有较高的负电压时,通过二极管的短路可起到一定的过压保护作用82C250的Rs脚上接有一个斜率电阻,电阻大小可根据总线通讯速度适当调整,一般在16k140k之间17。3.3 STC89C52简介 STC89C52(引脚配置如图3-4)是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供灵活、有效的解
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版摄影师职业发展规划聘用合同范本
- 河北省博野县2025年上半年事业单位公开遴选试题含答案分析
- 2025年度高端医疗设备研发及授权使用合同
- 海南省屯昌县2025年上半年公开招聘村务工作者试题含答案分析
- 2025年版店铺转让附带装修权合同范本
- 2025版速记服务保密正本与知识产权保护合同
- 2025年度城乡统筹发展三旧改造合作开发协议
- 2025版体育产业融资合作保密协议
- 2025年度影视作品宣发推广服务合同
- 2025版石材行业产品质量检测服务合同范本
- 2024年秋季新北师大版一年级上册数学全册教案
- 石料场开采施工方案
- JT-T-155-2021汽车举升机行业标准
- 2024年专业技术人员继续教育公需科目-低碳经济笔试参考题库含答案
- JC-T 564-2000 纤维增强硅酸钙板
- 工艺基础知识培训
- 聚醚型聚氨酯混凝土路面铺装设计与施工技术规范
- 湘科版五年级科学上册全册教案教学设计
- PVC地胶板施工工艺流程图文
- 漳州市消防安全评估报告
- 氢氧化钠应急预案
评论
0/150
提交评论