CAN设计流程中使用的VECTOR工具

上传人:z**** 文档编号:168596808 上传时间:2022-11-11 格式:DOCX 页数:12 大小:19.74KB
收藏 版权申诉 举报 下载
CAN设计流程中使用的VECTOR工具_第1页
第1页 / 共12页
CAN设计流程中使用的VECTOR工具_第2页
第2页 / 共12页
CAN设计流程中使用的VECTOR工具_第3页
第3页 / 共12页
资源描述:

《CAN设计流程中使用的VECTOR工具》由会员分享,可在线阅读,更多相关《CAN设计流程中使用的VECTOR工具(12页珍藏版)》请在装配图网上搜索。

1、CAN 设计流程中使用的 VECTOR 工具在 CAN 网络的开发初级阶段,我们首先是面临着一个工程问题,比如 说一个汽车 ECU 网络的开发。开发第一步,是需求分析的定义,即定义在 这个网络里的通讯需求:需要有几个节点;在网络中定义发送多少个具体 的报文(Meage);数据分别是从哪个节点传送至哪个节点;每个报文的 具体的组成信号(Signal);同时为了描述一些外部的输入输出,就要加上环境变量。在这一过程中,我们可以利用到Vector公司的网络数 据库工具CANdb+ +,利用它可以定义和管理分布ECU网络的通讯数据, 能检查出概念定义的一些错误及时改正,网络设计也能得到优化。接下来, 我

2、们需要从功能建模,仿真分析,系统部分实现到系统的全部实现这几个 步骤。而利用 Vector 提供的 CANoe 能支持上面的四个开发步骤。我们将 前两者综合成一个开发阶段因此提出开发分为三个阶段:第一阶段是进行功能建模和仿真。这一过程,主要是针对有具体数据 定义的报文的事件处理,也就是网络节点的行为定义,可借助CAPL很好 的来实现。这是在CANoe的环境中的一种类似于C的语言,利用它可以对 比如说一个报文的接收,环境变量的改变或错误的出现等事件进行处理。 同时因为 CANoe 的开放性,我们能使用现有的成熟的算法、函数和模型来 扩充自己函数的功能,复杂模型的建立甚至还可以通过其他的建模工具

3、(如Mat lab)。接下来就是利用软件进行系统的虚拟的仿真来检验功能的 设计,在 CANoe 中将所设计的完整的软件模拟节点系统进行离线的仿真, 来检验各个节点功能的完善性以及网络的合理性。第二阶段是系统部分的实现。在第一阶段结束后,我们能得到整个完 整的系统功能模型。接下来我们开发自己的真实的控制器节点,利用总线 接口和 CANoe 剩下的节点相连接,来测试自己节点的功能:如通信,纠错 这样,如果我们系统的节点是并行开发的,就可以不受其他节点开发步骤 的影响。在这一阶段中,一些环境变量的获取可以通过不同的方法来实现 从而模拟出一个真实的总线环境。第三阶段是整个系统的集成。开发的最终阶段我们

4、逐步把所有的节点 都用真实的来代替实现,CANoe只是观察分析的工具了。在这个过程中, 整个系统,包括各个功能节点都能详细的检查到。由于利用功能模块取代 真实的网络节点能减少错误的发生,因为通过这两种状态的切换能检查其 功能。在开发的第二阶段和第三阶段,Vector公司能为开发提供各种不同 用处的工具。比如说针对具体的芯片和功能的源代码(有 CANopen, DeviceNet, J1939的源码);符合0SEK的实时多任务操作系统OCAN;总线 强大分析工具CANalyzer;各种不同的硬件工具如网络示波器CANcope、 网络干扰生成器 CANtre 等。当系统都实现之后,有可能要对系统进

5、行测试或者是对其进行标定。 在这个方面Vector又提供了测试和标定软件工具:CANape。它可以利用 现有的标定协议在控制器实时运行的情况下对一些需要标定的控制参数进 行在线标定。CANdid这是对CANopen网络进行动态测试一种工具。还有 多种不同功能的硬件工具。CAN 网络仿真可以采用德国Vector公司提供的CANoe(CANOpenEnvironment)进行 设计和开发,这样的开发平台也是在欧美各大汽车厂商广泛采用的。CANoe(CANOpenEnvironment)是一套可用于CAN开发设计所有阶段的强力工具。由于它的开放性结构,因此可以用来解决所有CAN开发的复杂 问题。它提

