0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

对Autosar网络管理的一些表述进行纠错

冬至配饺子 来源:开心果 Need Car 作者:开心果 Need Car 2022-08-26 17:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

纠错1

Autosar网络管理:网络管理报文的收/发与网络管理时间配置参数解析

一文中,提到这样一个观点3.有快速发送功能(网络被动唤醒):在RMS状态下,先以快发周期发送一定次数的网络管理报文,eg:20ms发送10次,之后以正常周期发送网络管理报文,eg:500ms。此处表达不准确,收到网络管理报文(没有PN功能),被动唤醒(调用CanNm_PassiveStartUp()接口),没有快发模式。

即:被动唤醒没有快发模式。快发模式需要满足的条件:

节点非PASSIVE MODE;

调用CanNm_NetworkRequest()接口主动请求网络;

CanNmImmediateNmTransmissions>0。

看一下Autosar规范给的解释,如下所示:

CASE1

poYBAGMIjnuALnzmAADyayAZcdQ764.png

可以看出,由BSM或者PBSM进入RMS,由CanNm_NetworkRequest()触发,且CanNmImmediateNmTransmissions>0时,使能快发模式。

CASE2:

pYYBAGMIjo-ADI0SAACjQ-0jAss897.png

CanNmPnHandleMultipleNetworkRequests = TRUE,可以理解为PN功能使能,调用CanNm_NetworkRequest()接口进入RMS状态时,CanNmImmediateNmTransmissions>0,使能快发模式。

注意

CanNmImmediateNmTransmissions设置为1,没有意义,工程需求中,常见设置:10、20等;

CanNmRepeatMessageTime > CanNmImmediateNmTransmissions * CanNmImmediateNmCycleTime,即:快发模式限于RMS状态;

快发功能使用时,CanNmMsgCycleOffset不再适用,既然都快发了,就是想快速唤醒网络,所以,没必要再延迟发送NM Msg。

纠错2

工程开发问题(七):Flexray网络状态切换错误,通信异常一文中,说到:“Fr节点进入RSS状态以后,即使本节点有内部网络请求(Network Request,比如:VFC置位),节点也不会进入NOS状态。”,该表达不准确。完整的解读Autosar规范如下所示:

poYBAGMIjqaAPjGDAADE9JW1Gto085.png

意思是说,Flexray节点在RSS状态下,如果同时满足如下条件:

FrNm_ReaySleepCnt>0;

FrNm_NetworkRequest=TRUE,主动调用FrNm_NetworkRequest()接口;

FrNM_RepeatMessage=FALSE。

在当前Repetition Cycle结束后,Flexray节点的网络状态由RSS进入NOS状态。

网络管理问题QA

Q1Application软件升级,$11复位后,节点处于何种网络状态?

A1:本问题源于一个朋友的讨论。在此,说一下个人理解。正常的刷写流程中,一般操作如下:

Step1:拓展会话($10 03)中,使用功能寻址将总线上的所有节点通信(0x28服务)和DTC监控(0x85服务)禁用,功能寻址一直在周期性发送$3E 80(维持会话);

Step2:使用物理寻址升级目标ECU(进入编程会话,$10 02),比如:下图的ECU3;

Step3:ECU3升级完成以后,使用物理寻址发送$11 01服务,复位ECU3;

Step4:等待一定时间(比如:2s),功能寻址发送$10 03服务,使ECU3进入拓展会话;

Step5:再等待一定时间(比如:2s),功能寻址发送$28服务,使能所有节点通信;......

pYYBAGMIjr2Ad64sAABcd3mcv5A002.png

具体解释:

Step3中,发送$11 01使ECU3复位,ECU3执行复位,由Boot跳转到Application,Application程序初始化,Application程序运行起来,需要一定时间,这是上位机Tester)延迟2s的作用(确保Application程序已经完成初始化动作),这个时间内ECU3节点网络处于BSM(Bus Sleep Mode)模式;Step4中,功能寻址发送$10 03服务,主要使ECU3进入拓展会话。在升级ECU3的过程中,由于Tester一直周期性发送$3E 80(避免因S3超时,ECU1、ECU2进入默认会话,使得通信和DTC控制失效),ECU1和ECU2一直在拓展会话呆着。Step5中,又经过2s时间,Tester发送$28 00服务,开启通信。提示:

