基本信息
文件名称:Microchip 系列:SAM D 系列_(21).SAM D系列的USB接口.docx
文件大小:32.59 KB
总页数:43 页
更新时间:2025-06-12
总字数:约3.01万字
文档摘要

PAGE1

PAGE1

SAMD系列的USB接口

1.USB接口概述

USB(UniversalSerialBus,通用串行总线)是一种广泛使用的接口标准,用于在计算机和其他设备之间进行数据传输和电源供应。SAMD系列单片机集成了USB设备控制器(USBD)和USB主机控制器(USBH),支持全速(12Mbps)和低速(1.5Mbps)通信。这些控制器可以用于实现各种USB设备和主机功能,如HID(HumanInterfaceDevice,人机接口设备)、CDC(CommunicationDeviceClass,通信设备类)、MassStorage(大容量存储设备)等。

2.USB设备控制器(USBD)

2.1USBD功能简介

SAMD系列的USBD控制器支持以下功能:

全速(12Mbps)和低速(1.5Mbps)通信

支持多个端点(Endpoints)

支持各种USB设备类(如HID、CDC、MassStorage等)

内置DMA(DirectMemoryAccess,直接存储器访问)控制器,用于高效的数据传输

支持USB唤醒功能

2.2USBD端点配置

USBD控制器支持多个端点,每个端点可以配置为不同的类型,包括控制端点、批量端点、中断端点和同步端点。端点配置通过USB设备描述符和配置描述符来实现。

2.2.1控制端点

控制端点用于传输控制信息,如设备请求和配置信息。控制端点通常配置为端点0,是USB设备必须支持的端点。

2.2.2批量端点

批量端点用于传输大量数据,如文件传输。批量端点保证数据传输的完整性,但不保证传输的时间。

2.2.3中断端点

中断端点用于定期传输小量数据,如键盘和鼠标输入。中断端点保证数据传输的及时性。

2.2.4同步端点

同步端点用于传输时间敏感的数据,如音频和视频流。同步端点保证数据传输的时间和带宽。

2.3USBD描述符

USB设备描述符和配置描述符是USB设备与主机通信的基础。描述符定义了设备的特性、支持的配置和端点信息。

2.3.1设备描述符

设备描述符包含设备的基本信息,如设备类、子类、协议等。以下是一个设备描述符的示例:

//设备描述符

constuint8_tUSBD_DeviceDescriptor[]=

{

//设备描述符头

0x12,//描述符大小

USB_DEVICE_DESCRIPTOR,//描述符类型

0x00,0x02,//USB规范版本

0x00,//设备类

0x00,//设备子类

0x00,//设备协议

0x40,//最大包大小

0x89,0x03,//厂商ID

0x01,0x00,//产品ID

0x00,0x01,//设备版本

0x01,//制造商字符串索引

0x02,//产品字符串索引

0x00,//序列号字符串索引

0x01//配置数量

};

2.3.2配置描述符

配置描述符定义了设备的配置信息,包括接口和端点。以下是一个配置描述符的示例:

//配置描述符

constuint8_tUSBD_ConfigDescriptor[]=

{

//配置描述符头

0x09,//描述符大小

USB_CONFIGURATION_DESCRIPTOR,//描述符类型

0x22,0x00,//总长度

0x01,//接口数量

0x01,//配置值