微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 轻松驾驭嵌入式USB设计--USB完全解决方案全新登场

轻松驾驭嵌入式USB设计--USB完全解决方案全新登场

时间:08-01 来源:中电网 点击:

USB接口在生活中随处可见,其主要优点有通信速度快、可靠性高、支持热插拨以及低成本,此外由于易于使用,并可以取代电脑上的RS232接口,微软和英特尔电脑系统设计要求所有PC上必须有两个以上可以直接使用的USB接口,可见USB的使用越来越广泛。

USB协议

USB全称为通用串行总线,HOST为主机,是通过总线发起所有传输的系统;Device是与主机进行通信并且接收来自主机信息的外设设备;Hub是集线器,用来扩展USB主机接口,提供连接点和电源的设计;Pipe是管道,是逻辑上的抽象概念,指的是设备端上的端点和主机软件之间建立的虚拟的连接通道;ENDPOINT指的是设备端用作USB的数据和发送的存储器缓冲,包括IN端点和OUT端点。IN是USB主机读入读取数据的端点,OUT是USB主机写入数据的端点。Silicon Labs单片机上端点是用片上XRAM的FIFO实现的。在USB的网络协议中,每个USB的系统有且只有一个HOST,负责管理整个USB系统,HOST端有一个ROOT HUB,可以提供一个或多个USB下行端口,每个端口都可以通过USB Hub进行扩展,从而连接多个USB设备,最多可以扩展到127个,其拓扑结构如图1所示:

USB的传输指的是完成通信请求的过程;会话是到一个端点的发求过程;包即信息块;帧是建立在低速和全速总线上的1ms的时间单位。传输被划分为多个会话,而会话由包组成,USB主机通过将会话分配到帧进行传输,一个传输可以有多个帧。枚举是一个识别和指派一个独一无二的地址的行为,枚举过程使USB设备具有被热插拔的能力,USB主机一直检查总线上是否有新的设备接入,直到有一个USB设备被完全枚举完成,USB主机才开始与USB设备进行通信。因此USB主机可以枚举USB设备并与USB外围设备进行数据传输,管理USB总线,为USB设备提供电源,如一个全功耗主机给每个USB外设提供最大到500mA的电流,一些低功耗的USB主机只能给低功耗的USB外设提供最大到100mA的电流,除此之外USB外设也可以自己供电。而USB设备的作用是与USB主机传输数据,响应USB主机的标准请求,管理电源。

USB协议定义了四种传输类型:控制传输,块传输,中断传输和同步传输。控制传输是双向传输,通常数据量较小,其用途是传送命令请求,让USB主机识别和枚举外设,以及传送用户定义的请求。控制传输的传输速度是高速模式为15.8MB/s,全速模式832KB/s,低速模式24KB/s,任何USB外设都必须支持控制传输;块传输适用于大量数据传输应用,但不保证数据速率和延迟,只支持高速和全速USB外设,其传输速度为高速模式53.2MB/s,全速模式1.2MB/s,通常应用于打印机、扫描仪、磁盘驱动器等等会有大块数据进行传输的设备;中断传输主要用于定时查询设备是否有中断数据传输,从而保证数据传输间隔的时间,高速模式为24.6MB/s,全速模式为64MB/s,低速模式为0.8KB/s,通常应用在键盘、鼠标、游戏手柄等传输要求数据量小但要定时传输的场合;同步传输是一种数据流实时传输的模式,由于这种模式中没有纠错环节,因此它可以保证传输速率和间隔时间但不保证数据的完整性,同步传输的最高速度为24.6MB/s,全速模式为1MB/s。

USB主机通过独特的标识符识别USB外设,VID(Vendor ID)是USB联盟给USB设备提供商分配的ID号,PID是USB设备提供商给自己产品分配的ID号,串行序列号是开发商或制造商给每个USB产品分配的号码,每个USB设备都有自己唯一的序列号。Silicon Labs公司唯一的VID是0x10C4,所有出厂产品都分配了一个PID,客户可以根据自己的需求联系Silicon Labs公司的相关人员为Silicon Labs的USB产品申请一个特别的PID。

USB定义了一套标准的设备类别从而实现不同系统平台间的互操作性。HID主要应用于键盘、鼠标、热量表、电压表等;大量存储主要用于可移动或不可移动的设备,如磁盘、硬盘、光盘以及U盘等;Audio主要应用在扬声器、麦克风、语音处理等;Communication Device Class主要是调制解调器、模拟或数字电话和以太网卡;Imaging的应用有数码相机、摄像机、网络摄像头;此外如IrDA、电源、打印机、SD卡等都有相应的类别。

Silicon Labs公司的USB解决方案

目前Silicon Labs公司的USB产品已经扩充到十五款,并且可以为客户提供相应的五种开发板,软件支持包括虚拟串行通讯接口驱动,USBXpress从传输类型的驱动层到源代码,常用类型的参考设计,以及第三方提供的工具等。图2所示的为Silicon Labs公司的所有USB解决方案。图中可以看到虚拟COM口很容易使用,不需要开发固件和驱动。同时Silicon Labs公司提供的驱动支持Windows,苹果和Linux等多个

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top