8910芯片USB描述符:5、接口描述符&端点描述符---ECM

目录

点击这里查看所有博文

五、ECM网卡

  以太网控制模型(Ethernet Networking Control Model) 用于在设备和主机之间传输以太网数据包。
  在操作系统看来,CDC ECM设备就是一个虚拟以太网卡,包含标准网卡需要的MAC地址和IP地址。
  CDC ECM设备通常是一个以太网卡,用于连接LAN或者是WLAN。ECM是标准的,隶属USB协议,当然是usb封装的TCP协议,数据接口则用于在USB总线上交换USB数据包,这些USB数以的包封装了完整的以太网包。
  8910平台支持ECM功能,默认处于关闭状态。需要发送AT+SETUSB=2设置USB网卡的工作模式。命令发送完成之后可以断电保持,重启有效。

在这里插入图片描述

  正常情况下只要将模块接入运行linux系统,电脑就会识别出来一块网卡。windows系统上默认不支持ECM网卡,需要额外安装驱动才能使用。

5.1、ECM接口关联描述符(8字节)

字段长度(位)偏移量(位)十六进制值说明
bLength8720x08描述符大小为8字节
bDescriptorType8800x0B接口类型:INTERFACE_ASSOCIATION
bFirstInterface8880x00接口关联的第一个接口号是0
bInterfaceCount8960x02接口关联的连续接口数为2
bFunctionClass81040x02接口属于通信设备/接口类
bFunctionSubClass81120x06接口属于以太网网络控制模型子类
bFunctionProtocol81200x00接口使用不需要特定于类的协议
iFunction81280x03接口字符串描述符索引为3

在这里插入图片描述

5.2、控制接口

5.2.1、ECM控制接口描述符(9字节)

字段长度(位)偏移量(位)十六进制值说明
bLength81360x09描述符大小为9字节
bDescriptorType81440x04接口描述符类型
bInterfaceNumber81520x00此接口号的索引为0。
bAlternateSetting81600x00用于选择此接口的备用设置的值为0
bNumEndpoints81680x01此接口使用的端点数为1(不包括端点0)
bInterfaceClass81760x02接口实现通信设备/接口类
bInterfaceSubClass81840x06接口实现以太网组网控制模型子类
bInterfaceProtocol81920x00接口使用不需要特定于类的协议
iInterface82000x05接口字符串描述符索引为5

在这里插入图片描述

5.2.2、ECM CDC Header功能描述符(5字节)

  Header功能描述符表示功能描述符的开始,其他紧跟的内容就是此设备的功能描述符的内容。bcdCDC表示的是CDC的版本。

字段长度(位)偏移量(位)十六进制值说明
bLength82080x05描述符的大小,以字节为单位
bDescriptorType82160x24描述符类型
bDescriptorSubType82240x00描述符子类型
bcdCDC162320x0110USB通信类定义通信规范1.10版

在这里插入图片描述

5.2.3、ECM CDC Union功能描述符(5字节)

  Union描述符就是用来告诉主机端,哪些接口是联合在一起的,对应着一个功能,这个功能需要主机装载对应的驱动来实现,因此,功能与驱动是一对一的关系。这里bControlInterface值为0,则表示接口0为控制接口,bSubBoardinateInterface0值为1,表示接口1为控制接口0的下级接口,即数据接口。在CDC标准中,控制接口是必须的,而数据接口是可选的,因此,数据接口为控制接口的附属。

字段长度(位)偏移量(位)十六进制值说明
bLength82480x05描述符的大小,以字节为单位
bDescriptorType82560x24描述符类型
bDescriptorSubType82640x06描述符子类型
bControlInterface82720x00通信或数据类接口的接口号
bSubordinateInterface082800x01下级接口的接口号

在这里插入图片描述

5.2.4、ECM CDC ethernet功能描述符(13字节)