6、供了多种图形或文字化的功能窗口或是仪器面板来对分布式网 络进行仿真和分析。CANoe因为其具有可编程功能,其中利用集成的CAPL (CANAcceProgrammingLanguage), 种基于事件的面向对象的可编程语 言可以实现对网络节点的建模设计。也可以利用 CANoe 和其他建模工具如 Matlab/Simulink 的接口来实现建模。利用 CANoe 进行 CAN 系统的设计一般分为三个开发阶段。三个阶段分 别是:利用数字仿真进行网络需求分析和设计阶段;节点实现和半物理仿 真阶段;全系统集成阶段。各开发阶段如图所示:阶段 1:利用数字仿真进行网络需求分析和设计阶段开发第一步,进行系统

7、全部功能及分布式设计并且明确网络节点的层 次。这就包括定义报文和选择总线的波特率。然后必须明确单个节点的网 络行为(例如周期发送或更复杂的协议)。接下来,可以通过CANoe建立 各个网络节点的模型进行仿真来预估在设定波特率情况下的总线负载和延 迟。为了进一步精确的研究,可以通过 CANoe 建立整个系统的动态功能模 型。这包括了网络节点的根据变量输入输出和报文收发的特定行为。这用 到了 CAPL 语言的基于事件来描述行为的原理。举个例子,模型可以描述 当某一节点收到一个报文的时候(事件),利用程序对数据进一步进行处 理并且结果作为一个控制变量输出。用户必须指定输入输出变量以便网络 节点的时间行

8、为和报文累计的仿真。通过仿真来检验各个节点功能的完善 性以及网络的合理,可以监控网络负载和延迟。阶段2::节点实现和半 物理仿真;在第一阶段设计之后,通常网络的各个节点是由不同的开发者承担设 和开发的,而且这些开发是并行独立进行的。对于这样一种并行工程各个 节点的开发通常需要一个全系统的测试环境。这样就可以利用到前一阶段 所得到的全数字仿真系统,利用总线的实时接口和CANoe剩下的节点相连接,来测试自己节点的功能:如通信,纠错。对于并行开发的节点,就可 以不受其他节点开发步骤的影响。在这一阶段中,一些环境变量的获取可 以通过不同的方法来实现从而模拟出一个真实的总线环境。阶段3::全 系统集成在

9、开发的最后阶段,所有的真实网络阶段按顺序的一步步连接起来实 现全系统。CANoe只是监控和观察分析的工具了。在这个过程中,整个系 统,包括各个功能节点都能详细的检查到。由于利用功能模块取代真实的 网络节点能减少错误的发生,因为通过这两种状态的切换能检查其功能。前面所讲到的节点的输入输出信号可以借助环境变量来描述。利用 CANoe 可以区分连续的或是离散的变量。例如开关的位置可以用离散的环 境变量表示,发动机的转速或是温度则可以用连续环境变量表示。控制面 板为环境变量提供一个友好的用户接口,可以模拟一个直观的车辆运行外 部环境如汽车仪表显示等。用户还可以自己进行开发仪表界面来适应自己 特殊需求。

10、在仿真过程中,环境变量可以进行显示也可以进行修改。另外CANoe还包括一些可以进行CAN的上层协议设计开发和分析的功 能,如加入CANoeOptionJ1939就可以进行基于J1939的分析了。利用其 数据库编辑工具CANdb+可以建立基于J1939协议的数据库,然后将优化 精简过后的数据库数据录入到数据库文件中,将来所有的开发设计都基于 这样一个数据库。因此,利用 CANoe 强大的仿真分析功能,第一步可以在 实验室环境下建立离线的数字仿真全系统模型,将设计的协议在计算机进行一个测试和验证。来进一步优化网络设计。Q:有关J1939协议的问题在应用层使用J1939协议采用CANoe和Matla

11、b/Simulink软件能实现 离线仿真吗?我想开发一个节点(比如AMT)J1939协议能在一台PC机上 进行测试和验证吗A:可以,CANoe实现网络通信的仿真,配合Matlab/Simulink则可以实 现整个网络系统(包含AMT动态控制)的仿真Q:请教个关于CANoe的问题。现遇到这么个问题:两个节点通讯,节点1 通过两个按键分别发两个不同报文给节点2。 可无论我按哪个按键它都是是将第一个报文发出去,我就是将这个按键的 触发事件及对应的报文给删去,当我运行程序时还是发第一个报文所对应 的ID,只是数据域对应的数据不正确。请问这个问题该怎样解决,是不 是我那儿设的不正确。请答复一下,谢谢了!

12、A:在CAPL中进行报文定义时可用meage进行定义,但是在针对J1939进行报文定义时用PG (ParameterGroup)命令Q:请教如何在CANoeLIN仿真的imulationetup界面中定义主机节点 和从机节点?是否仅有在数据库中定义一种方法?另外LIN的报文发送是 否必须在数据库中定义进度表?如果不定义是否还有其他发送LIN报文的 方法?A:我先简要回答一下你的问题吧,因为时间久了。从主节点定义是需要在数据库中定义的。先需定义进度表,或者你可 以试一下 Gernerate 模块Q:对于CANOE的一些担丿心CANOE 功能的确比较丰富,但大部分功能属于监测性质,而如果仅仅需 要

13、总线监测,其实有很多价廉物美的实现方案;而对于其独有的总线网络系 统的仿真开发功能(目前尚未发现其他软件有此功能),虽然表面上对开发 很有用,但其开发过程的操作和实现过于独立(一个人一台PC即可),不利 于团队工作,不知道在大型复杂系统开发中怎样能协调团队开发与 CANOE 软件独立性的矛盾,从而有效利用人力,缩短开发周期呢A:首先,我不同 意你所说的“CANoe大部分功能属于监测性质”。的确,CANoe提供了很 丰富的总线统计,报文统计、跟踪和数据监测的功能,但是CANoe的主要 功能并不在此(你可以对比以下CANalyzer,就会发现CANoe的几乎所有 监测、统计功能,在CANalyze

14、r中同样有)。CANoe的主要功能是针对网 络开发全过程的仿真,这个仿真包含了对通讯协议(CANdbEditor)的仿 真和对每个节点功能定义的仿真(CAPL)。而上述所有监测工具只是用来 帮助工程师在仿真或者测试过程中方便直观的获得各种统计信息和数据监 视。其次,对于团队工作而言,也是看是处于整个开发流程的哪个阶段。 CANoe 可以应用与开发流程的几乎全部阶段,但是我个人认为,最主要的 应用还是在最初的网络的全局设计阶段。在这个阶段,只需要确定协议及 每个节点的功能定义,而不需要很多的软硬件开发工作。这个和普通的系 统或者节点开发还是有区别的。另外,CAPL语言所针对的也是网络中各 节点通

15、讯功能的实现,例如在整车动力系统网络中,发动机ECU的算法就 不是 CAPL 语言所能简单实现的。因此,在团队开发工作中,CANoe起到的是整体设计仿真验证和测试 的作用,无需多个子团队参与到CANoe的开发工作中;但是,一旦CANoe 的仿真环境搭建好之后,又是每个子团队都可以充分利用的一个很好的仿 真测试环境。请教 CANoe 中 PANELEDITOR 的问题我们用 PANELEDITOR 进行仪表界面编辑时,打开或存储编辑文档时, PANELEDITOR 编辑环境总是莫名其妙的就消失了,文档也没有存上,在台 式机和笔记本上都是这样的问题,请问这是什么原因,是什么地方设置不 当的原因?

16、A:您说的这个问题比较奇怪。是说在打开一个事先存储的界面文件,或者存储一个新建的界面文件 时,PanelEdtior都会自动关闭么?还是说建立的界面文件没有出现在仿 真环境中?如果是后者,请打开菜单中的PanelConfigPanel,在对话框中通过Add 按钮选择你所存储的界面文件,并通过 Diplay 按钮让你选择的界面 文件显示在仿真环境中。在使用can-analzyer时,log中出现了 ErrorFrame的帧,它是如何 产生的,怎样消除这个不需要的帧? A:产生错误帧的原因有很多,例如 CAN 规范中定义的错误就有:应答错误,位错误,格式错误,填充错误和 CRC 错误,任何一个错误

