版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AUTOSAR中CAN通信协议栈配置详解AUTOSAR的通信协议栈是由BSW通信服务,通信硬件抽象和通信驱动程序组成。ServicesLayerECUAbsLayerMCAILayerServicesLayerECUAbsLayerMCAILayer图1AUTOSAR通信协议栈的组件COM模块AUTOSARCOM是位于RTE和PduR之间的服务层模块,主要用于与RTE之间的信号交互,对信号进行打包和解包。另外在该模块中还可以配置IPDU的通信周期、通信周期偏移量、IPDUGroup等。PduR模块PduR的作用是为通信协议栈中的不同总线的IPDU提供路由路径。例如它将接收的IPDU路由至COM、Dcm等模块,或者将COM模块需要发送的IPDU路由至CanIf模块,最后传送至芯片的CANDriver,将信号发送至总线。CanTp模块Tp表示传输协议。该模块是特定于总线,其配置取决于基础总线协议,可以是CAN、LIN、CANFD等总线。该模块主要用于长报文的分段发送,以及对分段报文进行重组。BusSM模块总线状态管理模块负责相应总线状态机的管理和总线故障的处理。它可以基于CAN总线的CanSM,或者是基于LIN总线的LinSM等。BusTrcvDriver模块它是ECU抽象层的一部分。它可以是用于CAN收发器的CanTrcv,用于以太网收发器的EthTrcv,用于Flexray收发器的FrTrcv等。此模块用于对收发器进行初始化配置,它提供独立于控制器硬件的用于启动传输的服务和用于通知接收事件的回调函数。BusDriver该模块是AUTOSARMCAL层的一部分(例如:CanDrv,LinDrv,FrDrv),它实际上与ECU的底层硬件进行交互,并为其上层提供独立于硬件的接口。此模块取决于硬件,并且驱动程序代码可能会根据基础硬件而有所不同。BusIf是唯一可以访问此总线驱动程序的模块。CAN总线的COM配置实施下面我们来看看CAN通信协议栈,如下图2所示,包括Com、PduR、CanTp、CanSm、CanIf、CANDriver等模块,其中COM与PduR模块是通用的,其功能与总线铜线协议无关。Com .CansmCanTp ■CanIfCANDriver图2AUTOSARCAN通信协议栈下面来详细聊聊各个模块的配置选项。COM模块配置的COM模块基本目的是在上层RTE层和下层PDU路由器之间建立系统通信,而不考虑通信协议。这可以通过定义和配置四个不同的对象来完成。1、I-PDUI-PDU包含从通信栈中某一模块接收到的消息或需要发送给某一模块的消息。2、I-PDU组如果我们有大量的I-PDU,则可以将它们分为不同的组,通常至少分为两个组,一个为TxGroup,一个为RxGroup。3、信号I-DPU可以包含一个或多个信号,可以理解为一个I-PDU为一帧CAN消息,信号就是dbc中定义的。4、信号组如果需要将多个信号发送到同一I-PDU,则信号可以进一步形成信号组。COM模块包含两个主要的部分,分别为ComGeneral和ComConfig。ComGeneral(多重性:1)1、ComConfigurationUseDet:如果此布尔参数设置为ON,则任何当COM模块出现错误时,会调用Det_ReportError函数,记录在DET模块中(多重性:0.1)。2、ComCancellationSupport:这是一个布尔参数,用于启用/禁用用于取消PDU传输请求的取消功能。(多重性:0.1)。3、ComEnableSignalGroupArrayApi:这是一个布尔参数,用于激活/禁用信号组阵列访问API。(多重性:1)。4、ComSupportedIPduGroups:它是一个整数参数,用于说明所支持的IPDU组的最大数量。(多重性:1)。5、ComVersionInfoApi:布尔参数,用于激活/禁用版本信息APICom_GetVersionInfo。(多重性:1)。6、ComRetryFailedTransmitRequests:如果此参数设置为true,则启用重试失败的传输请求。(多重性:0.1)。7、ComEnableMDTForCyclicTransmission:如果启用此选项,则它将在I-PDU的循环传输和重复传输之间提供最小延迟时间监视。(多重性:0.1)。ComConfig(多重性:0.1)它包含四个容器,分别为ComSignals、ComIPdus、ComIPduGroups、ComSignalGroups。它还具有用于传输模式配置,信号网关配置,时基配置和过滤器参数配置的配置参数。Comlpdu(多重性:1)该容器用于为不同的IPDU参数提供定义,如果没有该参数,则无法通过COM模块进行通信。ComIPdu也通过ComPduIdRef链接到PDU。I-PDU包含一个或多个信号和/或信号组。以下是ComIpdu的一些基本属性。1、ComIPduHandleId:这是分配为该IPDU的ID的数字值。此ID用于在各种发送和接收API调用以及相应的回调API中引用此IPDU。(多重性:0.1)。2、ComPduIdRef:它提供对COM栈的全局PDU结构的引用。(多重性:1)。3、ComIPduGroupRef:它是指IPDU所属的IPDU组。(多重性:0...*)。4、ComIPduSignalRef:提供对该IPDU中包含的所有信号的引用。一个IPDU可以包含一个或多个单独的信号。(多重性:0…*)。、5、ComIPduSignalGroupRef:提供对此IPDU中包含的所有信号组的引用(多重性:0…*)6、ComlPduCallout:此参数可定义相应I-PDU的callout函数的名称,该函数在接收IPDU时或在发送PDU之前调用。(多重性:0…1)。7、ComlPduDirection:定义I-PDU是为发送(SEND)PDU还是为接收(RECEIVE)PDU。(多重性:1)。8、ComIPduSignalProcessing:用于配置信号是立即处理还是周期性处理,分别对应immediate或DEFERRED模式。(多重性:1)。如果将ComIPduDirection设置为SEND,则需要设置其他参数,例如传输是周期的还是混合型的等等。这是通过添加ComTxIPdu对象来添加的。ComlpduGroup(多重性:1)它包含COM模块的IPDU组的配置参数。如果不包含ComIPduGroup容器,则未定义IPDU组。在这种情况下,无法通过COM模块进行通信。(多重性:1)1、ComIPduGroupHandleId:用作此IPDU组ID的数值。API调用需要它来启动和停止IPDU组。(多重性:1)2、ComIPduGroupGroupRef:它提供对包括该IPDU组的所有IPDU组的引用。(多重性:0…*)ComSignalIPDU可以由一个或多个信号组成。来自RTE不同应用程序的这些信号在被传输到PduR之前被打包到PDU中。该容器提供各种参数来配置PDU中的信号位位置,信号位大小和其他属性。1、ComHandleId:这是分配给每个信号ID的数字值。与信号操作有关的不同API调用需要它。(多重性:0…1)。2、ComTimeoutFactor:它定义了监视的超时时间。(多重性:0..1)3、ComTransferProperty:以下选项定义此信号是否可以触发相应IPDU的传输;(多重性:0…1)我们可以设置以下五个选项之一:TRIGGEREDPENDINGTRIGGERED_ON_CHANGE,TRIGGERED_WITHOUT_REPETITIONTRIGGERED_ON_CHANGE_WITHOUT_REPETITION4、ComBitPosition:指出信号在IPDU中的开始位置,(多重性:1)。5、ComBitSize:它定义信号的大小(以位为单位)。(多重性:0...1)6、ComSignalEndianess:定义信号网络表示的字节排序。可以是BIG_ENDIAN,LITTLE_ENDIAN,OPAQUE。(多重性:0…1)7、ComSignalInitValue:用于设置信号的初始值。(多重性:0…1)8、ComSignalLength:它指定UINT8[n]类型的n(以字节为单位:1...8)。对于其他类型,它将被忽略。(多重性:0…1)9、ComSignalType:它指定符合BOOTEAN,SINT8,UINT8等。(多重性:1)10、ComTimeoutNotification:定义发生超时时在发送方或接收方要调用的函数的名称(多重性:0…1)ComSignalGroup然后,当我们需要向同一IPDu发送或接收多个信号时,可以将这些信号组合在一起以形成一个信号组。此容器包含名称与ComSignal容器相似的参数,并且对信号组具有完全相同的作用。因此,在本节中,我仅提及参数名称,要了解其行为,请参阅ComSignal部分。ComHandleId(多重性:0…1)ComTimeoutFactor(多重性:0…1)ComFirstTimeoutFactor(多重性:0…1)ComTransferProperty(多重性:0…1)ComNotification(多重性:0...1)ComInvalidNotification(多重性:0...1)ComErrorNotification(多重性:0...1)ComTimeoutNotification(多重性:0…1)PDU路由器(PduR)PduR负责将PDU路由到特定的总线接口。在PduR之上的所有层中,所有PDU都是独立于协议的。在PduR之下的所有PDU都属于特定的协议接口模块,PduR模块为主要容器提供以下参数配置。PduRBswModules(多重性:0...*)每个容器都描述了PDU路由器必须连接的特定BSW模块。添加PduRBswModule时,容器的简称必须与Bsw模块的名称匹配,例如CanIf。PdurGeneral(多重性:1)这是PduR模块的子容器,它指定PDU路由器的常规配置参数。以下是一些基本配置参数。1、PduRDevErrorDetect:如果启用,它将默认错误跟踪器(Det)检测和通知打开。(多重性:1)2、PduRVersionInfoApi:如果设置为true,贝UPduR_GetVersionInfoAPI可用。(多重性:1)PduRRoutingTables(多重性:1)它表示路由路径表。此路由表允许使用多个配置,这些配置用于在同一配置中创建多个路由表。1、PduRConfigurationld:它提供了使用PduRAPI读取的PduR配置的配置的标识。(多重性:1)2、PduRMaxRoutingPathCnt:给出所有路由表中最大路由路径数。(多重性:1)3、PduRMaxRoutingTableCnt:它给出了路由表的最大数量。(多重性:1)PduRSrcPdu这是PduRRoutingPath容器的子容器,它指定要路由的PDU的源。1、PduRSourcePduHandleld:这是PDU路由器分配的PDU标识符。(多重性:1)2、PduRSrcPduRef:此参数提供对唯一PDU标识符的引用,该标识符表示PDU的源地址。(多重性:1)PduRDestPdu这是PduRRoutingPath容器的子容器,并为要路由的PDU指定一个目的地。1、PduRDestPduHandleld:由PDU路由器分配的PDU标识符,通信接口和传输协议模块使用该PDU标识符进行确认。(多重性:0...1)2、PduRDestPduDataProvision:此参数指定如何以PDU_DIRECT或PDUR_TRIGGERTRANSMIT提供数据。(多重性:0…1)3、PduRDestPduRef:它提供参考唯一的PDU标识符,表示PDU路由的目的地(多重性:1)4、PduRDestTxBufferRef:提供对用于单帧路由的通信接口网关和传输协议网关所需的缓冲区的引用。(多重性:0…1)CAN状态管理器(CanSM)CAN状态管理器(CanSM)是通信服务层的成员,该层与通信硬件抽象层和系统服务层进行交互。CanSM模块负责CAN状态机的管理,包括CanTrcv、CanIf、CANDriver的状态机切换。CanSM模块具有以下容器用于其配置。CanSMGeneral(多重性:1)它包含CanSM模块的通用预配置参数。1、CanSMDevErrorDetect:用于打开或关闭开发错误检测API是否可以调用。(多重性:1)2、CanSMMainFunctionTimePeriod:它定义MainFunction的循环周期(单位为秒)(多重性:1)3、CanSMVersionInfoApi:用于打开或关闭版本信息APICanSM_GetVersionInfo。(多重性:1)CanSMManagerNetwork(多重性:1...*)该容器包含用于确定底层CanController(即每个CAN网络)处理方式的CAN网络特定参数。1、CanSMModeRequestRepetitionTime:它确定CanSM模块将使用CanIf模块的API重复模式更改请求的持续时间。(多重性:1)2、CanSMModeRequestRepetitionMax:它确定模式请求重复的最大次数,如果超过次数CanSM模块向Det报告开发错误。(多重性:1)每个CAN网络的CanSMConfiguration容器都有一个CanSMManagerNetwork。它包含每个CAN网络的CAN网络特定参数。1、CanSMBorCounterL1ToL2:它定义总线断开错误的计数,从快恢复切换到慢恢复的门槛值。(多重性:1)2、CanSMBorTimeL1:以秒为单位,定义快恢复的持续时间。(多重性:1)2、CanSMBorTimeL2:以秒为单位,定义慢恢复的持续时间。(多重性:1)CanSMController(多重性:1...*)每个容器引用一个唯一的CAN控制器。1、CanSMControllerld:引用一个特定CAN控制器的唯一标识符。(多重性:1)CanIf模块CANIf模块位于通信栈中的通信服务层和通信驱动程序层之间。它负责控制CAN驱动程序模块的初始化,并在消息的接收(CanIf_RxIndication)或传输(CanIf_TxConfirmation)时为CAN驱动程序模块提供通知服务。CANIf模块独立于硬件。CanlfPublicCfg(多重性:1)该容器包含CanIf的公共配置参数。1、CanlfDevErrorDetect:如果设置为true,它将打开开发错误检测和通知功能。如果设置为false,则关闭。(多重性:1)2、CanlfPublicVersionInfoApi:启用或禁用用于读取版本信息的API。(多重性:1)该容器包含CanIf的专用配置参数。1、CanIfPrivateDlcCheck:选择是否支持DLC检查。如果启用,则如果该帧的DLC小于配置的DLC,则该帧将不会转发到上层。如果接收到的帧的DLC大于或等于配置的DLC,则将帧转发到上层。CanlfCtrlDrvCfg(多重性:1...*)1、它提供了基础CAN驱动程序模块的配置参数。一个CanIfDrvCfg引用一个CanDriver模块。它包含CanIf的所有初始化参数。此容器至少有一个实例。它定义了所有与PDU相关的配置。CanlfBufferCfg(多重性:0…*)它是CanIfInitCfg的子容器。此容器包含传输缓冲区配置。必须为将用于传输帧的每个CanController添加此容器的一个实例。CanIfTxPduCfg(多重性:0…*)它是CanIfInitCfg的子容器。它包含发送CANL-PDU的配置参数。每次需要发送CANL-PDU时都要对其进行配置。1、CanIfTxPduCanId:定义发送CAN标识符,11位标准帧或29位扩展帧。(多重性:1)2、CanIfTxPduCanIdType:定义发送CAN标识符的类型,是标准格式(11位)还是扩展格式(29位)。(多重性:1)3、CanIfTxPduDlc:定义发送L-PDU的数据长度(以字节为单位)。范围是0到8个字节。(多重性:1)CanIfRxPduCfg(多重性:0...*)它是CanIfInitCfg的子容器。它包含每个接收到的CANLPDU的配置参数。CanIfRxPduCanId:定义接收CAN标识符,11位标准帧或29位扩展帧。(多重性:1)CanIfRxPduCanIdType:定义接收CAN标识符的类型,是标准格式(11位)还是扩展格式(29位)。(多重性:1)CanIfRxPduDlc:定义接收L-PDU的数据长度(以字节为单位)。范围是0到8个字节。(多重性:1)CAN驱动该容器保存单个CAN驱动程序的配置参数。CanGeneral(多重性:1)提供模块范围的配置,其中包含常规的CanDevErrorDetection和CanVersioninfoApi。1、CanDevErrorDetectio:启用/禁用开发错误检测和通知。(多重性:1)2、CanVersionInfoApi:启用/禁用版本信息的API。(多重性:1)CanConfigSet(多重性:1)它包含CAN控制器和CAN硬件对象的配置。它是CAN驱动程序的多配置集容器。CanController(多重性:1)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年纪念品制作与购买合同
- 2024年跨境农产品直销合同标的品质标准规定3篇
- 2024年购销合同:服装制造商与品牌商的年度合作计划
- 2025版股权质押贷款合同范本详析3篇
- 2024版学校护卫服务协议样例版B版
- 2024年创业项目孵化贷款合同3篇
- 2024年中国豪华型RO逆渗透饮水机市场调查研究报告
- 2024年度全国中小学学生家长权益保障服务合作协议3篇
- 2024年精准农业种植管理标准化服务合同样本版B版
- 2024年中国胶轴承市场调查研究报告
- 人才培养与团队建设计划三篇
- 2024年急性胰腺炎急诊诊治专家共识解读课件
- 六年级地方课程教案
- 【寒假预习】部编版二年级语文下册生字练字帖(带拼音、笔顺)
- 信息技术-计算机第三方支付行业深度报告:监管加速第三方支付合规及出清提费利润弹性巨大
- 2024年纪检监察综合业务知识题库【黄金题型】
- 年终培训机构述职报告
- 外科手术备皮范围
- 2024初中数学竞赛八年级竞赛辅导讲义专题07 分式的化简与求值含答案
- GB 1886.174-2024食品安全国家标准食品添加剂食品工业用酶制剂
- 评判创业计划书
评论
0/150
提交评论