665|5

5272

帖子

239

TA的资源

管理员

楼主
 

《嵌入式软件的时间分析》书友问答接龙 第六集:软件时间问题案例 [复制链接]

看目录,其中有一个案例是:“时间分析使得车厂节省了1200万欧元”,真真是体现了时间就是金钱这句话~

包括的案例:

- 中断都是哪来的?
- OSEK ECC:并非选择
-  重置17 min后发生偶发崩溃
- 遗漏及重复的传感器数据
- 拉着手刹去比赛
- 实际测量得到的 WCET 比静态代码分析得到的更大
- 有时候网络管理报文来得太早了

- 系列项目中无间断的时间分析
- 时间分析使得车厂节省了1200万欧元

 

《嵌入式软件的时间分析》的书友们(@luyism @常见泽1 @数码小叶 @hehung@qinyunti ):

在本周内阅读完书籍的第六章节 软件时间问题案例,跟帖参与问答接龙互动:

(1)第一位跟帖发起本章问题,第二位解答第一位发起的问题,第三、四位继续问答接龙;

(2)最后一位是章节总结角色,以文字或者思维导图的形式,对本章进行总结。至此章节互动结束。

 

注意:发起的问题,对解题者理解、学习本章内容有切实意义;发起的问题不可重复。

 

 

 

活动交流群

论坛有开设汽车电子交流群,欢迎感兴趣的小伙伴,微信添加“helloeeworld”为好友,对话:加入汽车电子交流群,入群交流。

扫码,对话:加入汽车电子交流群。

此帖出自汽车电子论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

最新回复

6.5 拉着手刹去比赛,举了一个有趣的例子,由于项目复杂且从闪存执行大量代码导致速度变慢导致功能异常,使能了Cache之后速度加快功能正常了。 其实对于嵌入式开发来说,这里隐含着一个非常需要重视的问题,即事物的正反面,使能了Cache虽然大大提高了性能,但是必定导致数据一致性的问题,应用开发就需要处处关注,是否存在一致性问题,一致性问题很可能导致很多隐蔽难以发现的问题。这就是嵌入式开发中需要处处关注并且最终权衡选择的。 包括存储需求-性能的权衡,可移植性-复杂性的权衡,时间换空间,空间换时间等等。     详情 回复 发表于 2024-8-2 21:57
点赞 关注(1)

回复
举报

2548

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 

网络管理报文是周期报文,且有冗余,为什么还会发生来得太早了现象?

此帖出自汽车电子论坛

点评

这个问题挺有意思的,在以前没接触汽车整体系统之前确实没有想到过还会又这种隐蔽的情况出现,现在我就书里的内容简单做一下解释: 网络管理报文是周期性发送的,即它们按照一定的周期重复发送,例如每10毫秒发送  详情 回复 发表于 2024-7-30 13:32
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
数码小叶 发表于 2024-7-29 21:30 网络管理报文是周期报文,且有冗余,为什么还会发生来得太早了现象?

这个问题挺有意思的,在以前没接触汽车整体系统之前确实没有想到过还会又这种隐蔽的情况出现,现在我就书里的内容简单做一下解释:

网络管理报文是周期性发送的,即它们按照一定的周期重复发送,例如每10毫秒发送一次。此外,这些报文还具备冗余机制,即如果有丢失或损坏的情况,会有备用报文来确保数据的完整性和可靠性。然而,在这个案例中,尽管有这些机制,报文仍然有时会提前发送。

问题原因:

  • 当系统从一种应用模式切换到另一种应用模式时,任务的调度可能会受到影响。在不同的应用模式下,系统的行为和任务调度可能会有所不同。例如,当从驾驶模式切换到停车模式时,上一个模式的最后一次任务调用与下一个模式的第一次任务调用之间的时间间隔可能会比预期短,导致报文提前发送。
  • 在本案例中,应用模式切换时,上一个应用模式的最后一次调用与下一个应用模式的第一次调用之间的时间间隔过短,仅为3毫秒,而不是预期的10毫秒。这意味着周期性的报文发送发生了偏差,导致报文提前发送。

举个栗子:

假设在一个汽车电子控制系统中,网络管理报文需要每10毫秒发送一次,允许的时间偏差为1毫秒。现在,系统从驾驶模式切换到了停车模式。在驾驶模式下,最后一次任务调用是在t=9毫秒时完成的,而停车模式下的第一个任务调用计划在t=10毫秒时开始。

按照正常的情况,第一次报文应该在t=10毫秒时发送,第二次报文应该在t=20毫秒时发送。但是,由于应用模式切换的机制,实际上驾驶模式下最后一次报文发送在t=9毫秒时完成,停车模式下第一次任务调用在t=12毫秒时就开始了。这意味着停车模式下第一个周期性任务(即发送第一个报文的任务)在t=12毫秒时启动。

让我们更清晰地区分各个概念:

  • 上一个应用模式的最后一次任务调用

    在t=9毫秒时完成,这是驾驶模式下的最后一次任务调用,它负责发送本模式最后一个报文。
  • 下一个应用模式的第一次任务调用

    在t=12毫秒时开始,这是停车模式下的第一次任务调用,它负责发送第一个报文。

