CAN-RS485协议转换网关的设计.doc_第1页
CAN-RS485协议转换网关的设计.doc_第2页
CAN-RS485协议转换网关的设计.doc_第3页
CAN-RS485协议转换网关的设计.doc_第4页
CAN-RS485协议转换网关的设计.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

CAN-RS485协议转换网关的设计第一章绪论1.1 课题研究的背景和意义在现代企业中,企业网络将成为连接企业内部各车间、部门,并与外部交流信息的重要基础设施,在市场经济与信息社会中,网络对企业的综合竞争能力起着至关重要的作用。企业的生产线、生产车间、控制室、上层管理部门之间迫切需要信息共享12。在底层的设备控制现场,采用工控机等现场控制设备对生产线的生产过程进行管理。在工控机的通讯中,由于串行通讯方式使用线路少、成本低,而被广泛采用。常用的串行接口标准有RS-232,RS-485等。要实现工控机与现场总线之间的连接,通过工控机就能对以现场总线组网的各生产线设备、仪表进行控制,这就需要设计现场总线到各种串行接口的网关。在生产控制底层之间,虽然现有的各种有影响的现场总线能够在底层与局域网互连,但都局限于某种特定的现场总线。如果监控现场根据需要,就要为每种现场总线提供到监控室的网络布线,而且每种总线由于网络传输介质、传输速度等的不同,这样会造成资源的大量浪费。在现场总线国际标准制定的过程中,共有8种现场总线同时成为IEC现场总线标准的子集,而且还有其它的有影响力的现场总线。可见,多种总线共存的局面在一个很长时间内存在仍是无法避免的。为了适应各种不同现场总线协议,必须实现各种现场总线控制系统的集成。解决的办法之一就是在不同网段之间直接采用网关设备,将它们互连。这样既简化了控制网络结构,减少了工业现场的布线,同时又提高了控制网络的可靠性,为底层的控制网络提供了更大的灵活性。在生产管理层上,随着计算机、网络、通信等技术的发展,信息共享在工业控制领域引起了自动化系统结构的深刻变革。工业现场控制信息不仅要流动于控制层,而且也需要渗透到工厂自动化的各个层次,包括与企业信息网的融合。把现在广泛应用的以太网技术应用到控制网络中,实现企业控制网络与信息网络的无缝连接,实现全厂范围内的信息共享,可以大大提高企业的生产效率。同时可以通过企业信息网与互连网的连接把现场总线通过企业信息网接入互连网,在世界上的任何地方监视并控制这些现场以及现场设备的运行状况和各种参数而不必亲临现场,可以节约大量费用,而且设备供应商也可以通过网络对自己的设备进行维护。把以太网技术应用到工业控制中,实现控制网络和数据网络的融合,成为控制系统结构的一个新的发展方向,不仅可以为企业的生产管理带来很多方便,提高企业的生产效率,而且为控制网络走向全开放性、全分布式的网络结构奠定了坚实的基础。在现场总线和以太网连接的实现上,同样也需要现场总线到以太网的网关。可见,随着控制网络实现功能的越来越复杂,利用现场总线与其它一些总线的互连网关,把现场总线技术融入到企业整个网络系统中,与其它的总线、接口进行无缝连接,有效地解决现场测控网络数据广泛实时共享,实现企业从现场控制层到管理层的全面的无缝信息集成问题,已经成为了一个重要的课题。1.2 网关概述1.2.1 网络互连设备网络互连从通信协议的角度可分为四个层次:在物理层,使用中继器在不同的网段之间复制位信号;在数据链路层,使用网桥在局域网之间存储或转发数据帧;在网络层,使用路由器在不同的网络间存储转发分组信号;在传输层及传输层以上,使用网关进行协议转换,提供更高层次的接口3。网关又被称为网间协议转换器,用以实现不同通信协议的网络之间、包括使用不同网络系统的网络之间的互连。它是一种复杂的互连设备,使处于通信网络上采用不同高层协议的网络仍然互相合作,完成各种分布式应用。由于它在技术上与它所连接的两个网络的具体协议有关,因而用于不同网络间转换的网关是不相同的。目前,根据功能的不同主要有三种网关:(1) 协议网关协议网关通常在使用不同协议的网络区域间做协议转换。在本论文中所研究和讨论的就是这类网关。(2) 应用网关应用网关是在使用不同数据格式间翻译数据的系统。典型的应用网关接收一种格式的输入,将之翻译,然后以新的格式发送。应用网关的输入和输出接口可以是分立的也可以是同一网络连接,如图1.2.1.1所示。(3) 安全网关安全网关是各种技术有趣的融合,具有重要且独特的保护作用,其范围从协议级过滤到十分复杂的应用级过滤。1.2.2工业控制中网关的应用和研究近年来,随着现场总线技术和控制网络技术的兴起,控制系统向着分散化、网络化、智能化的方向发展。要使采用不同总线的系统实现互操作,最理想的方法是所有不同厂商的设备使用相同的通信协议,但现实是工业控制中存在着大量的通信协议,并且各个厂商都有各自的利益,不可能用一种通信协议统一所有协议,因而,目前实现控制系统互操作的比较实际的方法是使用网关。网关能将采用各种不同协议的控制网段相互连接,使得它在控制领域中的应用也越来越广泛。如在分布式控制网络中,各种现场总线控制网络通过网关或路由器互连,网关工作方式是在网络中进行逻辑隔离,而非物理隔离,使通道之间透明,使得一个网络工具可以在网络上任何地点对网络上的其它节点进行操作,整个系统的安装、检测、诊断、维护都非常方便45。由于现场总线的实时、可靠、低成本、使用方便等特点,使其在控制现场层得到广泛的应用,与之相关的各种网关也随之在工业控制的各个领域得到广泛的研究与应用。图1.2.2.1是CAN-RS232网关在电力系统远程抄表系统中的应用;图1.2.2.2是基于LonWorks现场总线的网关在19K型客车网络化控制中的应用。同时,国内的很多公司和科研院校也加入到现场总线网关的研究与开发中来,表1.2.2.1列举了国内几家参与现场总线网关研究与开发的公司和科研院校。表1.2.2.1 国内几家参与现场总线网关研究的公司和院校中国北方集团四方车辆研究所CAN网关等产品的设计开发上海工业自动化仪表研究所LonWorks网关等产品的设计开发广州致远电子有限公司基于CAN总线的网关、中继器产品的设计开发武汉大学基于CAN、LonWorks总线网关的设计与研究南京理工大学基于LonWorks总线网关的设计与研究1.3 现场总线1.3.1 现场总线的发展现状和趋势现场总线是20世纪80年代中期发展起来的一种先进的控制技术,被誉为20世纪90年代工业控制领域的一场革命。与其他工业控制网络相比,现场总线采用串行的双向的数字通信方式,具有实时性好、稳定性高等特点,迅速发展成为工业控制网络中使用最广泛的通信网络,为工业自动化底层现场设备之间、现场设备与控制系统之间架起了信息化的网络桥梁6。然而,由于技术、经济和政治等方面的原因,虽然早在1984年国际电工技术委员会/国际标准协会(IEC/ISA)就着手开始制定现场总线的标准,至今统一的标准仍未完成。很多公司也推出其各自的现场总线技术,但彼此的开放性和互操作性还难以统一。目前现场总线市场有着以下的特点:(1)多种现场总线并存 据资料分析,世界上已出现各式各样的现场总线100多种,其中宣称为开放型总线的就有40多种,有些已经在特定的应用领域中显示了各自的特点和优势,表现了较强的生命力,如RobertBosch公司的CAN,Echelon公司的LonWorks,现场总线基金会FF(Fieldbus Foundation),德国西门子公司Siemens的ProfiBus, PhenixContact公司的InterBus, Rosemounr公司 的HART,丹麦ProcessData公司的P-net,美国的DeviceNet与ControlNet等等。这些现场总线大都用于过程自动化、医药领域、加工制造、交通运输、国防、航天、农业和楼宇等领域,大概不到十种的总线占有80%左右的市场。(2) 各种总线都有其应用的领域 每种总线大都有其应用的领域,比如FF、PROFIBUS-PA适用于石油、化工、医药、冶金等行业的过程控制领域;LonWorks、PROFIBUS- FMS、DevieceNet适用于楼宇、交通运输、农业等领域;DeviceNet、PROFIBUS-DP适用于加工制造业。至今还没有一种现场总线可以满足所有要求,用户不得不根据自己的需要选择不同的现场总线设备。因此,多种现场总线标准并存的现状还将持续下去。在这种新形势下,新一代分布式网络控制系统将必须要考虑多种现场总线的集成,将工业生产现场的各种现场总线智能设备集成到一个完整的、统一的、开放的系统中,以适应市场上多种现场总线并存的局面和用户的实际应用需求。1.3.2 主流现场总线简介1.3.2.1 基金会现场总线基金会现场总线FF(Foundation Fieldbus)。其前身是以美国Fisher-Rosemount公司为首,联合Foxboro、横河、ABB、西门子等80家公司制定的ISP协议,以及以Honeywell公司为首,联合欧洲等地的150家公司制定的World FIP协议。1994年这两大集团合并,成立了现场总线基金会,致力于开发出国际上统一的现场总线协议。基金会现场总线分低速H1和高速H2两种通信速率。H1的传输速率为31.25kbps,通信距离可达1900m(可加中继器延长),可支持总线供电,支持本质安全防爆环境。H2的传输速率可为1Mbps和2.5Mbps两种,其通信距离分别为750m和500m。物理传输介质可支持双绞线、光缆和无线发射,协议符合IEC1158-2标准。FF物理媒介的传输信号采用曼彻斯特编码。另外,传输速率为100Mbps的HSE(High Speed Ethernet高速以太网)也正在FF中发展。基金会现场总线的主要技术内容包括有:FF通信协议;用于完成开放互联模型中第27层通信协议的通信栈(Communication Stack);用于描述设备特征、参数、属性及操作接口的DDL设备描述字典;用于实现测量、控制、工程量转换等应用功能的功能块,实现系统组态、调度、管理等功能的系统软件技术以及构筑集成自动化系统、网络系统的系统集成技术。1.3.2.2 LonWorks 总线LonWorks是由美国Echelon公司推出并由它与摩托罗拉、东芝公司共同倡导,于1990年正式公布而形成的。它采用了ISO/OSI模型的全部7层通信协议,采用了面向对象的设计方法,通过网络变量把网络通信设计简化为参数设置,其通信速率从300bps至1.5Mbps不等,直接通信距离可达2700m(78kbps,双绞线);支持双绞线、同轴电缆、光纤、射频、红外线、电力线等多种通信介质,并开发了相应的本质安全防爆产品,被誉为通用控制网络。LonWorks技术所采用的LonTalk协议被封装在称之为Neuron的神经元芯片中而得以实现。集成芯片中有3个8位CPU,第1个用于完成开放互联模型中第1层和第2层的功能,称为媒体访问控制处理器,实现介质访问的控制与处理;第2个用于完成第36层的功能,称为网络处理器,进行网络变量的寻址、处理、背景诊断、路径选择、软件计时、网络管理,并负责网络通信控制,收发数据包等;第3个是应用处理器,执行操作系统服务与用户代码。芯片中还具有存储信息缓冲区,以实现CPU之间的信息传递,并作为网络缓冲区和应用缓冲区。1.3.2.3 PROFIBUS 总线PROFIBUS是德国国家标准DIN19245和欧洲标准EN50170的现场总线标准。由PROFIBUS-DP、PROFIBUS-FMS和PROFIBUS-PA组成了PROFIBUS系列。DP型用于分散外设间的高速数据传输,适合于加工自动化领域的应用。FMS意为现场信息规范,PROFIBUS-FMS适用于纺织、楼宇自动化、可编程控制器、低压开关等。而PA型则是用于过程自动化的总线类型,它遵从IEC1158-2标准。该项技术是以西门子公司为主的十几家德国公司、研究所共同推出的。它采用了OSI模型的物理层、数据链路层。FMS还采用了应用层。传输速率为9.6kbps12Mbps,最大传输距离在12Mbps时为100m,1.5Mbps时为400m,可用中继器延长至10km。其传输介质可以是双绞线,也可以是光缆。最多可挂接127个站点。可实现总线供电与本质安全防爆。1.3.2.4 CAN总线最早由德国Bosch公司推出的CAN总线,又称控制局域网,主要应用于汽车内部强干扰环境下电器之间的数据通信。它也基于OSI参考模型,采用了其中的物理层、数据链路层、应用层,提高了实时性。数据链路层与以太网相似,采用载波侦听多路访问/冲突检测(CSMA/CD)机制,最多可连接110个节点。其节点有优先级设定,支持点对点、一点对多点、广播模式通信,各节点可以随时发送消息。传输介质为双绞线、同轴电缆或光纤,通信速率与总线长度有关。CAN总线采用短消息报文,当节点出错时可自动关闭,抗干扰能力强,可靠性高。这种总线规范已被国际标准化组织制定为国际标准,在工业现场测控领域和楼宇自动化得到了广泛应用。1.3.3现场总线在国内的应用目前现场总线在国内已得到了越来越广泛的应用,其中CAN 总线与其它几种现场总线比较而言,是最容易实现、价格最为低廉的一种,但其性能并不比其它现场总线差。CAN总线在我国众多领域已被广泛采用。但是在实际应用中,大多数控制器和设备通信所使用的仍是传统的RS485。因此,为了将这些设备纳入现场总线的控制网络,研究现场总线与RS485之间的协议网关将很有必要。针对现场总线在我国的实际应用情况,我着重对CANRS485互连网关作了研究,完成了CAN总线与RS485总线网关硬软件的设计、开发与调试。1.4本论文的主要工作本课题着眼于现场总线技术的应用,在分析基于网关的网络化控制系统结构的基础上,设计开发了CAN-RS485协议转换网关。所做的工作主要有以下几个方面:1通过对现场总线技术的应用现状的分析,建立基于网关的工业网络化控制系统结构模型。2研究并开发了CAN总线与RS485协议转换网关的硬件。3完成了CAN总线与RS485网关的软件设计开发,并调试,实现简单数据的交互。第二章基于网关的网络化控制系统模型本章在分析现有控制系统不足的基础上,建立了基于网关的网络化控制系统的结构模型,并对系统中的网关进行了需求分析和设计原则的研究。2.1 现有控制系统存在的不足在现有控制中,控制系统应该与企业的经营战略相联系,必须将控制系统集成到整个企业系统中。企业的这种管理模式客观上要求信息网络与控制网络的一体化,两者分离必将会阻碍信息的上行下达,降低企业的生产管理效率47。目前的控制系统虽然在不同的动静态方面满足了一定控制的要求,但还是存在一些问题,为系统的应用和推广带来了很大的难度。主要表现在以下几个方面:(1) 企业上下信息的集成根据美国著名信息咨询集团GartnerGroup和美国先进制造研究中心AMR等组织的调查和统计,现有的控制系统中存在着一个极为突出的问题:在企业的经营管理计划层和底层控制层之间存在着“鸿沟”,即上层的管理决策层和底层的现场控制层之间信息很难实时共享。(2) 通用性制造过程管理和控制一般是与具体生产方式和设备类型紧密相关的,传统的控制系统大多是面向功能,生产方式包含在功能之中,因此很难适应多种生产方式/混合生产方式,往往是不同的企业,甚至是不同的车间都不一样,也就是说不具备通用性,为企业的流程重构和企业间资源共享带来了很大的困难。(3) 控制信息的动态和实时性在现有的控制系统中,执行模块或传统的车间控制器实际上完成的只是计划的派工单及物料的需求和消耗控制,主要是基于BOM(Bill of Material)的静态计划和控制,没有将它们与现场的动态信息融为一体,实现动态、实时的控制。2.2 基于网关的网络化控制系统模型在激烈的市场竞争中,现代企业非常关心如何在将企业生产和运营的费用降低的同时又能使管理者有效的监管企业的生产和运营,工业控制网络的建立就是为了解决这一问题的。在一个控制网络中,企业要把经营决策、管理、计划、调度、现场控制等紧密地联系在一起,进行综合信息处理,就必须对企业的生产情况进行实时地监管:各车间要对生产过程进行有效的自动化控制,管理层要实时地获得第一手的生产数据等等2。2.2.1 基于网关的网络化控制系统结构工业控制网络的目标是,削减通向自动化层次路径上的复杂程度各异的连接,以跨越不同的总线技术,并借助以太网建立统一的通信。通过前面对现有控制网络系统的分析,从各个控制环节的功能角度出发,基于各种通信协议转换的网关,我们将工业控制网络分为现场控制层、生产监控层、生产管理层、生产决策层四个层次,通过各层之间的信息共享,构成较为完整的网络化控制系统模型,其系统结构如图2.2.1.1所示。图2.2.1.1 基于网关的网络化控制系统结构图(1) 现场控制层现场控制层包括各种现场节点和设备,如现场智能传感器、传动装置和执行机构等现场设备,负责现场生产设备按照预先编制好的程序或上层传递下来命令进行监控。其主要技术是现场总线技术,将现场总线连接起来成为很多不同的网段,现场节点通过其自带的现场总线接口与现场总线相连。由于各种生产条件的不同,可能用到了几种现场总线技术,在它们之间可以用相应的网关互连。避免由于一方的网关出现故障而造成的网络的瘫痪问题,提高了网络的可靠性。(2) 生产监控层生产监控层主要包括各种网关和在底层简单的现场控制器,负责生产过程的监控,以及相应的数据的采集、上报和下传,保证现场设备准确高效地运行。现场控制器通过网关与控制网络相连,可以在现场底层实行简单的控制。生产监控层的网关肩负着使底层的现场总线网络与上层的网络相连的任务,它主要负责两方面的功能:一是接收现场总线上的数据并对其进行解释,向上传送;二是把上层网络发来的命令和数据转换为现场总线的数据格式送往现场节点。这一层由于要负责上下两层的数据通信,所以这一层设计的优劣对整个系统的正常运行至关重要。(3) 生产管理层生产管理层主要负责维护系统历史数据库、更新系统实时数据库,根据生产监控层传来的控制信息,进行优化配置,同时接收生产决策层的生产决策、了解企业内部的生产计划。(4)生产决策层生产决策层一方面根据企业内部的生产过程,执行企业内部的物流管理,确定企业的整体生产调度;另一方面,可以通过网络服务器与外部Internet相连,方便远程客户对控制网络的各种信息查询、故障监控,与分布比较分散的企业的营销单元之间进行信息交互,收集市场信息,以便决策。2.2.2 控制系统中网关的需求分析可以看到,上述控制网络是建立在串行通信、以太网和各种现场总线的混合通信之上的,通过网关实现各层次的互连,实现计算机对现场设备、仪表的操作。网关采用一种相当于隧道技术的方式在各网段之间传输数据,当上层网络向现场仪表、设备发送信息时,它首先基于一种协议将信息发给网关,然后由网关根据相应的总线协议把数据发给相应的仪表设备。反过来,当现场的仪表或设备要往上层的网络发送数据时,它需要经过网关的协议转换,再发送给相应的上层网络。下面对系统中各网关的需求进行分析11。(1) 现场总线与RS232/RS485网关在工业控制领域中RS-232/RS485标准被工业设备所广泛采用,是一种常见的电气和通信接口。现在工业控制领域中很多智能单元使用的通信方式是RS-232/485。因此,如何将现场网络介质上的现场总线协议信息转换为RS-232/485标准的信号或将RS-232/485标准信号转换为现场总线协议的数据,将这些设备纳入现场总线控制网络,实现设备与其它节点以及网络管理设备通信,具有实际应用和拓宽现场总线应用范围的意义,这类网关如结构图中的LonWorks-RS232、 LonWorks-RS485、CAN-RS232网关。(2) 现场总线与以太网网关以太网技术从出现到现在的几十年间得到了飞速的发展,其应用领域也从最初的办公自动化发展到工业控制、楼宇自动化等领域。但是要把以太网技术真正的运用到现场控制的底层,还面临着以下的困难和问题: 以太网并不支持多分插的信令或带电双绞线网络,为布线拓扑设置严重限制,并且要求单独的电源布线。 以太网原来的用途是企业数据网,适合工作在ESD、突发噪声、电涌、辐射噪声、磁场等都比较低的环境。而工业现场的环境要恶劣的多,如果以太网要在这样的环境中工作,需要加上电涌抑制器、ESD防护设备以及一大批其它防护设备,这在经济和技术上都需要增加投入。 工业控制网络不同于普通数据网络的最大特点在于它必须满足控制对实时性的要求。由于以太网采用CSMA/CD的媒体访问控制方式,一条总线上挂接的多个节点采用平等竞争的方式争用总线,因此以太网技术难以满足控制系统要求准确定时通信的实时性要求。但是另一方面,随着现场总线控制网络的发展,信息管理决策层需要了解的底层信息会越来越多,以方便决策等优化控制。现场总线在生产控制底层,由于各种控制环境和控制功能的不同,同时各种现场总线的网络传输介质、传输速度也不同,很难由一种现场总线实现整个现场控制。为了将各种现场总线控制系统集成,实现整个底层的网络化控制,就需要设计各种现场总线之间协的协议规定,为了满足工业控制的实时性要求,它们传送的数据帧多为短帧,当要传送很长的数据信息的时候,就只能进行分割传送,这在控制网络的底层,具有协议简单、安全可靠、实时性好等特点,但是在上层的企业信息网中就会影响信息的传输量和传输速度,如果采用以太网的TCP/IP技术,就会大大提高数据的传输效率。这就使得现场总线控制网络与以太网信息网络的集成势在必行。因此,需要对各种现场总线与以太网的互连网关进行深入的研究,如控制系统中的LonWorks-以太网网关、高速基金会现场总线H2-以太网网关。(3)各现场总线之间网关议转换的网关,将采用不同总线协议的生产线、生产车间互连。如结构图中的LonWorks-CAN、LonWorks-H2、CAN-H2网关。 2.3 控制系统中网关的设计原则从网络化控制系统的体系结构图可以看到,网关起着各种协议转换的功能,保证了各种信息的上传和下达,为了使网关运行稳定且易于升级和维护,在网关设计中应考虑以下原则:(1)简便性 网关是被夹在两种网络之间的,在应用中不应该因网关的加入而改变两种网络原有的结构和特性。在网络中,网关具有双重身份,是两种网络上的节点,因此,网关的设计应该尽量简洁,只要能满足性能要求,并且在设计中不存在瓶颈,网关的性能即可认为是足够的。(2) 实用性 网关在网络上要管理总线上多个设备,在设计中应采取实用性原则,选用成熟而先进的技术且性价比高的器件来开发。(3) 适合工业控制 网关可能工作在工业现场,一方面要尽量降低模块的供电功耗、减少发热,另一方面需要模块能够经受工业级的温度范围(4080),选择芯片时就需要选用工业级、低功耗的产品。 (4)可扩充性 在网关的开发中要注意网关的可扩充性,以利于二次开发。(5)可靠性 在设计时要减少系统硬件故障和提高系统的抗干扰能力,包括元器件参数选择、电源设计、地线设计、隔离屏蔽以及工艺设计等;同时,可设置看门狗,避免系统进入死循环,消除程序“跑飞”的隐患。 另外,为了确保网关具有高可靠性和高移植性,在设计中应采用结构模块化的设计思想。在网关构件之间、构件内的功能模块之间以及网关与外部环境的接口之间要保证复杂性小、接口清晰、耦合程度小。CAN-RS485协议转换网关的设计第三章CANRS485协议转换网关的设计本章首先介绍了CAN总线协议规范及相关的CAN报文帧格式,分析了在CAN-RS485网关中使用到的相关器件SJA1000、PCA82C250,并对网关硬软件设计进行了详细阐述,给出了网关的初始化和报文收发的编写流程图及部分子程序,结合硬软件设计分析在设计中可能出现的硬软件干扰及相关的处理措施,从而使网关能够更可靠的运行。3.1 CAN协议规范随着CAN在各种领域的应用和推广,对其通信格式的标准化提出了要求。为此,1991年9月Philips Semiconductors制订并分布了CAN技术规范Version2.0。该技术规范包括A, B两部分。2.0A给出了CAN报文的标准格式,2.0B给出了标准的和扩展的两种格式。此后,1993年11月ISO正式颁布了道路交通运输工具-数据信息交换-高速通信控制器局域网(CAN)国际标准IS011898,为控制器局域网的标准化、规范化铺平了道路20。CAN总线是开放系统,但没有严格遵循国际标准化组织ISO的开放系统互连的七层参考模型OSI,处于对实时性和降低成本等因素的考虑,CAN总线只采用了其中最关键的三层,即物理层,数据链路层和应用层,其中数据链路层又进一步分为逻辑链路控制子层LLC和媒体访问控制子层MAC,而应用层则包含了ISO/OSI模型中物理层和数据链路层外其余各层的功能。 CAN总线物理层的主要内容是规定了通讯介质的机械、电器、功能和规程特性。在CAN2.0A/B中对物理层的部分内容作了规定,而在IS011898标准中的内容更加具体,但没有指明通讯介质的材料,因而用户可以根据需要选择双绞线、同轴电缆或光纤。 CAN是一个多主机局部网,它的串行通信链路采用一条多个单元均可连接的总线。理论上,单元数目是无限的,实际的单元总数受限于延迟时间或总线的电气负载。该总线可用各种方法实现,如差分驱动平衡双绞线、单线(加地线)、光纤等,其中常用的为第一种。总线上的数据可具有两种互补的逻辑值之一:显性 (dominant)和隐性(recessive)。在两个单元同时分别发送显和隐性电平时,总线上的数值将是显性电平。在总线采用线与操作方式时,显性电平用逻辑0表示,而隐性电平为逻辑1。CAN总线中各节点应使用相同的位速率。它的每位时间由同步段、传播段、相位缓冲段1和相位缓冲段2组成。发送器在同步段前改变输出的位数值。接收器在两个相位缓冲段之间采样输入位值。而两个相位缓冲段长度可自由控制,以保证采样的可靠性。 数据链路层主要功能是将要发送的数据进行包装,即加上差错校验位、数据链路协议的控制信息、头尾标记等附加信息组成数据帧,从物理信道上发送出去;在接收到数据后,再把附加信息去掉,得到通讯数据。在通讯过程中,收发双方都要对附加的控制信息进行检查判别,并作出相应的处理,从而实现数据传输过程中的流量控制、差错控制,保证数据的无差错传输。CAN总线的数据链路层包括逻辑控制子层LLC和媒体访问控制子层MAC。其中MAC子层的主要功能是定义传输规则,它是CAN协议的核心,主要包括控制帧的结构、传输时的非归零编码方式(检测到连续5个数值相同的位流后自动插入一个补码位)、执行仲裁、错误检测、出错标定和故障界定,同时还要确定总线是否空闲(出现连续7个以上的“隐性”位)或者能否马上接收数据(检测同步信号)。LLC子层的主要功能是报文的滤波(根据数据块的编码地址进行选择性接收)和报文的处理。3.2 CAN报文规范CAN总线以报文为单位进行信息传送。报文中包含标识符,它也标志了报文的优先权。CAN总线上各个节点都可主动发送。如同时有两个或更多节点开始发送报文,采用标识符来进行仲裁,发送具有最高优先权报文节点赢得总线使用权,而其它节点自动停止发送,在总线再次空闲后,这些节点将自动重发原报文。报文中的标识符ID描述了数据的含义。网络中的所有节点都可以由ID来自动决定是否接受该报文。每个节点都有ID寄存器和屏蔽寄存器,接受到的报文只有与该屏蔽的功能相同时,该节点才开始正式接受报文,否则它将不理睬ID后面的报文。这使CAN系统非常灵活可任意扩展或改变网络组成。CAN支持4种不同类型报文帧21。数据帧:数据帧携带数据从发送器至接收器。数据帧由7 个不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC 场、应答场、帧结尾。数据场由数据帧中的发送数据组成,其长度可以为08个字节,也可以为0。数据帧的组成如图3.2.1所示。图3.2.1 数据帧的组成远程帧:总线单元发出远程帧,请求发送具有同一识别符的数据帧。远程帧由6 个不同的位场组成:帧起始、仲裁场、控制场、CRC 场、应答场、帧结束。远程帧的组成如图3.2.2所示。图3.2.2 远程帧的组成错误帧:任何单元一旦检测到总线错误就发出错误帧。错误帧由两个不同的场组成。第一个场由来自各站的错误标志叠加得到,第二个场是出错界定符。错误帧的组成如图3.2.3所示。图3.2.3 错误帧的组成过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供附加的延时。过载帧包括两个位场:超载标志和超载界定符。过载帧的组成如图3.2.4所示。图3.2.4 过载帧的组成33 主要器件介绍3.3.1 CAN控制器SJA1000简介SJA1000独立CAN控制器是PHILIPS公司PCA82C200 CAN控制器(BasicCAN)的替代产品,用于一般工业环境中和区域网络控制。它在完全兼容PCA82C200的基础上,增加了一种新的工作模式PeIiCAN, SJA1000完全支持具有很多新特性的CAN2.0B协议。SJA1000的工作模式通过其内部的时钟分频寄存器(CDR)中的CAN模式位来选择,硬件复位时默认模式是BasicCAN工作模式。SJA1000可以支持多种微处理器的时序特性,如Intel模式或Motorola模式。SJA1000与微处理器的接口非常简单,微处理器以访问外部存储器的方式来访问SJA1000。在设计接口电路时。SJA1000的片选地址应与其他外部存储器的片选地址在逻辑上无冲突3840。SJA1000有2种模式可以同微处理器访问其内部寄存器,2种模式的访问是有区别的,这2种模式分别是复位模式和工作模式。当硬件复位、控制器掉线或置位复位请求位时,SJA1000进入复位模式。当清除其内部控制寄存器(CR)中的复位请求时,SJA1000进入工作模式。有些内部的寄存器只能在复位模式下访问,有些寄存器只能在工作模式下访问,而有些寄存器在这2种模式下都可以访问。SJA1000内部寄存器分布于0-31连续的地址空间中,包括控制段和信息缓冲区。控制段在初始化载入时可被编程来配置通信参数(例如波特率和位时序等)。微控制器也是通过这个段来控制CAN总线上的通讯状态。信息缓冲区分为发送缓冲区和接受缓冲区。微处理器将要发送的信息写入发送缓冲区,然后启动发送命令后,可进入报文的发送。符合接收条件的接受到的信息放入接收缓冲区,微处理器可以读出这些信息,并进行处理。SJA1000 CAN控制器主要由以下几部分构成:1.接口管理逻辑(IML) 接口管理逻辑解释来自CPU的命令,控制CAN寄存器的寻址,向主控制器提供中断信息和状态信息。2.发送缓冲器(TXB) 发送缓冲器是CPU和BSP(位流处理器)之间的接口,能够存储发送到CAN网络上的完整报文。缓冲器由CPU写入,BSP读出。3.接收缓冲器(RXB) 接收缓冲器是接收过滤器和CPU之间的接口,用来接收CAN总线上的报文,并存储接收到的报文。接收缓冲器(RXB)作为接收FIFO 的一个窗口,可被CPU访问。CPU在此FIFO的支持下,可以在处理报文的时候接收其它报文。4.接收过滤器(ACF) 接收过滤器把它其中的数据和接收的标识符相比较,以决定是否接收报文。在纯粹的接收测试中,所有的报文都保存在RXFIFO中。5.位流处理器(BSP) 位流处理器是一个在发送缓冲器、RXFIFO和CAN总线之间控制数据流的序列发生器。它还执行错误检测、仲裁、总线填充和错误处理。6.位时序逻辑(BTL) 位时序逻辑监视串行CAN总线,并处理与总线有关的位定时。在报文开始,由隐性到显性的交换同步CAN总线上的位流(硬同步),接收报文时再次同步下一次传送(软同步)。BTL还提供了可编程的时间段来补偿传播延迟时间、相位转换和定义采样点和每一位的采样次数。7.错误管理逻辑(EML) EML负责传送层中调制器的错误界定。它接收BSP的出错报告,并将错误统计数字通知BSP和IML。3.3.2 CAN收发器PCA82C250简介PCA82C250是控制器局域网CAN协议控制器和物理总线之间的接口。它主要应用在高速应用的场合,速度可达1Mbps。PCA82C250为总线提供差动的发送功能,为CAN控制器提供差动的接收功能39。其管脚定义及功能描述如表3.3.2.1所示:序号符号功能描述1TXD发送数据输入2GND地3VCC电源电压4.5V-5.5V4RXD接收数据输出5Vref参考电压输出6CANL低电平CAN电压输入/输出7CANH高电平CAN电压输入/输出8RS斜率电阻输入表3.3.2.1 PCA82C250的引脚图及功能描述其主要特性如下:高速率适合CAN的5Kbps1Mbps速率范围。具有抗汽车环境中的瞬间干扰保护总线能力。斜率控制降低射频干扰RFI。差分接收器抗宽范围的共模干扰、抗电磁干扰EMI。热保护防止电池和地之间的发生短路。低电流待机模式。未上电的节点对总线无影响。可连接110个节点。提供DIP-8和SO-8两种封装工作温度范围-40+125 3.4 CAN-RS485协议转换网关设计3.4.1 基本原理CAN总线标准具有物理层和数据链路层协议,以帧为单位进行数据通信,且每帧均携带相应的ID标识符,而RS485本质上仅仅是一个物理层标准,以字节为单位进行数据通信,不带任何其他附属信息,其帧格式完全由用户自己定义。由于不管是在CAN总线还是在RS485总线中最终信息的传输都是以帧为单位,所以在考虑设计RS485帧格式时,应该参考CAN总线的帧格式,包括地址(ID)、帧长度、数据和校验等。如果两者的帧格式类似,将为协议的转换带来很多方便20。具体设计RS485帧格式时可参考以下格式:地址(1)CAN帧格式(1)CAN网ID(4)数据帧(08)校验(1)第一个字段为地址字段,占用一个字节,可作为RS485子网的多机通信地址使用。在RS485网络中,只能采用一主多从的方式进行通信,网络中必须有一个主控节点。在此RS485子网中网关为主控节点,通过查询点名的方式实现网络通信管理。第二到第四个字段与CAN报文中的同名字段定义相同,实际上这三个字段就是一帧完整的CAN报文。网关在进行转发时只需将这三个字段构成的CAN报文发送出去即可,使网关中的协议转换更容易实现。最后的校验字段可用于网关接收报文时的校验,以保证数据的可靠。3.4.2 硬件设计整个通信接口电路主要由单片机AT89C51,CAN控制器SJA1000,CAN收发器82C250,RS485收发器MAX485和CAN节点ID输入电路组成,如图3.4.2.1所示。AT89C51负责SJA1000和RS485的初始化,通过控制SJA1000和串行接口实现数据的接收和发送等通信任务3536。SJA1000的AD0AD7连接到89C51的P0口,/CS连接到89C51的P2.1,P2.1为0时CPU片外存储器地址可选中SJA1000,CPU通过这些地址可对SJA1000执行相应的读/写操作。SJA1000的/RD、/WR、ALE分别与89C51的对应引脚相连,/INT接89C51的/INT0,89C51通过中断方式访问SJA1000。从软件的角度来看,用户对SJA1000的操作是通过单片机的访问外部存储器指令来完成的,所以SJA1000可以被视为扩展RAM。图3.4.2.1 CANRS485网关的硬件电路图在实际设计过程中还应注意以下几点问题: 1. 要根据微处理器合理选择SJA1000的接口模式,SJA1000的片选地址应与其他的外部存储器无冲突,同时SJA1000的复位电路应为低电平有效。 2. 微处理器对SJA1000的控制访问是以外部存储器的方式来访问SJA1000的内部寄存器,应该正确定义微处理器访问SJA1000及其内部寄存器的访问地址。3. 微处理器访问SJA1000时,SJA1000有2种不同的模式:工作模式和复位模式。对SJA 1000的初始化只能在SJA1000的复位模式下进行。初始化包括(设置验收滤波器、总线定时器、输出控制、时钟分频中的特定控制等)。设置复位请求后一定要校验,以确保设置成功。4. 向SJA1000的发送缓冲区中写入数据时,一定要检查发送缓冲区是否处于锁定状态,如锁定,这时写入的数据将丢失。 5. AT89C51和SJA1000最好都有各自独立的晶振电路。有资料中指出,可以用SJA1000的时钟输出信号CLKOUT来驱动单片机,作为单片机的时钟信号。但这样处理实际发现并不可靠,有时SJA1000有CLKOUT信号输出,但并不能驱动单片机正常工作。6. SJA1000的地址/数据端和单片机的P0口相连时,不需要再加锁存器,因为它内部已经有地址锁存功能。3.4.3 软件设计CAN-RS485网关的主要任务是在CAN网段和RS485网段之间实现数据的转发,由于通信对时间的要求以及网关中CPU内部缓存容量有限(89C51内部RAM容量为256个字节),所以在进行软件设计时要求做到存储转发的时间尽量短。为了达到以上要求,CPU采用中断方式接收CAN方和RS485方的数据,同时尽量精简CPU收发子程序的代码长度。为了节省内存和实行有效管理,CPU采用了FIFO机制来管理内部RAM20。为了实现网关的数据转发功能,CAN-RS485网关软件主要包括以下一些子程序:初始化子程序,主监控程序,接收子程序和发送子程序。初始化子程序包括SJA1000的初始化和RS485的初始化,总线数据的接收均采用中断方式,发送数据则在主监控程序中完成。3.4.3.1 初始化子程序3.4.3.1.1 SJA1000初始化 为了保证CAN节点正常工作,必须首先对CAN控制器SJA1000进行初始化,SJA1000的初始化只有在复位模式下才可以进行,初始化主要包括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器(AMR)和接收代码寄存器(ACR)的设置、波特率参数设置和中断允许寄存器(IER)的设置等。在完成SJA1000的初始化设置以后,SJA1000就可以回到工作状态,进行正常的通信任务了。各个寄存器的数值可以根据实际需要做出合理的配置,需要指出的是,CAN总线上所有节点的波特率设置都必须相同,否则将引起通信失败,系统节点通信波特率是由总线定时寄存器0、总线定时寄存器1和系统的晶振决定的。控制器初始化流程如图3.4.3.1.1所示。图3.4.3.1.1 SJA1000初始化流程图SJA1000的初始化程序如下:CANINI: MOV DPTR,#MODE ;方式寄存器 MOV A,#09H ;进入复位模式,对SJA1000进行初始化 MOVX DPTR,A MOV DPTR,#CDR ;时钟分频寄存器 MOV A,#88H ;选择PeliCAN模式,关闭时钟输出(CLKOUT) MOVX DPTR,A MOV DPTR,#IER ;中断允许寄存器 MOV A,#0DH MOVX DPTR,

温馨提示

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

评论

0/150

提交评论