SoAd产品参考手册
缩写词注解
缩写词 |
英文全称 |
中文解释 |
DET |
Default Error Tracer |
开发错误检测模块 |
IP |
Internet Protocol |
以太网Internet Protocol协议 |
IPv4/IPv6 |
Internet Protocol version 4/6 |
以太网Internet Protocol协议版本4和版本6 |
TCP |
Transmission Control Protocol |
以太网Transmission Control Protocol |
UDP |
User Datagram Protocol |
以太网User Datagram Protocol |
TcpIp |
TCP/IP Protocols Module |
AUTOS AR架构下TCP/IP协议实现模块 |
SoCon |
Socket Connection |
套接字连接 |
SoConGroup |
Socket Connection Group |
套接字连接组合 |
简介
SoAd作为“通信桥梁”将上层基于I-PDU的通信,与下层基于Socket的TCP/UDP通信连接起来。同时实现基于Socket Connection的连接控制,以及I-PDU与Socket Connection的路由控制,并为上层提供相应接口。
图1-1 SoAd模块层次图
SoAd模块处于AUTOSAR架构中的通信服务层,其下层模块为TcpIp模块,上层模块可能为Sd,DoIp,PduR,Xcp,UdpNm,SomeIpTp以及CDD模块。SoAd与TcpIp的交互:SoAd通过调用TcpIp模块的接口实现对TCP/UDP Socket的各种操作(获取,绑定,连接,监听,参数设置,释放),以及TCP/UDP报文的发送请求,TCP报文的接收窗口释放;TcpIp模块通过调用SoAd的回调函数实现IP地址分配状态改变通知,Socket事件通知,TCP Socket连接成功通知,以及TCP/UDP接收报文传递,TCP发送数据的拷贝,TCP发送数据的ACK发送确认。
SoAd与上层模块的交互:SoAd为上层模块提供基于Socket Connection的开启、关闭、Id获取、模式获取、远端地址设置/获取操作,提供基于Routing Group的路由使能控制,以及IF/TP PDU的发送接口,TP PDU的发送/接收取消接口;SoAd通过调用上层模块回调接口,实现IP地址分配状态改变通知,Socket Connection模式改变通知,以及IF/TP PDU发送或者接收流程所必须的Tx PDU数据获取、Rx PDU数据传递、发送确认、接收指示。
参考资料
[1] AUTOSAR_SWS_SocketAdaptor.pdf,R19-11和4.2.2
[2] AUTOSAR_SWS_TcpIp.pdf,R19-11和4.2.2
功能描述
Socket Connections功能
Socket Connections功能介绍
为了实现上层PDUs与下层Sockets之前的通信映射,SoAd模块定义了Socket Connection的概念。一个Socket Connection表示一个本端socket(本端IP和本端Port)与远端socket(远端IP和远端Port)的链接,以及该链接基于的传输协议(UDP/TCP),是否使用PDU Header,是否需求buffer,传输协议相关参数等。
每个Socket Connection的模式根据SoAd_SoConModeType定义分为三种:SOAD_SOCON_ONLINE、SOAD_SOCON_RECONNECT、SOAD_SOCON_OFFLINE。
1.Socket Connection Open:
当我们需要使能通信时,首先需要开启相应的Socket Connections。开启的方式分为两种:手动方式(需上层模块调用SoAd_OpenSoCon)、自动方式。初始化之后,每个Socket Connection都处于SOAD_SOCON_OFFLINE模式,执行Open操作时根据每个Socket Connection的配置属性,其模式切换路线分两种:SOAD_SOCON_OFFLINE→SOAD_SOCON_ONLINE;SOAD_SOCON_OFFLINE→SOAD_SOCON_RECONNECT→SOAD_SOCON_ONLINE。只有当处于SOAD_SOCON_ONLINE模式时才能通过该Socket Connection发送/接收数据(属于UDP的Socket Connection可以在SOAD_SOCON_RECONNECT模式下响应SoAd_RxIndication,在该API中先切换到SOAD_SOCON_ONLINE模式,再执行数据接收处理)。
2.Socket Connection Close:
Socket Connection的关闭分为主动请求关闭(上层模块调用SoAd_CloseSoCon),以及异常关闭,如下层模块检测到错误事件,通过SoAd_TcpIpEvent通知到SoAd模块;UDP报文接收超时;TP PDU收发过程中出现错误/取消等。只有在执行主动请求关闭时,Socket Connection的模式才能切换到SOAD_SOCON_OFFLINE,别的情况都切换到SOAD_SOCON_RECONNECT模式。
3.Socket Connection Open/Close Sequence Remarks:
Socket Connection的开启及关闭是异步的,任务队列只能缓存两个不同的任务请求,多余的任务根据策略进行舍弃或者撤销(revoke)队列中的任务。
4.Notifications:
当Socket Connection的模式切换时,可以通过调用<Up>_SoConModeChg()函数通知上层模块。
当Socket Connection关联的IP地址(本端)状态切换时,可以通过调用<Up>_LocalIpAddrAssignmentChg()函数通知上层。
Socket Connections功能实现
通过每个SoAdSocketConnectionGroup的配置参数SoAdSocketAutomaticSoConSetup可以选择相应的Socket Connections的开启方式是手动方式还是自动方式。
只有在配置成手动方式的情况下,才能通过调用SoAd_OpenSoCon或者SoAd_CloseSoCon函数来主动请求Socket Connection的开启或者关闭。
对于异常关闭的Socket Connection(SOAD_SOCON_RECONNECT),SoAd会自动尝试重连,具体描述参见2.8章节。
通过SoAdBswModules的配置参数SoAdLocalIpAddrAssigmentChg和SoAdSoConModeChg来决定当Socket Connection关联的IP地址状态切换和模式切换时,是否调用上层通知函数来通知上层模块。
PDU Transmission功能
PDU Transmission功能介绍
SoAd通过PDU route(SoAdPduRoute, SoAdPduRouteDest)将PDU映射到socket connection,进而通过其关联的UDP/TCP Socket进行发送。SoAd提供IF、TP两种PDU发送方式。
1.PDU Transmission via IF-API:
对于数据长度较小的PDU,通常使用IF发送方式。在SoAd中支持IF PDU的1:n路由发送。
2.PDU Transmission via IF-API and nPduUdpTxBuffer:
当Socket Connection(UDP类型)关联的所有发送PDU都是“IF”类型,使能PDU Header,其关联的SoAdPduRouteDests至少有一个SoAdTxUdpTriggerMode 配置为TRIGGER_NEVER模式。SoAd将使能该Socket Connection的nPduUdpTxBuffer机制。
nPduUdpTxBuffer机制,能够将多个IF PDU封装在一个UDP报文中进行统一发送,以达到节省带宽的目的。
PDU Transmission via IfRoutingGroupTransmit API:
SoAd支持上层模块(通常为Sd模块),通过Trigger Transmit方式请求RoutingGroup关联的部分或者所有IF PDUs的发送。
上面提到的部分IF PDUs指的是关联到某一特定Socket Connection的PDUs。
4.PDU Transmission via TP-API:
对于上层模块数据长度较大的PDU,通常通过TP方式进行发送。TP发送不支持PDU的1:n路由。
PDU Transmission功能实现
1.PDU Transmission via IF-API:
通过配置参数SoAdTxUpperLayerType可以选择PDU通过IF或者TP方式进行发送。
当选择IF方式发送时,可以通过给一个SoAdPduRoute配置1-N个SoAdPduRouteDest,实现IF PDU的1:n路由。上层模块通过调用SoAd_IfTransmit来实现IF PDU的发送请求。
2.PDU Transmission via IF-API and nPduUdpTxBuffer:
当需要使能nPduUdpTxBuffer机制时,上层模块同样通过调用SoAd_IfTransmit来请求IF PDU(UDP)的发送,SoAd将N个IF PDU封装到nPduUdpTxBuffer中,统一的UDP报文进行发送,涉及到的配置如下:
(1)SoAdSocketUdpTriggerTimeout:Socket Connection的nPduUdpTxBuffer超时时间。
(2)SoAdSocketnPduUdpTxBufferMin:nPduUdpTxBuffer的触发长度(数据长度超过该参数,将触发发送)。
(3)SoAdPduHeaderEnable:PDU Header使能开关。
(4)SoAdTxPduHeaderId:PDU的Header ID。
(5)SoAdTxUdpTriggerMode:PDU(UDP)触发方式(NEVER/ALWAYS)。
(6)SoAdTxUdpTriggerTimeout:PDU的nPduUdpTxBuffer超时时间。
(7)SoAdTxUpperLayerType:PDU发送方式(IF/TP)。
3.PDU Transmission via IfRoutingGroupTransmit API:
SoAd为上层模块(通常为Sd模块)提供2种基于IfRoutingGroup的发送机制,分别为SoAd_IfRoutingGroupTransmit和SoAd_IfSpecificRoutingGroupTransmit。涉及的配置参数为SoAdRoutingGroupTxTriggerable(只有配置为TRUE的SoAdRoutingGroup才能通过以上两个API来触发IfRoutingGroup的发送机制)。该机制下,SoAd将调用<Up>_[SoAd][If]TriggerTransmit来获取发送数据,然后调用TcpIp层API来发送报文。
4.PDU Transmission via TP-API:
当PDU通过TP方式进行发送时,上层模块通过调用SoAd_TpTransmit来请求PDU发送。SoAd将通过N次调用<Up>_[SoAd][Tp]CopyTxData来分段获取PDU数据,当发送完成(成功/失败)则通过调用<Up>_[SoAd][Tp]TxConfirmation来通知上层发送成功或者失败。当通过UDP进行发送时,SoAd将提供足够长度的Buffer来获取到整个PDU数据后,再调用TcpIp_UdpTransmit来进行发送;当通过TCP进行发送时,SoAd不提供发送Buffer,TcpIp调用SoAd_CopyTxData请求Copy发送数据时,SoAd调用上层<Up>_[SoAd][Tp]CopyTxData来获取数据给TcpIp。
PDU Header option功能
PDU Header option功能介绍
SoAd支持PDU Header功能,PDU Header由4字节的Header ID,4字节的PDU数据长度组成(大端字节序)。当Socket Connection关联到多个接收PDU,以及需要用到nPduUdpTxBuffer机制等情况时,都需要PDU Header功能的支持。
PDU Header option功能实现
当配置参数SoAdPduHeaderEnable配置为TRUE时,对应的Socket Connection则使能PDU Header功能,其关联的PDUs需要相应配置各自的SoAdTxPduHeaderId/SoAdRxPduHeaderId。
在PDU发送过程中,SoAd层根据配置的HeaderId及PDU数据长度整合成8字节的PDU Header,添加到上层PDU数据前面,PDU数据长度+8,调用下层API统一进行发送。
在PDU接收过程中,SoAd对接收到的报文数据根据PDU Header进行PDU匹配、PDU数据提取等操作,将不含PDU Header数据的完整PDU数据传递给上层模块。
PDU Header数据的所有操作(添加、解析、去除)都在SoAd层完成。
PDU Reception功能
PDU Reception功能介绍
PDU的接收,在SoAd中通过Socket Route (SoAdSocketRoute, SoAdSocketRouteDest)来实现,将通过UDP/TCP Socket获取的报文映射到PDUs。当前Socket Route仅支持1:1路由(即一个SoAdSocketRoute只能包含一个SoAdSocketRouteDest),但需注意的是一个Socket Connection可以关联多个SoAdSocketRoute。
SoAd与上层模块PDU接收同样有两种方式:IF接收、TP接收。
PDU Reception功能实现
1.PDU Reception via IF-API:
SoAd解析出完整的IF PDU数据,通过调用<Up>_[SoAd][If]RxIndication()函数将接收到的IF PDU数据传递给上层模块。
2.PDU Reception via TP-API (PDU Header disabled):
Header disabled时的TP PDU接收,Socket Connection接收到的所有报文,在SoAd层都认为是相应的TP PDU的一段数据。从Socket Connection的连接建立,到连接断开,之间收到的所有报文都可认为是TP PDU的连续数据段。
3.PDU Reception via TP-API (PDU Header enabled):
Header enabled时的TP PDU接收,因为PDU Header中包含4字节的PDU长度信息,SoAd能够解析出每个PDU的开始与结束。因此从该Socket Connection接收到的报文流,根据PDU Header解析成不同的PDUs,传递给上层模块。
Best Match Algorithm功能
Best Match Algorithm功能介绍
该最佳匹配算法是根据提供的remote address(IP和Port)从Socket Connection Group中选择出最佳匹配的Socket Connection。
Best Match Algorithm功能实现
根据提供的remote address(IP和Port),从相应的Socket Connection Group中选择最佳匹配Socket Connection的方式如下:
1.首先该Socket Connection的remote address必须设置成功。
2.根据每个Socket Connection的remote address与提供的remote address相比较,选择出最佳匹配Socket Connection。匹配的优先级按从高到低排列如下:
(1)IP地址和Port都一致;
(2)IP地址一致,Socket Connection的Port为通配符(wildcard);
(3)Port一致,Socket Connection的IP地址为通配符(wildcard);
(4)Socket Connection的IP地址和Port都为通配符(wildcard);
(5)没有匹配的Socket Connection。
Message Acceptance Policy功能
Message Acceptance Policy功能介绍
该功能用于接收远端节点(remote nodes)发送报文的过滤。当该功能使能时,Socket Connection只能接收指定的某个/某些远端节点发送来的报文。当该功能不使能时,Socket Connection将接收所有远端节点发送来的报文。
Message Acceptance Policy功能实现
通过配置项SoAdSocketMsgAcceptanceFilterEnabled可以选择是否接收滤波功能(通常是使能的)。滤波机制是将远端节点的地址(远端节点的source address)与Socket Connection的remote address进行匹配比较,若匹配则接收,不匹配则舍弃。除了IP和Port相等外,当Socket Connection的remote address中存在通配符,也认为是匹配的。
TP PDU Cancelation功能
TP PDU Cancelation功能介绍
TP PDU的传输支持中途取消,分为接收取消和发送取消。
TP PDU Cancelation功能实现
SoAd_TpCancelReceive()用于请求TP PDU的接收取消, 当该TP PDU没有在接收过程中,将返回E_NOT_OK;SoAd_TpCancelTransmit()用于请求TP PDU的发送取消,若该TP PDU没有在发送过程中,将返回E_NOT_OK。当TP PDU成功取消后,在SoAd_MainFunction()中将关闭该Socket Connection(状态切换到RECONNECT,而非OFFLINE)。
Disconnection and recovery功能
Disconnection and recovery功能介绍
在SoAd_MainFunction中,将会对需要断开连接的Socket Connection进行连接关闭,其关闭后Socket Connection状态分为两种情况:SOAD_SOCON_OFFLINE和SOAD_SOCON_RECONNECT,具体可参考2.1章节描述。
对于处于SOAD_SOCON_RECONNECT状态的Socket Connection,SoAd将会自动尝试恢复连接。
Disconnection and recovery功能实现
对于Socket Connection连接的断开分为主动请求关闭、异常关闭:
主动请求关闭:Socket Connection状态将切换到SOAD_SOCON_OFFLINE,该状态下SoAd不会自动尝试去重新连接,只有通过调用SoAd_OpenSoCon主动请求开启才能重新连接。
异常关闭:Socket Connection状态切换到SOAD_SOCON_RECONNECT,该状态下,在SoAd_MainFunction中将根据Socket Connection是否具备重连条件而选择是否对其进行重连。该连接恢复功能与配置参数SoAdSocketAutomaticSoConSetup无关。
Routing Groups功能
Routing Groups功能介绍
SoAd支持对每个Routing Group的使能状态进行控制,进而控制各Routing Group关联的SoAdPduRouteDest或者SoAdSocketRouteDest。只有当RouteDest处于使能状态时,才能执行新PDU的收发。
Routing Groups功能实现
当SoAdPduRouteDest/SoAdSocketRouteDest不属于任何Routing Group时(参考配置参数SoAdRxRoutingGroupRef/SoAdTxRoutingGroupRef),其RouteDest一直处于Enable状态,不能被改变。
当SoAdPduRouteDest/SoAdSocketRouteDest从属于N个Routing Group时(参考配置参数SoAdRxRoutingGroupRef/SoAdTxRoutingGroupRef),其RouteDest使能状态根据其从属的Routing Group状态而定(只要其从属的任一Routing Group为Enable状态,则该RouteDest状态即为Enable状态)。
通过配置SoAdRoutingGroupIsEnabledAtInit可设置每个Routing Group的初始化状态,也可以通过调用SoAd_EnableRouting、SoAd_DisableRouting、SoAd_EnableSpecificRouting、SoAd_DisableSpecificRouting来动态切换Routing Group/Route Dest的状态。值得注意的是SoAd_EnableSpecificRouting、SoAd_DisableSpecificRouting这两个API,不改变Routing Group状态,而直接改变从属于该Routing Group,又仅通过某一特定Socket Connection收发的Route Dest状态。
PDU fan-out功能
PDU fan-out功能介绍
SoAd支持PDU的一对多路由功能,但前提是仅支持IF PDU的一对多发送。
PDU fan-out功能实现
IF PDU的一对多发送,可以通过为SoAdPduRoute配置多个SoAdPduRouteDest实现,即一个IF PDU通过多个Socket Connections发送。
只有当所有Socket Connections上的发送请求都返回E_OK时,SoAd_IfTransmit才返回E_OK;也只有当所有Socket Connections上的发送都成功,才会调用<Up>_[SoAd][If]TxConfirmation>通知上层发送成功。
Buffer handling功能
Buffer handling功能介绍
在SoAd的报文收发过程中,有些情况下需要用到合适的buffer来缓存需要发送的数据及接收到的数据。
Buffer handling功能实现
IF PDU发送时,TP PDU通过UDP进行发送时,IF PDU(带PDU Header)通过TCP接收时,TP PDU接收时都需要使用到相应的发送/接收Buffer。Buffer的生成根据配置情况由配置工具生成,Buffer的使用根据具体的报文收发机制决定,与SoAd上下层模块无关。
源文件描述
表3-1 SoAd组件文件描述
文件 |
说明 |
SoAd_Cfg.h |
定义SoAd模块PC配置的宏定义。 |
SoAd_Cfg.c |
定义SoAd模块PC配置的结构体参数。 |
SoAd_PBcfg.c |
定义SoAd模块PB配置的结构体参数。 |
SoAd.h |
实现SoAd模块全部外部接口的声明 (除了回调函数),以及配置文件中全局变量的声明。 |
SoAd.c |
作为SoAd模块的核心文 件,实现SoAd模块全部对外接口,以及实现SoAd模块功 能所必须的local函数,local宏定义,local变量定义。 |
SoAd_MemMap.h |
实现SoAd模块内存布局。 |
SoAd_Types.h |
实现外部/ 内部类型的定义,包括AUTOSAR标准定义的类型,以及PB /PC配置参数结构体类型,以及内部运行时结构体类型。 |
SoAd_Cbk.h |
实现SoAd模块全部回调函数的声明。 |
SchM_SoAd.h |
提供给 SchM 的头文件,用于公开周期调度函数 |
图3-1 SoAd组件文件交互关系图
API接口
类型定义
SoAd_SoConIdType类型定义
名称 |
SoAd_SoConIdType |
类型 |
unit8/uint16 |
范围 |
无 |
描述 |
表示Socket Connection的Id号 |
SoAd_RoutingGroupIdType类型定义
名称 |
SoAd_RoutingGroupIdType |
类型 |
unit8/uint16 |
范围 |
无 |
描述 |
表示Routing Group的Id号 |
SoAd_SoConModeType类型定义
名称 |
SoAd_SoConModeType |
类型 |
enum |
范围 |
SOAD_SOCON_ONLINE/ SOAD_SOCON_RECONNECT/ SOAD_SOCON_OFFLINE |
描述 |
表示Socket Connection的状态 |
SoAd_ConfigType类型定义
名称 |
SoAd_ConfigType |
类型 |
struct |
范围 |
无 |
描述 |
SoAd模块的PB配置结构体 |
输入函数描述
输入模块 |
API |
Det |
Det_ReportRuntimeError |
Det_ReportError |
|
TcpIp |
TcpIp_Bind |
TcpIp_ChangeParameter |
|
TcpIp_Close |
|
TcpIp_GetIpAddr |
|
TcpIp_GetPhysAddr |
|
TcpIp_ReleaseIpAddrAssignment |
|
TcpIp_RequestIpAddrAssignment |
|
TcpIp_SoAdGetSocket |
|
TcpIp_TcpConnect |
|
TcpIp_TcpListen |
|
TcpIp_TcpReceived |
|
TcpIp_TcpTransmit |
|
TcpIp_UdpTransmit |
|
TcpIp_DhcpReadOption |
|
TcpIp_DhcpV6ReadOption |
|
TcpIp_DhcpV6WriteOption |
|
TcpIp_DhcpWriteOption |
|
<Up> |
<Up>_[SoAd][If]RxIndication |
<Up>_[SoAd][If]TriggerTransmit |
|
<Up>_[SoAd][If]TxConfirmation |
|
<Up>_[SoAd][Tp]StartOfReception |
|
<Up>_[SoAd][Tp]CopyRxData |
|
<Up>_[SoAd][Tp]TpRxIndication |
|
<Up>_[SoAd][Tp]CopyTxData |
|
<Up>_[SoAd][Tp]TpTxConfirmation |
|
<Up>_SoConModeChg |
|
<Up>_LocalIpAddrAssignmentChg |
静态接口函数定义
SoAd_Init函数定义
函数名称: |
SoAd_Init |
||
函数原型: |
void SoAd_Init( const SoAd_ConfigType* SoAdConfigPtr) |
||
服务编号: |
0x01 |
||
同步/异步: |
同步 |
||
是 否可重入: |
否 |
||
输入参数: |
SoAdConfigPtr |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
SoAd模块初始化 |
SoAd_GetVersionInfo函数定义
函数名称: |
SoA d_GetVersionInfo |
||
函数原型: |
void SoA d_GetVersionInfo ( Std_V ersionInfoType* versioninfo) |
||
服务编号: |
0x02 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
无 |
||
输入 输出参数: |
无 |
||
输出参数: |
versioninfo |
值域: |
无 |
返回值: |
无 |
||
功能概述: |
获取软件版本信息 |
SoAd_IfTransmit函数定义
函数名称: |
SoAd_IfTransmit |
||
函数原型: |
Std_ReturnType SoAd_IfTransmit ( PduIdType TxPduId, const PduInfoType* PduInfoPtr) |
||
服务编号: |
0x49 |
||
同步/异步: |
同步 |
||
是 否可重入: |
不同 的PduId可重入,相 同的PduId不可重入 |
||
输入参数: |
TxPduId |
值域: |
无 |
PduInfoPtr |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnType: E_OK/E_NOT_OK |
||
功能概述: |
IF PDU的发送请求 |
SoAd_IfRoutingGroupTransmit函数定义
函数名称: |
SoAd_IfRou tingGroupTransmit |
||
函数原型: |
Std_ReturnType SoAd_IfRou tingGroupTransmit ( SoAd_R outingGroupIdType id) |
||
服务编号: |
0x1D |
||
同步/异步: |
异步 |
||
是 否可重入: |
是 |
||
输入参数: |
id |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
触发该Routing Group关联的所有IF PDUs的发送 |
SoAd_IfSpecificRoutingGroupTransmit函数定义
函数名称: |
S oAd_IfSpecificRou tingGroupTransmit |
||
函数原型: |
Std_ReturnType S oAd_IfSpecificRou tingGroupTransmit ( SoAd_R outingGroupIdType id, SoAd_SoConIdType SoConId) |
||
服务编号: |
0x1F |
||
同步/异步: |
异步 |
||
是 否可重入: |
是 |
||
输入参数: |
id |
值域: |
无 |
SoConId |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
触发该Routi ngGroup关联的所有 与该SoCon关联的IF PDUs |
SoAd_TpTransmit函数定义
函数名称: |
SoAd_TpTransmit |
||
函数原型: |
Std_ReturnType SoAd_TpTransmit( PduIdType SoAdSrcPduId, const PduInfoType* S oAdSrcPduInfoPtr) |
||
服务编号: |
0x4 |
||
同步/异步: |
异步 |
||
是 否可重入: |
是 |
||
输入参数: |
SoAdSrcPduId |
值域: |
无 |
SoAdSrcPduInfoPtr |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ ReturnType:E_OK/ E_NOT_OK |
||
功能概述: |
TP PDU的发送请求 |
SoAd_TpCancelTransmit函数定义
函数名称: |
SoAd _TpCancelTransmit |
||
函数原型: |
Std_ReturnType SoAd_ TpCancelTransmit( PduIdType PduId) |
||
服务编号: |
0x05 |
||
同步/异步: |
同步 |
||
是 否可重入: |
不同PduId可重入, 相同PduId不可重入 |
||
输入参数: |
PduId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
取消正在发送的TP PDU |
SoAd_TpCancelReceive函数定义
函数名称: |
SoA d_TpCancelReceive |
||
函数原型: |
Std_ReturnType SoAd _TpCancelReceive( PduIdType PduId) |
||
服务编号: |
0x06 |
||
同步/异步: |
同步 |
||
是 否可重入: |
不同PduId可重入, 相同PduId不可重入 |
||
输入参数: |
PduId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
取消正在接收的TP PDU |
SoAd_GetSoConId函数定义
函数名称: |
SoAd_GetSoConId |
||
函数原型: |
Std_ReturnType SoAd_GetSoConId( PduIdType TxPduId, S oAd_SoConIdType* SoConIdPtr) |
||
服务编号: |
0x07 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
TxPduId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
SoConIdPtr |
值域: |
无 |
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
获取TxP duId关联的SoConId |
SoAd_OpenSoCon函数定义
函数名称: |
SoAd_OpenSoCon |
||
函数原型: |
Std_ReturnType SoAd_OpenSoCon( SoAd_SoConIdType SoConId) |
||
服务编号: |
0x08 |
||
同步/异步: |
异步 |
||
是 否可重入: |
是 |
||
输入参数: |
SoConId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
请求该SoConId开启 |
SoAd_CloseSoCon函数定义
函数名称: |
SoAd_CloseSoCon |
||
函数原型: |
Std_ReturnType SoAd_CloseSoCon( SoAd_SoConIdType SoConId, boolean abort) |
||
服务编号: |
0x09 |
||
同步/异步: |
异步 |
||
是 否可重入: |
是 |
||
输入参数: |
SoConId |
值域: |
无 |
abort |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
请求该SoConId关闭 |
SoAd_GetSoConMode函数定义
函数名称: |
SoAd_GetSoConMode |
||
函数原型: |
void SoAd_GetSoConMode ( SoAd_SoConIdType SoConId, SoA d_SoConModeType* ModePtr) |
||
服务编号: |
0x22 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
SoConId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
ModePtr |
值域: |
无 |
返回值: |
无 |
||
功能概述: |
获取该 SoConId当前的状态 |
SoAd_RequestIpAddrAssignment函数定义
函数名称: |
SoAd_Reques tIpAddrAssignment |
||
函数原型: |
Std_ReturnType SoAd_Request IpAddrAssignment( SoAd_SoConIdType SoConId, TcpIp_IpA ddrAssignmentType Type, const Tcp Ip_SockAddrType* LocalIpAddrPtr, uint8 Netmask, const Tcp Ip_SockAddrType* DefaultRouterPtr ) |
||
服务编号: |
0x0A |
||
同步/异步: |
异步 |
||
是 否可重入: |
不同 SoConId可重入,相 同SoConId不可重入 |
||
输入参数: |
SoConId |
值域: |
无 |
Type |
值域: |
无 |
|
LocalIpAddrPtr |
值域: |
无 |
|
Netmask |
值域: |
无 |
|
DefaultRouterPtr |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
请求该SoConId关联 的本端IP地址分配 |
SoAd_ReleaseIpAddrAssignment函数定义
函数名称: |
SoAd_Releas eIpAddrAssignment |
||
函数原型: |
Std_ReturnType SoAd_Release IpAddrAssignment( SoAd_SoConIdType SoConId) |
||
服务编号: |
0x0B |
||
同步/异步: |
异步 |
||
是 否可重入: |
是 |
||
输入参数: |
SoConId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
请求释放该SoConI d关联的本端IP地址 |
SoAd_GetLocalAddr函数定义
函数名称: |
SoAd_GetLocalAddr |
||
函数原型: |
Std_ReturnType S oAd_GetLocalAddr( SoAd_SoConIdType SoConId, Tcp Ip_SockAddrType* LocalAddrPtr, uint8* NetmaskPtr, Tcp Ip_SockAddrType* DefaultRouterPtr) |
||
服务编号: |
0x0C |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
SoConId |
值域: |
无 |
输入 输出参数: |
LocalAddrPtr |
值域: |
无 |
DefaultRouterPtr |
值域: |
无 |
|
输出参数: |
NetmaskPtr |
值域: |
无 |
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
获取该SoConI d关联的本端IP地址 |
SoAd_GetPhysAddr函数定义
函数名称: |
SoAd_GetPhysAddr |
||
函数原型: |
Std_ReturnType SoAd_GetPhysAddr( SoAd_SoConIdType SoConId, uint8* PhysAddrPtr) |
||
服务编号: |
0x0D |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
SoConId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
PhysAddrPtr |
值域: |
无 |
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
获取该SoConId 关联的本端MAC地址 |
SoAd_GetRemoteAddr函数定义
函数名称: |
S oAd_GetRemoteAddr |
||
函数原型: |
Std_ReturnType So Ad_GetRemoteAddr( SoAd_SoConIdType SoConId, Tcp Ip_SockAddrType* IpAddrPtr) |
||
服务编号: |
0x1C |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
SoConId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
IpAddrPtr |
值域: |
无 |
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
获 取该SoConId关联的 远端地址(IP+PORT) |
SoAd_EnableRouting函数定义
函数名称: |
S oAd_EnableRouting |
||
函数原型: |
Std_ReturnType So Ad_EnableRouting( SoAd_R outingGroupIdType id) |
||
服务编号: |
0x0E |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
id |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
请求使能该Routi ngGroup,进而使能 关联的PduRouteDes t/SocketRouteDest |
SoAd_EnableSpecificRouting函数定义
函数名称: |
SoAd_Enab leSpecificRouting |
||
函数原型: |
Std_ReturnType SoAd_Enabl eSpecificRouting( SoAd_R outingGroupIdType id, SoAd_SoConIdType SoConId) |
||
服务编号: |
0x20 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
id |
值域: |
无 |
SoConId |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
请 求基于该RoutingG roup和SoConId关联 的PduRouteDest/So cketRouteDest使能 |
SoAd_DisableRouting函数定义
函数名称: |
So Ad_DisableRouting |
||
函数原型: |
Std_ReturnType SoA d_DisableRouting( SoAd_R outingGroupIdType id) |
||
服务编号: |
0x0F |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
id |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
请求该Routi ngGroup的不使能, 进而影响关联PduR outeDest/SocketRo uteDest的使能情况 |
SoAd_DisableSpecificRouting函数定义
函数名称: |
SoAd_Disab leSpecificRouting |
||
函数原型: |
Std_ReturnType SoAd_Disabl eSpecificRouting( SoAd_R outingGroupIdType id, SoAd_SoConIdType SoConId) |
||
服务编号: |
0x21 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
id |
值域: |
无 |
SoConId |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
请求 基于该RoutingGro up和SoConId关联的 PduRouteDest/Sock etRouteDest不使能 |
SoAd_SetRemoteAddr函数定义
函数名称: |
S oAd_SetRemoteAddr |
||
函数原型: |
Std_ReturnType So Ad_SetRemoteAddr( SoAd_SoConIdType SoConId, const Tcp Ip_SockAddrType* RemoteAddrPtr) |
||
服务编号: |
0x10 |
||
同步/异步: |
同步 |
||
是 否可重入: |
相同 SoConId不可重入, 不同SoConId可重入 |
||
输入参数: |
SoConId |
值域: |
无 |
RemoteAddrPtr |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
设 置SoCon的远端地址 |
SoAd_SetUniqueRemoteAddr函数定义
函数名称: |
SoAd_Se tUniqueRemoteAddr |
||
函数原型: |
Std_ReturnType SoAd_Set UniqueRemoteAddr( SoAd_SoConIdType SoConId, const Tcp Ip_SockAddrType* RemoteAddrPtr, S oAd_SoConIdType* As signedSoConIdPtr) |
||
服务编号: |
0x1E |
||
同步/异步: |
同步 |
||
是 否可重入: |
相同 SoConId不可重入, 不同SoConId可重入 |
||
输入参数: |
SoConId |
值域: |
无 |
RemoteAddrPtr |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
A ssignedSoConIdPtr |
值域: |
无 |
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
请求在该SoCon所在 的SoConGroup中选 择合适的SoCon设置 成要求的远端地址 |
SoAd_ReleaseRemoteAddr函数定义
函数名称: |
SoAd_ ReleaseRemoteAddr |
||
函数原型: |
void SoAd_ ReleaseRemoteAddr ( SoAd_SoConIdType SoConId) |
||
服务编号: |
0x23 |
||
同步/异步: |
同步 |
||
是 否可重入: |
相同 SoConId不可重入, 不同SoConId可重入 |
||
输入参数: |
SoConId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
请求释放 该SoCon的远端地址 |
SoAd_TpChangeParameter函数定义
函数名称: |
SoAd_ TpChangeParameter |
||
函数原型: |
Std_ReturnType SoAd_T pChangeParameter( PduIdType id, TPParameterType parameter, uint16 value) |
||
服务编号: |
0x11 |
||
同步/异步: |
同步 |
||
是 否可重入: |
否 |
||
输入参数: |
id |
值域: |
无 |
parameter |
值域: |
无 |
|
value |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
请求 改变传输协议参数 |
SoAd_ReadDhcpHostNameOption函数定义
函数名称: |
SoAd_ReadD hcpHostNameOption |
||
函数原型: |
Std_ReturnType SoAd_ReadDh cpHostNameOption( SoAd_SoConIdType SoConId, uint8* length, uint8* data) |
||
服务编号: |
0x1A |
||
同步/异步: |
同步 |
||
是 否可重入: |
相同 SoConId不可重入, 不同SoConId可重入 |
||
输入参数: |
SoConId |
值域: |
无 |
输入 输出参数: |
length |
值域: |
无 |
输出参数: |
data |
值域: |
无 |
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
获取hostname |
SoAd_WriteDhcpHostNameOption函数定义
函数名称: |
SoAd_WriteD hcpHostNameOption |
||
函数原型: |
Std_ReturnType SoAd_WriteDh cpHostNameOption( SoAd_SoConIdType SoConId, uint8 length, const uint8* data) |
||
服务编号: |
0x1B |
||
同步/异步: |
同步 |
||
是 否可重入: |
相同 SoConId不可重入, 不同SoConId可重入 |
||
输入参数: |
SoConId |
值域: |
无 |
length |
值域: |
无 |
|
data |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
设置hostname |
SoAd_RxIndication函数定义
函数名称: |
SoAd_RxIndication |
||
函数原型: |
void S oAd_RxIndication( T cpIp_SocketIdType SocketId, const Tcp Ip_SockAddrType* RemoteAddrPtr, uint8* BufPtr, uint16 Length) |
||
服务编号: |
0x12 |
||
同步/异步: |
同步 |
||
是 否可重入: |
相同 Socket不可重入, 不同Socket可重入 |
||
输入参数: |
SocketId |
值域: |
无 |
RemoteAddrPtr |
值域: |
无 |
|
BufPtr |
值域: |
无 |
|
Length |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
TCP/UDP报文接收 |
SoAd_CopyTxData函数定义
函数名称: |
SoAd_CopyTxData |
||
函数原型: |
BufReq_ReturnType SoAd_CopyTxData( T cpIp_SocketIdType SocketId, uint8* BufPtr, uint16 BufLength) |
||
服务编号: |
0x13 |
||
同步/异步: |
同步 |
||
是 否可重入: |
相同 Socket不可重入, 不同Socket可重入 |
||
输入参数: |
SocketId |
值域: |
无 |
BufLength |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
BufPtr |
值域: |
无 |
返回值: |
BufReq_Retur nType:BUFREQ_OK/ BUFREQ_E_NOT_OK |
||
功能概述: |
Tx Pdu发送数据拷贝 |
SoAd_TxConfirmation函数定义
函数名称: |
So Ad_TxConfirmation |
||
函数原型: |
void SoA d_TxConfirmation( T cpIp_SocketIdType SocketId, uint16 Length) |
||
服务编号: |
0x14 |
||
同步/异步: |
同步 |
||
是 否可重入: |
相同 Socket不可重入, 不同Socket可重入 |
||
输入参数: |
SocketId |
值域: |
无 |
Length |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
T CP报文发送ACK确认 |
SoAd_TcpAccepted函数定义
函数名称: |
SoAd_TcpAccepted |
||
函数原型: |
Std_ReturnType SoAd_TcpAccepted( T cpIp_SocketIdType SocketId, T cpIp_SocketIdType S ocketIdConnected, const Tcp Ip_SockAddrType* RemoteAddrPtr) |
||
服务编号: |
0x15 |
||
同步/异步: |
同步 |
||
是 否可重入: |
否 |
||
输入参数: |
SocketId |
值域: |
无 |
SocketIdConnected |
值域: |
无 |
|
RemoteAddrPtr |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
Std_ReturnTy pe:E_OK/E_NOT_OK |
||
功能概述: |
TCP服 务端连接成功通知 |
SoAd_TcpConnected函数定义
函数名称: |
SoAd_TcpConnected |
||
函数原型: |
void S oAd_TcpConnected( T cpIp_SocketIdType SocketId) |
||
服务编号: |
0x16 |
||
同步/异步: |
同步 |
||
是 否可重入: |
否 |
||
输入参数: |
SocketId |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
TCP客 户端连接成功通知 |
SoAd_TcpIpEvent函数定义
函数名称: |
SoAd_TcpIpEvent |
||
函数原型: |
void SoAd_TcpIpEvent( T cpIp_SocketIdType SocketId, TcpIp_EventType Event) |
||
服务编号: |
0x17 |
||
同步/异步: |
同步 |
||
是 否可重入: |
否 |
||
输入参数: |
SocketId |
值域: |
无 |
Event |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
Socket事件通知 |
SoAd_LocalIpAddrAssignmentChg函数定义
函数名称: |
SoAd_LocalIp AddrAssignmentChg |
||
函数原型: |
void SoAd_LocalIpA ddrAssignmentChg( TcpI p_LocalAddrIdType IpAddrId, TcpI p_IpAddrStateType State) |
||
服务编号: |
0x18 |
||
同步/异步: |
同步 |
||
是 否可重入: |
否 |
||
输入参数: |
IpAddrId |
值域: |
无 |
State |
值域: |
无 |
|
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
IP地址 分配状态改变通知 |
SoAd_MainFunction函数定义
函数名称: |
SoAd_MainFunction |
函数原型: |
void SoAd_MainFunction(void) |
服务编号: |
0x19 |
同步/异步: |
无 |
是 否可重入: |
无 |
输入参数: |
无 |
输入 输出参数: |
无 |
输出参数: |
无 |
返回值: |
无 |
功能概述: |
SoAd的调度主函数(周期性被调用) |
可配置函数定义
无。
配置
SoAdGeneral
图5-1 SoAdGeneral
表5-1 SoAdGeneral
UI名称 |
描述 |
|||
SoAd DevErrorDetect |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
是否 使能DET开发错误检测 |
|||
依赖关系 |
依赖于Det模块的支持 |
|||
SoAdIPv6 AddressEnabled |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
是否支持IPv6 |
|||
依赖关系 |
暂不支持IPv6,配 置项目前固定为FALSE |
|||
SoAdMain FunctionPeriod |
取值范围 |
0 .. INF |
默认取值 |
0.01 |
参数描述 |
SoAd_ MainFunction调用周期 |
|||
依赖关系 |
无 |
|||
SoAdR outingGroupMax |
取值范围 |
0 .. 65535 |
默认取值 |
0 |
参数描述 |
限制SoAd RoutingGroup配置数目 |
|||
依赖关系 |
无 |
|||
SoAdSoConMax |
取值范围 |
0 .. 65535 |
默认取值 |
0 |
参数描述 |
限制Socket Connection配置数目 |
|||
依赖关系 |
无 |
|||
SoAd VersionInfoApi |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
是否支持 模块软件版本获取接口 |
|||
依赖关系 |
无 |
SoAdBswModules
图5-2 SoAdBswModules
表5-2 SoAdBswModules
UI名称 |
描述 |
|||
SoAdIf |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
关 联Bsw模块是否使能IF PDU通信 |
|||
依赖关系 |
依赖于SoAdBswModuleR ef关联的模块是否支持 |
|||
SoAdIfT riggerTransmit |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
关 联Bsw模块是否使能IF PDU通过Trigger Transmit方式进行发送 |
|||
依赖关系 |
依赖于SoAdBswModuleR ef关联的模块是否支持 |
|||
SoAdIf TxConfirmation |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
关 联Bsw模块是否使能IF PDU发送确认 |
|||
依赖关系 |
依赖于SoAdBswModuleR ef关联的模块是否支持 |
|||
SoAdLocalIpAd drAssigmentChg |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
模块是 否使能IP地址状态通知 |
|||
依赖关系 |
依赖于SoAdBswModuleR ef关联的模块是否支持 |
|||
So AdSoConModeChg |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
模式是 否使能SoCon模式通知 |
|||
依赖关系 |
依赖于SoAdBswModuleR ef关联的模块是否支持 |
|||
SoAdTp |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
模块是否使能TP PDU通信 |
|||
依赖关系 |
依赖于SoAdBswModuleR ef关联的模块是否支持 |
|||
SoAd UseCallerInfix |
取值范围 |
true/false |
默认取值 |
true |
参数描述 |
模块回调 接口名是否包含“SoAd” |
|||
依赖关系 |
依赖于SoAdBswModul eRef回调函数命名规则 |
|||
So AdUseTypeInfix |
取值范围 |
true/false |
默认取值 |
true |
参数描述 |
模块回调接 口名是否包含“Tp/If” |
|||
依赖关系 |
依赖于SoAdBswModul eRef回调函数命名规则 |
|||
So AdBswModuleRef |
取值范围 |
索引[Bsw] |
默认取值 |
无 |
参数描述 |
关联Bsw模块 |
|||
依赖关系 |
依赖于 配置工程中Bsw的添加 |
SoAdSocketConnectionGroup
图5-3 SoAdSocketConnectionGroup
表5-3 SoAdSocketConnectionGroup
UI名称 |
描述 |
|||
So AdSocketVlanId |
取值范围 |
1-4094 |
默认取值 |
无 |
参数描述 |
Socket的Valn ID |
|||
依赖关系 |
依赖于使能Vlan |
|||
SoAdP duHeaderEnable |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
表示该SoCon Gro up是否使能Header机制 |
|||
依赖关系 |
无 |
|||
SoAdResourceMa nagementEnable |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
是否使能资源管理 |
|||
依赖关系 |
固定为false不可改 |
|||
S oAdSocketAutom aticSoConSetup |
取值范围 |
true/false |
默认取值 |
true |
参数描述 |
表示该SoCon Group中SoCon是 自动链接还是手动链接 |
|||
依赖关系 |
无 |
|||
SoAdSocke tFramePriority |
取值范围 |
0 .. 7 |
默认取值 |
无 |
参数描述 |
IP报文的优先级参数 |
|||
依赖关系 |
无 |
|||
SoAdSocketIpA ddrAssignmentC hgNotification |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
表示该SoCon Group是 否使能IP地址状态通知 |
|||
依赖关系 |
无 |
|||
SoAdS ocketLocalPort |
取值范围 |
0 .. 65535 |
默认取值 |
0 |
参数描述 |
该 SoConGroup本端PORT号 |
|||
依赖关系 |
无 |
|||
SoAdSock etMsgAcceptanc eFilterEnabled |
取值范围 |
true/false |
默认取值 |
true |
参数描述 |
是否使能报文接收过滤 |
|||
依赖关系 |
当SoAdSocketR emoteAddress配置了通 配符并且SoAdSocketUd pListenOnly为FALSE, 该配置项必须为TRUE; 当该SoConGrou p包含了多个SoCon时, 该配置项必须为TRUE; |
|||
SoAdSo cketSoConModeC hgNotification |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
是否使 能SoCon模式切换通知 |
|||
依赖关系 |
无 |
|||
SoAdSocke tTpRxBufferMin |
取值范围 |
0 .. 65535 |
默认取值 |
无 |
参数描述 |
表 示该SoConGroup接收TP Buffer大小 |
|||
依赖关系 |
当该SoConGr oup中SoCon需要接收TP PDU时 才需配置,且配置长度 需≥关联的最大接收TP PDU长度 |
|||
SoAdSocke tDifferentiate dServicesField |
取值范围 |
0 .. 63 |
默认取值 |
无 |
参数描述 |
表示IP header中6-bit Differentiated Service Field |
|||
依赖关系 |
无 |
|||
SoAdS ocketFlowLabel |
取值范围 |
0 .. 1048575 |
默认取值 |
无 |
参数描述 |
表示IPv6 header中20-bit Flow Label field |
|||
依赖关系 |
依赖于 SoAdIPv6AddressEnabl ed的使能,当前不支持 |
|||
SoAdSocke tPathMTUEnable |
取值范围 |
true/false |
默认取值 |
无 |
参数描述 |
表示是否使能 最大传输单元MTU探测 |
|||
依赖关系 |
依赖于Tc pIp层MTU机制是否支持 |
|||
SoAdSocketL ocalAddressRef |
取值范围 |
索引[TcpIpLocalAddr] |
默认取值 |
0 |
参数描述 |
关于TcpIp层 LocalAddr(本端IP) |
|||
依赖关系 |
依赖于T cpIp的配置;当前不支 持IPv6,当SoAdSocke tLocalAddressRef关联 TcpIpDomainType不能 配置为TCPIP_AF_INET6 |
SoAdSocketConnection
图5-4 SoAdSocketConnection
表5-4 SoAdSocketConnection
UI名称 |
描述 |
|||
SoAdSocketId |
取值范围 |
0 .. 65535 |
默认取值 |
0 |
参数描述 |
表示该SoCon的Id号 |
|||
依赖关系 |
SoAd工 具自动从0开始依次加1 |
SoAdSocketRemoteAddress
图5-5 SoAdRoutingPath
表5-5 SoAdRoutingPath
UI名称 |
描述 |
|||
SoAdSocketR emoteIpAddress |
取值范围 |
IPv4/IPv6地址范围 |
默认取值 |
0 .0.0.0 |
参数描述 |
表示远端节点的IP地址 |
|||
依赖关系 |
根据关联的 TcpIpLocalAddr→T cpIpDomainType决定IP 地址为IPv4或者IPv6; 全0的IP地 址代码通配符“ANY”; |
|||
SoAdSo cketRemotePort |
取值范围 |
0 .. 65535 |
默认取值 |
0 |
参数描述 |
表示远端节点的PORT号 |
|||
依赖关系 |
0表示 PORT值为通配符“ANY” |
SoAdSocketTcp
图5-6 SoAdSocketTcp
表5-6 SoAdSocketTcp
UI名称 |
描述 |
|||
SoAdSocket TcpImmediateTp TxConfirmation |
取值范围 |
true/false |
默 认取值 |
false |
参数描述 |
TP PDU发送是否立即确 认(无需等待对方ACK) |
|||
依赖关系 |
无 |
|||
SoAdSoc ketTcpInitiate |
取值范围 |
true/false |
默 认取值 |
false |
参数描述 |
TCP作为服务端(FAL SE)还是客户端(TRUE) |
|||
依赖关系 |
无 |
|||
SoAdSock etTcpKeepAlive |
取值范围 |
true/false |
默 认取值 |
false |
参数描述 |
是否使能 TCP协议keep-alive机制 |
|||
依赖关系 |
当TcpIp模块支持Tc pIpTcpKeepAliveEnabled 时,该项才能配置为true |
|||
So AdSocketTcpKee pAliveInterval |
取值范围 |
0 .. INF |
默 认取值 |
无 |
参数描述 |
keep -alive探测报文间隔周期 |
|||
依赖关系 |
依赖于SoAdSo cketTcpKeepAlive的使能 |
|||
SoA dSocketTcpKeep AliveProbesMax |
取值范围 |
0 .. 65535 |
默 认取值 |
无 |
参数描述 |
keep-ali ve探测报文最大发送次数 |
|||
依赖关系 |
依赖于SoAdSo cketTcpKeepAlive的使能 |
|||
SoAdSocketTc pKeepAliveTime |
取值范围 |
0 .. INF |
默 认取值 |
无 |
参数描述 |
最后一次数据报到发送 keep-alive探测报的时间 |
|||
依赖关系 |
依赖于SoAdSo cketTcpKeepAlive的使能 |
|||
SoAdSo cketTcpNoDelay |
取值范围 |
true/false |
默 认取值 |
false |
参数描述 |
是否使能 TCP拥塞控制(Nagle机制 ),配置为true则关闭拥 塞控制(Nagle机制)。 |
|||
依赖关系 |
若TcpIp模块 不支持Nagle算法,该配 置项不能配置为false。 |
|||
SoAdSo cketTcpTxQuota |
取值范围 |
0 .. 4294967295 |
默 认取值 |
无 |
参数描述 |
该SoConGroup中每个 SoCon缓存发送数据长度 |
|||
依赖关系 |
该配置项/功能不支持 |
|||
SoAdSocketTCPO ptionFilterRef |
取值范围 |
索引 [TcpIp TcpConfigOptionFilter] |
默 认取值 |
无 |
参数描述 |
需要加载的TCP option字段 |
|||
依赖关系 |
依赖于TcpIp模块TcpI pTcpConfigOptionFilter |
|||
S oAdSocketTcpTl sConnectionRef |
取值范围 |
索引 [TcpIpTlsConnection] |
默 认取值 |
无 |
参数描述 |
TCP是否需要TLS加解密 |
|||
依赖关系 |
依赖于TcpIp 模块TcpIpTlsConnection |
SoAdSocketUdp
图5-7 SoAdSocketUdp
表5-7 SoAdSocketUdp
UI名称 |
描述 |
|||||
SoAdSocketUd pAliveSuperv isionTimeout |
取值范围 |
0 .. INF |
默 | 认 | 取 | 值 | |
|
||
参数描述 |
UDP接 收报文后保持ONLINE状 态的时间,若想一直保 持ONLINE则不配置该项 |
|||||
依赖关系 |
无 |
|||||
SoAdSocketU dpListenOnly |
取值范围 |
true/false |
默 | 认 | 取 | 值 | |
f a l s e |
||
参数描述 |
表示该SoCo nGroup是否只支持接收 |
|||||
依赖关系 |
UDP协议才存在 只接收的模式,不能被 SoAdPduRouteDest关联 |
|||||
SoAd SocketUdpStr ictHeaderLen CheckEnabled |
取值范围 |
true/false |
默 认取值 |
false |
||
参数描述 |
表示是否使能接收 报文长度严格检测机制 |
|||||
依赖关系 |
依赖于SoAdP duHeaderEnable的使能 |
|||||
So AdSocketUdpI mmediateTxCo nfirmEnabled |
取值范围 |
true/false |
默 认取值 |
false |
||
参数描述 |
使能UDP So cket立即回复发送确认 |
|||||
依赖关系 |
无 |
|||||
SoA dSocketUdpTr iggerTimeout |
取值范围 |
0 .. INF |
默 认取值 |
无 |
||
参数描述 |
nPduUdp TxBuffer超时发送时间 |
|||||
依赖关系 |
依赖于关联So AdPduRouteDest的SoAd TxUdpTriggerMode配置 |
|||||
SoAd SocketnPduUd pTxBufferMin |
取值范围 |
0 .. 65535 |
默 认取值 |
无 |
||
参数描述 |
nPduUdp TxBuffer触发发送阈值 |
|||||
依赖关系 |
依赖于关联SoAd PduRouteDest的SoAdTx UdpTriggerMode配置, 若该SoAdSocketConnec tion当前支持nUdpBuff er,则SoAdSocketnPdu UdpTxBufferMin必须配 置并且其长度必须大于 关联的Pdu(可能加Hea der长度8)的最大长度 |
SoAdRoutingGroup
图5-8 SoAdRoutingGroup
表5-8 SoAdRoutingGroup
UI名称 |
描述 |
|||
SoAd RoutingGroupId |
取值范围 |
0 .. 65535 |
默认取值 |
无 |
参数描述 |
配置 的SoAdRoutingGroup统 一排序的Id号,由工具 自动从0..N依次排序。 |
|||
依赖关系 |
无 |
|||
SoA dRoutingGroupI sEnabledAtInit |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
表示该SoAdRoutingGro up初始化之后是否使能 |
|||
依赖关系 |
无 |
|||
S oAdRoutingGrou pTxTriggerable |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
表示该SoAd RoutingGroup关联的If TxPdu 是否可以通过SoAd_IfR outingGroupTransmit/ SoA d_IfSpecificRoutingG roupTransmit请求发送 |
|||
依赖关系 |
无 |
SoAdPduRoute
图5-9 SoAdPduRoute
表5-9 SoAdPduRoute
UI名称 |
描述 |
|||
SoAdTxPduId |
取值范围 |
string |
默认取值 |
无 |
参数描述 |
SoAd层TxPdu的Id值 |
|||
依赖关系 |
根 据配置项SoAdTxPduRe f关联的Pdu名自动生成 |
|||
SoAdTx UpperLayerType |
取值范围 |
IF/TP |
默认取值 |
无 |
参数描述 |
TxPdu发送方式选择 |
|||
依赖关系 |
只有“IF” 时,才支持一对多发送 |
|||
So AdUDPImmediate TxConfirmation |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
该Pdu是否使能UDP Socket立即回发送确认 |
|||
依赖关系 |
依赖于So AdSocketUdpImmediate TxConfirmEnabled使能 |
|||
SoAdTxPduRef |
取值范围 |
索引[Pdu] |
默认取值 |
无 |
参数描述 |
关联到EcuC中的Pdu |
|||
依赖关系 |
依 赖于EcuC中Pdu的配置 |
SoAdPduRouteDest
图5-10 SoAdPduRouteDest
表5-10 SoAdPduRouteDest
UI名称 |
描述 |
|||
SoA dTxPduHeaderId |
取值范围 |
0 .. 4294967296 |
默认取值 |
无 |
参数描述 |
TxPdu报 文在SoAd添加的Header Id值 |
|||
依赖关系 |
依赖于其 关联的SoAdSocketConn ectionGroup配置项SoA dPduHeaderEnable使能 |
|||
SoAdTx UdpTriggerMode |
取值范围 |
TRIGGER_ALWAYS/ TRIGGER_NEVER |
默认取值 |
无 |
参数描述 |
TxPdu通过 UDP发送且需要使用nPd uUdpTxBuffer机制时, 配置TxPdu的触发属性 |
|||
依赖关系 |
依赖 于SoAdSocketProtocol 和SoAdTxUpperLayerTy pe,只有当TxPdu通过I F发送方式且由UDP进行 发送时才可选择配置该 项;配置为“TRIGGER_N EVER”时,SoAdPduRout eDest->SoAdTxUdpTrig gerTimeout有配置或者 其关联的SoAdSocketU dpTriggerTimeout参数 中至少要配置1个;当S oAdSocketConection关 联的所有SoAdPduRoute Dest都为“IF”,当其中 一个SoAdPduRouteDest 配置了SoAdTxUdpTrigg erMode,其他也需要配 置;当SoAdSocketCon ection关联的所有SoAd PduRouteDest,当配置 了SoAdTxUdpTriggerMo de时,至少存在一个配 置为TRIGGER_NEVER; 当SoAdSocketConecti on关联的所有SoAdPduR outeDest不全为“IF”, SoAdTxUdpTriggerMod e不能配置;关联到TCP SoAdSo cketConnection的SoAd PduRouteDest不能配置 SoAdTxUdpTriggerMode |
|||
SoAdTxUdp TriggerTimeout |
取值范围 |
0 .. INF |
默认取值 |
无 |
参数描述 |
nPduUdp TxBuffer发送时间阈值 |
|||
依赖关系 |
当So AdTxUdpTriggerMode配 置为TRIGGER_NEVER, 才可选择是否配置该项 |
|||
SoAdTxSoc ketConnOrSocke tConnBundleRef |
取值范围 |
索引 [S oAdSocketConnection] |
默认取值 |
无 |
参数描述 |
表示该SoAdPduRo uteDest通过哪个SoCon 进行发送(工具限制只 能关联到SoCon,而不 能关联到SoConGroup, 可通过配置多个SoAdP duRouteDest分别关联S oCon来实现同样功能) |
|||
依赖关系 |
依赖于SoAdSo cketConnection的配置 |
|||
SoAdTxR outingGroupRef |
取值范围 |
索引 [SoAdRoutingGroup] |
默认取值 |
无 |
参数描述 |
关联到0..N 个SoAdRoutingGroup组 |
|||
依赖关系 |
依赖于So AdRoutingGroup的配置 |
SoAdSocketRoute
图5-11 SoAdSocketRoute
表5-11 SoAdSocketRoute
UI名称 |
描述 |
|||
SoA dRxPduHeaderId |
取值范围 |
0 .. 4294967296 |
默 认 取 值 |
无 |
参数描述 |
SoAd层RxPdu的Header Id值 |
|||
依赖关系 |
依赖于关联SoConGr oup的SoAdPduHeaderEnable使能 |
|||
SoAdRxSoc ketConnOrSocke tConnBundleRef |
取值范围 |
索引 [SoAdSocketConnection ,SoAdSocketConnectionGroup] |
默 认 取 值 |
无 |
参数描述 |
SoAdSocketRoute 通过哪个SoCon/SoConGroup接收 |
|||
依赖关系 |
只有SoAdRxUpperLayerType 为“IF”时,才能关联SoConGroup |
SoAdSocketRouteDest
图5-12 SoAdSocketRouteDest
表5-12 SoAdSocketRouteDest
UI名称 |
描述 |
|||
SoAdRxPduId |
取值范围 |
string |
默认取值 |
无 |
参数描述 |
SoAd层RxPdu的Id值 |
|||
依赖关系 |
根据SoAdRxPduRe f关联的Pdu名自动生成 |
|||
SoAdRx UpperLayerType |
取值范围 |
IF/TP |
默认取值 |
无 |
参数描述 |
表示RxPdu接收方式 |
|||
依赖关系 |
无 |
|||
SoAdRxPduRef |
取值范围 |
索引[Pdu] |
默认取值 |
无 |
参数描述 |
关联EcuC中Pdu |
|||
依赖关系 |
依 赖于EcuC中Pdu的配置 |
|||
SoAdRxR outingGroupRef |
取值范围 |
索引 [SoAdRoutingGroup] |
默认取值 |
无 |
参数描述 |
关联到0..N 个SoAdRoutingGroup组 |
|||
依赖关系 |
依赖于So AdRoutingGroup的配置 |