于是在这种情况下网络管理报文本应该每10毫秒发送一次,但因为任务模式间切换,他们之间的报文间隔小于10ms。

为了解决这个问题,开发人员在新的应用模式中增加了7毫秒的任务偏移。这意味着模式切换后第一个周期性任务的启动时间被推迟了7毫秒,在这个例子中即第一次任务调用在t=19毫秒时开始,而不是t=12毫秒。

附一张书本样图:

 

 

此帖出自汽车电子论坛
 
 
 

回复

282

帖子

2

TA的资源

一粒金砂(高级)

4
 

6.4章节,遗漏及重复的传感器数据中,CAN报文周期设置为了10ms接收一次,为什么还会出现CAN报文时不时丢失的问题,而且不同的ECU报文丢失的时间间隔还不相同?

此帖出自汽车电子论坛

点评

报文每10ms接收一次,肯定会存在抖动。意味着有时候不到10ms会接收到报文,有时也会超过10ms。当发生错误时进行了计算,然后立即接收到报文,之后在大约10ms后再次接收到报文,最终的计算结果将使用最新的值,而不会  详情 回复 发表于 2024-7-30 20:23
 
 
 

回复

7249

帖子

192

TA的资源

五彩晶圆(高级)

5
 
hehung 发表于 2024-7-30 14:04 6.4章节,遗漏及重复的传感器数据中,CAN报文周期设置为了10ms接收一次,为什么还会出现CAN报文时不时丢失 ...

报文每10ms接收一次,肯定会存在抖动。意味着有时候不到10ms会接收到报文,有时也会超过10ms。当发生错误时进行了计算,然后立即接收到报文,之后在大约10ms后再次接收到报文,最终的计算结果将使用最新的值,而不会使用之前接收的值,就是丢失的数据包

此帖出自汽车电子论坛
 
 
 

回复

512

帖子

4

TA的资源

纯净的硅(高级)

6
 

6.5 拉着手刹去比赛,举了一个有趣的例子,由于项目复杂且从闪存执行大量代码导致速度变慢导致功能异常,使能了Cache之后速度加快功能正常了。

其实对于嵌入式开发来说,这里隐含着一个非常需要重视的问题,即事物的正反面,使能了Cache虽然大大提高了性能,但是必定导致数据一致性的问题,应用开发就需要处处关注,是否存在一致性问题,一致性问题很可能导致很多隐蔽难以发现的问题。这就是嵌入式开发中需要处处关注并且最终权衡选择的。

包括存储需求-性能的权衡,可移植性-复杂性的权衡,时间换空间,空间换时间等等。

 

此帖出自汽车电子论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
ARM开发全集

ARM开发全集1~6

Protel 99从入门到精通教程(中)

接上Protel 99从入门到精通教程(上)

空中鼠标-MSP-EXP430FR5739实验板实现

玩跑跑卡丁车突发奇想,可不可以用团购来的MSP-EXP430FR5739实验板来控制赛车!基本思路是这样的,利用EXP430FR5739实验板上的三 ...

2013年国赛元器件清单重点分析!(随时更新)

>>2013年器件清单对比及分析_by chbaaic >>分析2013年器件清单中几个比较不寻常的器件_by longhaozheng >>官 ...

神器系列-艾刷做开发板

本帖最后由 dcexpert 于 2016-2-29 00:16 编辑 前几天发了一篇《神器拆机-艾刷》的帖子,发现里面使用了STM32F401CC单片机, ...

通讯系统离不开的滤波器系列2

516242516243 516244 516245516246516247516248516249516250

关于答题活动抽奖无正确答案的问题

本帖最后由 sanhuasr 于 2020-12-16 21:21 编辑 以科技之力,成就安全 PI与您一起驾驭明天的智慧 答题赢好礼! https://www.e ...

免费申请:国产FPGA 高云家小蜜蜂家族GW1N 系列开发板

开发板型号:DK_MINI_GW1N-LV4LQ144C6I5_V1.1(共3套) 来自:高云半导体 市场价:299元 在论坛>>littleshrimp ...

【得捷Follow me第4期】综合实践之智能家居控制器

本帖最后由 鲜de芒果 于 2024-2-22 16:27 编辑 1 任务说明 这次我准备使用W5500-EVB-Pico作为一个控制器, 通过 MQTT 协议 ...

记一次Luckfox幸狐 RV1106 Linux 开发板移植gt911触摸驱动过程中的踩坑排查记录

最近为Luckfox Pico pro max 开发板移植gt911触摸驱动,踩了个不大不小的坑,发现基本没人提及这块,分享出来大家参考 拉取官 ...

关闭
站长推荐上一条 1/10 下一条
有奖直播:当AI遇见仿真,会有什么样的电子行业革新之路?
首场直播:Simcenter AI 赋能电子行业研发创新
直播时间:04月15日14:00-14:50

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表