CAN设计流程中使用的VECTOR工具
CAN设计流程中使用的VECTOR工具在CAN网络的开发初级阶段,我们首先是面临着一个工程问题,比如说一个汽车ECU网络的开发。开发第一步,是需求分析的定义,即定义在这个网络里的通讯需求:需要有几个节点;在网络中定义发送多少个具体的报文(Message);数据分别是从哪个节点传送至哪个节点;每个报文的具体的组成--信号(Signal);同时为了描述一些外部的输入输出,就要加上环境变量。在这一过程中,我们可以利用到Vector公司的网络数据库工具CANdb++,利用它可以定义和管理分布ECU网络的通讯数据,能检查出概念定义的一些错误及时改正,网络设计也能得到优化。接下来,我们需要从功能建模,仿真分析,系统部分实现到系统的全部实现这几个步骤。而利用Vector 提供的CANoe能支持上面的四个开发步骤。我们将前两者综合成一个开发阶段因此提出开发分为三个阶段:
第一阶段是进行功能建模和仿真。这一过程,主要是针对有具体数据定义的报文的事件处理,也就是网络节点的行为定义,可借助CAPL很好的来实现。这是在CANoe的环境中的一种类似于C的语言,利用它可以对比如说一个报文的接收,环境变量的改变或错误的出现等事件进行处理。同时因为CANoe的开放性,我们能使用现有的成熟的算法、函数和模型来扩充自己函数的功能,复杂模型的建立甚至还可以通过其他的建模工具(如Matlab)。接下来就是利用软件进行系统的虚拟的仿真来检验功能的设计,在CANoe中将所设计的完整的软
1 / 15文档可编辑
件模拟节点系统进行离线的仿真,来检验各个节点功能的完善性以及网络的合理性。
第二阶段是系统部分的实现。在第一阶段结束后,我们能得到整个完整的系统功能模型。接下来我们开发自己的真实的控制器节点,利用总线接口和CANoe剩下的节点相连接,来测试自己节点的功能:如通信,纠错。这样,如果我们系统的节点是并行开发的,就可以不受其他节点开发步骤的影响。在这一阶段中,一些环境变量的获取可以通过不同的方法来实现从而模拟出一个真实的总线环境。
第三阶段是整个系统的集成。开发的最终阶段我们逐步把所有的节点都用真实的来代替实现,CANoe只是观察分析的工具了。在这个过程中,整个系统,包括各个功能节点都能详细的检查到。由于利用功能模块取代真实的网络节点能减少错误的发生,因为通过这两种状态的切换能检查其功能。
2 / 15文档可编辑
3 / 15文档可编辑 在开发的第二阶段和第三阶段,Vector 公司能为开发提供各种不同用处的工具。比如说针对具体的芯片和功能的源代码(有CANopen ,DeviceNet,J1939的源码);符合OSEK 的实时多任务操作系统OsCAN ;总线强大分析工具CANalyzer ;各种不同的硬件工具如网络示波器CANscope 、网络干扰生成器CANstress 等。
当系统都实现之后,有可能要对系统进行测试或者是对其进行标定。在这个方面Vector 又提供了测试和标定软件工具:CANape 。它可以利用现有的标定协议在控制器实时运行的情况下对一些需要标定的控制参数进行在线标定。CANdid 这是对CANopen 网络进行动态测试一种工具。还有多种不同功能的硬件工具。
CAN 网络仿真
可以采用德国Vector 公司提供的CANoe(CAN Open Environment)进行设计和开发,这样的开发平台也是在欧美各大汽车厂商广泛采用的。
CANoe (CAN Open Environment)是一套可用于CAN
开发设计所有阶段
的强力工具。由于它的开放性结构,因此可以用来解决所有CAN开发的复杂问题。它提供了多种图形或文字化的功能窗口或是仪器面板来对分布式网络进行仿真和分析。CANoe 因为其具有可编程功能,其中利用集成的CAPL(CAN Access Programming Language),一种基于事件的面向对象的可编程语言可以实现对网络节点的建模设计。也可以利用CANoe和其他建模工具如Matlab/Simulink的接口来实现建模。
利用CANoe进行CAN系统的设计一般分为三个开发阶段。三个阶段分别是:利用数字仿真进行网络需求分析和设计阶段;节点实现和半物理仿真阶段;全系统集成阶段。各开发阶段如图所示:
阶段1: 利用数字仿真进行网络需求分析和设计阶段
开发第一步,进行系统全部功能及分布式设计并且明确网络节点的层次。这就包括定义报文和选择总线的波特率。然后必须明确单个节点的网络行为(例如周期发送或更复杂的协议)。接下来,可以通过CANoe 建立各个网络节点的模型进行仿真来预估在设定波特率情况下的总线负载和延迟。为了进一步精确的研究,可以通过CANoe建立整个系统的动态功能模型。这包括了网络节点的根据变量输入输出和报文收发的特定行为。这用到了CAPL语言的基于事件来描述行为的原理。举个例子,模型可以描述当某一节点收到一个报文的时候(事件),利用程序对数据进一步进行处理并且结果作为一个控制变量输出。用户必须指定输入输出变量以便网络节点的时间行为和报文累计的仿
4 / 15文档可编辑
真。通过仿真来检验各个节点功能的完善性以及网络的合理,可以监控网络负载和延迟。
阶段2::节点实现和半物理仿真;
在第一阶段设计之后,通常网络的各个节点是由不同的开发者承担设和开发的,而且这些开发是并行独立进行的。对于这样一种并行工程各个节点的开发通常需要一个全系统的测试环境。这样就可以利用到前一阶段所得到的全数字仿真系统,利用总线的实时接口和CANoe剩下的节点相连接,来测试自己节点的功能:如通信,纠错。对于并行开发的节点,就可以不受其他节点开发步骤的影响。在这一阶段中,一些环境变量的获取可以通过不同的方法来实现从而模拟出一个真实的总线环境。
阶段3::全系统集成
在开发的最后阶段,所有的真实网络阶段按顺序的一步步连接起来实现全系统。CANoe只是监控和观察分析的工具了。在这个过程中,整个系统,包括各个功能节点都能详细的检查到。由于利用功能模块取代真实的网络节点能减少错误的发生,因为通过这两种状态的切换能检查其功能。
前面所讲到的节点的输入输出信号可以借助环境变量来描述。利用CANoe可以区分连续的或是离散的变量。例如开关的位置可以用离散的环境变量表示,发动机的转速或是温度则可以用连续环境变量表示。
控制面板为环境变量提供一个友好的用户接口,可以模拟一个直观的
5 / 15文档可编辑
车辆运行外部环境如汽车仪表显示等。用户还可以自己进行开发仪表界面来适应自己特殊需求。在仿真过程中,环境变量可以进行显示也可以进行修改。
另外CANoe还包括一些可以进行CAN的上层协议设计开发和分析的功能,如加入CANoe Option J1939就可以进行基于J1939的分析了。利用其数据库编辑工具CANdb++可以建立基于J1939协议的数据库,然后将优化精简过后的数据库数据录入到数据库文件中,将来所有的开发设计都基于这样一个数据库。
因此,利用CANoe强大的仿真分析功能,第一步可以在实验室环境下建立离线的数字仿真全系统模型,将设计的协议在计算机进行一个测试和验证。来进一步优化网络设计。
Q:有关J1939协议的问题
在应用层使用J1939协议采用CANoe和Matlab/Simulink软件能实现离线仿真吗?我想开发一个节点(比如AMT)J1939协议能在一台PC 机上进行测试和验证吗
A: 可以,CANoe实现网络通信的仿真,配合Matlab/Simulink则可以实现整个网络系统(包含AMT动态控制)的仿真
Q:请教个关于CANoe的问题。
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




