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

2007-8-19 22:28 5680 7 7 分类: 通信

[原创] 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)

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1200908 2007-8-24 22:01

支持你。加油

相关推荐阅读
computer00 2013-06-05 16:27
[招聘]Android系统开发工程师
任职要求: 1. 扎实的C/C++基础,熟悉嵌入式Linux和Android操作系统的软件开发; 2. 良好的沟通能力和逻辑思维能力; 3. 良好的英文文献阅读能力; 4. 具备...
computer00 2013-06-04 09:26
[招聘]Android应用开发工程师
任职要求: 1. 具备扎实的面向对象编程思想和JAVA编程基础; 2. 熟悉Eclipse+ADT开发环境,熟练掌握Android基本类库; 3. 熟悉网络应用和多媒体应用开发; ...
computer00 2012-09-26 13:15
圈圈的新浪官方围脖
http://weibo.com/computer00  ...
computer00 2012-09-26 13:12
欢迎大家去收听圈圈弹的曲子
http://www.tudou.com/home/_105209016  ...
computer00 2009-06-29 15:07
《圈圈教你玩USB》勘误(更新日期2009 年06月29日)
《圈圈教你玩USB》勘误(更新日期2009 年06月29日)下载地址1:下载地址2: 勘误.pdf...
computer00 2009-06-25 11:23
一块磐正845GE主板PS2接口的修复
圈圈有一部台式机,某天开机时,发现键盘用不了了,停留在输入BIOS密码那里。主机自检通过,但是蜂鸣器却发出很微弱的、连续的声音,同时键盘的三个LED也没有出现象往常一样的闪烁一下。圈圈以为多日未用,积...
我要评论
1
7
关闭 站长推荐上一条 /3 下一条