AVB Interaction Layer
功能函数
1. AVB交互层(AVB Interaction Layer)
CAPL函数 >> 以太网 >> AVB交互层
仅在.Ethernet选项下可用。
使用CAPL函数需包含AVB_IL.DLL。
本页内容
- 回调函数(Callback Functions)
- 控制函数(Control Functions)
- 通用函数(General Functions)
- 监听器函数(Listener Functions)
- 监听器/发送器函数(Listener/Talker Functions)
- 发送器(Talker)
回调函数
| 函数名 |
描述 |
| OnAvbConnect |
异步连接操作完成时触发。 |
| OnAvbListen |
指定监听器收到连接请求时触发。 |
| OnAvbReceive |
监听器异步接收操作完成时触发。 |
| OnAvbSend |
发送器异步发送操作完成时触发。 |
控制函数
| 函数名 |
描述 |
| AvbILControlInit |
初始化AVB交互层。 |
| AvbILControlResume |
恢复先前暂停的AVB/TSN自动消息发送行为。 |
| AvbILControlStart |
启动AVB交互层。 |
| AvbILControlStop |
停止AVB交互层。 |
| AvbILControlWait |
停止发送AVB/TSN相关消息。 |
通用函数
| 函数名 |
描述 |
| AvbGetLastError |
检查AVB交互层最后调用的函数是否成功执行。 |
| AvbGetLastErrorText |
获取AVB交互层最后发生的错误(字符串形式)。 |
| AvbSetProperty |
设置属性以配置AVB交互层行为。 |
| AvbSetVerbosity |
设置AVB交互层消息在"输出窗口"中的详细级别。 |
| PtpSetProperty |
通过属性配置PTP层行为。 |
| PtpSimulationTimespanFromPtpTimespan |
将PTP时间跨度转换为等效的仿真时间跨度。 |
| PtpTimeFromSimulationTime |
将仿真时间转换为对应的全局PTP时间。 |
| PtpTimeNow |
返回当前全局PTP时间。 |
监听器函数
| 函数名 |
描述 |
| AvbAccept |
接受指定监听器上的传入连接请求,创建新监听器。 |
| AvbCloseListener |
关闭监听器。 |
| AvbListen |
使监听器监听传入连接请求。 |
| AvbOpenListener |
创建用于基于连接的面向消息通信的监听器。 |
| AvbReceive |
将数据接收到指定缓冲区。 |
监听器/发送器函数
| 函数名 |
描述 |
| AvbGetMediaType |
获取监听器或发送器的媒体类型。 |
| AvbGetProtocol |
获取监听器接收或发送器生成的流中AAF样本的位深度。 |
| AvbGetStreamId |
获取监听器或发送器的流标识符(ID)。 |
| AvbGetStreamSourceAddress |
获取监听器或发送器的流源地址。 |
| AvbGetStreamUniqueId |
获取监听器或发送器流的唯一标识符(作为流ID的一部分)。 |
发送器函数
| 函数名 |
描述 |
| AvbCloseTalker |
关闭发送器。 |
| AvbConnect |
与指定目标建立连接。 |
| AvbOpenTalker |
创建用于基于连接的面向消息通信的发送器。 |
| AvbSend |
将数据接收到指定缓冲区(原文可能有误,应为"发送数据")。 |
| AvbSetMediaType |
设置发送器的媒体类型。 |
| AvbSetProtocol |
设置发送器的AVTP协议。 |
2. AVB交互层:设置(AVB IL: Setup)
以太网 >> AVB交互层 >> 设置
AVB交互层通过添加CAPL函数扩展仿真节点功能。需将AVB交互层分配给节点,节点才能使用AVB扩展。
操作步骤
- 从上下文菜单打开节点配置对话框。
- 切换到"组件"页。
- 点击 [添加...] 打开文件选择对话框。
- 选择CANoe安装目录中
exec32文件夹下的AVB_IL.DLL文件。
- 点击 [确定] 关闭对话框。
- 从上下文菜单打开节点的TCP/IP配置对话框。
- 在"TCP/IP堆栈选择"区域,启用"独立TCP/IP堆栈实例"选项。
- 为每个通道配置唯一MAC地址。
(可选)若需自定义VLAN ID和PCP,可配置发送器的VLAN设置。
- 点击 [确定] 关闭对话框。
完成上述步骤后,即可通过CAPL API使用AVB交互层功能。
3. AVB交互层错误码(AVB IL Error Codes)
CAPL函数 >> 以太网 >> AVB交互层 >> AVB交互层错误码
| 错误码 |
描述 |
| 0 |
成功/无错误 |
| 46-0600 |
通用错误 |
| 46-0603 |
参数无效 |
| 46-0604 |
函数无效 |
| 46-0606 |
配置无效 |
| 46-0607 |
缓冲区不足 |
| 46-0608 |
状态无效 |
| 46-0609 |
I/O挂起 |
| 46-0610 |
无可用接收缓冲区 |
| 46-0611 |
数据被遗漏 |
| 46-0614 |
字段值无效 |
| 46-0615 |
字段访问无效 |
| 46-0616 |
数据长度无效 |
| 46-0617 |
序列号无效 |
| 46-0618 |
呈现时间小于数据包时间戳 |
| 46-0620 |
已建立流中AVTP协议变更 |
| 46-0621 |
已建立流中AVTP协议格式变更 |