字段长度(位)偏移量(位)十六进制值说明
bLength82880x0D描述符的大小,以字节为单位
bDescriptorType82960x24描述符类型:CS_INTERFACE
bDescriptorSubType83040x0F功能描述符子类型
iMACAddress83120x06字符串描述符索引
bmEthernetStatistics322960x00060F24Bit 0: XMIT_OK 0
Bit 1: RVC_OK 0
Bit 2: XMIT_ERROR 0
Bit 3: RCV_ERROR 0
Bit 4: RCV_NO_BUFFER 0
Bit 5: DIRECTED_BYTES_XMIT 0
Bit 6: DIRECTED_FRAMES_XMIT 0
Bit 7: MULTICAST_BYTES_XMIT 0
Bit 8: MULTICAST_FRAMES_XMIT 0
Bit 9: BROADCAST_BYTES_XMIT 0
wMaxSegmentSize163520x05EA以太网设备能够支持的最大段大小
wNumberMCFilters163680x0000多播筛选器位图
bNumberPowerFilters83840x00包含可用于唤醒主机的模式筛选器数

在这里插入图片描述

5.2.5、ECM通知端点描述符(7字节)

字段长度(位)偏移量(位)十六进制值说明
bLength83920x07描述符大小为7字节
bDescriptorType84000x05端点描述符类型
bEndpointAddress84080x81这是端点号为1的输入端点
bmAttributes84160x03类型-传输:中断
低功耗:无
Pkt大小调整:无
wMaxPacketSize164240x0010此终结点的最大数据包大小为16字节。如果是高速,则每帧增加0个事务
bInterval84400x20轮询间隔值为每32帧。高速未定义

在这里插入图片描述

5.3、数据接口

5.3.1、ECM数据接口描述符alt0(9字节)

字段长度(位)偏移量(位)十六进制值说明
bLength84480x09描述符大小为9字节
bDescriptorType84560x04接口描述符类型
bAlternateSetting84640x01此接口号为1。
bAlternateSetting84720x00用于选择此接口的备用设置的值为0
bNumEndpoints84800x00此接口使用的端点数为0(不包括端点0)
bInterfaceClass84880x0A接口实现数据接口类
bInterfaceProtocol85040x00接口使用不需要特定于类的协议
bInterfaceSubClass84960x00子类编码为0
iInterface85120x00接口字符串描述符索引为0

在这里插入图片描述

5.3.2、ECM数据接口描述符alt1(9字节)

字段长度(位)偏移量(位)十六进制值说明
bLength85200x09描述符大小为9字节
bDescriptorType85280x04接口描述符类型
bAlternateSetting85360x01此接口号为1。
bAlternateSetting85440x01用于选择此接口的备用设置的值为1
bNumEndpoints85520x02此接口使用的端点数为2(不包括端点0)
bInterfaceClass85600x0A接口实现数据接口类
bInterfaceProtocol85760x00接口使用不需要特定于类的协议
bInterfaceSubClass85680x00子类编码为0
iInterface85840x04接口字符串描述符索引为4

在这里插入图片描述

5.3.3、ECM数据输入端点描述符(7字节)

字段长度(位)偏移量(位)十六进制值说明
bLength85920x07描述符大小为7字节
bDescriptorType86000x05端点描述符类型
bEndpointAddress86080x82这是端点号为2的IN端点
bmAttributes86160x02类型-传输:批量
包大小调整:否
wMaxPacketSize166240x0200此终结点的最大数据包大小为512字节。如果是高速,则每帧增加0个事务
bInterval86400x00轮询间隔值为每0帧。高速未定义

在这里插入图片描述

5.3.4、ECM数据输出端点描述符(7字节)

字段长度(位)偏移量(位)十六进制值说明
bLength86480x07描述符大小为7字节
bDescriptorType86560x05端点描述符类型
bEndpointAddress86640x01这是端点号为1的输出端点
bmAttributes86720x02类型-传输:批量
包大小调整:否
wMaxPacketSize166800x0200此终结点的最大数据包大小为512字节。如果是高速,则每帧增加0个事务
bInterval86960x00轮询间隔值为每0帧。

在这里插入图片描述

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

遇雪长安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值