最新日志

发表于:2008-1-1 21:32:57
标签:USB  

0

USB学习基础知识4

4

点击此处查看原文 >>

系统分类: 单片机   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(724)
发表于:2007-12-30 21:52:30
标签:USB  

0

USB学习基础知识3--USB关键字

3  USB关键字


        USB涉及PC和嵌人式领域,完整的USB设备和主机的设计会应用到其中很多概念和知识。因此,作为起步阶段,能够了解和掌握各种关键的概念、词汇及其简称,对于整个USB知识的把握是很必要的。下面列举一些常用的关键字的简称和释义。
(1)握手应答包(Acknowledg,Packet,简写为ACK)。用于USB主机与设备之问纹据传
输时,指示应答的握手信号。
(2)
缀冲区(Buffer)o汁算机或者是嵌人式系统中,用于暂时存储不能及时或大量传送的
数据的内存单元。
(3)
批量传榆(Bulk Transfer)。USB的4种传输类型之一。用于对时间没有特殊要求,
但总量很大的数据的传输。
(4)
总线枚举(Bus Emumeration)USB主机对于USB设备的检测和配置。
(5)控制传输(Control Transfer)USB4种传输类型之一。主要用于主机与设备之
间配置、命令及状态等数据的传输。
(6)
设备(Device)。这是一个非常重要的概念,是指能够实现某种USB功能的逻辑或物
理实体。USB协议将设备分为3个层次:

  • 从最低的层次来讲,设备指的就是单个的组件,比如一个Flash存储设备;
  • 从更高一层次来讲,设备是能够实现某种特定功能的硬件的集合体,比如USB的接口设备;
  • 最高层次上的USB设备,是指其所能够实现的功能。