17、 都会产生错误帧。而这些错误帧都会被 CANoe 记录。要消除这些帧,必须检查你的网络排除造成错误的故障;如果您仅仅 是不需要在 Log 中记录这些帧,可以在 Log 模块之前添加一个 Filter, 选择StopFilter,将错误帧过滤掉,这样在Log文件里就看不到错误了。但是在 Trace 和 Butatitic 仍然可以看到错误。当然你也可以用同样 的办法过滤掉错误帧 Q:CANoe 只能安装到一台计算机上吗?我们公司购买的 CANoe 设备为什么只能在一台计算机上安装?其他计 算机安装后提示 licence 或者用户名等不对?A:CANoe 可以安装多台计算机,但是 CANoe 的

18、Licene 绑定在 CAN 卡 上,因此同时只能有一套CANoe在使用(无CAN卡CANoe无法启动)。您在第一篇帖子中不是说“其他计算机安装后提示licence或者用户 名等不对”,我以为是安装完成了。如果是安装过程中的问题,请注意以 下几点:1。先安装 CAN 卡驱动,即插上 CAN 卡,按计算机提示安装驱动Q:CAN 总线负载如何计算?CAN总线负载如果计算的?并且每个can帧最大传输需要多少位?A:简单的说,某个时间长度内,总线处于工作状态的百分比就是总线 负载。CAN 帧(标准帧)由起始位(SOF,lbit),ID (llbit),RTR(lbit),IDE (1bit),保留位(

19、lbit),DLC (4bit),数据场(0 8By te),CRC (2by te),ACK (2b it),帧结束(7bi t)和帧间隔(3b it) 构成。自己用加法算一下咯。当然在实际传输时还要考虑填充位的影响Q:大家是否遇到到CAN帧丢失?我在做接收端的时候遇到过CAN帧不能全部接收到,发送丢失现象, 大家是否遇到过?如果避免呢?A:能否详细描述这个现象。在接收节点收到严重干扰的时候,有时可能会出现丢帧现象。我所说 丢帧是指:当发送节点成功发送1000个报文时,接受节点正确接收的节 点可能只有不到 l000 个这样的现象。这种现象的原因是接收节点本身设计上软硬件缺陷,因而在干扰,或

20、者高负载情况下工作不正常。因为不清楚你所说的丢帧是否和我说的一样, 所以希望了解更详细的信息。是的我在第一次设计节点的时候确实没有考虑到这个问题!其实我CAN已 经接收到了,但是我没有及时的处理!也许设定个合理的 Buffer 会好点Q:请教关于CANoe使用问题在现场使用CANoe与其他控制器互相通信时,偶尔会收到Errorframe 祯,但系统运行正常,请教此时对此现象应该如何分析,错 误出在哪一方面,是属于CAN底层通信错误、现场干扰、还是上层协议制 定的问题,请指教如何分析,谢谢:)A:CANoe 是无法知道错误帧的类型,如果您需要查看错误出现的原因, 需要使用 CANcope 进行观

21、察。Q:CANoe 问题,急在我运行例子时,write窗口出现CANboard:t某queueifull- dvErr:3014dvBufferState:0以前我们没有出现这种情况,难道是CAN卡 有问题了A:你的CANoe肯定运行在RealBu的模式下。在这种模式中,所有的 CAN报文的发送和接收是通过真实的CAN收发器(也就是所用的CANcab, CANpiggy)通过真实CAN总线进行。也就是说,在这种模式下,你设置的 发送报文如果没有收发器来发送,或者没法被其他节点接收,就会出现你 说的发送队列堆满的现象。为解决这个问题,或者将你使用的CAN通道连接到你真实的总线网络, 或者将 CA

22、N 卡的两个通道互相连接,实现自发自收。还有一种简单的方法,就是将 CANoe 运行在 SimulatedBu 模式下。在 选择Config菜单一Option项,选中左栏的Simulation,在右栏中将 WorkingMode 改为 SimulatedBu。Q:请教CANoe使用过程中的问题1、我们打开PANElEDITOR进行新文件存储新文件或打开已有的文件 时,总是莫名其妙的退出PANElEDITOR,我们是哈工大的用户,请告知原 因,是什么没设置正确。2、请问 CANoe 发出的数据贞在默认情况下都是标准贞,怎么才能设 置硬件,使 CANoe 发出的数据贞格式变成扩展贞的格式。A:对于

