©2012.HiRainTechnologies.Allrightsreserved.CANoe快速入门©2012.HiRainTechnologies.Allrightsreserved.Slide:典型的汽车网络拓扑2Powertrain/ChassisEMSEMSACCACCTCUTCUCANComfort/BodyBCMBCMRoofRoofDoorDoorSeatSeatCANSensor/ActuatorSensorSensorSensorSensorActuatorActuatorLINInfotainmentTelephoneTelephoneTVTunerTVTunerNavigationNavigationMOSTInstrumentclusterInstrumentclusterEPSEPSESPESPGatewayFlexRayCDPlayerCDPlayerX-by-WireGatewayGatewayDiagnosticsOBD-IICAN©2012.HiRainTechnologies.Allrightsreserved.Slide:总线开发流程3OEM供应商标定网络定义仿真验证代码实现测试分析©2012.HiRainTechnologies.Allrightsreserved.Slide:CANoe概述CAN总线开发工具仿真测试分析记录4©2012.HiRainTechnologies.Allrightsreserved.Slide:CANoe组成功能强大、操作简单CANoe数据库支持CANdb++Editor可编程CAPL虚拟仪表PanelEditor&PanelDesigner5©2012.HiRainTechnologies.Allrightsreserved.Slide:6第一阶段–网络设计和仿真仿真验证CANoeSimulationSetupMeasurementSetupCANoe在总线开发中的作用(1)数据库CANdb++EditorDBCCANdatabase硬件接口卡&“狗”CANcaseXL/CANcardXL©2012.HiRainTechnologies.Allrightsreserved.Slide:CANoe在总线开发中的作用(2)7第二阶段–节点设计物理网络物理网络硬件接口CANCANtransceivertransceiverMCUMCUCANCANcontrollercontrollerphys.busCANdb++Editor*.dbcCANoe仿真网络仿真网络仿真节点仿真节点11仿真节点仿真节点22simulatedrest-of-bus©2012.HiRainTechnologies.Allrightsreserved.Slide:CANoe在总线开发中的作用(3)8第三阶段–系统集成物理节点物理节点11物理节点物理节点22CANCANtransceivertransceiverMCUMCUCANCANcontrollercontrollerAnalysis硬件接口©2012.HiRainTechnologies.Allrightsreserved.Slide:9CAN总线接口硬件接口卡&“狗”CANcardXL/CANcaseXLVN16XX系列VN3300/3600/7600收发器CANpiggy251,1041,1054…LINpiggy7259FlexRaypiggy1080AmagUSBCAN/LIN/FlexRayECUBusInterface©2012.HiRainTechnologies.Allrightsreserved.Slide:基本术语——报文(消息)与信号10报文:enginedata(ID100)ID100B0B1B2CRC信号发动机温度(第三字节,0-6位)未用(第三字节,第七位)发动机转速(第一,二字节)转换规则发动机转速:rpm=1*Bitvalue(0xFF代表错误)发动机温度:ºC=2*Bitvalue–50(0x7F代表错误)©2012.HiRainTechnologies.Allrightsreserved.Slide:基本术语——环境变量与系统变量环境变量节点的I/O信号可用于面板或真实I/O系统变量节点内部参数或需要观测的某个数值例如:系统变量1=报文1.信号1-报文2.信号211©2012.HiRainTechnologies.Allrightsreserved.Slide:准备工作(1/5)CANoe确认CAN卡license信息控制面板-VectorHardware12©2012.HiRainTechnologies.Allrightsreserved.Slide:准备工作(2/5)CANoe新建配置工程13©2012.HiRainTechnologies.Allrightsreserved.Slide:CANoe通道数设置Configuration-OptionsMeasurementChannelUsage14准备工作(3/5)©2012.HiRainTechnologies.Allrightsreserved.Slide:CANoe通道配置Configuration-HardwareConfiguration-Driver15准备工作(4/5)©2012.HiRainTechnologies.Allrightsreserved.Slide:CANoe波特率设置Configuration-HardwareConfiguration16准备工作(5/5)©2012.HiRainTechnologies.Allrightsreserved.Slide:CAN总线开发StepOne:新建数据库DBC文件编辑工具启动CANoeTools-OpenCANdbEditor点击17©2012.HiRainTechnologies.Allrightsreserved.Slide:创建一个新的CAN数据库File-CreateDatabase…选择模板,鼠标双击或按[OK]按钮指定数据库文件类型、文件名及保存目录按[Save]按钮。一个新数据库创建完成18©2012.HiRainTechnologies.Allrightsreserved.Slide:创建对象(信号、报文、节点、环境变量和ECU)在Overview窗口左边选择所需创建对象的类型右键点击对象类型,在快捷菜单中选择New…使用配置对话框设置所创建对象的系统参数值点击[确定]按钮,一个新对象便创建完毕19©2012.HiRainTechnologies.Allrightsreserved.Slide:复制已有对象Copy-Paste选择已有对象Ctrl+c选择对象类型Ctrl+v20©2012.HiRainTechnologies.Allrightsreserved.Slide:创建对象(信号、报文、节点、环境变量和ECU)在Overview窗口左边选择所需创建对象的类型右键点击对象类型,在快捷菜单中选择New…使用配置对话框设置所创建对象的系统参数值点击[确定]按钮,一个新对象便创建完毕21©2012.HiRainTechnologies.Allrightsreserved.Slide:复制已有对象Copy-Paste选择已有对象Ctrl+c选择对象类型Ctrl+v22©2012.HiRainTechnologies.Allrightsreserved.Slide:修改/编辑已有对象直接双击23©2012.HiRainTechnologies.Allrightsreserved.Slide:对象链接(1/2)信号与报文之间的连接发送报文与节点之间的连接鼠标拖拽或Copy-Insert24©2012.HiRainTechnologies.Allrightsreserved.Slide:对象链接(2/2)接收报文与节点之间的连接通过信号间接定义双击节点,选择MappedRxSig.页签点击Add…,选择接收信号点击OK点击确定25©2012.HiRainTechnologies.Allrightsreserved.Slide:通信矩阵View-CommunicationMatrix…显示信号、消息、及网络节点的关系以信号为行,网络节点为列消息名显示于表中,对应了包含的信号与发送/接收的节点26©2012.HiRainTechnologies.Allrightsreserved.Slide:数值表(1/2)新建数值表View-ValueTalbes右键点击空白处,选择New…在对话框中输入数值,点击确定新的数值表创建完成27©2012.HiRainTechnologies.Allrightsreserved.Slide:数值表(2/2)分配数值表数值表可以分配给信号或环境变量28©2012.HiRainTechnologies.Allrightsreserved.Slide:一致性检查File-ConsistencyCheck29©2012.HiRainTechnologies.Allrightsreserved.Slide:在CANoe中添加数据库View-SimulatioinSetup30添加数据库©2012.HiRainTechnologies.Allrightsreserved.Slide:CAN总线开发StepTwo:仿真建模31节点节点11节点节点22CANbus仿真建模节点行为定义,eg:报文发送和接收报文发送简单→发生器模块实现复杂→CAPL编程实现报文接收CAPL编程实现©2012.HiRainTechnologies.Allrightsreserved.Slide:EasysimulationSimulationSetupView-SimulationSetup发生器交互式发生器32©2012.HiRainTechnologies.Allrightsreserved.Slide:发生器模块33©2012.HiRainTechnologies.Allrightsreserved.Slide:34发生器模块©2012.HiRainTechnologies.Allrightsreserved.Slide:35发生器模块©2012.HiRainTechnologies.Allrightsreserved.Slide:36交互式发生器模块©2012.HiRainTechnologies.Allrightsreserved.Slide:ComplexsimulationSimulationSetupView-SimulationSetupCAPL节点37©2012.HiRainTechnologies.Allrightsreserved.Slide:CAPL编程CAPL(CANAccessProgrammingLanguage)类C语言仿真单个节点和整个网络外部环境测试面向事件的编程语言总线事件键盘事件时间事件环境变量事件38©2012.HiRainTechnologies.Allrightsreserved.Slide:CAPL基本语法类C语言,语法与C语言基本相同注释//放置在需要注释的语句之前,注释单行/*注释起始符,其后的内容被注释*/注释结束符,结束由‘/*’开始的注释分号程序结束标识大括号函数体39counter=counter+1;if(counter==256){counter=0;stop();}©2012.HiRainTechnologies.Allrightsreserved.Slide:数据类型40数据类型名称注释无符号整型byte1个字节word2个字节dwor