$28服务针对非诊断报文的通信

(比如:网络管理报文、应用报文),主要是把总线让给诊断报文,提高刷写速率。所以,ECU3只要完成启动流程,Controller和Transceiver进入Normal模式,ECU3就可以正常接收诊断报文。如果开发的ECU要求

网络管理报文唤醒网络,此时ECU3节点的网络状态处于何种模式呢?答:个人理解,BSM。虽然上位机从请求ECU复位到发送$28服务(开通信)间隔了4s时间,但是这4s时间内有一定的时间ECU在完成初始化(一般要求100~300ms时间范围)。

pYYBAGMIjtGAcMb6AACgF5yQChI507.png

如上图:T0时刻,ECU3收到$11 01复位,一般程序会在Boot呆一定时间,比如:50ms(Stay In Boot功能),之后识别到App程序有效,Jump到App,完成App初始化,在OS RUN之前需要100~300ms时间不等(每个项目的代码量和功能有所不同,耗时不同)。

到T2时刻使能通信之前的这段时间,ECU3处于BSM模式,原因:没有收到有效的唤醒事件(比如:没有收到网络管理报文)。注意:

ECU1和ECU2一直处于NM(Network Mode),因为诊断报文在一直维持两者的网络状态。

T2时刻,ECU1和ECU2的通信使能,可以发送网络管理报文和应用报文,ECU3接收到网络管理报文以后,进入NM,ECU3相当于被动唤醒。

所以,从ECU3复位,到接收到$28 00服务,近4s的时间内,ECU3的网络状态处于BSM模式。

注意

再次提醒:不要混淆ECU唤醒和网络唤唤醒。虽然ECU3收到诊断报文,可以处理诊断服务,但是诊断报文并不是有效的唤醒源,如果Transceiver没有硬件过滤功能,诊断报文可以将ECU唤醒(uC被供电),但是网络并未唤醒,此时ECU会保持一定时间验证唤醒事件的有效性,比如:3s等;

有些节点的Transceiver有过滤功能,即:只能有效的网络管理报文被接收,所以,冷启动时,诊断报文,ECU接收不到;

某些ECU的开发中,会将诊断报文作为有效唤醒源,即:网络管理报文一样,可以唤醒网络,诊断报文和注意识别。

$11 01诊断服务思考

工程中,ECU刷写后,需要$11 01执行uC的复位,这个复位可以操作PORST Pin,控制uC的Vcc供电(5V),使得uC完成一个热启动过程,即:ECU复位。注意,这个复位动作,虽然也给uC重新供电,但是,它不同于KL15硬线上电,不能看作主动唤醒,所以$11 01诊断复位不能触发网络的主动唤醒。

提示:$11 01复位,执行uC的下电流程,需要执行NVM的存储。

如下通过控制SBC(System Basis Chip)实现uC复位,也可以通过控制外部看门狗实现。

