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协议格式变更
相关推荐
鲸鱼电台分台4 小时前
工业应用通信协议:IEC104
网络协议
无敌最俊朗@6 小时前
WebSocket与Webhook:实时通信技术对比
网络·websocket·网络协议
2301_773730318 小时前
系统编程—IPC进程间通信
网络·网络协议
fiveym9 小时前
Apache HTTP 服务搭建全攻略
网络协议·http·apache
老蒋新思维9 小时前
创客匠人推演:当知识IP成为“数字心智”的架构师——论下一代认知服务的形态
网络·人工智能·网络协议·tcp/ip·机器学习·创始人ip·创客匠人
BuffaloBit10 小时前
5G 核心网架构入门
网络协议·5g·架构
2501_9151063211 小时前
HTTP 协议详解,HTTP 协议在真实运行环境中的表现差异
网络·网络协议·http·ios·小程序·uni-app·iphone
老蒋新思维12 小时前
创客匠人:从个人IP到知识变现,如何构建可持续的内容生态?
大数据·网络·人工智能·网络协议·tcp/ip·创客匠人·知识变现