大数跨境

手把手教你如何在PREEvision中进行CAN的多路信号复用设计

手把手教你如何在PREEvision中进行CAN的多路信号复用设计 怿星科技
2019-06-21
2
导读:本周为大家分享如何在PREEvision中进行CAN的多路信号复用设计

PREEvision是一款由德国Vector公司开发的、基于模型的汽车电子电气架构设计及开发工具。通过使用PREEvision工具,工程师们可以协同完成架构设计中的需求开发、功能定义、软件架构设计、硬件拓扑设计、通信设计、电气原理设计、线束设计以及整车电器布置设计等工作。在通信设计中,PREEvision支持CAN、LIN、FlexRay以及Ethernet等多种车载网络通信的设计,包括多路信号复用的设计。

PREEvision分层架构图-来源于Vector



以前跟大家分享过如何使用CANdb++编辑多路复用信号本周将继续为大家分享如何在PREEvision中进行CAN的多路信号复用( CAN Multiplexing)设计。


PREEvision中,带有Multiplexed Signal的CAN报文(Multiplexed CAN Frame)数据场结构如下图所示。其中,静态部分(Static Part)指的是存放静态信号(Static Signal)的区域;动态部分(Dynamic Part)是用来存放复用信号(Multiplexed Signal)的区域。值得注意的是,Mutiplexor Signal也属于动态部分。在同一条报文中随着Multiplexor Signal值的改变,Multipexed Signal也相应的发生变化,而Static Signal则保持不变。



带有Multiplexed Signal的CAN报文数据场结构

补充说明:

静态信号Static Signal这类信号与普通的CAN报文中的信号一样,一直存在于该报文中;

复用模式信号Multiplexor Signal这类信号携带的是复用模式信息,其值的改变对应着不同的复用模式的变化;

复用信号Multiplexed Signal也可称为动态信号。一个或一组(多个)复用信号(Multiplexed Signal)与一个复用值(Multiplex Value)对应,当复用模式信号(Multiplexor Signal)的值等于该复用值时,那么这些信号被激活,出现在该报文中。

为了便于更好地理解,举个例子:


Cell_type为Static Signal,表示电芯型号(上图中区域1所示);

Cell_Mode为Multiplexor Signal,表示不同的模组ID(上图中区域2所示);

Cell1_M1~Cell6_M1为一组Multiplexed Signal,表示的是对应的模组内的各个电芯的信息,如温度等(上图中区域3所示);

综上,一条CAN报文,通过Cell_Mode的变化,便实现了整车所有电芯相关信息的传输,同时也降低了总线负载。


由于PREEvision是严格遵循AUTOSAR(可参考浅谈AUTOSAR架构及开发方法)的设计规范,因此,在PREEvision中进行通信层设计时,会生成一些与AUTOSAR相关的模型元素(如System Signal,I-Signal,I-PDU等)。所以,对于通信设计,PREEvision与CANdb++的设计过程会有较大的区别。接下来,请把PREEvision切换至CAN Communication Perspective界面,我们将通过8个步骤手把手教大家如何在PREEvison中进行CAN Multiplexing设计。


Step1:

根据通信矩阵表,先创建CAN Frame,Multiplexor Signal及该Multiplexor Signal对应的Computation Method。同时,在Computation Method中必须创建Value Table,并预先定义几种复用模式(此处定义以后,Step3完成后才能自动生成对应的Alternative);


Step2:Computation Method与Multiplexor Signal关联;


Step3:将Multiplexor Signal拖拽至Detail窗口中的Multiplexor属性栏;(通过此步骤,Multiplexor Signal被打包到了CAN Frame中);



完成上述操作后,模型树上会自动生成一些元素,其中一个最重要的元素就是Multiplexed IPDU,其包含两部分,即前面提到的动态部分(Dynamic Part)及静态部分(Static Part)。其中,Dynamic Part包含几种Dynamic Part Alternative,一种Dynamic Part Alternative对应的就是一种复用模式。同时,Detail窗口的Alternative属性栏已激活,后续可以通过此处的下拉菜单选择不同的Dynamic Part Alternative,在Frame Layout Configuration完成不同复用模式下的信号排布。



Step4:创建Multiplexed Signal以及Static Signal;


Step5:在Alternative下拉菜单选择一种复用模式(若选择Static Part,可进行Static Signal的信号排布);


Step6:将所需的信号拖拽到Frame Layout Configuration中进行信号排布;(完成Step3后,Layout中已存在Multiplexor Signal,并有默认的起始位;此时可在Layout中的通过手动拖动,更改其起始位置);




Step7:每完成或更新一次信号(Multiplexed Signal或Static Signal)排布,都需点击Detail窗口中的Calculate Segment Position,对Multiplexed IPDU中Dynamic Part及Static Part的Segment Position进行计算;


Step8:重复上述Step5/6/7的步骤,完成所有信号的排布以及Segment Position的计算。


以上步骤是CAN Multiplexing设计的核心部分,至于Signal/Frame的属性设置等操作,考虑到其与普通CAN通信设计过程类似,这里就不再赘述。后续我们还会有更多干货跟大家分享,请多多关注哦!


相关精彩推荐:

浅谈AUTOSAR架构及开发方法

干货 | 如何使用CANdb++编辑多路复用信号





怿星一意,专注车载

引领汽车科技新高度


【声明】内容源于网络
0
0
怿星科技
让智能汽车研发更高效!
内容 428
粉丝 0
怿星科技 让智能汽车研发更高效!
总阅读1.2k
粉丝0
内容428