CAPL学习-AVB交互层-概述

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扩展。

操作步骤
  1. 从上下文菜单打开节点配置对话框。
  2. 切换到"组件"页。
  3. 点击 添加... 打开文件选择对话框。
  4. 选择CANoe安装目录中exec32文件夹下的AVB_IL.DLL文件。
  5. 点击 确定 关闭对话框。
  6. 从上下文菜单打开节点的TCP/IP配置对话框。
  7. 在"TCP/IP堆栈选择"区域,启用"独立TCP/IP堆栈实例"选项。
  8. 为每个通道配置唯一MAC地址。
    (可选)若需自定义VLAN ID和PCP,可配置发送器的VLAN设置。
  9. 点击 确定 关闭对话框。

完成上述步骤后,即可通过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协议格式变更
相关推荐
凌云C6 小时前
5G 协议体系与交互流程
网络协议
X7x510 小时前
跨厂商路由引入(重发布)实战指南:华为、华三、思科的逻辑差异与配置避坑
网络协议·信息与通信·信号处理·实施路由引入
玩转4G物联网11 小时前
FS800DTU 新品上线|免费使用 DMP 设备管理平台,支持远程批量配置 & OTA 升级
物联网·网络协议·tcp/ip·云平台·核心板·fs800dtu·iot管理平台
Chloeis Syntax11 小时前
JAVAEE初阶 --- 构造HTTP请求
网络·网络协议·http·postman
wuqingshun31415912 小时前
说说TCP的3次握手?为什么需要三次握手?
服务器·网络协议·tcp/ip
无锡耐特森13 小时前
解决网关数据异常EtherNetIP 转Modbus TCP专用动态监测
网络·网络协议·tcp/ip
2401_8734794015 小时前
爬虫IP怎么防?IP离线库四层识别+日志留存,反爬留证两不误
爬虫·网络协议·tcp/ip·ip
房开民15 小时前
Qt TCP 服务器开发实战:与 VisionMaster OCR 通信
服务器·qt·tcp/ip
超级赛博搬砖工16 小时前
什么是移动代理IP?与住宅IP有何区别?
网络·网络协议·tcp/ip
Tizzgod16 小时前
W55MH32 开箱分享 — 一块板子同时连俩TCP服务器
服务器·网络协议·tcp/ip