返回该小组首页 回复主题
computer00

computer00

小组等级:     E币:7848  (E币换礼)

#1楼主:[原创] USB入门系列之三 —— USB的电气特性 [精华]

文章发表于:2007-08-17 08:51

[原创] USB入门系列之三 —— USB的电气特性

   标准的USB使用4根线:5V电源线(Vbus),差分数据线负(D-),差分数据线正(D+),地(Gnd)。在USB OTG中,又增加了一种mini接口,使用的是5根线,比标准的USB多了一根身份识别(ID)线。USB使用的是差分传输模式,有两根数据线,分别是D+和D-。在USB的低速和全速模式中,采用的是电压传输模式。而在高速模式下,则是电流传输模式。关于具体的高低电平门限值,请参看USB协议。为了防止出现长时间的0或者1(这样不利于时钟信号的提取),在发送数据前要经过位填充处理。然后再将数据串行化,发送到数据线上,由两根数据线的差分值来表示0或者1。而在接收端,则刚好是相反的过程。接收端采样数据线,将数据并行化,并同时去掉未填充,然后解析数据。通常,我们使用现成的USB芯片,像位填充,串行化这些芯片内部的硬件已经帮我们做好了,因此通常我们并不用关心这些细节。在设备接收数据时,芯片的串行接口引擎(SIE)会接收属于自己地址的数据,并根据相应的端口号,放到相应的缓冲区内,并返回ACK给主机进行确认,然后产生中断请求,通知我们的程序,已经收到数据包了。在我们还未处理完缓冲区的数据之前,如果再收到对该端点的输出请求,USB芯片将会使用NAK返回,告诉主机端点现在忙,主机检测到NAK后,过段时间会重试输出数据,直到超时为止;发送数据时,用户将数据写入USB芯片的缓冲区,并通知USB芯片缓冲区内数据可用,然后USB芯片检测到主机请求对应的端点输入时,它就会将数据返回,数据发送完毕并收到主机的ACK确认之后,产生中断请求通知应用程序数据已经发送完毕。如果USB芯片已经收到了输入请求,但是用户程序还未填充好缓冲区,它也会用NAK返回,告诉主机数据还未准备好。主机收到NAK后,过段时间会重试,直到超时为止。
    在USB协议中规定,设备在未配置之前,可以从Vbus上最多获取100mA的电流;在配置之后,最多可从Vbus上获取500mA的电流。Vbus是5V的电压,具体的参数请参看USB协议。

(来自USB小组专区:http://group.ednchina.com/93/
                       By computer00 @ 2007-08-17)

      【回复】

bawgijfd

   小组等级:    E币:295  (E币换礼)

#2

文章发表于:2007-08-17 21:31

继续更新好,终于出第三了,期待下面的,上次你说的MINI吉他搞得怎样拉

computer00

   小组等级:    E币:7848  (E币换礼)

#3

文章发表于:2007-08-17 22:38

是MIDI,不是MINI,进展还可以. 今天是周末,晚上回来不想动,就写了这个东东了。USB MIDI部分已经搞定了的,等比赛完了,我把USB MIDI部分整理一下,再发上来吧. 可以继续用以前的USB键盘电路做,呵呵。

zhenkyss

   小组等级:    E币:128  (E币换礼)

#4

文章发表于:2007-08-22 22:58

顶! 00有没有兴趣做下USB电话啊

computer00

   小组等级:    E币:7848  (E币换礼)

#5

文章发表于:2007-08-23 00:44

USB电话? 通过网络传输吗? 都没见过这玩意,呵呵,

bthl1y5c

   小组等级:    E币:0  (E币换礼)

#6

文章发表于:2007-12-24 21:15

深奥

bthl1y5c

   小组等级:    E币:0  (E币换礼)

#7

文章发表于:2007-12-24 21:15

深奥

jizzll

   小组等级:    E币:2736  (E币换礼)

#8

文章发表于:2008-03-06 21:32

www_www

   小组等级:    E币:107  (E币换礼)

#9

文章发表于:2008-05-06 16:17

受益匪淺

www_www

   小组等级:    E币:107  (E币换礼)

#10

文章发表于:2008-05-06 16:21

主机 请求 数据 输入时 ,会 发送 in命令 ,主机 会 一直发 in命令 ,还是 过一段时间 停止发?如果停止发器件怎么向主机输入数据 。请圈圈回答一下。谢谢!

computer00

   小组等级:    E币:7848  (E币换礼)

#11

文章发表于:2008-05-06 21:04

这个要看驱动程序怎么写的。通常请求数据返回NAK后,主机可在以后总线可用时重新请求数据。主机可以限制一定数量的重试次数。

总共 , 当前 /,2【下一页】

快速回复主题--如果想加入编辑器功能,建议使用 [高级回复]

您目前还不是小组成员,请先加入

回复贴子区

用户名:    您没有注册?

密码:    忘记了密码?

内容:

浏览该小组的用户还看过...

设计资源与分销

";