(7)(Endpoint,简写为EP)。又一个重要的祝念。从物理机制来说,端点可以是嵌
入式系统或PC上的一个数据缓冲区,用来存放和发送USB的各种数据;从逻辑上来说.端点可以视为数据的收发器,可以按照定义的传输方式来交换欲据。每个端点都有惟一确定的地址,即端点号。每个端点根据相关硬件芯片的不同设置成不同的传输特性,比如输人/输出端点、配置端点及批量传输端点等。
(8)
(Field)USB协议中规定的组成包的单元。
(9)
(Frame)。这是一个时间概念,指的是从一个SOF令牌开始到下一个SOF发送之
间的时间,其中包含了一系列的数据传送。
(l0)
功能(Function)。通过USB实现的某种作用或任务。比如USB的数码相机等,
同时也是一个USB的设备,起到了传输照片数据等的功能。
(11)
人机交互设备(Human Interface Device,简写为HID)USB协议规定的设备类之
。常见的USB鼠标、键盘等设备均属于HIDWindows等燥作系统对于HID有很好的支
,提供了完整的驱动程序。HIDPC级开发因此仅需针对应用级用户程序。
(l2)
主机(Host)。是整个USB体系的核心。它包括主机接口控制器硬件和驱动程序2个层次。
(13)
集线器(Hub)。提供USB设备到主机的连接点。能够为相应的USB设备提供电
,并在一定程度上检测和管现连接的USB设备。
(14)
同步传输(Isochronous Transfer)。4种USB传输类型之一。适用于对时问有严格
要求的数据的传榆,比如音频数据的传输。USB总线能够保证为同步传输提供固定的带宽。并有可能因此占用批量传输等的带宽,而优先满足同步传输的需要。
(l5)
最低有效位(Least Significant Bit,筒写为LSB)
(l6)
微控制器(Micro Controller Unit,简写为MCU)。国内俗称单片机。
(17)
最高有效位(Most Significant Bit,简写为MSB)
(l8)
移动式USB(USBOn-The-Go,简写为OTG)。基于USB协议2.0的补充版本,用于解决USB点对点通信的瓶颈。OTG既具有USB主机的功能,又具有USB设备的功能,并且能够自由地在这两种角色中进行切换。
(l9)
(Packet)USB协议中规定的有一定格式的数据组合。典型的一个包中,包含了
该包的信息、传输的数据和校验纠错信息等3部分。可以说,包是USB数据传输的最基本
单位。
(20)
个人计算机(Personal Computer,简写为PC)
(21)
包标志域(Paeket identified Field,简写为PID。用于表明包的类型和格式的域。
(22)
即插即用(Playand Plug,简写为PnP)。基于PC的一项技术,用于管理I/O地址、内存地址和IRQ等在内的主机资源,使得外部设备能够使甩的PC中没有冲突的某项资源。
(23)
端口(Port).USB设备的接入点,一般由集线器或USB主机的根集线器提供。
(24)事务(Transaction)。USB中基干一个端点的数据发送与接收的行为。注意与Transfer的区别。
(25)
传输(Trasfer)USB的各种数据发送的总的格式。包括4种传输类型。传输由
1笔或多笔事务组成。
(26)
嵌入式USB主机(Embedded USB Host)。随着对USB点对点方案的发展,出现嵌入式USB主机的解决方案的需求,这也是一个新的提法和名称。指的是在嵌入式系统中
实现USB主机的功能,从功能上来说,它应该完全具备和PC上一样的所有USB主机的功
,但是,从实现的角度来讲,PC有很大的不同。

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(0) | 阅读(622)
发表于:2007-12-28 20:31:20
标签:USB  

0

USB缩略语--逐渐更新

A

B

C

D

E

EOF(End of Frame):帧结束

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

SOF(Start of Frame):帖开始。由主机发出的信号

Suspend:挂起

T

U

V

W

X

Y

Z

点击此处查看原文 >>

系统分类: 单片机   |    用户分类: 无分类    |    来源: 无分类

评论(0) | 阅读(477)
发表于:2007-12-28 20:15:51
标签:USB  

0

USB学习基础知识2

2  USB中的Hub(集线器)

       

2.1 USB中Hub的概念

        USB中的Hub提供USB设备和主机之间的电气接口,其构成为:
(1)中继器(Hub Repeater):响应主机与设备的连接的建立与断开。同时支持总线数据错误检测与恢复、总线连接与断开的检测等功能。
(2)控制器(Hub Controller):负责主机与集线器间的通信事务。提供Hub的特殊状态与控制命令以便主机对Hub进行配置,同时负责监视和控制其下游端口的活动。
(3)事务转发处理器(Transaction Translator):对高速通信过程中的事务进行分割,并在其下游端口有全/低速设备接入时,将事务转换为下游设备可接受的全/低速型事务

         所以,Hub的主要功能为:
(1)管理主机与设备的连接
(2)电源管理
(3)设备接入/断开检测
(4)总线错误的检测与恢复
(5)对高速、全速、低速设备的支持

2.2 USB中的Hub体系结构

2.2.1 Hub的内部结构如下图:

  • Hub上游端口接入高速环境时,必须工作于高速模式;
  • 上游接入全/低速环境时,必须工作于全/低速模式;
  • 在上下游端口接入同种设备时,能支持3种速度模式;
  • 当Hub工作于高速模式,但下游接入全/低速设备时,Transaction Translator对高速事务进行分割,将其转换为全/低速事务
  • 当Hub上游端口接入一个工作于全/低速的电气环境中时,Hub的高速功能被禁用,即Hub只能工作于全/低速模式。
  • ****************注:此处不是完全明白。

2.2.2 Hub中数据包信号的连接

Hub根据是否要传送数据包,或转发信号,或是处于空闲状态,Hub表现出不同的连接行为。

        Hub Repeater通常会包含一个向上游的端口和多个向下游的端口。通常上游端口接入主机,下游端口接入设备。

        如上图,(第2张图)在某下游端口被接通后,并且Hub检测到有从下游向上游流动的数据时,会建立一个流向上游的数据通道。只有Hub本身能看到该通道,其他下游端口则看不到。

         在数据向下游流动的模式中,Hub采用广播方式。在检测到有数据包后,Hub为每条接通的下游端口都建立一条数据通道,使其能够收到数据,对于那些未接通的端口,Hub则不建立该通道。

 

点击此处查看原文 >>

系统分类: 单片机   |    用户分类: 无分类    |    来源: 原创

评论(1) | 阅读(556)
发表于:2007-12-28 12:25:34
标签:USB  

0

USB学习基础知识1

一、USB电源信号线规定

VCC:电源    GND:地线   D+和D-:差分输入线

------------- Vcc
------------- D+
------------- D-
------------- GND

二、响应方式

对于主机请求,设备的响应方式分为:

ACK:响应正常
NAK:设备忙,请稍候再发
STALL:非法请求,请求失败,终端失败
不响应:表示数据出现错误

三、USB最多在主机上级联127个设备,单条线缆长不超过5m,加5个集线器后可到30m

四、USB理论最高速率480Mbit/s,实际可用带宽为200Mbit/s-300Mbit/s,而传输640*480*24(bit)*30(Fram/s)的信号时,需要的带宽约为220Mbit/s,已经几乎是USB2.0可用带宽的全部了

五、USB开发的困难

USB在对用户增加了易用性的同时,却大大增加了开发者的难度。

1.USB协议复杂

2.测试工作困难

3.USB控制芯片自身有缺陷:协议不断完善,硬件也随着完善

六、USB的逻辑结构

1.所有设备都共享一条数据通道(在连入同一集线器的情况下),可以把这些数据通道理解为一条粗的管道。在高速模式下,这条管道带宽480Mbit/s,而在这条管道中,最多可容纳127条小管道,每条管道的终点便是一个USB设备。

2.每条小管道中流动的数据都带有一个称为令牌(Token)的信息包,它给出了数据的流向。如果令牌信息为IN,则数据流向为由设备到主机;如果为OUT,则从主机到设备。

3.每个令牌中有7位数据用来寻址设备,最多寻址128个设备。但00H默认分配给刚刚连入的设备暂时使用。实际工作中的寻址设备为127个。

4.令牌中还包含了4位的端点(End Point)地址,因此,在每一条小管道内又可分为16条微管道,也就是可以16个输入/输出的端点,该端点就是数据中最基本的信息单元,每个端点可携带不同的信息,如:数据,音频,视频及控制信号等。

七、USB所需的支持

1.主机控制器的支持(主机主要指PC机)

    主机控制器负责数据总线路上的数据交换(Transaction),根集线器(Root Hub)负责为设备提供端口

在USB开发者论坛中,提供了检测PC是否支持USB的测试工具http://www.acwsoft.de/acw-usb2.html

USB主机控制器按驱动程序接口不同可分为:

    开放式主机控制器(Open Host Controller,OHC):Microsot,Compaq和National Semiconductor等厂商联合制定

   通用式主机控制器(Universal Host Controller,UHC):Intel自己研发

对用户来讲,功能上没有区别

2.操作系统的支持:如Windows XP,Windows 2000等

八、开发过程应用应考虑的问题

1.选择合适的USB控制器芯片
(1)所需的速度:速度越高,开发工作越复杂

(2)是否有集成于内部的CPU:内置的CPU可简化一定的数据处理工作
(3)连接端口的数量:确定所选芯片的信息端口能否能满足工作的需要
(4)合适的数据存储器:确定所选芯片的RAM大小能否满足需要,通常为128-1024Byte之间
(5)程序存储器
要使USB设备正常工作,还需要特定的用于初始化的设备和主机进行通信的程序,这样的程序在USB中称为“固件”。根据应用确定所需程序存储器的大小。
(6)其他:驱动示例的支持,模拟环境的提供等都作为芯片选择应考虑的因素。

2.确定创建固件所需的语言环境:根据编写固件的要求,采用汇编或C

3.硬件电路设计时的考虑
除了USB控制器本身的外围电路外,还要考虑用户要用USB连接的外设。
(1)USB控制器内建电压5V。因此,首先考虑相关外设的电压匹配与驱动能力的问题。
(2)USB控制器向下接入外设时的数据信号,控制信号的连接。(USB向上游连接入主机的接口及相关电路已成为标准化的规定,不用考虑)
(3)完成硬件电路的设计与绘制。以小巧和简便易用为目标。

4.主机中设备驱动的编写
       要使开发的产品能在计算机上顺利工作,计算机要“识别”用户的产品,并将其引导入系统中,对其进行协调和控制,这个“识别”过程由设备驱动程序完成。
       对于标准设备(如键盘,鼠标)已内建支持的驱动程序,对用户自己开发的产品,则需要自己编写该设备的驱动。
       设备驱动的编写:用Win DDK方式开发或利用其他的开发软件,编译平台可以是标准C或Visual C++等

5.应用程序的实现

         顺利将设备连入主机后,USB开发才真正地迈出了第一步。应用程序是设备满足用户需求的基础,这部分程序根据产品的不同而不同,主要是在计算机上实现对所开发产品的应用和控制。

6.相关的辅助软硬件设备
           就产品硬件来说,需要考虑必要的辅助电路(如数据的读写与存储,产品外形的设计等);|
           就USB接口的开发过程来说,除了开发板,模拟运行平台等,还可能需要用到必要的监控程序,协议分析器等设备

九、开发工作流程
          (1)硬件的设计:主要考虑控制器与主机的连接,与外设的匹配,以及它们之间的协调工作。
          (2)USB控制芯片固件的实现:注意到具体的应用环境,控制器芯片中各种寄存器、控制器的不同的应用与实现。
           (3)Windows驱动的编写:包括检测设备时的系统要用到的引导文件、设备信息文件等。
           (4)应用程序的实现
           (5)几部分的联合测试与协调
下图是基本的开发流程图

总的来讲,USB的开发包括软硬件两方面的开发:硬件考虑芯片、外围电路以及相应的接口电路;软件考虑设备的驱动和固件的编写

 


 

 

点击此处查看原文 >>

系统分类: 单片机   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(1915)
发表于:2007-12-18 20:42:11
标签:USB  

0

EDN USB学习第一课

经过3天的努力,EDN USB终于可以正常运行第一个程序了

当然,首先要感谢彩云,computer00等热心的网友赠送的PCB

在调试中,发现需要注意几个问题:

1.焊接要仔细,千万不能焊反了

2.在串口不通时,原因有:(1)232没焊好 (2)跳线冒没插对 (3) 插头用成公的了,此时1和5要互换,2和4要互换

3.D12 USB芯片没焊好,这样的话USB的ID没有,我是把D12 拆下来后又重焊了才成功.

当成功后GL_N(Good Link)指示灯闪烁

点击此处查看原文 >>

系统分类: 单片机   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(973)
总共 , 当前 /