汽车CAN总线通讯的运用以及汽车仪表功能设计+实验报告.docx
- 文档编号:8962421
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:15
- 大小:273.06KB
汽车CAN总线通讯的运用以及汽车仪表功能设计+实验报告.docx
《汽车CAN总线通讯的运用以及汽车仪表功能设计+实验报告.docx》由会员分享,可在线阅读,更多相关《汽车CAN总线通讯的运用以及汽车仪表功能设计+实验报告.docx(15页珍藏版)》请在冰点文库上搜索。
汽车CAN总线通讯的运用以及汽车仪表功能设计+实验报告
《汽车电控技术》
课程设计与实践报告
《汽车电控技术》
课程设计与实践报告
实验说明:
本次试验,我们小组五人分为两个部分,一部分负责CAN总线的编程调试,另一部分负责汽车仪表功能的设计,最后将仪表与2个三位旋钮开关之间进行联调,通力合作完成本次实验,实验步骤基本同步进行。
为了展开叙述,在实验步骤环节以CAN总线的编程调试为先。
设计题目:
汽车CAN总线通讯的运用以及汽车仪表功能的设计
实验目的:
1、初步学习CAN总线应用协议的制定。
学习汽车CAN总线控制系统的工作原理以及过程,熟悉控制器的工作原理,学习usb—can的应用。
2、学习传统指针仪表与液晶仪表的工作过程,理解掌握仪表的电气连接,学习MurphyPV750调试程序的使用。
设计内容:
本次实验使用intercontrolFI控制器、Murphy仪表公司的PV750和PVA指针仪表为硬件基础,配合配套软件prosyd1131、MurphyConfigurationTool2.1完成。
设计中根据操控设计实验的需求,通过FI控制器程序,将开关量以及模拟量的输入转换成CAN总线信号发送至总线上,并将CAN总线信号利用CANtools采集。
选择使用不同指针仪表,并利用MurphyConfigurationTool2.1编写所需PV750界面。
实验器材:
硬件:
intercontrol_FI控制器,MurphyPV750仪表1块,PVA仪表1块,usb—can,24V、5V开关电源各一块,三位旋钮开关2个,端子排若干,电气连线若干。
软件:
prosyd1131编程工具,Murphy仪表PV750调试软件MurphyConfigurationTool2.1,cantools。
实验步骤:
1.初步了解CAN总线以及工作方式
现代汽车的电子结构是用几种通信系统将微控制器、传感器和执行器连接起来的方式,这种结构是当前汽车高速网络系统的主要应用标准。
CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。
由于采用了许多新技术及独特的设计,CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活性。
其特点可概括如下:
1)CAN是到目前为止惟一有国际标准的现场总线。
2)CAN为多主方式工作,网络上任一节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从。
3)在报文标识符上,CAN上的节点分成不同的优先级,可满足不同的实时要求,优先级高的数据最多可在134μs内得到传输。
4)CAN采用非破坏总线仲裁技术。
当多个节点同时向总线发送信息出现冲突时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。
尤其是在网络负载很重的情况下,也不会出现网络瘫痪情况(以太网则可能)。
5)CAN节点只需通过对报文的标识符滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据。
6)CAN的直接通信距离最远可达10km(速率5kbps以下);通信速率最高可达1Mbps(此时通信距离最长为40m)。
7)CAN上的节点数主要取决于总线驱动电路,目前可达110个。
在标准帧报文标识符有11位,而在扩展帧的报文标识符(29位)的个数几乎不受限制。
报文采用短帧结构,传输时间短,受干扰概率低,保证了数据出错率极低。
8)CAN的每帧信息都有CRC校验及其他检错措施,具有极好的检错效果。
9)CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活。
10)CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。
11)CAN总线具有较高的性能价格比。
它结构简单,器件容易购置,每个节点的价格较低,而且开发技术容易掌握,能充分利用现有的单片机开发工具。
CAN总线最初是专门为解决乘用车的串行通信而研制的,大部分汽车制造商基本上都使用CAN总线来连接车身电子系统以及动力系统。
实验中所用的CAN2.0技术规范实在1991年制定并发布的,包括A和B两部分。
2.0A给出了曾在CAN技术规范1.2版本中定义的CAN的报文格式(标准格式),二2.0B则给出了标准的和扩展的两种格式。
在1993年ISO正式颁布了道路交通运载工具-数字信息交换-高速通信控制器局域网(CAN)国际标准(ISO11898)。
CAN总线通过报文的方式在总线上发送信号实现点多点、点对多或广播式传送接受数据,报文传输有两种类型的帧格式,含11位字符的标准帧和含29位字符的扩展帧。
有四种不同类型的帧:
数据帧、远程帧、错误帧、过载帧。
本实验采用的数据帧传输类型,将数据帧发送至总线上,由USB-CAN读取,或者由murphy仪表接收。
2.熟悉intercontrolFI控制器的功能模块
FI控制器工作电源为24V,分为两端,一端为扩展I/O口,一端为控制器端口,本实验需要使用的是控制器端口。
根据intercontrol公司提供的技术参数,改控制器端口有55根管脚,其意义分别总结如下:
表1.DCF控制器CPU_F端口分类
电源24v
2,20,38,
接地GND
11,14,19,29,33,37,47,
模拟GNDA1
3,8,21,26,
IAV1.1-1.4
4,5,6,7,
IAI1.5-1.8
22,23,24,25,
ID1.1-1.12
9,10,27,28,39,40,41,42,43,44,45,46,
QD1.1-1.8
48,49,50,51,52,53,54,55,
串口1
18(IRXD1)19(GND)36(QTXD1)
串口2
35(IRXD1)33(GND)17(QTXD1)
CAN1.1
12(CAN1.1_L)13(CAN1.2_H)
CAN1.2
30(CAN1.1_L)31(CAN1.2_H)
QAI1.2
16
其他
15,32,34,
检查控制器线束,避免线束断路等不必要的失误。
按接线图1,将线路接好。
图1连接线路图
将控制器电路对应连接完毕,两个三位开关输入,分别为“向上、P、向下、向左、向右、报警”六个位置,分别接入控制器的数字量输入。
3.熟悉USB-CAN的使用
USB-CAN是USB协议与CAN协议的互相转换网关,也有很多叫PC-CAN。
主要用于将工控现场用户在电脑上进行现场数据CAN报文等的记录,分析和监控,便产生了USB-CAN网关。
它可以分为两种:
工业级(因为现场环境比较恶劣,所以抗干扰能力要求高,温度范围也要求较高,一般为-45度-+80度);商用级(用于实验室等现场环境较好的场合,所以防护等级要求较低,温度范围大概是-10度到+60度);车用型USB-CAN,大家都知道很多汽车都是采用CAN技术提高性能,但是汽车CAN与工业CAN是不同的,因此在选择的时候要特别注意应用场合。
此实验使用的是周立功USB-CAN,对于在总线中的信号进行采集、记录。
USB-CAN也可以根据需求向总线中发送can信号数据,用以验证can回路的工作状况。
可以根据需要发送标准帧或者扩展帧。
如下图所示,为USB-CAN工作界面。
4.应用prosyd1131软件编程进行对intercontrolFI控制器的工作控制
prosyd1131PROSYD1131是一套完整的PLC程序开发环境,PROSYD1131为编程者提供了功能强大的IEC编程语言,编辑器及调试工具类似于高级编程语言的开发环境(如:
VisualC++),PROSYD1131为PLC应用程序开发人员提供简单易学且功能强大的开发环境。
支持标准IL、ST、FBD、LD、SFC、CFC等PLC语言。
prosyd1131编辑界面分为3大部分:
左边框主要是项目结构,第一个POU(程序组织单元)被自动命名为PLC_PRG,相当于主程序。
其他可以分别独自命名的项目单元。
一个项目包含有PLC程序的所有对象。
项目的相关信息存储于用户命名的文件中。
一个项目中可以包含如下对象:
POU(程序组织单元),数据类型、可视化组件,程序资源和功能库。
函数、功能块和程序均为POU,可以被调用。
每个POU均包含变量声明部分和程序指令部分(主体部分),程序指令部分可采用IEC编程语言IL、ST、SFC、FBD、LD或CFC中的任何一种进行编写。
PROSYD1131支持所有IEC标准的POU,如需在项目中使用这些POU,必须将库文件standard.lib导入到你的项目中。
每个单独的POU都可以在右边上、下部分进行编辑,右上部分为单独POU的变量命名,其中的变量适用于右下部分的程序部分。
不同的POU命名的变量只能在该POU的右下角程序中使用,其他的POU需要重新命名变量,或者使用全局变量。
此实验主要用到的程序如下:
1)主程序部分:
AI();
DIO();
CLLI_Manager();
jjh_AI();
braking();
2)IO输入部分
IF(ID1_1=FALSE)AND(ID1_2=FALSE)AND(ID1_3=FALSE)AND(ID1_4=FALSE)THEN(*空位*)
Id_lst[2].Data[1]:
=16#00;
ELSIF(ID1_1=TRUE)AND(ID1_2=FALSE)AND(ID1_3=FALSE)AND(ID1_4=FALSE)THEN(*向左*)
Id_lst[2].Data[1]:
=16#01;
ELSIF(ID1_1=FALSE)AND(ID1_2=TRUE)AND(ID1_3=FALSE)AND(ID1_4=FALSE)THEN(*向右*)
Id_lst[2].Data[1]:
=16#10;
ELSIF(ID1_1=FALSE)AND(ID1_2=FALSE)AND(ID1_3=TRUE)AND(ID1_4=FALSE)THEN(*向上*)
Id_lst[2].Data[1]:
=16#02;
ELSIF(ID1_1=FALSE)AND(ID1_2=FALSE)AND(ID1_3=FALSE)AND(ID1_4=TRUE)THEN(*向下*)
Id_lst[2].Data[1]:
=16#20;
ELSE
Id_lst[2].Data[1]:
=16#ff;
END_IF
3)储存并发送can信号数据部分
CLLI_RESULT[14]:
=CLLI_Init_ID_1(8,1,CLLI_TX,16#000C0001,ADR(Id_lst[2]));(*发送数据至档位ID*)
CLLI_RESULT[34]:
=CLLI_cyclic_ID(CLLI_CanPort_1,255,16#000C0001,2);(*TSC1,20ms/cyclic*)
将程序编写完完成,模拟无错之后,将程序导入控制器,断开控制器执行机构与PC之间的连接,只用控制器控制can信号的收发,验证试验结果。
5.初步了解仪表功能,工作方式
汽车仪表的发展在工作原理上可以划分为4个阶段。
第一阶段是基于机械作用力而工作的机械式仪表,人们习惯称这类仪表为机械机心表。
第二阶段汽车仪表的工作原理基于电测原理,即通过各类传感器将被测的非电量变换成电信号加以测量,通常称这类仪表为电气式仪表。
第三阶段为模拟电路电子式仪表。
第四阶段为步进电动机式全数字汽车仪表。
此类仪表通常采用总线通信、同步电机驱动的方式,它既保留了以往类型仪表显示直观、有动感、符合驾驶习惯的特点,同时也在可靠性、灵活性、指示精度上有了巨大的提升。
本设计中的PVA仪表即为总线仪表,它接收由PV750发出的MODBUS总线信号并做出相应的响应,根据不同的需求,用户可以在MODBUS总线上挂接多类仪表,是仪表设计更加灵活,方便。
本设计中的另一重要组成部分是MurphyPV750。
它是一款由Murphy开发的液晶仪表,与传统仪表不同的是PV750不再采用实物指针、表盘的方式进行显示,取而代之的是一块7英寸的液晶显示器,用户可根据自身需求利用随表配置的编程软件对显示内容进行编辑、设计,进一步提高了仪表的灵活性,也极大地增加了仪表显示信息的容量。
PV750内配置有3路CAN2.0B规格的总线接口,1个独立的NMEA2000(GPS)接口,1路视频输入接口,兼容J1939和NMEA2000(GPS)协议,并且可通过MODBUS接口向挂接在PV750上的其他PVA仪表发送总线数据。
由此可知,汽车的现代化仪表已不再将部分行车数据的显示作为目标,而成为了现代汽车数字显示终端。
6.设计仪表电路图,完成电气连接
本实验的数据显示将配合开关操控设计进行,总线上将有如下信息需要显示:
(1)发动机转速
(2)电制动力度
(3)当前开关档位(P、向上、向下、向左、向右、报警)
在师哥的指导下,我们五人小组主要负责设计开关档位的设计。
PV750的接线图如下所示:
在本设计中,使用A口进行CAN总线通信,B口用来同PVA仪表进行MODBUS通信。
在A口中,1,5端子分别接24V开关电源,为仪表供电,其中5端子为点火端子,将其接入24V电源表示整车上电,6端子为地线,2、3接口分别为CAN高和CAN低接口。
PV750自带1路开关量输出,本设计暂不使用,因此A口中的4端子为悬空。
B口中4、5端子分别为MODBUS总线的低和高,我们将其分别与PVA指针表的RS485—L和RS485—H连接。
PVA指针表的接线图如下所示:
每一块PVA指针仪表上都有上图所示的两个接口,其中A口为输入接口,连接PV750或上一块PVA指针表,它的1、6端子接24V电源和地线,3、4端子分别为MODBUS总线的高和低。
B口为输出接口,连接下一块PVA指针表,此外在末端指针表的B口上应接一个终端电阻。
本设计中的PVA指针表A口与PV750B口连接,其中的1、6端子接电源和地线。
B口上接终端电阻。
7.使用MurphyConfigurationTool2.1软件对PV750进行配置
电气线路连接完成后对PV750进行配置。
根据步骤2的要求,内容如下:
(1)配置显示界面,分别显示发动机转速、制动力度和档位。
(2)自定义CAN总线协议,传送制动力度与档位信息。
(3)配置PV750各个端口功能。
(4)下载程序至PV750。
根据上述内容,首先进行界面设计,界面如图所示:
上图中PageDesigner部分为界面设计,中部的指针仪表为转速表,左侧分为制动力度,右侧为上下左右的位置显示。
当三位开关位置改变时,上下左右中所指的箭头会变红,其他的箭头变为灰色。
每一块仪表都对应一个变量输入设置,在配置界面时,需指定输入的变量。
如下图所示:
指针转速表采用J1939协议,而在显示制动力度和档位时则需要自定义变量。
如图:
在制动力度显示中我们自定义了制动力度变量(UserDefinedVariable.zhidong)作为仪表的变量输入,同理,在位置显示时,也需要定义位置变量(UserDefinedVariable.dangwei)
在界面配置完成后,需要自定义制动力度和档位的CAN协议如下表:
名称
ID
数据
制动力度
0x000C0003
0-100实时制动数据
位置
0x000C0001
空位:
Ox00
向左:
0x01
向上:
0x02
报警:
Oxff
向右:
0x10
向下:
0x20
如上表所述,我们定义ID0x000C0003用以发送制动程度的数据,数据长度为1字节,数据场中的数据为CAN总线通信设计中控制器实时采集的制动踏板数据。
同样,定义ID0x000C0001发送档位数据,数据长度1字节,数据场中的00代表空位、01代表向左、10代表向右、02代表向上、20代表向下,ff代表报警。
自定义协议完成后,需将此协议添加到PV750配置文件中并完成端口配置,如图:
我们采用PV750的A端口接收自定义CAN数据,分别选择所接收数据的类型、ID、长度以及存放数据的变量(即上文所定义的制动和档位变量)。
以上工作完成后,PV750的配置基本完成,需要编译后下载到仪表中。
首先在配置软件上单击FULL进行编译,并将编译好的文件拷入U盘。
将USB连接线与PV750的C口连接好后插入U盘,同时按下PV750右侧下方两个按键,打开电源,进行配置文件的写入。
写入完成后将在屏幕上显示刚刚配置好的界面。
9.模拟输入信号,在仪表上显示
界面配置完成后,为测试其功能,需先用USB-CAN进行测试,USB—CAN的界面如下图所示:
在帧格式中选择扩展帧,ID填入刚才定义的ID发送帧数填入1000数据框内填入需要显示的数据后进行发送。
观察仪表上是否显示对应数据。
仪表显示如下:
按上述方法分别测试向上、向下、向左、向右、空位、报警的显示,确认功能全部实现。
10.系统联调
系统的联调是本设计中最后一步,也是最接近真实使用环境的一步。
在联调中,CAN总线数据的发送不再依靠USB—CAN,而是由总线通信应用试验的控制器完成。
联调时,控制器采集制动档位开关信号,按上述协议向总线上发送CAN数据,PV750接收到数据后完成显示。
实验结果:
验证实验结果:
将实验步骤完成之后,接通控制器、仪表等电源,控制器开始工作,控制输入端:
档位开关量等给予输入信号,通过usb-can接收或者将信号发送至murphy仪表,使murphy仪表将输入信号完全表达。
实验结论:
实验结论:
本实验的完成证明了can总线通讯在车辆电气控制上是可行的,可以通过将输入信号转变为can信号,发送至执行机构,从而达到对执行机构控制的目的。
can总线通讯的使用,可以大大减少车辆内部布线,而且can信号的高速高效、能发送29位扩展帧信号等特点,使得can总线的应用在车辆上得到很广泛的应用,而且can总线的可靠性较高,价格却较低,将成为汽车动力系统和车身电子系统最主要的应用网络。
同时,本小组对现代汽车仪表特别是总线仪表的工作过程和原理有了更加直观、深入的了解和认识。
初步掌握了电气图的辨识与接线的方法。
特别是通过对PV750仪表的学习,不仅掌握了该仪表的基本配置方法,同时也更深入的理解了CAN总线通信的原理和应用过程。
这将为今后继续从事汽车电气的研究打下良好的基础。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车 CAN 总线 通讯 运用 以及 仪表 功能设计 实验 报告