访问电脑版页面

导航:老古开发网手机版其他

基于Lab Windows CVI的汽车CAN总线仿真节点开发

导读:
关键字:

基于Lab Windows CVI的汽车CAN总线仿真节点开发


长安汽车集团 周林
摘 要:CAN总线作为一种多主总线,支持分布式实时控制的通信网络。其最大优点是减少了线束的数量和控制器接口的引脚数,与此同时可以更简单、迅速地实现在线编程和在线诊断,甚至多个控制器共同作用等新功能。它已经作为汽车的一种标准设备列入汽车的整体设计中。Lab Windows CVI软件开发提供了对虚拟仪器的支持,并具有各种测试、通信、控制和数值分析的能力。利用虚拟技术不仅可以对各种车型CAN总线的电气仪表和节点进行仿真,以降低研发成本,提高工作效能,还能在整车电气系统检测中开发适合自身特点且灵活性强的检测系统。
关键词:CAN总线;Lab Windows CVI;虚拟仪器,

引言
---1.CAN总线技术在汽车领域的应用概况
---CAN总线作为一种多主总线,支持分布式实时控制的通信网络。在汽车发动机控制部件、传感器、抗滑系统中都有广泛的应用。其最大优点是减少了线束的数量和控制器接口的引脚数,同时可以更简单、迅速地实现在线编程和在线诊断,甚至多个控制器共同作用等新功能。与一般的通信总线相比,CAN总线的数据通信具有更为突出的可靠性、实时性和灵活性。
---对于CAN在汽车上的应用,如今已经有很多行业标准或国际标准,比如国际标准化组织(International Organization for Standardization)的ISO 11992、ISO 11783及汽车工程协会(Society of Automotive Engineers)的SAE J1939。CAN总线已经作为汽车的一种标准设备列入汽车的整体设计中。目前,除了奔驰、宝马、奥迪等高档轿车外,CAN总线技术也在像大众POLO、丰田新款“花冠”、福特嘉年华等中档车中得到了广泛的应用。
---2.Lab Windows CVI软件开发
---Lab Windows CVI是美国NI(National Instruments,国家仪器)公司推出的面向仪器与测控过程的C、C++交互式开发平台。该平台不仅提供了对虚拟仪器的支持,还具有各种测试、通信、控制和数值分析的能力,具有图形建模简单、控制功能强大、实时性强、编程容易等优点。从软件开发角度看,Lab Windows CVI具有以下一些特点:
---(1) 可视化、交互式的开发工具。具有人机交互界面编辑器,运用可视化交互技术,使人机界面的实现直观简单,大大提高了工程设计的效率和可靠性。
---(2) 具有程序自动生成能力,可减少软件开发过程中代码编写的工作量。设计好的人机交互界面(虚拟仪器面板)存储在后缀名为.uir的文件中。Lab Windows CVI自动生成原码头文件.h,自动声明界面对象常量及相关的回调函数。
---(3) 具有齐全的软件工具包及功能强大的函数库。通过简单调用库函数就能驱动相应总线的各种仪器和硬件板卡。这些工具包和函数库具有更高的效率,使程序的编写更加简洁。
---(4) 完善的兼容性。借助于Lab Windows CVI,有经验的C、C++语言开发人员可以采用熟悉的C语言环境,如VC、BC等开发自己的虚拟仪器系统。另外,还可将仪器库函数及子程序编译成32位DLL,以用于任何32位C,C++环境及VB或Lab View中。

