基于单片机的USB传输系统的设计与实现 - 单片机论文 - 中国知网 毕业论文,数控论文,PLC论文,单片机论文,电子商务论文, 建筑论文,中英文对照,毕业设计 毕业论文,数控论文,PLC论文,单片机论文,电子商务论文, 建筑论文,中英文对照,毕业设计
发新话题
打印

基于单片机的USB传输系统的设计与实现

基于单片机的USB传输系统的设计与实现

〔摘要l本文介绍了一种基于SL8111 HS芯片及单片机的USB传输系统;系统由单片机、USB接口控制器、高速RAM,
串口等设备组成;首先分析了USB系统的通信协议,然后介绍系统的硬件设计,最后介绍系统的软件实现过程。
    [关键字]单片机;USB; SL8111HS
    1.引言
    随着USB接口的广泛的应用,USB外设的种类不断丰
富,应用领域也不断扩大。在传统的应用中,USB接口应用仅
仅局限在PC机与各种外设之间,而外设与外设之间却无法
利用USB接口进行通信。但是随着嵌入式产品应用领域的
日益增长,USB外设的应用需求不断扩大,在单片机上应用
USB外设己成为大势所趋。
2. USB系统的通信协议的分析
    USB协议中最为复杂的是底层数据通信结构的内容,其
中包括了最基本的数据传输单元、数据传输类型、数据流模
型等。
    <1)数据传输的基本单元
    “包”,是USB最基本的数据单元,每个包,基本上包含了
一个完整的USB信息。按照包在整个USB数据传输中的作用
不同,包可以分为3类:令牌包、数据包和握手包。
    (2) USB的数据传输类型
    以包为基础,传输和同步传输USB定义了4种数据的传
输类型:控制传输、中断传输、批量传输和同步传输。
    同步传输:占用大量USB带宽,有严格的时间间隔,又被
称为实时流传输,用于音频流等需要恒定传输速率的数据
传输中,同步传输中没有握手包,总线只优先保证其占用带
宽,而不对发送的错误的数据进行重试。
    中断传输:用于少量的、分散的、不可预知的数据传输,
例如数据控制指令、设备状态查询和确认命令,可用于键
盘、鼠标等HID设备的数据传输中,由IN事务或OUT事务组
成。
    批量传输:用于大数据量传送和接收精确度较高的数
据,且没有对带宽和时间间隔的要求,比如硬盘驱动器接
口、光盘刻录机接口及数码相机等。
    控制传输:主要用于把主机把命令传给设备以及把状态
返回给主机。任何一个USB设备都必须支持一个与控制类
型相对应的端点0。控制传输的核心是SETUP事务,USB定义
了较为复杂的控制传输结构,将其分为3个步骤:初始设置
步骤、可选数据步骤、状态信息步骤。在本设计中,首要的任
务便是利用控制传输实现设备的枚举过程,提供设备信息。
    作者简介:林华,男,湖北荆州人,硕士,讲师。
    (3)数据流模型
    端点(Endpoint):端点实际上是设备硬件上具有一定大
小的数据缓冲区。USB系统中,每一个端点都有唯一的地址,
这是由设备地址和端点号给出的。而设备的大小、属性等在
设备出厂时由厂家定义。所以,每一个USB设备在主机看来
就是一系列端点的集合,主机通过端点与设备进行通信。
    管道(Pipe):管道就是主机与设备端点之间的连接。管
道就是数据传输的通道,代表了主机的数据缓冲区与设备端
点之间交换数据的能力。设备被配置后,端点就可以使用了,
因此管道就存在了。
    数据传输过程:在PC上,设备驱动程序通过调用USB驱
动程序接口USBD(USB Driver Interface),发出输入输出请
求包工RP这样,在USB驱动程序接到请求之后,调用主控制
驱动程序接口HCD (Host Controller Driver Interface),
将工RP转化为USB的传输。当然,一个工RP可以包含一个或
多个USB传输。接着,主控制驱动程序将USB传输分解为总
线事务,主控制器以包的形式发送给设备。
3.系统硬件设计
    系统的硬件平台主要是由中央处理器、扩展RAM单元、
USB接口、串行接口电路等组成。系统硬件结构框图如图1
所示。
附件: 您所在的用户组无法下载或查看附件

TOP

发新话题