足球比分直播

基于RTOS的CANopen协议汽车车身应用分析.pdf

返回
基于RTOS的CANopen协议汽车车身应用分析.pdf_第1页
第1页 / 共72页
基于RTOS的CANopen协议汽车车身应用分析.pdf_第2页
第2页 / 共72页
基于RTOS的CANopen协议汽车车身应用分析.pdf_第3页
第3页 / 共72页
基于RTOS的CANopen协议汽车车身应用分析.pdf_第4页
第4页 / 共72页
基于RTOS的CANopen协议汽车车身应用分析.pdf_第5页
第5页 / 共72页
点击查看更多>>
资源描述:
Applied Research of CANopen Protocol for Autobody Based on RTOSAbstractCAN bus has been widely used as the means of communication among the automotiveelectronic control units,but the application layer protocol of CAN bus iS not unified.as onlythe physical layer and data link layer are defined in the specification of CAN bus.SO thedifferent automobile manufacturers may use different CAN application layer protocols intheir cars,which greatly damages the openness and connectivity of the Car buscommunication system, affects interchangeability and interoperability of the standardaccessories,as well as causes duplications of development efforts and wastes of resources.butalso hinder the development of automotive networking technologyseriously.As a standardprotocol of CAN application layer recommended by CiA,CANopen has been popularized inthe field of industrial automation.When CANopen protocol is applied to the autobodyCANbus communication network,the unification and standardization of the automobile CANnetwork application layer protocols Can be promoted.Whereas real time operating systemRTOSis involved to implement CANopen communication management and otherfunctional scheduler in consideration of the needs of improving real.time responsecharacteristics of the complex communications nodes.Based on the relevant investigation,}tC/OSII real-time operating system and CANopenprotocol have been analyzed indepth.The}tC/OS-II real-time operating system istransplantedto STM32 systemsuccessfully.MicroCANopen protocol stack is modified and improvedspecifically,and CANopen protocol is implemented on the p.C/OS.II operating system.Also,the CANopen communication framework for autobody network has been constructed.The experimental test system is built to verify the feasibility of the scheme andrationalizationof CANopen protocol implementation,which mainly includes the designof hardware andsoftware for autobodycommunication nodes,man.machine interface system based on¨C/GUIfor the central control node and the PC monitoring software based on LabVIEW.Inaddition,the message transmission of CANopen slave node and the message exchangebetween central control node and function nodes are tested,and the network load rate isanalyzed.The result proves that the applying of CANopen protocol to the autobodycommunication network is entirely feasible.The communication framework of CANopen protocol on automotive electronic controlunits based RTOS has been establishedsuccessfully.which lays the foundation of applying万方数据大连理工大学硕士学位论文CANopen protocol to the autobody communication system and is of important referencesignificance to the openess and standard unification of high-level protocol of autobody CANnetwork.Key WordsAutobody Communication;CANopen Protocol;Embedded OperatingSystem;Humanmachine Interface;LabVlEW..III..万方数据基于RTOS的CANopen协议汽车车身应用研究目 录摘 要..IAbstract.......................II1 绪论11.1 研究背景l1.2 CANopen的发展过程及研究现状..11.3嵌入式操作系统选择31.4研究重点和主要内容32操作系统及CANopen协议分析62.1 }tC/OS.II系统概述62.1.1 laC/OS.II体系结构62.1.2 ItC/OS.II任务管理72.1.3 laC/OS.II时间管理92.1.4任务之间的同步与通信92.2 CANopen协议分析1l2.2.1 CAN总线概述112.2.2 CANopen协议.1 22.2.3 MicroCANopen协议栈1 62.3本章小结.173 总体方案及协议设计1 83.1 车身通信系统总体方案.1 83.2 CANopen协议设计203.2.1 中央控制节点对象字典设计一2 13.2.2前车身节点对象字典设计..223.3本章小结.234实验测试平台构建244.1 车身通信节点硬件设计j244.1.1 MCU的选型244.1.2电源电路.254.1.3 晶振电路254.1.4复位电路一26一IV万方数据大连理工大学硕士学位论文4.1.5 JTAG调试接口电路264.1.6 串口通信电路一274.1.7 CAN通信电路284.1.8 TFTLCD液晶显示电路一294.2车身通信节点软件设计.304.2.1 I-tC/OS.II内核的移植与测试..304.2.2 gC/GUl人机交互界面实现3 14.2.3 CANopen软件实现.324.2.4软件系统总体流程一414.2.5软件系统实时性验证一424.3上位机监测软件开发.434.4本章小结.445 实验测试455.1从节点CANopen通信功能测试455.1.1心跳报文测试..465.1.2 NMT管理报文测试475.1.3 SDO访问对象字典测试.485.1.4 PDO数据传输测试.505.2中央控制节点与从节点通信功能测试.525.3总线负载率分析与测试.535.4本章小结.55结 论..56参考文献58附录A车身通信节点对象字典设计..611中央控制节点对象字典设计一612前车身节点对象字典设计一663后车身节点对象字典设计一68攻读硕士学位期间发表学术论文情况一70致 谢..7 1大连理工大学学位论文版权使用授权书一72万方数据大连理工大学硕士学位论文1 绪论1.1 研究背景现代汽车工业的发展与电子传感和计算机控制技术联系越来越密切,许多的电子控制单元已经应用到现代汽车当中。例如自动空调系统、ABS系统、电控车窗系统、车辆稳定控制系统、导航系统和仪表显示系统等,这些电子控制系统的应用提高了现代汽车行驶过程中的舒适性、安全性和便利性。但是,越来越多的智能控制单元应用到汽车当中,会使得汽车中各个功能单元间的通信变得非常复杂。若依然采用点对点单一布线方式,将使车内通信线路变得十分复杂,这就大大降低了车辆行驶的可靠性和稳定性Il】。所以,在汽车通信系统中引入总线设计已是一种普遍现象。到目前为止,汽车总线发展最好并且应用最多的当属CAN总线[21。然而,CAN总线协议仅仅定义了OSI七层参考模型中的物理层及数据链路层标准,不是十分完整。也就是说,若想顺利实现CAN总线通信,还必须选择合适的或者自己定义CAN总线的高层协议。各大汽车厂商都有自己的一套成型的CAN总线应用层协议,并不开放【3】。所以汽车电子产品供应商生产的每款产品都必须针对不同的汽车公司和车型分别进行通信协议部分的设计,产品的通用性比较差【41。另外,今后汽车行业的发展趋势必然是车联网方向,而这种CAN总线高层协议的不统一性将是车联网系统实现的主要障碍。这样的结果与CAN总线的设计初衷规范化化、简单化、标准化背道而驰。所以,建立汽车CAN总线统一的应用层协议,推动汽车行业CAN通信应用层协议的标准化、统一化就显得十分必要。另一方面,随着汽车电子智能化的不断发展,对车身控制系统的功能单元提出了更高的要求,不再只是完成简单的通信控制任务和单一功能实现。还需要对各种控制命令及传感信号进行实时分析处理并做出正确的执行动作,不同功能系统中的众多的数据信息需要实时共享,同时还必须具有一定的可扩展性。这就要求车身电子控制单元既能够处理大量的实时数据并且还要完成繁重的实时通信任务。很明显一般的微控制器裸机程序是很难在实时性和稳定性上满足要求的,而且通用性也不高。对于以上问题,汽车车身控制系统中应用嵌入式实时多任务操作系统是一个很好的解决办法。1.2 CANopen的发展过程及研究现状目前主流的CAN总线应用层协议主要有CANopen、DeviceNet、SAE J1939、CAL以及CAN Kingdom等【5l。其中在全球范围内应用最为广泛的当属CANopen和DeviceNet。万方数据基于RTOS的CANopen协议汽车车身应用研究1993年,在欧盟的资金支持下,由Bosch公司主导,CAN总线的应用层协议标准---CANopen协议被正式提出№j,并于2002年成为欧洲标准EN50325.4。CANopen作为一种真正开放的CAN总线高层协议,其允许各种类型的CAN总线设备以标准化的方式进行通信。自从制定后,CANopen协议就得到了行业的普遍认可,并且在国外已有很多方面的应用。CANopen已经在欧洲广泛应用于医疗设备和安保控制系统中【_7】;CANopen已成为美国工程机械以及交通运输车辆的总线标准,在机械制造、船舶、铁路、车辆等领域得到了广泛的应用瞵】。DeviceNet协议是Allen.Bradly公司推出的,专门为智能传感器和PLC研发设计。依靠该公司在变频器和可编程控制器方面的巨大优势,DeviceNet在PLC与现场设备间的通信网络应用中得到了很好的发展。但相较于CANopen,DeviceNet的定义更为严格、复杂,对物理层接口设备有严格的要求。DeviceNet规定报文交换基于连接方式,只有通信对象间建立了连接才能正确的完成报文传输,且协议并不是完全公开的,因此节点开发成本相对来说比较高。相比较而言,CANopen协议是完全开源的,对开发者来说协议授权完全是免费的,支持CANl.0基本和CAN2.0扩展协议,支持多种传输速率为20kbps、125kbps、500kbps、1Mbps。由于CANopen具有以上多种优点,所以本文选用CANopen协议作为汽车车身通信系统的高层协议。从1999年起,中国单片机实验室开始对研究推广CANopen标准。目前,国内已经在电池管理系统、风电控制系统、水处理行业以及列车通信网络中应用了CANopen协议[9.12】。目前国内在汽车车身通信控制网络中应用CANopen协议还处于起步研究阶段,而已有学者在这方面进行了相关的研究刘超在汽车仪表从节点中应用并实现了CANopen协议[13];张权赢,李洋将CANopen协议应用到了电动汽车车窗车门控制系统中[14,15];杨瑾将CANopen协议应用到了汽车电池管理系统中[9];张伟伟对汽车车身控制系统应用CANopen协议进行了研究【7]。国外CANopen协议应用于车身通信方面相对成熟一些,BOSCH和Cominental AG致力于将CANopen协议应用到汽车通信系统中,希望集成通用的硬件和软件模块,缩短新车上市准备时间。然而以上的研究工作都只是在某个局部车身通信部分进行了CANopen协议通信实现,并没有对车身通信系统CANopen通信进行整体规划和设计,另外其车身电子通信节点的设计也没有应用到嵌入式实时操作系统,所以稳定性、实时性和可扩展性并不高。万方数据大连理工大学硕士学位论文1.3嵌入式操作系统选择当今电子信息产业发展迅速,嵌入式系统的功能也变得越来越强大,实时性要求越来越高,需要处理的任务也越来越多,传统的单线程无操作系统的设计方案已经显得力不从心。所以,嵌入式实时操作系统I盯OS应运而生。嵌入式实时操作系统最主要的特征就是多个任务可以同时运行,主要是依靠CPU在多个任务之间调度、切换来实现的。也就是说,CPU只有一个,在某一特定的时刻其只能运行一个任务,但其可以轮番运行多个任务,这样看起来就好像CPU在同时运行多个任务一样。多任务运行的特征极大提高了CPU的利用率,并可以使程序模块化开发。在实际工程应用中,引入嵌入式操作系统,可以将大型的应用程序简单化、层次化,使应用程序的开发和维护都变得更加容易实现Il 61。到目前为止,市场上有不少嵌入式实时操作系统。例如 Windows Embedded、VxWorks、pSoS、VRTXsa、嵌入式Linux等,还有应用于平板电脑和智能手机的Android、iOS等。但上述的操作系统都需要以强大的硬件配置平台为基础,比如处理器速度要足够快,要有足够容量的RAM和ROM空间,无形中会增加成本,这对成本控制要求极高的汽车行业是不现实的。gC/OS.II是一个非常著名的可移植、可裁剪、可固化、占先式的嵌入式实时多任务操作系统,其源码是完全公开的。其内核可提供任务调度、任务管理、内存管理、时间管理以及任务之间的通信和同步等基本功能【17】。gC/OS.II特别适合于中小型嵌入式系统,具有占用空间小、执行效率高、实时性能好以及可扩展性强等优点。目前几乎可以应用到所有知名的CPU上。基于以上gC/OS.II的特点,本文选择I.tC/OS.II作为汽车车身通信控制节点的软件系统平台。1.4研究重点和主要内容如何在嵌入式操作系统gC/OS.II上实现汽车车身CANopen通信是本文的研究重点也是难点,这主要包括以下几部分内容1汽车车身各个节点间CANopen通信协议设计。2gC/OS.II操作系统在目标硬件平台上的裁剪和移植。3CANopen通信协议在gC/OS.II系统中的软件实现。4主节点或监测上位机对CANopen网络中从节点的参数配置和状态监测。针对以上问题,本文分别采取相应的方法来解决1根据实际情况,将车身系统划分为13个通信节点,对总体方案进行了设计,针对各个通信节点进行了对象字典编写和CANopen协议的设计。万方数据基于RTOS的CANopen协议汽车车身应用研究2根据汽车车身通信节点主控制器的特点和功能,对rtC/OS.II系统进行针对性的裁剪和移植。将对节点无用的功能去掉,有用的保留,以便使系统最简化而节约空间;根据主控制器的硬件结构进行必要的底层代码编写,使LtC/OS.II系统能够顺利运行在主控制器之上。此外,有的节点需要具有人机交互功能,所以必须添加相应的显示触摸功能,针对这一问题,本文利用pC/GUI图形支持系统开发了一套人机交互界面,后面会详细说明。3CANopen协议的软件实现有多种方法,购买现成的商业协议代码费用昂贵,自己编写协议代码周期太长,不利于初期开发。所以本文选择在现有的开源协议栈的基础上进行修改和完善,使其适合本系统的应用。本文所选的开源协议栈为MicroCANopen,后面会详细介绍其在}tC/OSII系统中的具体实现。4CANopen通信网络中的主节点或利用LabVIEW开发的监测上位机可以通过NMT网络管理、服务数据对象SDO和心跳报文来对从节点进行参数配置和状态监测。综合以上论述,论文的主要内容由以下5个部分组成第l章为绪论,主要介绍了研究背景、CANopen发展过程及研究现状、嵌入式操作系统选择以及本文的研究重点难点。第2章详细介绍了pC/OS.II系统的体系结构、内核实时性和任务调度机理;分析和研究了CAN总线协议及其高层协议CANopen,了解CAN总线的通信特点和优势,熟悉CANopen协议的设备模型,特别是对象字典和通信对象的功能和实现形式,对MicroCANopen协议栈进行了简单介绍。第3章深入分析汽车车身通信系统的实际需求和设备功能,并对汽车车身通信系统的总体方案进行设计。根据实际车身通信系统功能和CANopen协议特点,针对部分节点编写适合车身通信系统结构的CANopen协议。第4章主要进行了实验测试平台的构建基于STM32F103微控制器,进行车身通信节点的硬件电路设计;在STM32F103微控制器上裁剪移植嵌入式实时操作系统pC/OS.II,并针对中央控制节点进行了pC/GUI图形界面开发;在pC/OS.II系统上移植并修改了MicroCANopen协议栈,针对具体的通信节点进行了对象字典OD和通信对象SDO、PDO的编写;对系统软件的实时性进行了分析;基于LabVIEW开发上位机监测软件。第5章在实验测试平台基础上对车身通信从节点进行了CANopen通信对象传输测试,中央控制节点与从节点进行了实时通信功能测试,并利用LabVIEW开发的上位机万方数据大连理工大学硕士学位论文监测软件对通信过程进行了实时监测,最后对车身CANopen通信网络进行了总线负载率的理论分析和实验测试。万方数据基于RTOS的CANopen协议汽车车身应用研究2操作系统及CANopen协议分析2.1 pC/OS.II系统概述嵌入式实时操作系统I.tC/OS.II源于1992年Jean J.Labrosse编写的一个嵌入式多任务实时操作系统,专门为嵌入式系统应用而开发,1999年改写并正式命名为pC/OS.II。由于pC/OS.II操作系统具有足够的安全性和稳定性,所以其2000年被美国航空管理局Federal Aviation Administration认证,可在航天器等对安全性要求非常严苛的系统上运行【l 7]o IaC/OS.II系统中90%的代码用C语言编写,硬件相关部分则用汇编语言进行开发。只要针对目标CPU进行简单的修改和裁剪,用户就能够很容易地将laC/OS.II系统移植到所要开发的产品中去。2.1.1 UC/OS.II体系结构}_tC/OS.II是一个典型的微内核实时操作系统,也可以说gC/OS.II就是一个实时内核。图2.1所示为}tC/OS.II的体系结构图,整个系统的顶层为应用程序用户代码,每个任务都可看作是一个应用程序,当多任务系统运行时,可认为每个任务在特定时刻独占CPU的使用权,任务可以通过调用系统内核服务来实现切换、同步和通信。LtC/OS.II代码与处理器类型无关、I.tC/OS.II配置文件与应用程序相关以及移植laC/OS.II代码与处理器类型相关这3部分共同组成了pC/OS.II的内核。laC/OS.II代码提供系统内核基本的服务如任务管理、时间管理、内存管理等,ltC/OS.II配置文件用来配置系统运行时的基本参数,移植laC/OS.II代码部分与具体的CPU类型有关,需要根据不同的CPU类型来编写,这部分代码也是移植}tC/OS.II的重点和难点。虻OSII 此jOSII配置文件f与处理嚣类型无关代码 与应用程牟有关代码0S CORE.C OSq.COS FL6.C OS S姬.C OSCFG.HOS HBOX.C OS..TASK.C IXCLtD£S,H0S姬M.C OSJI跹.COS HUTEx.C 虻OS-I】.C虬,OSII.H墼壁硬件图2.I I_tC/OS.II的体系结构图Fig.2.1 System structure of laC/OSII万方数据
展开阅读全文
收藏
下载资源

加入会员免费下载





足球比分直播