CAN网络仿真节点开发
---1.CAN总线应用层协议的制定
---目前,汽车CAN总线系统的应用层协议大部分是基于SAE J1939协议进行开发制定的。对于本文中汽车CAN总线网络节点仿真系统的通信协议,同样以CAN2.0B及1939协议为基础衍生而来,其具体协议内容如下。
---(1)报文帧格式定义
---本系统通信报文帧格式,采用29位扩展帧,波特率定位500K,见表1。
---(2)优先级标志定义
---如表1所示,29位ID的前四位作为报文优先级标志,作为总线总裁优先级的判断。整个系统报文优先级分为六级,分别为:0000[0x0](最高优先级)、0001[0x1]、0010[0x2]、0100[0x4]、1000[0x8]、1111[0xF](最低优先级)。
---(3)节点ID定义
---如表1所示,ID24至ID17定义为目标节点ID,而ID16至ID9定义为源节点ID,每个节点ID标志为8位。
---(4)数据类型定义
---如表1所示,数据类型由一个字节进行定义,用于对操作信息进行分类,对于目的节点与发送源一定的报文,通过不同的数据类型,在理论上可以定义28(256)条种不同的消息。
---(5)数据字节定义
---对于每条报文的数据定义,统一采用无符号短整型数据,且每两个字节组成一个数据(其数据范围即为:0~65536)。所以,每条报文理论上可以携带4种不同的数据(Short_Data[0]~Short_Data[3])。
---(6)接收码、屏蔽码设定
---对于每个节点接收码、与屏蔽码的定义,如表2所示。

---2.简易驾驶员前面板仿真节点的软件开发
---驾驶员前面板主要是显示汽车在行驶时速度、剩余油量等信息,并对车大灯及转向灯进行操作。所以该仿真节点的软件开发涉及相关发动机模块、油量传感器、车灯照明模块节点的操作,其具体开发流程如下。
---(1)初始定义
---根据节点ID定义(表2),我们为驾驶员前面板选定ID:0x33;而发动机模块ID设为:0x1D;油量传感器ID设为:0x2B;车灯系统ID设为:0x78。
---(2)信息流设计
---对于由驾驶员前面板、发动机模块和车灯系统组成的现有网络,驾驶员前面板的信息流(带优先级标志),如表3所示。
---(3)软面板设计
---直接利用Lab Windows CVI的人机交互编辑器进行仿真节点界面设计。为简化该仿真系统,现将驾驶员前面板操作涉及的相关发动机模块、油量传感器、车灯照明模块节点统一设计为一个测试模块。该测试模块采用全接收的方式对接收的报文进行解析并对相关操作做出反馈。
---(4)C程序代码设计
---完成软面板设计并生成代码框架后,进行源代码编译。这里未详细列出该仿真节点和测试模块的程序代码。
---3.仿真节点功能测试
---本次测试实验的CAN总线网络设备,由北京三兴达公司单路CAN非智能PCI卡与PC计算机组成,其结构如图3所示。

CAN总线
---在两台PC上分别运行驾驶员前面板程序与测试模块程序,按以下操作观察并得到表6的现象或反馈。


结语
---现阶段汽车CAN总线的研究重点是:针对具体的车型开发ECU的硬件及应用层的协议和软件,并构成车内网络。本文对汽车CAN总线网络设计做了介绍,以上开发实验只是将汽车总线系统研究与发展的三个阶段(即第一阶段,研究汽车的基本控制系统(也称舒适总线系统),如照明系统等;第二阶段,研究汽车的主要控制系统(也称动力总线系统),如发动机系统等;第三阶段,研究汽车各电子控制系统之间的综合、实时控制和信息反馈)结合进行了阐述。目前,我国的汽车总线研究和应用尚处于起步阶段,但汽车总线的应用趋势明显,研究和开发自己的汽车总线与网络应用系统势在必行。

参考文献
1 宋宇峰. Lab Windows CVI逐步深入与开发实例. 机械工业出版社,2003.3
2 张毅刚,乔立岩. 虚拟仪器软件开发环境编程指南. 机械工业出版社,2002.8
3 饶运涛,邹继军,郑勇芸. 现场总线CAN原理与应用技术. 北京航空航天大学出版社,2003.6
4 北京三兴达单路CAN非智能PCI卡用户手册
5 BOSCH_CAN_V2.0B协议. 1991

 
来源:今日电子   作者:  2002/1/1 0:00:00
栏目: [ ]

相关阅读

安森美推出新的高功率图腾柱PFC控制器,满足具挑战的能效标准

动态功耗低至60μA/MHz!助力设备超长续航,首选国民技术低功耗MCU!