毕业设计(论文)-基于CANLIN总线的汽车车身网络设计.docx_第1页
毕业设计(论文)-基于CANLIN总线的汽车车身网络设计.docx_第2页
毕业设计(论文)-基于CANLIN总线的汽车车身网络设计.docx_第3页
毕业设计(论文)-基于CANLIN总线的汽车车身网络设计.docx_第4页
毕业设计(论文)-基于CANLIN总线的汽车车身网络设计.docx_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计说明书基于CAN/LIN总线的汽车车身网络设计学生姓名: 学号: 学 院: 机械与动力工程学院 专 业: 车辆工程 指导教师: 2017 年 06 月中北大学2017届毕业设计说明书基于CAN/LIN总线的汽车车身网络设计摘 要自从汽车被发明之后,全世界的先进技术大部分都被使用到汽车上来提高汽车的性能和功能,随着电子化设备运用到汽车上后,连接这些电气设备的接口、导线的数目急剧增加。汽车的车内空间本来就很紧张,这些设备的增加让车内空间又减少了很多,而且这些设备布线复杂,增加了拆卸难度,提高了修理成本,影响整车可靠性的提高。随着这些矛盾的激化,各大汽车公司开始发展汽车电子网络化,有效的控制了导线的数目和维修成本,进一步提高了汽车性能。近年来,CAN总线和LIN总线由于他们的性能十分出色,越来越受到行业的喜爱。现在汽车上存在的网络主要是控制器局域网(CAN)和局部互联网(LIN)。本文主要介绍CAN总线和LIN总线及他们的应用,并根据汽车的基本性能使用CAN总线和LIN总线组成了一个拥有三种网络的汽车通信平台。这三种网络因为传输数据的速度不同,实现的功能也有所差距,并且三种网络之间设计了两个网关来使得信息可以相互交换,实现的功能也更加强大,还减少了总线的使用率,降低汽车制造的成本。关键词:CAN,LIN,总线, 网关全套图纸加扣3012250582 Design of Automobile Body Network Based on CAN/LIN BusAbstract Since the automobile was invented in the world, the most advanced technology are used to improve the performance and function of the car, with the electronic equipment for use in the car after connecting the electrical equipment wire interface, a sharp increase in the number of cars. The space inside the car was very tense, increase the equipment for the car the inner space and reduce a lot, and the equipment layout is complex, increasing the disassembly difficulty, improve the effect of vehicle repair costs, improving the reliability. With the intensification of these contradictions, the automobile companies began the development of automotive electronic network, the effective control of the wire number and maintenance cost, to further improve the Automobile performance. In recent years, CAN bus and LIN bus are more and more loved by the industry because of their excellent performance. Now the main networks are controller area network (CAN) and local Internet (LIN) This paper mainly introduces CAN bus and LIN bus and their applications, and according to the basic performance of the car using the CAN bus and LIN bus to form a car has three kinds of network communication platform. The three network because the speed of data transmission, realize the function also has the gap between the three, and the two network design a gateway to the information can be exchanged, functions are more powerful, but also reduces the bus utilization rate, reduce the cost of car manufacturing.Keywords: CAN,LIN, Bus,Gateway 目 录1 绪论11.1 课题研究的背景和意义11.2 汽车网络的特点11.3 汽车网络的分类11.4 汽车网络技术的发展现状21.5 汽车网络的发展趋势31.5.1 统一汽车网络技术标准31.5.2 优化网络结构和系统设计31.6 本文主要内容和结构安排32 CAN总线和LIN总线简介52.1 CAN总线技术52.1.1 CAN的特点52.1.2 CAN的分层结构62.1.3 报文传输62.1.4 报文滤波82.1.5 CAN的非破坏性按位仲裁规则82.1.6 编码92.2 LIN总线技术92.2.2 LIN的协议分层结构102.2.3 主机和从机节点的功能102.2.4 报文传输103 汽车网络平台总体框架设计123.1 系统总体结构123.2 系统功能的设计123.3 通信目标的实现134 网关设计154.1 网关总体设计15第 I 页 共 II 页4.2 网关电路设计154.2.1 主控制器的选择164.2.2 CAN接口电路164.2.3 LIN接口电路184.3 网关软件实现194.3.1 主监控程序204.3.2 数据的发送204.3.3 数据接收204.3.4 网关的数据处理225 CAN节点设计235.1 CAN节点功能简介235.2 CAN节点电路设计245.3 CAN节点软件流程255.3.1 SJA1000的初始化255.3.2 高速CAN节点软件流程255.3.3 低速CAN节点软件流程276 LIN节点设计296.1 LIN节点功能简介296.2 LIN节点电路设计296.3 LIN节点软件流程307 总结31参考文献32致谢34第 II 页 共 II 页1. 绪论1.1 课题研究的背景和意义 现在的汽车中的功能十分丰富,不仅仅只有交通功能,还有通讯,娱乐,为人类的出行提供了方便还有乐趣。随着技术的进步,汽车可以实现的功能越来越多,因此实现这些功能的电子设备也在增加,而这些电子设备需要很多电子控件还有复杂的通信线路,导致整车的布线数量增加且复杂度上升。这么多的布线让车内空间窄小,稳定性下降,系统故障修理难度加大,制作本钱增加。 从1980年开始,世界各大汽车企业开始研究可以让车内信息以网络的形式交流的汽车网络,这个网络中连入汽车的电子设备,这样不仅人们能更高的控制汽车系统,而且汽车性能也得到提高,整车布线更加简洁,从而降低制作成本。1.2 汽车网络的特点 以互联网为代表的计算机相关技术在不断地进步,特别是新型计算机技术在互联网技术的应用更是改变了人们的生活方式和节奏。而以车载网络系统为代表的新型技术能够完全实现传统电控系统的功能,以碰撞传感器为中枢的车载网络技术可以与汽车所有需要碰撞信号系统实施实时信息共享。比如门锁系统、ECU以及车速传感器等系统都需要借助碰撞传感器进行信号交换。与以往的电控系统相比,车载网络系统只需要借助一个碰撞传感器就可以大幅度减少线束数量。另外,车载网络技术可以提升操作的便利性,能够从网关故障诊断接口高效的诊断出电控单元系统存在故障隐患。并且电子技术改革速度加快,新型电控单元的不停的使用,车载网络化程度更加明显。另外,由于系统之间存在差异性,在设计时要充分考虑线路成本以及重要性,比如对于汽车动力性以及安全性系统需要CAN或者MOST高速传输系统,而舒适系统则需要灵活应用LIN或者CAN线进行传输信息等。1.3 汽车网络的分类 美国汽车工业协会(SAE)的车辆委员会把这些年来汽车网络划分为A、B、C三类。下面分别对这三类网络作简明描述: A类网络是一种低速网络,数据传输速度不超过10kb/s,目前车上的后视镜,车窗和车灯的网络用A类网络。A类网络大部分使用通用异步收发器(UART)标准,使用起来简单经济。但随着汽车网络的进步,将会被别的标准所替代。第 1 页 共 34 页 A类网络中的LIN总线最有代表性,LIN网络多用在传感器和执行器中,是一种具有主从结构串行通信。 B类网络是一种中速网络,它的传输速率要超过A类网络的10kb/s,低于125kb/s用在仪表等独立模块的系统中。CAN总线是B类网络的标准,传输速度在100kb/s。 C类网络是高速传输的网络,多用于发动机和ABS系统中,传输速率大于125kb/s,小于1Mb/s。 a. C类总线协议标准 C类网络标准多用高速CAN的ISO11898。 GM公司在它的汽车上使用500kb/s,基于CAN的通信标准。 b. 安全总线和标准 安全总线是连接被动安全系统,大多使用在安全气囊和安全传感器上。Delphi公司的Safaty Bus系统和BMW公司的Byteflight系统是现在广泛使用的。 c. X-by-Wire总线协议标准 X-by-Wire总线使为飞机的控制系统开发的,现在汽车使用这个可以提高网络的容错性和可靠性。1.4 汽车网络技术的发展现状 1980年后许多先进的汽车公司开始钻研汽车网络。汽车网络技术处理了点对点式车身布线,从而使车身布线愈加标注、规范,并且成功的使成本减少,稳定性加强。到今天为止,网络标准有CAN,J1850,LIN,FlaxRay,MOST。随着技术的提高,大批轿车也逐渐应用了这种技术,已经形成了一定规模的产业化。特别是以CAN总线为主的车载网络技术成为轿车的主流。车载网络技术也要依靠于通信介质,如POF已经被大量使用。在早前的2002年的德系轿车“BMW7”系列就开始应用了50米POF,这一举动表明了POF车载网络技术的成熟,并且进人了实质性的产业化阶段。对于车载网络而言,数据通信速度是其重中之重,POF的成功应用有效推动了以MOST, F1exRay技术代表的产业化应用,并且有效拓展了车载网络技术的飞速发展以及应用空间。特别是信息技术革命的不断向前推进,特别是以云技术、大数据技术的飞猛发展,将以Bluetooth为代表的新型信息交互媒介应用网络技术向汽车延伸。 我国汽车企业的网络技术的研究开始的晚,所以发展没有发达国家的汽车企业好。由于我国在这几年来表现出来的发展势头,让世界上很多汽车企业都看好中国的市场,都希望与中国企业合作,占领中国这个庞大的市场,因此中国的汽车企业借鉴了各大汽车企业的先进技术,整体水平得到了长足发展,但总体还是落后的。我国的汽车企业大都处于在一个ECU中放入汽车的网络功能,通过很多个这样的ECU连接起来,而世界上的先进汽车企业的网络技术都在追求汽车网络在汽车上的工作更加稳定,这才是汽车网络的最终道路。 现在我国汽车企业的汽车网络发展还是很快的,但是距离世界先进汽车企业还是有段距离的。要将汽车网络研究产业发展到世界先进水平,我们还得发展一段时间。1.5 汽车网络的发展趋势1.5.1 统一汽车网络技术标准 目前汽车各类网络中的协议很多,没有制定一个国际标准,造成汽车制造成本的上升。不久的将来各类网络中的优秀的协议将会突显出来,得到各大汽车公司的认可,成为国际标准。现如今,A类网络中的LIN协议的超高性价比已经得到广大认可,将是低速传输网络通信的标准;CAN协议一直就是B类网络的代表;C类网络中传统的实时控制一直使用的是高速CAN,而X-By-Wire协议中的FlexRay的低成本,高性能的优点受到许多知名公司的支持。1.5.2 优化网络结构和系统设计 传统的汽车电子应用根据传输数据的速度和实现的功能不同而设计了不同模块,这些不同的模块有各自的结构、网络和软件系统。这样的设计造成了不同模块之间的数据通信困难,从而对处理数据的芯片性能有较高的要求。目前不同模块数据的处理是在网关中进行的,这个网关十分重要,而且设计复杂,所以节点的增加会对性能有所影响。当前需要很多优秀的中间软件来让数据之间的交互性更强。以后的汽车网络要大力优化网络结构,对实现方式进一步理解。1.6 本文主要内容和结构安排 本文介绍CAN协议和LIN协议,并通过网关将CAN和LIN连接形成一个汽车网络的基本模型。这个网络模型有三类不同的网络:高速CAN、低速CAN、LIN。这三类网络之间的差别是传输数据的速度不同,因此用处也不一样。同时在这三类网络中间放置一个网关,可以保证不同网络之间的通信交流可以正常进行。本文主要结构如下:第1章 主要介绍了汽车网络出现的原因,介绍了几类不同的网络,了解了汽车网络的发展现状及趋势。第2章 就具体分析了CAN协议和LIN协议,介绍了它们各自的优点和传输方式,对这两种协议的数据帧着重介绍。第3章 设计出此次研究的汽车网络总体框架,介绍各个模块的功能以及这些功能将如何实现的。第4章 是汽车网络中网关的设计,先选择出网关的主控制芯片,设计出网关连接的CAN和LIN的三个接口电路,再介绍网关中通过软件对数据进行处理。第5章 介绍了高速CAN节点和低速CAN节点的功能,并设计出各自的电路原理图,最后介绍CAN节点的软件设计。第6章 介绍了LIN节点的功能,设计出电路原理图,最后介绍LIN节点的软件设计。第7章 主要是对此次设计的总结,还有将来可以改进的内容。2. CAN总线和LIN总线简介2.1 CAN总线技术 CAN是Controller Area Network(控制器局域网)的简称,是ISO国际标准化组织(Internation Organization for Standardization)标准化的串行通信协议。 CAN是多主机局域网,BOSCH公司研究CAN是为了在现代汽车上应用。由于CAN的优点突出且不贵,所以在工业自动化、多种控制设备、汽车、医疗仪器等领域得到了大量的应用。因此在我国控制器局域网的普及速度快,推广程度高。在1993年11月ISO发布了控制器局域网(CAN)的国际标准(ISO11898),为控制器局域网以后的发展奠定了基础。2.1.1 CAN的特点 CAN的特点如下:(1)CAN多主机控制,所有节点都能向其它节点主动发送数据,十分灵活。(2)CAN网络中的数据优先级取决于数据的类型,谁的优先级高,谁的数据首先发送。 (3)CAN利用非破坏性总线优先级仲裁技术。当总线上有多个节点要发送数据,高优先级的先发送,此时低优先级的暂停发送,等高优先级的发送完毕之后在发送低优先级的数据,避免了总线冲突。 (4)CAN传送接收数据的方式有点对点、一点对多点和全局广播,要完成这些方式必须要经过报文滤波。 (5)CAN的最远通信间隔为10km时的传输速度为5kb/s;最大传输速度为1Mb/s时的通信间隔为40m。(6)CAN总线上的驱动电路数量决定了节点数目,目前可达110个。(7)帧结构为短帧,传输的速度快,不容易受到干扰,容易检查出错误。(8)错误检测和标定,可以区分错误的永久性和暂时性。(9)CAN的通信介质可在双绞线、同轴电缆或光纤中选择。(10)CAN节点遇见错误严重会自动退出总线,避免其余节点受到影响。(11)CAN总线性能高,价钱低。2.1.2 CAN的分层结构数据链路层LCC接收滤波超载通知恢复管理MAC数据封装/拆装帧编码(填充/解除填充)媒体访问管理错误检测应答串行化/解除串行化 物理层PLS位编码/解码位定时同步PMA驱动器/接收器特性 MDI连接器总线故障管理(PLS-LME)错误界定(MAC-LME) 图2.1 数据链路层和物理层2.1.3 报文传输 CAN总线上用电平1代表隐性,电平0表示显性。当总线同时收到显性和隐性位时,表现为显性。 串行通信中用消息帧传输数据。数据在网络中之所以可以流通,就是将数据放入消息帧中,消息帧将数据传输到网络各处。所以消息帧中不仅含有数据,还要有数据的发送和接收地址、差错控制、同步等保障数据。这些数据在消息帧中排成由0和1组成的数据组,这些0和1的排列规则决定数据发送的先后顺序等。 CAN的消息帧根据传输数据的不同可分为五种,分别是数据帧、远程帧、错误帧、过载帧。 本文主要介绍一下数据帧的结构。 数据帧由帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结尾7个场域组成。 a)帧起始: 表示数据帧或远程帧的开始,在总线空闲的时候发送数据。帧起始只有一个单独的显性位。 b)仲裁场: 仲裁场记录了本帧数据身份的号码,这个号码决定了这个消息帧是数据帧还是远程帧,并说明本帧的优先等级和重要程度。 标准帧和扩展帧的仲裁场有所区别,标准帧的仲裁场由11 位标识符和RTR 位组成;扩展帧的仲裁场由29 位标识符、SRR位、标识符和RTR位组成。如图2.3所示图2.2 标准帧和扩展帧的仲裁场 标识符就是每一条报文的身份号码,它决定了这条报文的优先等级和重要程度等信息。 当RTR位的电平是显性位时,这个消息帧是数据帧;当RTR位的电平是隐性位时,这个消息帧是远程帧。 在扩展帧中SRR位的电平是隐性。 当IDE位的电平是隐性时,表明这个电位在扩展格式的仲裁场;当IDE位的电平是显性时,表明这个电位处于标准格式的控制场。 c)控制场: 控制场的作用是向要接受数据的节点说明这个帧的数据场的位数。 控制场由6个位组成,标准格式的控制场包括保留位r0和IDE以及数据长度码(DLC)其中IDE和r0是显性电平;扩展格式的控制场包括r0,r1以及DLC,其中r0和r1是隐性电平。DLC一共4位,用数字表示数据场的位数,如图2.4所示。图2.3 标准帧和扩展帧的数据场 d)数据场: 数据场由数据帧需要传输的数据组成,通常是08字节。 e)校验场: 校验场中有CRC序列和CRC界定符,用于校验数据在传输过程中的错误。 f)应答场: 应答场有两个位,一个位是应答间隙,另一个位是应答界定符位,发送节点发送时,为了让出总线这两个位都是隐性,接收节点作为在应答间隙发送两个显性电平。 g)帧结尾: 7个隐性位组成的标志序列表示数据帧或者远程帧的结束。2.1.4 报文滤波 报文的标识符代表报文的寻址内容。当CAN控制器接收到的信息的识别位跟验收滤波器的值相等,该信息才能被允许写入缓存区内。SJA1000中验收滤波器中的两个8位的寄存器(验收代码寄存器(ACR)和验收屏蔽寄存器(AMR)相配合工作,当ARM为0,ACR与之对应的位必需和CAN报文标识符的对应位一样才能被接受,当ARM为1时,CAN报文中对应的位就被屏蔽点,不用管显隐性,都能被接收。2.1.5 CAN的非破坏性按位仲裁规则 一般CAN总线上的数据发送顺序是依照发送时间来决定的。如果出现同时几个数据发送的情况,这时CAN采用非破坏的按位仲裁来决定发送的优先权。CAN总线上数据位的逻辑值有显性和隐性电平。当显性和隐性电平在总线上同时出现时,总线表现出显性的逻辑值,而隐性位自动退回,等总线空闲时再发送。也就是说,0比1的优先级高。 每个消息帧都有惟一的11位或29位的身份号码 ID。当多个节点同时发送数据时,总线采用按位仲裁来决定发送的优先权,避免发生冲突。比较对应ID号码的逻辑值,逻辑值越小,优先权就越高。在仲裁的过程中,发送数据的节点把总线的电平和自己标识符的ID相比较,采用的是按位仲裁,如果这一位相同,则继续比较下一位;如果不同,则此节点失去仲裁,暂停发送。仲裁场的标识符和RTR位参与了仲裁。具有不同标识符的两帧中,谁的逻辑电平低谁的优先级高。若具有相同标识符的数据帧和远程帧同时初始化,则比较RTR的电位,数据帧有较高的优先级。2.1.6 编码 位流编码就是将帧起始、仲裁域、控制域、数据域还有CRC序列用位填充的方法编码。 总的来说,位填充就是当持续5位是同样的电平时就在后面添加一个反型电位。假如消息帧连续出现5个隐性电位,就在后一位补充1个显性电平;假如连续出现5个显性电平,就在后一位补充1个隐性电平。如果在用位填充的消息帧的电位信号中连续出现超过5位一样的电平信号时,证明这个消息帧出现了错误。而那个补充的电位信号并不是真正要传输的数据,只是为了保证数据能够有效传输。在接收节点接收消息帧时,在SOFCRC段间碰到持续相同电平超过5位,则删除掉下一个补充电位。如果出现连续6个相同的电位,那么这个消息帧出错并发送错误帧。 2.2 LIN总线技术 局部连接网络LIN(Local Interconnect Network)是一种将简单,易于控制的设施接连起来的串行通信网络,用于完成汽车中的分布式电子系统控制,是一种辅助网络。2.2.1 LIN总线特点 LIN总线的数据格式为SCI(串行通信接口)/UART(常用异步接收/发送装置),拥有一个主机和多个从机。LIN在低端系统用于辅助CAN总线,用在不需要高速带宽和多功能的地方,诸如传感器和制动装置之间的通信使用LIN总线可大大节省成本。因此LIN总线在汽车行业中得到了大量使用。其特点如下:(1)单主/多从结构。(2)基于普通UART/SCI接口,所以硬件成本低。(3)确定的信号传输。(4)廉价的单总线结构。(5)速率可达20kb/s。(6)总线程度小于40米。(7)数据长度可以在08byte之间选择。(8)系统配置灵活。(9)故障节点的检测功能。(10)廉价的单片机器件。2.2.2 LIN的协议分层结构 依据OSI,LIN的结构分为物理层和数据链路层。物理层规定信号在总线上传输的方式,并定义自身驱动器/接收器特性;LIN协议的核心MAC(媒体访问控制子层)和LLC(逻辑链路控制子层)互相传输报文,MAC子层由故障界定这个管理实体监控;LLC有报文滤波和恢复管理的作用。2.2.3 主机和从机节点的功能 LIN网络中有主节点也有从节点,其中主节点只可以有一个,主节点能够执行一切任务,从节点只能执行它的从任务,它传输的信息由主节点控制。主节点可以给所有的从节点发送任务,由主控单元发送一个包含同步断点、同步字节、消息标识符的起始报文,在LIN从节点接收到这个报文后过滤掉消息标识符,开始从节点的工作并做出应答传输。该应答由包括2(或4、8)个字节数据和一个校验码,一个真正的报文帧由起始报文和应答报文组成。2.2.4 报文传输 总线上的逻辑电平有显性和隐性。表2.1所示:表2.1 逻辑和物理总线值逻辑值位值总线电压显性0地隐性1电池 报文帧格式是固定的,报文帧的长度是可变的。报文帧格式代表并控制着报文帧。每个报文帧包括数据和控制信息,其中数据为08byte,控制信息为3byte,也可以说主机节点发送的报头和主机或从机节点发送的响应构成了报文帧。其中,报头由同步间隔场、同步场和标识符场组成。响应由19个byte场组成,08byte的数据场和一个校验和场报文帧之间由帧间空间分隔。帧中响应空间把报头和响应分离开。 标识符描述数据的含义并代表报文内容,但不指出报文的目标节点,标识符的最大数量为64,其中4个标识符被留下来用作特殊报文帧(即2个命令帧和2个扩展帧)在完成专用通信。 LIN的节点数目的最大值不但受标识符数目的影响,而且收到总线的物理特性的影响。随着节点的增加,网络中的阻抗会随着增加,而阻抗的增加会导致通信出错,因此LIN网络的节点数目要低于16个。3. 汽车网络平台总体框架设计3.1 系统总体结构 本文的网络系统一共设计三个网络: LIN网络、高速 CAN网络和低速CAN网络。每个网络都设计了两个节点,其中LIN网络中设计了车灯节点和车门模块,属于A类网络;高速CAN网络设计了发动机控制节点和发动机状态显示模块,属于C类网络;低速CAN节点设计了控制台节点和报警显示模块,属于B类网络。 在具体工作中各个网络之间的数据需要相互共享,因而设计了一个CAN/LIN网关来完成三种网络之间的数据转发和协议转换,因为一个网关只能解决两种网络,所以网关包括两个子网关高速/低速CAN网关和低速CAN/LIN网关。图3.1 是系统框图。图3.1 系统框图3.2 系统功能的设计 网关是整个系统网络的关键,它实现了三种不同网络之间的数据转发和协议转换,使这三种网络之间可以进行数据共享和交换。 网关就是对数据进行储存,转发和协议转换的。每个节点把数据传输到网关,网关根据数据的目的网络的不同把数据储存到对应的缓冲区内,并把数据的协议转换成能够在指定网络上传送和被接收的协议。在协议转换的过程中采用报文ID的方式来确定数据的来源和目的地。这里为网关建立一个对应表,表中每个来源ID对应一个目的ID,把收到的数据ID对应着表查找对应的目的ID,就可以查到这个数据报文的目的地。 鉴于网关的工作环境和它要处理的数据,我们采用Atmel公司的AT91SAM7A3芯片作为网关的主控制芯片来实现数据的存储和协议转换。这个芯片的处理器是ARM7 TDMI内核的32位RISC,处理数据的速度快,效率高;拥有32K的RAM和256K的Flash,可以储存网关所接收到的数据。这个芯片集成了2个CAN控制器,可以处理CAN的所有数据类型。 在接口电路的设计上,高速/低速CAN的收发器分别使用CTM1050/CTM1054。LIN的收发器使用TJA1020,与主控制芯片接连的LIN接口调节成主机模式。 CAN节点的作用是把将要发送的数据改写成CAN的帧格式,把要接收的数据帧解析出来,其中的有用信息提炼出来并依据这个信息做出判别。 本文中CAN节点由ECU,收发器,控制器还有一些电路组成。ECU使用89C52单片机,控制器使用SJA1000,高速/低速CAN节点的收发器与网关中的一样,采用的是CTM1050/CTM1054收发器。 LIN从节点的作用是接收LIN主机发来的任务并做出响应,或根据主机的要求发送含有本节点信息。LIN节点只要一个收发器,实际上使用的是芯片的SCI/UART接口。本文LIN节点的ECU使用STC52,收发器使用TJA1020,并设计成从机模式。3.3 通信目标的实现 本文中,系统通信的具体表现为: A.发动机控制端将信号经过高速CAN网络发送到发动机状态端,完成发动机的启动和停止的动作。 B.发动机状态端从高速CAN网络上接收到控制端的信息,从而控制发动机的状态。当发动机的状态发生改变时,状态端把信息发送到总线上,发动机控制端和网关接收到此信息,网关又把此信息传输到低速CAN网络的报警台节点。 C.打开或关闭车门和车灯开关的信息是通过CAN控制台将信号传输到CAN/LIN网关,网关处理之后在传输到LIN节点上的。 D.LIN节点接收到主机节点的信号后做出相应的判断,当收到的信息是要发送本节点的状态时,便把本节点状态发送回主节点,主节点在把信息经过网关传输给低速CAN网络。 E.低速CAN的报警节点一直接收高速CAN网络中的发动机状态和LIN网络中的车门状态,根据两者的状态判断是否报警。如果发动机运行且车门是开的,那么报警台报警。4. 网关设计 网关是整个系统的核心,本文所讨论的网关的主要任务是解决汽车网络系统中不同类型的网络之间的数据存储及传输和协议的转换。4.1 网关总体设计高速CAN网络LIN网络低速CAN节点电路高速CAN节点电路主控制芯片LIN节点电路 本文中,网关连接了三个不同类型的网络,因而要有对应的三个接口电路传输这三个网络的数据,并依靠主控制芯片来完成数据的存储、转发和协议转换。图4.1是网关的总体框图。低速CAN网络图4.1 网关的总体框图 网关就是对数据进行储存,转发和协议转换的。每个节点把数据传输到网关,网关根据数据的目的网络的不同把数据储存到对应的缓存区内,并把数据的协议转换成能够在指定的网络上传送和被接收的协议。在协议转换的过程中采用报文ID的方式来确定数据的来源和目的地。这里为网关建立一个表,在表中数据帧的来源ID和目标ID逐一匹配,用接收到的数据报文的ID来查找表中对应的目的ID,就可以知道这个数据将要发送去的地方。4.2 网关电路设计 根据网关的总体框图设计图4.2的电路设计简图。硬件电路主要有4部分:主控制器,采用AT91SAM7A3;高速CAN节点,收发器CTM1050;低速CAN节点,收发器CTM1054;LIN节点,收发器TJA1020。选用的主控制芯片中包含2个CAN处理器,并分别和各自的收发器连接组成CAN节点,LIN收发器和主控制芯片的UART接口连接组成LIN节点。下面对这三个节点做具体的分析。图4.2 网关电路设计简图4.2.1 主控制器的选择网关的作用是快速正确的储存和处理数据,网关中最重要的是主控制器,因此网关处理数据的能力与主控制器的性能十分有关。主控制器还要缓存接收的数据,所以主控制器还要自己的内存。主控制器还要有一定的运算能力来对数据进行协议转换。鉴于网关的工作环境和它要处理的数据,我们采用Atmel公司的AT91SAM7A3芯片作为网关的主控制芯片来实现数据的存储和协议转换。这个芯片的处理器是ARM7 TDMI内核的32位RISC,处理数据的速度快,效率高;32K的RAM和256K的Flash对于网关中的数据储存和处理来说已经足够。这个芯片还集成了2个CAN控制器,可以处理CAN的所有数据类型。4.2.2 CAN接口电路 CAN节点电路主要由MCU、控制器和收发器组成。为了提高电路的抗干扰能力,还需要一个隔离电路在控制器和收发器之间起作用。隔离电路RDX信号隔离CAN控制器 TDXCANLCANHCAN收发器信号隔离电源隔离MCU 图4.3常用的CAN节点电路框架图 此次网关设计了高速CAN和低速CAN两个节点。因为汽车中存在电磁干扰现象,CAN收发器本身抗干扰能力不强,所以要加上隔离电路来增强电路的抗干扰能力。本设计高速CAN/低速CAN收发器采用 CTM系列的CTM1050和CTM1054的CAN收发器都在一个芯片上实现了电路隔离和CAN收发器的功能,简化的电路。 此次采用的主控制芯片内部有两个CAN控制器,而芯片本身可以作为处理数据的ECU。 高速CAN节点的收发器CTM1050的速度能达到1Mb/s,低速CAN节点的收发器CTM1054的速度能达到125Kb/s。 这里需要提醒的一点是:BOSCH的CAN协议对显性和隐性的电平没有做出硬性的规定,但是依据然而根据ISO11898的规则,高速/低速CAN的显性和隐性的电平表现值不同。图4.4是总线位的数值表示。 图4.4 总线位的数值表示 Vdiff=CAN_H-CAN_L可以区分出电平的显性和隐性。在高速CAN网络中,表示隐性位的Vdiff近似为0,表示显性位的值大于某个阈值电压。低速CAN网络中,Vdiff为负值时代表隐性位,Vdiff为正值时代表显性位。由于高速CAN和低速CAN中电平的值表示不同的显隐性,所以它们的网络拓扑结构也不同,如图4.5所示。(a) 高速CAN的拓扑结构 (b)低速CAN的拓扑结构图4.5 CAN网络拓扑结构 从图中能够看到高速CAN网络的两边要串联一个终端,这个终端为120的电阻。不考虑其他因素,一个高速CAN网络可以接连无限个节点,然而它的数目还是要考虑CAN收发器的物理特性的影响,数目受到限制,在以CTM1050为收发器的CAN网络中能够接连110个CAN节点。 在图中看出在CTM1054连接的网络中有两个电阻。低速网络中CAN节点的数目直接影响到电阻阻值。本文中低速CAN共有三个节点,故R1=R2=300。由于CTM1054收发器的物理特性的影响,低速CAN网络的连接的节点数目也受到一定的限制,最多接连32个CTM1054节点。4.2.3 LIN接口电路主机节点 LIN是一个局域串行总线网络的协议,成本低,可靠性高,它的节点由SCI/UART接口的单片机和一个收发器组成,如图4.6。LIN节点是有主从之分的,其中主节点只有一个,如图4.7所示。LIN总线LIN收发器UART主控制器从机节点从机节点从机节点 图4.6 LIN节点结构图 图4.7 LIN总线的拓扑结构 LIN的主节点决定数据发送的时刻,数据发送的发送者和接受者等决定性的问题。和主控制器连接的是主节点,包括主控制芯片的UART口和TJA1020收发器。 TJA1020波特率最高达20Kb/s,合乎LIN通信接口的要求。电路连接见图4.2部分,下表介绍接TJA1020的连接及引脚功能选择依据:表4.1 TJA1020的连接和引脚功能选择依据引脚名称符号连接连接依据1RXD89C52:RXD接收数据输出2NSLP89C52:P2.1睡眠控制输出(低电平有效)3NWALE通过10K电阻连接+12V电源本地唤醒输入(低电平有效):下降沿触发4TXD89C52:TXD发送数据输入5GND接地接地6LINLIN总线LIN总线输入/输出7BAT通过反向二极管再连接+12V电源电池电源8INH主节点通过串联二极管和电阻再与LIN引脚相连。从节点则没有控制外部电压调整期的电池的相应抑制输出4.3 网关软件实现 由于网关只能处理两个网络的协议转换,所以设计的网关分成两个子网关,分别处理高速/低速CAN网络和LIN/低速CAN网络的数据。数据传输的原理是数据从初始网络接口通过总线传输到主控制器的缓冲区中,再将数据发送到目的网络。根据原理设计出网关的逻辑结构图。如图4.8所示。 本文使用的主控制器AT91SAM7A3中含有BUF1BUF4四个缓冲区,从总线来的数据就写入在这里,并且它的起始和指向都被记录下来。主控制器中的监控程序不停地检测缓冲区中是否有数据储存进去,当检测到有数据存储时,就调用程序将数据发送到它的指定网络去。数据流向低速CAN总线BUF1BUF2BUF4BUF3低速CAN模块LIN总线模块高速CAN模块LIN总线高速CAN总线 当主控制器要接收数据时,采用中断接收的办法,停止目前的工作调用中断接收程序,将数据存储进对应的缓冲区中。图4.8 网关逻辑结构图 以下对网关工作所需要的主监控程序、数据的发送、数据的接收和网关的数据处理具体分析。4.3.1 主监控程序 主监控程序一直在检测主控制器中的缓存区的是否存入数据,一旦检测到主控制器把数据存到指定的缓存区时,就可以调用发送程序,将数据发送到目的网络。流程图如4.9所示。其中send1()和send4()是低速CAN的发送子程序,send2()是高速CAN的发送子程序,send3()是LIN的发送子程序。4.3.2 数据的发送 要把数据发送出去首先要查询总线是否被占用,选择在总线不被占用的情况下发送数据。把这次的数据发送出去之后要把之前的缓存区的参数初始化,然后主监控程序继续不停地检测缓存区是否有新的数据写入,重复上述步骤。图4.10是以高速CAN发送数据到低速CAN为例画出的流程图,其它的和这个类似。 从图中看到在发送数据到缓存区参数初始化这个过程中系统是不允许中断的,这是为了防止在接收数据时的中断影响了参数初始化,造成判断出错。4.3.3 数据接收 数据接收是把总线上的数据中有用的部分写入主控制器中相应的缓存区的过程。 本文中网关一共有三个接收子程序,处理高速/低速CAN和LIN这是三个网络的数据。数据接收采用的方式是中断再接收,停止目前的工作调用中断接收程序,将数据存储进对应的缓冲区中,因为三个接收程序处在三种网络下,所以对实时性的要求有所不同,中断的级别也因此有所差距。实时性要求越高,中断的等级也越高,这三种网络的实时性从高到低依次是高速CAN、低速CAN、LIN网络,中断的等级从高到低同上。当要接收一个数据时,芯片发生中断并调用对应的中断子程序,首先检查与之对应的缓存区是否已满,如果没有满,则把处理后的数据写入与之对应的缓存区,接着退出中断程序成功接收数据;如果满了,发出溢出错误标志。图4.11是低速CAN接收数据的流程图。图4.9 网关监控程序 图4.10 高速CAN向低速CAN发送数据的流程图4.3.4 网关的数据处理 数据处理包含节点对收到的数据进行协议转换,以及数据存储和转发。 协议转换,就是把将被写入缓存区的数据帧格式重新组装成能够在目的网络中传输并被接收的帧格式,再写入缓存区。本文含有两个子网关,所以具体的协议转换是高速CAN与低速CAN的帧格式转换和低速CAN与LIN的帧格式转换。 以高低速CAN协议转换为例,低速/LIN协议转换与之类似。把协议从高速CAN转换到低速CAN的过程中,主要关心帧ID和帧中的数据。帧ID表示数据的源头和去向,帧中的数据就是网关将要发送的数据。比如在缓存区BUF1中,要确定数据的去向,在BUF1中为帧ID建立一个发送ID可以和接收ID一一对应的路由映射表。当监控程序检测到BUF1有数据,就读取BUF1中数据的帧ID和数据,查询路由映射表,以接收ID发送数据。中断入口现场保护数据目的地BUF2满BUF3满 接收数据并处理,存入BUF3接收数据并处理,存入BUF2溢出错误处理恢复现场返回图4.11 低速CAN接收数据流程图5. CAN节点设计 本文的CAN节点设计了一个高速CAN和一个低速CAN。包含发动机控制端和发动机状态显示端组成了此次设计的高速CAN节点,控制台和报警台组成了低速CAN节点。它们在网络中的位置如图5.1。控制台报警台CAN接口CAN接口高速CAN总线CAN接口CAN接口CAN接口CAN接口高速CAN/低速CAN网关发动机状态发动机控制图5.1 CAN节点在网络中的位置5.1 CAN节点功能简介高速CAN节点主要的功能是模拟发动机控制和发动机状态显示端,控制发动机的启动和熄火,并且发动机的状态被发动机状态端一直监视,当发动机的状态发生了改

温馨提示

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

评论

0/150

提交评论