码迷,mamicode.com
首页 > 其他好文 > 详细

USB 虚拟串口简介

时间:2017-11-24 16:52:59      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:usb 驱动 串口

1. USB虚拟串口简介

USB虚拟串口属于USB通信设备类。在物理层通过USB总线,采用虚拟串口的方式为主机提供一个物理串口。在系统内部,USB控制器提供了一个批量传输IN端点和一个批量传输的OUT端点,用于数据的接收和发送,模拟串口的RXTX线。另外USB控制器还提供中断IN端点,发送当前串口的状态,实现对串口传输的控制。串口设备的数据,由系统的串口采集,在芯片内完成USB包的封装,通过USB总线上传至主机,再由相应的串口应用程序进行处理。对用户来说,看到的是基于串口的数据采集和传输,而实际上实现的是基于USB协议包的数据传输。

1.1      USB CDC协议简介

USBCDC类是USB通信设备类(Communication Device Class)的简称。CDC类是USB组织定义的一类专门给各种通信设备(电信通信设备和中速网络通信设备)使用的USB子类。根据CDC类所针对通信设备的不同,CDC类又被分成以下不同的模型:USB传统纯电话业务(POTS)模型,USB ISDN模型和USB网络模型,其中USB传统纯电话业务模型又可分为直线控制模型(Direct Line Control Model)、抽象模型、电话模型,如 1.1所示。本文讨论的虚拟串口就属于USB 传统纯电话业务模型下的抽象控制模型。

技术分享图片

1.1 CDC分类

1.2    LinuxUSB虚拟串口框架

1.2所示,Linux实现了gadget.h定义的统一接口,然后上层的各种gadget driver(如serial.c等)调用这一套统一的接口可以去实现不同类型的功能,如USB串口、U盘、USB以太网等等。

技术分享图片

1.2 USB虚拟串口框架

Linux中通过USB虚拟的其他设备都需要经过Gadget层的绑定,最终与虚拟的相关设备进行绑定。有关Gadget的绑定流程在之前的文档中已做过详细介绍,在此不做过多阐述。



USB 虚拟串口简介

标签:usb 驱动 串口

原文地址:http://blog.51cto.com/12572800/2043912

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!