GPS反测速雷达也可以成为导航预警仪,它集导航、固定拍照、流... [详细]
---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.简易驾驶员前面板仿真节点的软件开发
---驾驶员前面板主要是显示汽车在行驶时速度、剩余油量等信息,并对车大灯及转向灯进行
|