资源描述
汽车电控专题实验
学院:机械工程学院
班级:
学号:
姓名:
一、实验内容
1.基于AD5435的电机实时仿真控制
1.1 试验目的:
熟悉V模式开发的流程,通过AD5435仿真机的实际操作实现硬件在环仿真
1.2实验系统介绍
系统组成及原理图:
1.3实验操作
AD5435的主体部分和电脑必须通过以太网或路由器进行连接。将笔记本电脑与AD5435 一对一连接后改变电脑的IP地址(如172.16.202.11或13等)。仿真机的IP地址默认为 172.16.202.12。
下面通过一个虚拟信号发生器的demo,介绍如何搭建模型、自动生成代码并编译、进行模型定义、创建实验监控界面以及运行实时仿真。
①搭建模型
启动 MATLAB。然后创建和设置当前目录。打开Simulink模块库,创建、搭建如下的Simulink模型并确认模型能成功运行:
②编译模型
首先,打开“Configuration Parameters”,设置求解器(Solver)“Type”里为“Fixed Step”。如下图所示。
其次,在“Real-Time Workshop”的“System target file”中点击“Browser”选择“aandd_AD5435.tlc”。
最后,点击“Build”后,模型会被编译,然后产生执行文件。
当编译成功后,MATLAB 命令窗口中会出现“### Successful completion of Real-Time Workshop build procedure for model : (model name)”。
③模型定义
双击桌面上的图标启动 MD
选中 MATLAB 当前目录,点击“Create New folder”。
在出现的下面窗口中,选择“Front End Type”为“Linux Target”。
点击 Close按钮,后会出现下面的窗口。
在“Select model header files”窗口的“(MATLAB current directory)¥Test_AD5435_rtw”中选择“(model name).h”文件,点击 open。
然后,点击“Read Header File”:确定步长大小和 Simulink 模型里面的设置一样(固定“Solver”步长),点击close 。
依次设置下面的内容:
(1)编辑模型定义
在系统类型中选择“AD5433/35 color”,在 AD5435 那里输入 IP 地址(初始设置是 172.16.202.12)。设置完成后点击close 。
(2)编辑信号定义
选择在 VC 中要监视的信号。“ml.Out”在这里作为例子被选中。2D 监视器的初始设置为“Off”,应为这里要显示图像,所以这里是“On”。
点击 ,设置完成后关闭
(3)编辑参数定义
选择在 VC 中要监视的参数。
参数 1. “SELECT_Value”和参数 2“ Constant_Value”作为例子被选中。
(4)设置保存 S 函数定义
保存数据的 S 函数在这个例子中不用。
点击 ,完成关闭 MD。
④用 VC 创建 GUI
双击桌面上的图标启动 VCDesigner。
(1)点击Yes 创建新的应用。
指定项目文件夹(用 MD 创建的文件夹),点击OK。
(2)点击菜单栏的 “Insert (I)” menu – “Adding a Display Panel”,或者工具条下的“Add Display Panel”。
(3)添加控件,属性设置
创建新项目的时候,用下面三个函数来设计显示面板。
- “Model Control Button - Execute” : 执行模型
- “Model Control Button – Execute Complete” : 停止模型
- “System Operation Button - Complete” : 完成应用
从工具箱的“Button”把“Model Control”拖拉到显示面板。
右击项目的控件,从菜单选择“Properties”,设置命名和标题。
打开模型控制按钮的属性选项,设置“Command”为 “Execution”
在“Start”栏下设置“Title Name”然后点击 OK。
(4)分配模型的监控信号的控制到显示面板。
从工具箱里的“Indicator”把“Trend”拖拉到显示面板。
右击已经拖到面板的控件,选择“Properties…”.
在“Trace”栏下的“Trace 1”下选择显示的信号。
(5)给输出信号改变幅值率分配控制。
从工具箱拖拉“Settings”里面的“Numeric Input” 到显示面板。
右键打开“Numeric input”的属性。
点击“Parameters”栏指定参数。
“Constant” 模块“BAIRITSU”在这里关联
(6)用菜单栏的“Insert (I)” menu - “Add a Display Panel for the ADX”或者工具条里面的“Add a Display Panel for theADX”创建一个新的面板。
会出现下面 AD5435 的特殊显示面板。
拖拉工具条下“For theADX”里面的“Model Control”到显示面板。
(7)窗口完成后,点击菜单栏的“File (F) - Saving the Project File Ctrl+S”。
(8)点击菜单栏的“Run Mode (R)” – “Start F5”或者 (运行开始按钮)。
1.4实验结果
通过控制开关来激发不同的输入信号,本次实验采用了三种波形:方波信号、正弦波、以及正弦波和方波叠加信号,各个信号的变化正如下图所示。
2. 基于CANape的总线标定诊断
2.1试验目的:
学习使用CANape软件对虚拟ECU进行标定
2.2试验系统介绍
2.2.1系统组成
CANape软件、CANcaseXL硬件、PC机
2.2.2系统功能
CANape主要用于电控单元(ECU)的参数优化(标定)。它在系统运行期间同时标定参数值和采集测量信号。CANape与ECU的物理接口可以是使用CCP(CAN标定协议)的CAN总线,或者是使用XCP协议的FlexRay实现。另外,通过集成的诊断功能集(Diagnostic Feature Set),CANape提供了对诊断数据和诊断服务的符号化访问。这样,它就为用户提供了完整的诊断测试仪功能。CANape使用标准协议的特性使其成为了覆盖ECU开发所有阶段的一种开放而灵活的平台。
基本功能:
同步地实时采集和显示ECU内部信号(通过CCP/XCP),CAN、LIN、FlexRay总线信号以及来自外部测量设备的信号
通过CCP/XCP进行在线标定和通过XCP进行实时激励(Stimulation)
离线标定
快速而安全地使用二进制文件和参数组刷写Flash(Flash编程)
无缝集成KWP2000和UDS诊断函数
强大的标定数据管理、参数组比较和合并功能
在测量、离线分析或旁通(bypassing)过程中使用集成的MATLAB/Simulink模型进行计算
ASAM MCD3 测量和标定自动化接口
与ECU测量数据一起同步采集视频、 音频、GPS和外部测量设备的环境数据
使用集成的编程语言自动执行用户输入序列和处理测量值与信号。
2.2.3主要元器件的介绍(软硬件)
CANape:为开发者提供了一种可用于ECU开发、标定、诊断和测量数据采集的综合性工具。CANape主要用于电控单元(ECU)的参数优化(标定)。它在系统运行期间同时标定参数值和采集测量信号。CANape与ECU的物理接口可以是使用CCP(CAN标定协议)的CAN总线,或者是使用XCP协议的CAN或FlexRay总线。另外,通过集成的诊断函数集(Diagnostic Feature Set),CANape提供了对诊断数据和诊断服务的符号化访问。这样,它就为用户提供了完整的诊断测试仪功能。CANape使用标准协议的特性使其成为覆盖ECU开发所有阶段的一种开放而灵活的平台。
CANcaseXL:移动和固定的CAN和LIN网络的开发、仿真、测试及维护需要高性能、容易使用、适应性强的硬件接口。其中VN1610/VN1611双通道,体积和重量最小的;VN1630/VN1640四通道,配置灵活,并可配置IO通道。VN1600支持CANoe、CANalyzer、CANape、Indigo、vFlash等系列Vector软件,及客户自定义软件;可在实验室、台架、维修站、实车上应用。从单通道分析到多通道仿真、诊断、标定、flash编程均可应用。支持多个应用程序同时应用于同一硬件设备及同一通道。
2.3试验内容
1. 在电脑桌面上打开程序Vector CANape ,命名为“lianxi2”,Driver type选择CCP。
2. 调取demo uniphi.a2l和demo uniphi.reflashing.hex
3. 创建一个新的project
4. 调取八个输入量并且设置Memory Flash的开始地址
(未截图)
2.4实验结果
通过显示窗口把各个信号通过图表的形式展示,同时可以通过demo gain修改各个信号的参数。
(未截图)
3.基于CANoe的总线通信分析仿真测试
3.1试验目的:
1. 掌握CAN总线数据链路层及物理层;
2. 了解CANoe配置方法;
3. 了解总线仿真的几种形式和总线仿真的方法。
3.2试验系统介绍
3.2.1系统组成
系统包括PC,CANoe,CANcaseXL
3.2.2系统功能
系统用于CAN报文接收及信号分析;CAN总线仿真。
CANoe系统支持以下总线系统和协议:
l 总线系统:CAN、LIN、MOST、FlexRay、J1587
l CAN总线协议:J1939、NMEA2000、ISO11783、CANopen、MCnet、GMLAN、CANaerospace
l LIN总线协议:LIN1.x、LIN2.0、SAE-J2602、TOYOTA-LIN 和Cooling-Bus
附:基本功能:
l 创建网络数据库(比如:DBC,FIBEX,LDF,NCF,MOST Function Catalog)
l 通过建模进行完整的总线系统仿真和残余总线仿真
l 分析总线通信
l 测试完整网络和单个控制单元
l 通过KWP2000和UDS或者运用完整的诊断测试工具进行通信诊断
l 用户可以运用类C的CAPL编程语言编程实现仿真、分析和测试
l 可以创建用户自定义界面来控制仿真和测试过程或显示分析数据
3.2.3主要元器件的介绍(软硬件)
1.软件:CANoe是网络和ECU开发、测试和分析的专业工具,支持从需求分析到系统实现的整个系统开发过程。在开发的初期阶段,CANoe可用于建立仿真模型,在此基础上进行ECU的通信功能评估。在完成了ECU的开发后,该仿真模型可以用于整个系统的功能分析、测试以及总线系统和ECU的集成。CANoe具有测试功能集,用于进行自动化测试。运用该功能,可以进行一系列的连续测试,并自动生成测试报告。另外,CANoe具有诊断功能集,用以与ECU进行诊断通信。
2.硬件:CANcaseXL高性能的双通道的CAN/LIN接口卡。CANcaseXL带有CAN/LIN控制器,根据实际测试的需要可以在CANcaseXL中安装CANpiggy(CAN收发器)或者是LINpiggy(LIN收发器)进行CAN/LIN总线测试。一端通过DB9接口与CAN/LIN总线连接,另一端通过USB2.0接口与PC连接通过CANoe获取网络CAN/LIN网络数据。
3.3试验内容
1. CANoe配置:打开CANoe,新建配置工程。
2. Signal的建立:
EngineOnOff (长度:1;unsigned)
EngineSpeed(长度:16;单位:rpm; Factor:0.125;unsigned) LightOnOff(长度:1;unsigned)
LightTurn(长度:1;unsigned)
3.Message的建立:
EngineState(ID:0x123;DLC:8)
LightState(ID:0x321;DLC:8)
3. Nodenotes网络节点即ECU的建立:
EngineECU的建立过程
EngineECU LightECU PanelECU
4. 环境变量的建立:如图便是EnvEngineSwitch的建立过程
EnvEngineSwitch EnvEngineAcc EnvLightSwitch EnvDispEngineState EnvLightTurn EnvDispEngineSpeed EnvDispLightSwitch EnvDispLightTurn
5. 关联Signal与Message:在关联ECU与Message时,发动机ECU与灯光ECU发送的是报文;仪表ECU接收的是报文中的信号
6. 仪表盘的建立:
①转速表设置:270°,10000rpm,
②命名:
EngineState、LightState、Turn State、SpeedDisp
EngineStart、LightSwitch、TurnSwitch、Acc(范围100改变2)
③关联Signal与Message
④导出仿真程序
3.4实验结果:
通过发动机开关、灯开关、转向开关、ACC等实现CANOE的仿真与控制。
实验总结:
心得:
1.通过该实验,通过与学长的交流及实际操作,我们进一步理解了汽车电控的实际原理与具体内容,巩固了所学知识,为日后的相关工作打下基础。
建议: 此实验涉及的一些软件在以后的工作中有可能会发挥很重要的作用,建议以后可以适当增加课时,加强这些软件的学习,尽量多让学生动手操作。
思考题:
1. Matlab自动代码生成相对于传统手工编码的优点有哪些?
Matlab自动代码的生成作为基于模型设计的重要组成部分,有效地避免了人工编写代码可能产生的错误,降低了开发难度。
2.标定的作用以及本实验所采用的标定协议是什么?
标定的作用:可以使CAN总线通过标定协议读取控制器信息,并将ECU的指令通过CAN总线发送到某个特定的控制器。
本实验所采用的标定协议:XCP或者CPP协议
3.CAN总线的数据格式和总线协议的基本内容?
CAN总线数据格式:DBC,FIBEX,LDF,NCF,MOST Function Catalog
总线协议的基本内容:物理层、数据链接层、应用层、用户层、网络管理。
4.总线仿真分析的结果包含哪些,就每个内容作简单介绍(如总线负载率)
负载率:就是总线上实际数据传输速率比上理论最大数据传输速率。分为瞬时负载率和平均负载率
展开阅读全文