pYYBAGMIjumAZjVDAABsB-yg17I884.png



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网络管理
    +关注

    关注

    0

    文章

    127

    浏览量

    29407
  • AUTOSAR
    +关注

    关注

    11

    文章

    406

    浏览量

    23751
  • RMS
    RMS
    +关注

    关注

    2

    文章

    158

    浏览量

    37839
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FEC前向纠错技术:让无线传输“自我修复”的通信卫士

    、什么是前向纠错(FEC)? 前向纠错(Forward Error Correction,FEC)是种通过在数据传输中增加冗余校验信息,使接收端能够自行检测并纠正错误的通信技术。它
    发表于 04-09 10:10

    如何使用 powerquad 加速器中的一些功能以及 CMSIS 原始实现中的一些功能?

    )。 如何使用 powerquad 加速器中的一些功能以及 CMSIS 原始实现中的一些功能。 Example: I do not want to call arm_mat_trans_q15 powerquad
    发表于 04-03 06:37

    FEC前向纠错技术:让无线传输“自我修复”的通信卫士

    、什么是前向纠错(FEC)?前向纠错(Forward Error Correction,FEC)是种通过在数据传输中增加冗余校验信息,使接收端能够自行检测并纠正错误的通信技术。它特
    发表于 03-27 15:51

    FEC前向纠错技术:让无线传输“自我修复”的通信卫士

    、什么是前向纠错(FEC)?前向纠错(Forward Error Correction,FEC)是种通过在数据传输中增加冗余校验信息,使接收端能够自行检测并纠正错误的通信技术。它特
    发表于 01-09 14:12

    关于六类网线一些问题的解答

    今天我们就围绕网友一些常见的关于六类网线的问题进行下汇总式解答: 问 六类网线可以当电源用吗? 答 六类网线并不是设计用于传输电力的电缆,因此般不建议将其用于电源传输。 尽管六类网
    的头像 发表于 12-09 11:13 745次阅读

    语法纠错和testbench的自动生成

    在编写Verilog代码时,我般都是先在编辑器上写完,因为编辑器vscode或者notepad++可以提供语法高亮和自动补全等功能,然后用仿真器跑仿真,但是在编写过程中不可避免的会有一些语法的错误
    发表于 10-27 07:07

    指令集测试的纠错方法

    本文描述在进行指令集测试的纠错方法 1.打开测试指令集对应的dump文件 dump文件是指由汇编文件进行反汇编之后,可以供人阅读指令的反汇编文件。其包含了每
    发表于 10-24 14:04

    对浮点指令扩展中一些问题的解决与分享

    出现无法写的情况。 结论 以上就是我们组在扩展浮点指令中出现的一些问题,这些问题总体上归结于对蜂鸟的代码没有整体性的把握,对内容的掌握程度还不够。在后续的工作中应注意理清功能的整体架构而对所有的相关部分进行修改。
    发表于 10-24 11:47

    蜂鸟E203的浮点指令集F的一些实现细节

    蜂鸟E203的浮点指令集F的一些实现细节 既然E203不是多发射,且为了节省面积,一些指令使用FPU内的同个子模块来执行,即FPU同时只能进行
    发表于 10-24 08:57

    在Ubuntu20.04系统中训练神经网络模型的一些经验

    本帖欲分享在Ubuntu20.04系统中训练神经网络模型的一些经验。我们采用jupyter notebook作为开发IDE,以TensorFlow2为训练框架,目标是训练个手写数字识别的神经
    发表于 10-22 07:03

    知识分享 | 使用MXAM进行AUTOSAR模型的静态分析:Embedded Coder与TargetLink模型

    知识分享在知识分享栏目中,我们会定期与读者分享来自MES模赛思的基于模型的软件开发相关Know-How干货,关注公众号,随时掌握基于模型的软件设计的技术知识。使用MXAM进行AUTOSAR模型的静态
    的头像 发表于 08-27 10:04 873次阅读
    知识分享 | 使用MXAM<b class='flag-5'>进行</b><b class='flag-5'>AUTOSAR</b>模型的静态分析:Embedded Coder与TargetLink模型

    种抗辐射加固检错纠错电路的设计

    电子发烧友网站提供《种抗辐射加固检错纠错电路的设计.pdf》资料免费下载
    发表于 08-11 15:38 0次下载

    东软睿驰亮相第16届AUTOSAR开放大会

    此前,5月27日-28日,第16届AUTOSAR开放大会(16th AUTOSAR Open Conference)在比利时布鲁日成功召开,本届大会以“AUTOSAR solutions
    的头像 发表于 06-06 16:07 1755次阅读

    Debian和Ubuntu哪个好一些

    兼容性对比Debian和Ubuntu哪个好一些,并为您揭示如何通过RAKsmart服务器释放Linux系统的最大潜能。
    的头像 发表于 05-07 10:58 1399次阅读

    如何添加一些网络上的库到mpy固件的说明或手册教程?

    下有没有关于如何添加一些网络上的库到mpy固件的说明或手册教程? 问题2: 关于mpy的image库在哪里能了解学习内部代码,只了解一些python,想知道怎么从c转换成mpy能调用的,自己写的c也能转成py调用
    发表于 04-29 08:16