第10章--报文发送功能的实时性分析

>>>返回总目录<<<

本章目标

  1. 进行报文发送功能的实时性分析;
  2. 开发解决方案。

前言

在某些测试中,需要验证一些时间参数,通常这些参数是毫秒级别的,比如传输层时间参数N_Bs。

N_Bs指的是发送方从“发送完首帧(FF)”到“收到流控帧”之间的时间差,其中发送方是指发送首帧的一方。

例如下图所示的情况:

  • 在0.0015秒时,ECU向Tester发送了一帧报文,FF代表First Frame(首帧);
  • 在0.0118秒时,Tester向ECU发送了一帧报文,FC代表Flow Control(流控);

这两个时间的差值(约10ms)即为本次测试中的N_Bs。
在这里插入图片描述

主机厂有时会定义ECU在特殊状态下的的N_Bs的最大值,例如50ms。这样,在测试过程中就需要在50ms以内发送一帧流控,此时ECU应该继续发送后续帧;然后超过50ms之后再发送一帧流控,此时ECU应该停止发送后续帧。

需要注意的是:CANoe 11.0版本会自动发送流控,而CANoe 15.0版本则不会。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]: 通讯协议中的CAN通讯协议如下图所示,其中报头为8000,每10ms发送5数据。接收程序中,每100ms执行一次receive函数,接收到大约55个左右的数据。\[1\] 引用\[2\]: 在QT中,接收到的CAN数据可以通过以下代码进行处理: ReceiveNum = VCI_Receive(nDeviceType,nDeviceInd,nCANInd,Receive,100,400); if(ReceiveNum>0) { for (int i = 0; i < ReceiveNum; i++) { CANID = Receive\[i\].ID; for (int j = 0; j < 8; j++) { gnDataBuffer\[j\] = Receive\[i\].Data\[j\]; } } } \[2\] 引用\[3\]: 在QT中显示CAN报文可以采用和《QT串口动态实时显示大量数据波形曲线(一)》中一致的数据处理方法。每次接收的数包含数个数整数倍的数据,例如每次接收10或者20。可以通过改变接收函数的参数来实现,例如将100改为50,即每次接收的最大数为50个。然后将第二次接收到的50接到前50后面。为了解决末尾不是包最后一的问题,可以将每次接收的数减小,例如改为10。这样可以将时间延迟减小为10ms。需要注意的是,QT中的定时器和单片机中断的执行方式不同,所以当程序执行时间较长时,定时器的执行时间可能会超过设定的时间间隔。因此,需要考虑后续程序的执行时间,以避免程序变慢。\[3\] 问题: QT中如何显示CAN报文? 回答: 在QT中显示CAN报文可以通过以下步骤实现: 1. 使用CAN通讯协议,其中报头为8000,每10ms发送5数据。 2. 在接收程序中,使用VCI_Receive函数接收CAN数据,并将接收到的数据存储在相应的变量中。 3. 根据需要,可以通过改变接收函数的参数来控制每次接收的数,例如将100改为50,即每次接收的最大数为50个。 4. 将第二次接收到的数据接到前一次接收到的数据后面,以保证数据的完整性。 5. 为了解决末尾不是包最后一的问题,可以将每次接收的数减小,例如改为10,以减小时间延迟。 6. 注意在QT中定时器的执行方式与单片机中断的执行方式不同,需要考虑后续程序的执行时间,以避免程序变慢。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [基于QT的CAN通讯数据实时波形显示(连载五)========“CAN的处理”](https://blog.csdn.net/weixin_45426095/article/details/110810225)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值