当前位置: 首页 > news >正文

珠海营销型网站wordpress修改模板注册

珠海营销型网站,wordpress修改模板注册,企业融资什么意思,中小企业网站开发目录 软件架构 关键知识点 第一:PDUR的缓存作用 第二:CANTP的组包拆包功能 第三:流控帧的意义 配置过程 步骤0:ECUC模块中PDU创建 步骤1:SoAD模块维持不变 步骤2:DoIP模块为Gateway功能添加Connection ​步骤3:DoIP模块为Gateway新增LA/TA/SA ​步骤4:PDUR模…

目录

软件架构

关键知识点

第一:PDUR的缓存作用

第二:CANTP的组包拆包功能

第三:流控帧的意义

配置过程

步骤0:ECUC模块中PDU创建

步骤1:SoAD模块维持不变

步骤2:DoIP模块为Gateway功能添加Connection

​步骤3:DoIP模块为Gateway新增LA/TA/SA

​步骤4:PDUR模块为Gateway功能创建路由

步骤5:PDUR模块为数据缓存创建Buffer

步骤6:CanTp配置

步骤7:CanIf中新增Pdu配置

全文总结

软件架构

设计方案如下图:

整个数据流传递非常简单明了,这整个网络结构看下来,其实重点和难点在诊断,而不在DoIP。好好理解这张图,任何一个函数的错误调用都会影响到整体功能的实现。诊断数据流的传递如下:

为了实现这个效果,有以下三点需要重点处理的地方。

关键知识点

第一:PDUR的缓存作用

CANTP本身没有缓冲区,所以面对DoIP大量的数据传来,必须有个地方去缓存这么大的数据,否者CANTP的组包无从谈起。根据上图,CANTP的上层是PDUR,所以只能在PDUR里面做缓冲池。具体方法后文介绍。

第二:CANTP的组包拆包功能

首先是PDUR调用CANTP的函数CanTp_Transmit( )告诉CANTP当前我这边有数据来了,数据长度有多长。然后CANTP不紧不慢的按自己的吞吐量,调用PduR_CanTpCopyTxData( )去PDUR的缓冲区取数据,一次又一次,直到该缓冲区为空。

因此,为了保证数据一致性,上层应该锁定该内存区域,直到出现指示。

当发送缓冲区被锁定时,上层不能在缓冲区内写入数据。当接收缓冲区被锁定时,CAN - T传输层不能保证缓冲区的数据一致性。上层既不能读也不能写缓冲区中的数据。

在咱们DoIP转CAN这个数据流测试下来,CANTP之于诊断就像人的脊髓之于整个人的作用(脊髓能够不经大脑产生膝跳反射),大脑肯定是DCM和DEM,但CANTP也负责一些简单的诊断协议栈标准的实现,比如UDS中甚为繁琐的种种时间参数就是CanTP实现的。还有流控帧的封装发送/接收判断也是CanTP实现的(也就是CANTP之上的模块如DCM根本不会接到流控帧的任何信息)。

流控帧用于调整发送方以适应接收方的能力,

http://www.lebaoying.cn/news/673.html

相关文章: