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协议格式变更 |