23、第一个问题而言,我反复在CANoe里面操作PanelEd it or,但 是未发生你所描述的现象,这和设置应该没有关系,可能和系统有关,重 新启动电脑或换一台电脑试试,看看是否还是发生该现象?对于第二个问 题而言,硬件都是支持标准帧或扩展帧的的收发的,你只需要在CANdb中 定义消息用那一种帧,具体定义的位置在CANdb+Editor中Meage的 Define/Type 中可选用 CANtandard/CANe 某 tended 谢谢指导第 2 个问题 现在已经清楚了,只要在ID后加上某就表示扩展贞。但是对于第一个问题,我是在好几个电脑上都是这个问题,笔记本和 台式机上都是,都是WIN某P系

24、统,笔记本是P3800,台式机是赛扬1.8G, 内存都是256M,现在是打开或保存文件都是莫名其妙的退出软件,除非 我们在PANELEDITOR里把Vector这个图标拉出来,拉大,仍改一下,再 删掉,在存储文件就不会关闭了,但是打开就不可以,我只能每次都用文 件下拉菜单的以前保留的几个文档打开,相当不方便。庆邦族考虑一下是 什么问题?谢谢我在 Window 某 P 和 Window2000 两个系统都测试了一下,没什么问题。 请问一下你的 PanelEditor 的版本是多少?我测试的版本是PanelEditorVerion2.3 (CANoe4.1)和 3.0 (CANoe5.0)。Q:请

25、教CAN实时性的问题请教一下各位高手:CAN 通信中一个重要的指标是信息传递的实时性问题,从信息写进缓 存到节点接收到为止的时间延迟,请问有没有具体的方法来测试总线的实 时性,CANoe可以做吗?谢谢各位高手:)A:CANoe目前没有一种现成的 手段用于你所说的实时性测试。另外,对你所说的CAN总线实时性的概念,我的观点如下:在总线负载率不高,总线通讯顺畅的情况下,任何信息都可以在无竞 争,无干扰的情况下进行传输。那么,从信息写入缓存到节点接受到的时 间只和收发节点的控制器(如SJA1000)型号,收发器(如PCA82C251) 型号,总线波特率(Bit/econd),信息(Meage)长度主

26、要由标准帧(11位标识符)、扩展帧(29位标识符)以及数据场长度(DLC)决定一 相关,并且将是个比较固定的值。但是在环境比较复杂时,例如电磁干扰,电气故障等会造成信息无法 被正确接受,那么发送节点反复重发是否要记入实时性?另外,在出现总线竞争的情况下,总线的仲裁机制会使优先级别较低 的信息被延时发送,而这是由于系统设计,主要是应用层协议设计所带来 的问题。因此保障总线实时性的关键在于完善的硬件设计保障信息的抗干扰特 性,优化的系统设计保障总线的低负载率,在这种情况下,总线的实时性 是可以得到可预测的保障。我在 Window 某 P 和 Window2000 两个系统都测试了一下,没什么问题。

27、 请问一下你的 PanelEditor 的版本是多少?我测试的版本是PanelEditorVerion2.3 (CANoe4.1)和 3.0 (CANoe5.0)。Q:请教CAN实时性的问题请教一下各位高手:CAN 通信中一个重要的指标是信息传递的实时性问题,从信息写进缓 存到节点接收到为止的时间延迟,请问有没有具体的方法来测试总线的实 时性,CANoe可以做吗?谢谢各位高手:)A:CANoe目前没有一种现成的 手段用于你所说的实时性测试。另外,对你所说的CAN总线实时性的概念,我的观点如下:在总线负载率不高,总线通讯顺畅的情况下,任何信息都可以在无竞 争,无干扰的情况下进行传输。那么,从信息

28、写入缓存到节点接受到的时 间只和收发节点的控制器(如SJA1000)型号,收发器(如PCA82C251) 型号,总线波特率(Bit/econd),信息(Meage)长度主要由标准帧(11位标识符)、扩展帧(29位标识符)以及数据场长度(DLC)决定一 相关,并且将是个比较固定的值。但是在环境比较复杂时,例如电磁干扰,电气故障等会造成信息无法 被正确接受,那么发送节点反复重发是否要记入实时性?另外,在出现总线竞争的情况下,总线的仲裁机制会使优先级别较低 的信息被延时发送,而这是由于系统设计,主要是应用层协议设计所带来 的问题。因此保障总线实时性的关键在于完善的硬件设计保障信息的抗干扰特 性,优化的系统设计保障总线的低负载率,在这种情况下,总线的实时性 是可以得到可预测的保障。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!