毕业设计(论文)-基于CAN总线的电动汽车驱动控制系统的研究.doc_第1页
毕业设计(论文)-基于CAN总线的电动汽车驱动控制系统的研究.doc_第2页
毕业设计(论文)-基于CAN总线的电动汽车驱动控制系统的研究.doc_第3页
毕业设计(论文)-基于CAN总线的电动汽车驱动控制系统的研究.doc_第4页
毕业设计(论文)-基于CAN总线的电动汽车驱动控制系统的研究.doc_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

毕 业 设 计 (论文) 学生姓名: 学 号: P1202080607 所在学院: 机械与动力工程学院 专 业: 机械制造及其自动化 设计题目:基于CAN总线的电动汽车驱动控制系统的研究 指导教师: 2012 年 6月南京工业大学毕业设计基于 CAN 总线的电动汽车驱动系统的研究摘要:本课题是基于电动车研究的一个子项目,论文首先根据电动汽车对驱动系统的要求,提出了基于 CAN 总线的电动车驱动系统网络结构,其可作为一个单独模块连接到 CAN 主干网络上。在该结构中,驱动系统中各个控制单元通过 CAN 总线实现通信,它被称为节点。节点分为2个部分:监测节点和控制节点。电动车驱动系统通过这两个部分的多个节点实现电动车的电动机回馈驱动、电制动。其次,本论文设计了整个驱动系统 CAN 网络硬件电路。同时,为了使驱动系统中各个结点之间能够实现数据通信,本论文借鉴了 SAEJ1939 协议,制定了整个驱动系统 CAN 网应用层协议。该协议定义了系统中不同的数据类型、每个数据类型不同的优先级、每个数据的意义以及每个数据实现的不同功能。经分析,该协议能够满足系统的实时性要求,为 CAN 总线应用于电动车驱动系统提供了可能。再次,本论文对制动系统中各个监测节点做了深入的研究,设计了轮速监测节点、加速度节点、电流电压监测节点及各个节点的控制程序。最后,本论文建立了电动车驱动控制系统,并且该系统能够实现电动机的优化控制。电动车的发展在国内还处于初级阶段,CAN 总线在电动车的应用更是处于探索状态,本文研究了 CAN 总线在电动车上的应用,通过仿真模拟了电动车的模糊控制策略,为电动车研究进行了一次有益的探索。关键词:CAN 总线;电动汽车;驱动系统;模糊控制Study on EV Driving System Based on CAN BusAbstract: This paper is an important part of electric bus project, it has firstly present the structure of EV driving system based on CAN Bus through analyzing the requirement of the EV, which is viewed as a single module connected to the main network in EV. In this structure, the driving system communicated with other modules through the CAN bus, which is called as node. The node consists of two parts: detecting node and controlling node. The EV driving system realized the feedback control and electric braking etc by the two nodes. Secondly, the design of the CAN bus hardware circuit for the driving system was present. To realize the proper communication among all nodes, the higher level protocol of the CAN bus is given. The different data style, the different priority, datas meaning and the executed function were defined in that protocol. By analyzing, the protocol could meet the real-time requirements of the system. Which make the CAN buss application to the EV possible. Again, the monitor nodes in driving system are researched deeply in this paper; the wheel speed node、the accelerating node and the current and voltage node are designed and the design of controlling program is present. Finally, the method of the driving control was given. Under the given data about EV, the electric vehicles work was simulated by ADVISOR when the automobile speed and the traffic were different. We can see that the system can make the electric vehicle work properly. The electric vehicle is in the initial stage in our country, even more about the application to the electric vehicle; this paper makes the application to the EV researched, and simulates the work of the fuzzy-based electric control system, and makes the active attempt for CAN bus applied to the EV.Key words: CAN Bus; electric vehicle; driving system; fuzzy control南京工业大学毕业设计目 录第一章 绪 论11.1 CAN 总线网络在电动汽车上的应用11.2 CAN 总线技术概述11.2.1 车载网络技术的作用11.2.2 车载网络分类31.2.3 CAN 总线技术规范简介31.2.4 CAN 总线的特点41.3 本课题的主要研究工作及其现实意义51.3.1 论文的主要研究工作51.3.2 论文的意义6第二章 CAN 总线网络节点及报文设计62.1 CAN 总线网络节点硬件选择62.1.1 CAN 总线驱动控制系统主节点62.1.2 CAN 总线驱动控制系统子节点硬件选择72.1.3 抗干扰技术112.2 CAN 总线 2.0B 技术规范122.2.1 数据帧122.2.2 远程帧122.2.3 出错帧122.2.4 超载帧132.2.5 帧间空间132.3 CAN 总线网络协议的选择132.4 J1939 协议在 CAN 总线电驱动控制系统中的实现162.4.1 各个节点信息发送周期的选择162.4.2 优先级的选择172.4.3 节点地址的确定172.4.4 报文编码182.5 驱动系统 CAN 总线节点的软件设计182.5.1 初始化子程序192.5.2 发送子程序192.5.3 中断方式接收子程序202.6 本章小结21第三章 基于 CAN 总线电动汽车电驱动系统的总体设计223.1 电动汽车驱动系统研究现状与发展223.2 基于 CAN 总线电动汽车驱动系统网络拓扑结构223.3 驱动系统 CAN 网络的硬件设计243.3.1 CAN 总线驱动系统总线介质设定243.3.2 驱动系统总线速率的设定243.3.3 驱动系统各结点屏蔽器的设计243.4 CAN 总线驱动系统监测节点硬件设计263.4.1 轮速监测节点硬件设计263.4.2 加速度节点硬件设计293.4.3 电池监测管理模块设计303.5 本章小结31第四章 驱动系统控制策略及算法324.1 电驱动控制系统功能描述324.2 电驱动系统控制策略模型334.3 电驱动控制系统模糊控制策略研究364.3.1 模糊控制简介364.3.2 模糊控制原理及其控制系统组成364.3.3 基本模糊控制设计的方法374.3.4 模糊控制系统建模414.4 本章小结43第五章 结论与展望44参考文献45致 谢48III 南京工业大学毕业设计第一章 绪 论1.1 CAN 总线网络在电动汽车上的应用随着国内汽车消费市场的飞速发展,与汽车相关的高新技术伴随着全球新车同步上市的浪潮不断地涌向中国市场,在国家的大力支持下,中国汽车电子技术的自主创新能力不断增强,作为汽车电子关键技术之一的车载网络在关键技术上与全球同步发展1,2。目前与汽车动力、底盘和车身密切相关的车载网络主要有 CAN、LIN 和FlexRay。从全球车载网络的应用现状来看,通过 20 多年的发展,CAN 已成为目前全球产业化汽车应用车载网络的主流,目前 CAN 已由过去仅服务中、高级轿车,逐渐渗透到家用轿车之中,近两年在国内新下线的合资品牌轿车中全部都采用了 CAN 技术。从国内车载网络的发展来看,我们已掌握了 CAN 应用关键技术。在 2005 年9月18日国家“十五”重大科技成就展在北京海淀展览馆向社会公众所有展示的新能源汽车全采用了自主研发基于 CAN 的车载网络。在传统汽车方面,一汽在展会上展示了自主研发的大客车,在这辆大客车中安装有一汽车自主研发的 AMT,其中 AMT 控制器采用了自主研发基于 CAN 的车载网络,AMT 通过车载网络与车上的其他零部件进行信息交互。CAN车载网络的成功应用标志着自主研发的车载网络已深入到汽车动力系统之中。为了规范国内的车载网络,全国汽车标准化技术委员会在 2005 年开始持续在网上公布商用车控制系统局域网络 (CAN)通信协议系列国家标准征求意见稿,基于 CAN 的车载网络开始纳入标准化规范化管理,自主研发的车载网络正走向产业化进程。随着国内汽车电子的发展,一方面传统的零部件企业受市场竞争的驱动,急需利用电子信息技术改造传统的零部件,以借助车载网络提升其产品的性能;另一方面从事车载网络的研发单位需要在传统的汽车零部件行业中寻找合作者为车载网络提供载体,以进入相对封闭的汽车行业。1.2 CAN 总线技术概述1.2.1 车载网络技术的作用CAN 总线技术是德国 BOSCH 公司最初为了解决日益增长的线束问题,下图1.1 为传统的汽车控制网络图。后来逐渐演绎出另外一个重要功能,即优化汽车电子控制3,4。 图1.1 传统汽车控制网络布线图采用 CAN 总线网络技术的汽车控制网络如下图 1.2。图1.2 汽车CAN总线布线网络图目前,汽车电子控制已经从初期的“电子-机械替代”阶段过渡到“独立系统的精确量化反馈控制”阶段,并朝着“多目标综合控制和智能化控制”的方向发展,即把整体上相关、功能上相对独立而位置上分布安装的电子系统或装置组成一个协调控制的综合系统。为了实现多目标的优化控制,进一步全面提高汽车的整体性能,根据智能化的要求和综合协调控制的特点,综合控制系统将更多地依赖系统内、外部信息的获取,这要求互相独立的电子系统和装置间进行数据交换和信息传递6,7。因此,现代汽车采用网络技术解决分布式控制是一种必然,使用汽车网络不仅可以减少线束,而且能够提高各控制系统的运行可靠性,减少冗余的传感器及相应的软硬件配置,实现各子系统之间的资源共享,便于集中实现各子系统的在线故障诊断。网络化的电子系统现在已成为所有级别汽车中至关重要的部件。1.2.2 车载网络分类目前绝大多数车用总线都被 SAE 下属的汽车网络委员会划分为 A、B、C、D四类5。A 类:面向传感器/执行器控制的低速网络,数据传输位速率通常只有 1.10kbps。主要应用于电动门窗、座椅调节、灯光照明等控制。B 类:面向独立模块间数据共享的中速网络,位速率一般为 10-100kbps。主要应用于车辆信息中心、故障诊断、仪表显示、安全气囊等系统,以减少冗余的传感器和其他电子部件。C 类:面向高速、实时闭环控制的多路传输网,最高位速率可达 1Mbps,主要应用于悬架控制、牵引控制、先进发动机控制、ABS 等系统,以简化分布式控制和进一步减少车身线束。到目前为止,满足 C 类网要求的汽车控制局域网只有CAN 协议。D 类:是面向多媒体设备、高速数据流传输的高性能网络,位速率一般在 2Mb/s以上,主要用于 CD 播放机、VCD/DVD 播放机和液晶显示等设备。1.2.3 CAN 总线技术规范简介随着 CAN 总线应用的日益广泛,对其格式的标准化提出了要求。为此,在1991 年,Philips Semiconductors 制定并发布了 CAN 技术规范 2.0(包括 A、B 两部分)。此后,1993 年 11 月,ISO 正式颁布了道路交通运输工具数据信息交换高速通讯控制器局域网(CAN)国际标准 ISO 11898,为控制器局域网的标准化、规范化铺平了道路。CAN 的一些基本概念如下5: 报文:总线上的信息以不同格式的报文发送,但长度有限制。总线空闲时,任何一个节点可发送一个报文。 位速率:CAN 总线数据传输速率。在一个系统中,此速率唯一,并且是固定的。 优先权:总线访问期间,标识符定义了一个报文静态优先权。 远程数据请求:需要数据的节点发送一个远程请求帧,可要求其它节点向它发送数据帧。数据帧和相应的远程帧有相同的识别符。 仲裁:总线空闲时,任何节点可向总线发送数据。当两个或两个以上节点同时向总线发送数据时,优先级高的节点获得总线使用权,其它节点暂时退出发送,等待优先级高的节点发送完后,可继续发送。此仲裁由硬件自动控制。 总线值:总线上具有两种互补逻辑数值,“0”电平或“1”电平。 安全性:为了获得最安全的数据发送,CAN 的每一个结点均采取了强有力的措施以便与错误检测、错误标定、错误自检。CAN 总线分为数据链路层(包括逻辑链路控制子层 LLC 和媒体访问控制子层 MAC)和物理层。逻辑链路控制子层 LLC 设计报文滤波、过载通知以及恢复管理;媒体访问控制子层 MAC 是 CAN 协议的核心。它把接收到的报文提供给 LLC子层,并接受来自 LLC 子层的报文。MAC 子层负责报文分帧、仲裁、应答、错误检测和标定。物理层定义信号是如何实际地传输的,因此涉及位时间、位编码、同步的解释。CAN2.0B 技术规范没有定义物理层的驱动器/接收器特性,以便允许根据他们的应用,对发送媒体和信号电平进行优化。1.2.4 CAN 总线的特点CAN 属于总线式串行通信网络,由于采用了许多新技术以及独特的设计,与一般的通信相比,CAN 总线的数据通信具有突出的性能、可靠性、实时性和灵活性,其特点可以概括如下: 通讯方式灵活。CAN 为多主方式工作,网络上任一节点均可在任意时刻主动的向网络上其他节点发送信息,而不分主从且无需站点地址等节点信息。 CAN 网络上的节点信息分成不同的优先级,可满足不同的实时要求。 CAN 采用非破坏性总线仲裁技术,放多个节点同时向总线发送信息时,优先级较低的节点会主动的退出发送,而最高优先级的节点可不受影响的继续传输数据,从而大大节省总线冲突仲裁实践,尤其在网络负载很重的情况下也不会出现网络瘫痪情况。 CAN 只需要通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传达接受数据,无需专门的调度。 CAN 的直接通信距离最远可达 10KM(传输速率 5Kb/s 以下);通信速率最高可达 1Mb/s(此时通信距离最长为 40m)。 CAN 上的节点数主要取决于总线驱动电路,目前可达 110 个;报文标识符可达 2032 种(CAN2.0A),而扩展标准(CAN2.0B)的报文标识符几乎不受限制。 CAN 总线通讯格式采用短帧格式,传输时间短,受干扰概率低,具有极好的检错效果。每帧节数最多 8 个,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8B 也不会占用过长的总线时间,从而保证了通讯的实时性。 CAN 总线通信接口中集成了 CAN 协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等多项工作。 CAN 的没帧信息都有 CRC 校验及其他检错措施,保证了数据通信的可性。 CAN 的通信介质可为双绞线、同轴电缆或光纤,选择灵活。由于 CAN 为愈来愈多的不同领域所采用和推广,导致要求不同领域通信报文的标准化,为此,Philips Semiconductors 于 1991 年制定并发布了 CAN 技术(Version2.0)。该技术规范包括 A 和 B 两个部分。2.0A 给出了曾在 CAN11 技术规范版本1.2 中定义的 CAN 报文格式,而 2.0B 给出了标准的和扩展的两种报文格式。ISO于 1993 年颁布了道路交通运输工具数字信息交换高速通信控制器局部同CAN 国际标准(ISO1189)。CAN 技术规范 2.0A 和 2.0B 以及 CAN 国际标准ISO11898 是设计 CAN 应用系统的基本依据,也是应用设计工作的基本规范。1.3 本课题的主要研究工作及其现实意义1.3.1 论文的主要研究工作本课题在分析了 CAN 总线通信协议、通信器件以及电动汽车驱动系统的基础上,构建了基于 CAN 总线驱动控制系统。同时验证了电动汽车驱动系统控制策略。 本论文设定了整个 CAN 通信系统的物理介质,通讯速率,设计了驱动系统中各个监测节点的监测控制硬件电路和所有节点 CAN 总线通信接口电路。 本论文还参照 SAEJ1939 协议制定了电动汽车驱动系统的 CAN 应用层协议。在协议中,定义了各个节点的地址,各种数据的类型,以及每一个数据所代表的意义。同时,根据整个系统各个节点的发送数据周期和 CAN 的通信速率,分析了系统的实时性和总线占有率。 本论文通过对驱动系统中监测节点的功能的研究,设计了各个监测节点的硬件电路和程序。 本论文还构建了驱动控制系统模糊控制策略。1.3.2 论文的意义本论文将 CAN 总线引入到电动车驱动系统中,CAN 总线因其抗干扰性强,布线简单,传输速率快,解决了原有导线连接带来的接线复杂,占用汽车空间,易受电磁干扰的问题,使驱动系统更加安全可靠,跨入了总线控制的先进车载控制行列。第二章 CAN 总线网络节点及报文设计2.1 CAN 总线网络节点硬件选择CAN 总线电动汽车驱动控制系统采用广播模式,即子节点的报文只有主节点接受(点对点模式),主节点的报文所有子结点均接受。CAN 总线物理总线采用双绞线。CAN 总线驱动控制系统组成及其整车布置如图 2.1 所示。图2.1 CAN总线驱动系统布置图CAN 总线可连接很多个节点,本文 CAN 总线驱动控制系统中,设置主节点、电池监测模块节点、电机状态监测节点。根据需要,可以扩充 CAN 总线节点,方便驱动系统后续开发,并实现与整车通讯。2.1.1 CAN 总线驱动控制系统主节点通用控制器中设置一个双 CAN 模块,作为 CAN 总线控制系统的主节点。双CAN 模块包括两个独立运行的或通过网管功能交换数据和远程帧的全 CAN 功能节点。CAN 帧的发送和接受的处理符合 CAN 规范 V2.0B。两个全 CAN 节点中的每一个都能接受和发送带 11 位标识符的标准帧和带 29 位标识符的扩展帧。两个 CAN 节点共享双 CAN 模块的资源,目的是优化 CAN 总线的传输,尽量减少 CPU 的负荷。全 CAN 功能和 FIFO(先进先出)的灵活结合结构减少了为现在复杂嵌入式控制应用中实时要求的努力。CAN 总线监控功能的改进和报文对象数目的增加使得 CAN 总线进行更准确、更方便的数据传输,常用的是双 CAN 控制器19,20。双 CAN模块的特点如下: CAN 功能符合 CAN 规范 V2.0 协议。 每一个 CAN 节点都有专门的控制寄存器。 数据收发速率最高达 1Mbps。 具有灵活和强大的报文传送控制和错误处理功能。 全 CAN 功能:32 个报文对象可以被分别地:分配到两个CAN节点中的一个;设置为发送和接收对象;以 FIFO 算法使用 2、4、8、16或32。报文缓冲区;设置为处理带 11 位或 29 位标识符的帧;具有可编程的用于滤波的接受屏蔽寄存器;受帧计数器监视;可设置为远程监控模式。 最多有8个单独的可编程中断节点可以使用。 具有用做总线监视的 CAN 分析模式。独立双 CAN 器件可以应用在要求一个或两个独立的CAN节点的地方。内置FIFO 和网关特性可以最大限度地减少CPU对处理报文的负担,以改善实时操作能力。对内部寄存器的访问可以通过并行或串行接口进行,以适应应用领域的多样化。可连接的节点比一个独立的 CAN 节点多一倍,方便后续开发其他的控制功能。2.1.2 CAN 总线驱动控制系统子节点硬件选择CAN 总线各个节点的硬件直接影响到网络通讯的实时性、准确性等车辆整体的控制性能。而且随着 CAN 总线网络系统在汽车领域的普及,其价格也必将予以考虑22,23,24。考虑到各个节点硬件间的兼容性及性能,本系统选择 PHILIPS 公司推出的独立CAN通信控制器 SJA1000 作为节点控制器,采用 Philip 公司生产的驱动芯片 TJA1040作为CAN收发器,采用AT89C52单片机作为CAN 节点微控制器。 独立 CAN 控制器 SJA1000SJA1000 是 Philips 公司退出的独立 CAN 通信控制器,可用于汽车和工业现场环境。SJA1000 增加了可编程的操作模式选择BasicCAN 模式和 PeliCAN 模式,PeliCAN 模式支持 CAN2.0B 协议,并增加了新的特性。本系统选用了 PeliCAN工作模式。SJA1000 的管脚如图 2.3。 高速 CAN 收发器 TJA1040收发器采用 Philip 公司生产的驱动芯片 TJA1040,与 CAN 控制器 SJA1000是同一家公司生产,硬件和软件两方面的兼容性都很好。TJA1040 是控制器局域网协议控制器和物理总线之间的接口,速度可高达 1Mb/s。TJA1040 具有优秀的 EMC 性能,而且在不上电情况下有理想的无源性能,还提供低功耗管理,支持远程唤醒等。具体特点如下:1) 完全符合 ISO11898 标准;2) 速度高(高达 1Mb/s);3) 电磁辐射(EMC)非常低;4) 差动接收器具有较宽的共模范畴,可抗电磁干扰(EMI);5) 处于不上电状态的收发器会从总线上脱离;6) 输入级符合 3.3 和 5V 的器件;7) 如果使用分裂终端,电压源可以稳定隐性总线电平;8) 至少可以连接 110 个节点;9) 消耗电流极低的待机模式,具有通过总线唤醒功能;10) 发送数据(TXD)显性超时功能;11) 在汽车瞬态环境下,对总线引脚起保护作用;12) 引脚 SPLIT 对总线 DC 稳压很有效;13) 热保护功能; 节点微控制器单片机 AT89S52目前来说,一般的工业监测、控制应用领域中 8 位机占有很大份额。而MCS51 系列单片机市工业监测、控制应用领域中最理想的 8 位机,特别适合适用于实时控制、智能仪表、主从结构的多机系统等领域。本系统采用 ATMEL 公司上产的 AT89S52 单片机。AT89S52 是一种高性价比的单片机,其主要性能如下:1)与 MCS-51 产品兼容的 8 位机;2)256 字节片内数据存储器 RAM,用以存放可以读写的数据;3)8K 的片内 FlashROM,可以擦写 1000 次;4)4 个 8 位并行 I/O 接口,P0-P3,每个口可以用作输入输出;5)一个全双工的串行口,可以实现单片机与其他 PC 机的串行通讯;6)8 个中断源,6 个中断矢量,2 个优先级中断;7)有空闲和掉电两种模式;8)多种的封装形式;+5V 电源供电。从上述的特点看,AT89C52 单片机集成度高、资源丰富、功能强大、和容易产品化,性价比高,是很理想的一款单片机。引脚功能如下:GND电源地VCC电源 +4.0V5.5VXTAL1外界晶振的一个引脚XTAL2外界晶振的一个引脚P0.0P0.78 位总线 I/O 口和并行总线复用口;普通 I/O 口,此时 P0 是开漏结构的 8 位准双向口,必须外界上拉电阻,做输出时,每个端口可待 8 个 TTL 负载,向 P0 的端口锁存器写 1,可将该端口置为高阻输入。并行总线(AD0AD7),此时 P0 是内部带上拉的三态双向口,在外扩程序/数据存储器时,作低 8 位输出和数据输入/输出。FlashROM 并行编程/校验数据口(D0D7)。此时对片内 Flash ROM 编程/校验时,接收/输出代码字节。程序校验时,必须外界上拉电阻。P1.0P1.7内部带上拉电阻的 8 位准双向口,每个端口可带 4 个 TTL 负载;向 P1 的端口锁存器写 1,可将该端口置为高阻输入。在 FlashROM 并行编程/校验时,P1 为低 8 位地址(A0A7)。其 P1.0、P1.1、P1.5、P1.7 口具有第二功能。(P1.0:T2 定时/计数器,T2的外部技术输入,时钟输出;P1.1:T2EX 定时/计数器,T2 捕获/再装入触发和方向控制;P1.5:MOSI 在系统串行编程 ISP 的指令输入;P1.6:MISO 在系统串行编程 ISP 的数据输出;P1.7:SCK 在系统串行编程 ISP 的时钟输入)。P2.0P2.78 位普通 I/O 口,此时 P2 是内部带上拉电阻的 8 位准双向口,每个端口可带 4 个 TTL 负载;向 P2 口的端口锁存器写 1,可将该端口置为高祖输入;并行总线(A8A15)外扩程序/数据存储器时,做高 8 位地址输出。RXD信号串行接收端TXD信号串行发送段11INT0外部中断 0 请求端INT1外部中断 1 请求端T0定时/计数器 0 外部计数输入端T1定时/计数器 1 外部计数输入端/WR外部数据写选通信号输出端/RD外部数据读选通信号输出端RST复位信号输入端,高电平有效ALE/PROG地址锁存使能端。访问外部存储器时,ALE 负跳变时存储器锁存低 8 位地址;/PROG Flash ROM 并行编程时的编程脉冲输入端PSEN外部程序存储器读选通信号输出端EA/VPP/EA 片内/片外程序存储器选择端。EA 为高电平,先从片内程序存储器开始执行;VPP Flash ROM 并行编程时的电压输入At89S52 与 SJA1000 连接如图 2.2 所示。图2.2 节点连接图节点设计电路图如下图 2.3所示。图2.3 节点设计电路2.1.3 抗干扰技术 开关量输入、输出软件的抗干扰措施,当控制系统存在输入干扰,可以采用软件重复监测的方法,已达到“去伪存真”的目的。对接口中的输入信息进行多次检测,只有当检测结果完全一致,才认为输入正确。开关量输出软件的抗干扰设计,主要是采取重复输出的方法。对于那些用锁存器输出的控制信号,这些措施很有必要。 “看门狗”技术,CPU 受到干扰而失控,引起程序跑飞和“死循环”。程序监视技术(又称“看门狗”技术)即不断监视程序循环运行的时间,若发现时间超出已知的循环时间,则认为系统陷入了“死循环”,然后强制复位。2.2 CAN 总线 2.0B 技术规范CAN 总线 2.0B 技术规范给出了标准格式和扩展格式两种报文格式25,26在 CAN 2.0B 协议中,定义了两种不同帧格式,其区别在于标识符的长度:具有 11 位标识符的标准帧和具有 29 位标识符的扩展帧。无论标准帧还是扩展帧都有四种不同的帧类型表示报文的传送,分别是:数据帧、远程帧、出错帧和超载帧。2.2.1 数据帧数据帧由 7 个不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结束。 帧起始:标志数据帧的开始,仅有一个“显性”位构成。 仲裁场:标准格式中,仲裁场由 11 位标识符和远程发送请求位(RTR组成,标识符位为 ID28ID18;在扩展格式中,仲裁场由 29 位标识符、替代远程发送位(SRR)、标识位(IDE)和远程发送请求位组成。标识符位为 ID28ID0。 控制场:控制场由 6 位组成。标准格式中,控制场由 4 位数据长度码(DLC3.DLC0)、发送“显性”电平的 IDE 位和保留位 r0 组成;扩展格式中,控制场由4位数据长度码和两个保留位 r0、r1 组成,且这两个保留位都是“显性”电平。 数据场:数据场由数据帧中被发送的数据组成。包括 08 个字节,每个字节包括 8 位,首先发送最高有效位。 CRC 场:包括 CRC 序列,后随 CRC 界定符(只包含一个“隐性”位)。 应答场:应答场由两位组成,分别为应答间隙和应答界定符。在应答场中发送站送出两个“隐性”位。正确地接收到报文的接收器,在应答间隙间,发送一个下“显性”位报告给发送器。 结束帧:由 7 个“隐性”位组成。2.2.2 远程帧远程帧的作用是初始化各自源节点。远程帧存在标准格式和扩展格式两种。两种格式的远程帧均有 6 个不同的位场组成:帧起始、仲裁场、控制场、CRC 场、应答场、结束帧。同数据帧不同的是,远程帧 RTR 位为隐性,并且远程帧不存在数据场。2.2.3 出错帧出错帧由两个不同位场组成,第一个位场由各站点错误标志的叠加组成,后随的第二个位场是出错界定符。一个监测到出错条件的“错误认可”站试图发送一个认可惜误标志进行标注。该“错误认可”站自认可错误标志为起点等待 6 个相同极性的连续位。当检测到 6 个相同性后,认可错误标志即告完成。出错界定符包括 8 个“隐性”位。错误标志发送后,每个站都送出“隐性”位,并监视总线,直至检测到“隐性”位。此后,开始发送剩余的 7 个“隐性”位。2.2.4 超载帧超载帧包括两个位场:超载标志和超载界定符。超载标志由 6 个“显性”位组成。全部形式对应于活动错误标志形式。超载界定符由 8 个“隐位”组成。2.2.5 帧间空间帧间空间包括间歇场和总线空现场。间歇场由 3 个“隐性”位组成。总线空现场由 8 个“隐性”位组成。2.3 CAN 总线网络协议的选择CAN2.0B 协议只是对 CAN 总线的物理层和数据链路层进行了定义,而在实际应用过程中,必须根据用户的实际需要制定出响应的应用层协议。以 CAN2.0B 为基础的 SAE J1939 协议定义了适用于客车和货车的应用层协议,通过研究SAEJ1939 协议,并在此基础上设计适用于驱动系统的应用层协议,对提高我国汽车行业自主知识产权有着十分重要的意27,28,29。J1939 是一种支持闭环控制的在多个 ECU 之间高速通信的网络协议。它以CAN2.0 为网络核心,介绍了 CAN2.0 的标准和扩展格式,及 J1939 协议所定义的格式。J1939 协议具有如下特点: 以 CAN2.0B 协议为基础,物理层标准与 ISO11898 规范兼容并采用符合该规范的 CAN 控制器及收发器。通讯速率最高可达到 250Kbps。 采用 PDU(协议数据单元)传送信息,每个 PDU 相当于 CAN 协议中的一帧。由于每个 CAN 帧最多可传输 8 个字节数据,因此 PDU 的传输具有很高的实时性。 利用 CAN2.0B 扩展帧格式的 29 位标识符定义每一个 PDU 的含义以及该PDU 的优先级。 J1939 协议主要作为汽车中应用的通讯协议,对汽车中应用到的各类参数都进行了规定。参数的规定符合 ISO1992 标准。J1939 协议是 CAN2.0B 协议为基础制定的,它利用 CAN 协议的扩展帧格式中的 29 位标示符实现了一个完整的网络定义。表 2.1 给出了 J1939 的一个协议报文单元的具体格式。表 2.1由表 3.1 可以看出,CAN 和 J1939 通讯协议的区别在于 29 位标识符。J1939数据场与 CAN 数据场是相同的,只是 J1939 将 CAN 的 29 位标识符做了物理定义,同时制定了相应的数据定义。CAN 扩展格式转变为 J1939 是通过协议数据单元(PDUProtocol Data Unit)来实施和封装的。每个报文的 PDU 由 7 个部分组成。其结构为:(P,R,DP,PF,PS,SA,DATA)。PDU 的实际意义就是:CAN的 29 位标识符加上数据。其意义具体解释如下:1) 优先权(P):29 位标识符中的前 3 位被用来在仲裁过程中决定信息的优先级,优先级共分为 8 级。优先权从 07 依次降低,前 3 位的值为 000 的信息具有最高的优先级。一般面向控制的优先级为 3 级,面向数据的优先级为 6 级。对每类信息而言,优先级是可编程的,这样设备制造商在需要时可以对网络进行调整。2) 保留位(R):标识符的下面一位 R 是保留位。发送的信息中这一位必须被设置为 0。此为特留 SAE 将来开发使用。3) 数据页(DP):数据页(DP)为 1 个位,其值可以为 0 和 1,用来做数据页的选择。数据页用于扩展的参数组,目前定义的参数组数(PGN)大部分定义在 0 页,而页 1 为将来扩展提供了可能。4) PDU 格式(PF):PDU 用于决定分配到数据域的参数数组(PGN),有两种特定的标识不同的参数 PDU 格式:即 PDU1 和 PDU2。PDU1 格式可用于传递CAN 数据帧到特定的目标地址(DA),即某个 ECU;PDU2 用于将 CAN 数据帧传递到一个扩展参数组(GE),即不是一个特定的地址。5) 特定 PDU(PS):PS 的定义取决于 PDU 格式 PF。如果 PF 的值介于 023(9PDU1)之间,则 PS 包含的是目标地址(DA);如果 PF 值介于 240255(PDU2)之间,则 PS 包含的是 PF 的扩展组 GE。在实际应用中,PS 要根据 PF 的定义情况要么定义为目标地址 DA,要么定义为扩展组 GE。PS 是由生产厂商自己制定的。J1939 的大多数信息是使用 PDU2 的广播信息,网络中用 PDU2 格式传送的信息是不能定向到某个特定的 ECU 的,当一条信息必须定向到某个特定 ECU 时,就一定要在 PDU1 格式的范围之内为它分配一个参数组编号,这样特定的目的地址就可以被放到该信息的标识符中。6) 源地址(SA):源地址(8 位)是发送信息的 ECU 的地址。对于一个特定的网络,所有地址都必须是唯一的(最多 254 个),这就确保了 CAN 表示符的唯一性。两个不同的 ECU 不可以同时使用同一个地址。参数组编号是与源地址无关的,这就使任何 ECU 都可以发送任何信息。7) 数据场(DF):每个信息帧有 8 个数据字节,数据场的第一个字节从 1 开始作为报文的序号,所以,可以发送最大字节总数为 25571785 个,当字节大于 8 时则用多个信息帧发送,当传递速率大于 10 次/s 时,则不允许多帧发送。综上所述,保留位 R、数据页位 DP、PDU 格式 PF 和 PDU 特定 PS 一起定义了参数组 PGN,即 PGN(PGN=(R,D P,PF ,P S)。PDU 可由 PGN、优先权 P,源地址SA 和 DATA 来封装。J1939/71 定义了车辆控制的各种参数及命令的 PGN。由于保留位 R 一般定义为 0,数据页 DP 一般定义在 0 页(DP=O),所以 PGN 实际上是将PF, PS 进行组合,PGN 可用公式表达为:PGN=PF256+PS。当 PS 取目标地址(DA)时,则 PS=O;PS 取扩展组(GE)时,则 PS=GE。AN 控制器的 29 位标识符实际上是由 PGN、P、SA 三部分组成的,所以PDU 格式中主要的两个参数是参数组数 PGN 和源地址 SA。PGN 用来识别或标识命令、数据、某些请求、应答、负应答等,用来定义传输的命令、信息、格式及编码等参数。PGN 有时要求一个以上的 CAN 数据帧来发送。2.4 J1939 协议在 CAN 总线电驱动控制系统中的实现CAN 总线电驱动控制系统需要通信的节点有:主节点、车速传感器、电磁监测模块传感器、驾驶员操纵系统(转向、制动、加速等)传感器。本系统 CAN 报文的发送和接受采用广播格式。根据 CAN 总线驱动控制系统信息流量的要求,通信流量设定为 250Kb/s,最大传输距离可达到 270m,能够满足电驱动控制系统的要求。本系统控制信息报文设置及其与各个节点的发送/接收关系见表 2.2。表2.22.4.1 各个节点信息发送周期的选择各信息帧的发送频率主要取决于信息报文内容的重要程度和信息量的更新程度。车速、加速度、制动信息报文要求实时性较高,含有该内容的信息报文的频率应该高一些;而电池监测和转向要求实时性较低,所以该内容的信息报文的频率应该低些。具体信息报文频率则根据响应信息量的变化时间来确定。所有信息频率的确定要以总线的位频率为基础。以免频率过高加重总线负载。信息频率确定原则是:在满足驱动系统控制的前提下,尽量选择低频率。设定的总线周期如表 2.3 所示。表2.32.4.2 优先级的选择CAN 总线驱动控制系统是以 J1939 协议为基础设计的,由于总线采用料多主竞争方式,所有节点只有检测到总线空闲时才能够发送报文。当两个或两个以上节点同时向总线发送报文时,需要考虑哪个信息内容更重要,更紧迫。需要在报文发送时确定报文发送的优先级,只有具有较高优先权帧的节点才能在总线竞争中获得总线占有权,成为总线主站,发送报文。而其他节点则退出发送,重新检测到下一次总线空闲并能成为总线主站时,才能发送其报文。优先权机制保证了多个节点同时发送造成总线冲突,保证总线数据传输的实时性。优先权定义位于 CAN 帧的 11 位标识符的前 3 位,共分为 8 级,从 07,优先权依次降低。确定信息的优先权,不仅需要考虑各节点的信息重要性,并且考虑到该节点的频率周期。高优先权的节点一般为需要实时传输的控制信息和报警信息使用。此系统中,主节点优先级设置最高。对于频率较高的信息,其优先级要低些,反之,频率较高的信息,优先级要高,以免使得出现频率较低的信息占不到总线。本系统各个节点优先级设置见表 2.4。表 2.42.4.3 节点地址的确定节点的地址唯一表明了整体网络中的一个地址智能对应一个节点,而一个节点可以根据需要有多个地址,以便可以接收多个节点信息。地址表明了每个信息发送的源地址和目标地址。节点地址选择的原则: 尽可能地选用“控制及通信小组委员会”推荐的优先地址。选择使用优先推荐的地址,可以将多个设备试图要求同一地址的可能性降低到最低程度。 不选用委员会已经推荐给某个设备的优先地址。对于 J1939 协议中已经分配给某个设备的地址,尽可能地避开,以避免两个设备混用一个地址现象的发生。 选择地址时,按照设备的重要性,从小到大依次排列。 尽可能避开 SAE 有可能保留其他作用的地址。本驱动控制系统节点位置设定见表 2.5。在实际应用中,节点地址是由生产厂家确定的,本系统中假定地址各节点地址为 6267。表2.52.4.4 报文编码确定了个节点优先权、通讯方式和源地址之后,可以制定 CAN 总线驱动控制系统个结点信息帧编码。CAN 总线驱动控制系统各个节点的优先权(P)、保留位(R)、页数(DP)、PDU 格式(PF)、PDU 特指(PS)、源地址(SA)见表 2.6。表 2.62.5 驱动系统 CAN 总线节点的软件设计CAN 总线节点的软件设计主要包括三大部分 CAN 节点初始化,报文发送和报文接受三部分。2.5.1 初始化子程序SJA1000 的初始化只有在复位模式下才可以进行初始化,主要包括工作方式的设置、接受滤波方式的设置、接受屏蔽寄存器 AMR、接受代码寄存器 ACR 的设置、波特率参数设置、中断允许寄存器 IER 的设置等。下面提供 SJA1000 初始化程序流程图,如图 2.4 所示。图2.4初始化程序流程图2.5.2 发送子程序发送子程序负责节点报文的发送。发送时用户只需将待发送的数据送入SJA1000 发送缓存区,然后启动发送即可。当然在往 SJA1000 发送缓存区送报文之前必须先作一些判断,判断 CAN 控制器是否正在被其他的功能占用。设计的发送子程序如图 2.5 所示。图2.5 发送子程序流程图2.5.3 中断方式接收子程序接收子程序负责节点报文的接受以及其他情况处理。接受子程序比发送子程序要复杂一些因为在处理接收报文的过程中,同时要对诸如总线脱离、错误报警、接受溢出等情况进行处理。JA1000 报文的接收主要有两种方式中断接收方

温馨提示

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

评论

0/150

提交评论