《匠人手记》推荐网上购书渠道:
互动出版网(china-pub)购书入口   >>>
当当网(dangdang)购书入口   >>>
卓越亚马逊网 购书入口   >>>
淘宝网(taobao)购书入口   >>>
更多购书渠道……   >>> 

设为首页加入收藏联系匠人管理入口21IC首页21IC博客21IC社区侃单片机回复的贴参与的贴

天气预报
百宝日历
载入中...

百宝专栏

载入中...
最新货色

载入中...

粉丝评论

载入中...

载入中...



百宝信息

载入中...

百宝流量

(2006-07-01开始)


匠人手记

 匠人观点: 好记性不如烂笔头  
 黑色幽默:三鹿门——后世畅想

USB简介
程序匠人 发表于 2005-11-30 23:17:00  阅读全文 | 回复(0) | 引用通告 | 编辑

USB简介刘玉宏 发表于 2005-8-28 16:54:17
 

 USB的发展背景

      不知道你是否有过这样的经验,兴冲冲地买了一只新鼠标回家,

    但过了一个星期后,却仍旧使用那滚起来抠抠叫的旧老鼠?只因为

    你的计算机后面早就被各式各样的电缆线占据,想要把电缆线拉出来

    ,还得特别安排一个下午来打开所有的死结才可以。

 

      个人计算机的发展方向,在功能上是愈来愈强,已经准备取代专业

    的工作站了,但是在亲和力方面,却也是越来越接近一般的使用者

    。在计算机机壳里的界面卡,已经有随插即用装置,免除了烦琐的调

    整;但是在计算机机壳外面的人机界面系统却是混乱无比,从键盘插

    座、鼠标用的九针串行端口、调制解调器用的25针串行端口、打印机使用的

    并行端口等等,实在是整理计算机时的一大恶梦。

 

      早在1994年底,信息界的四大门派,康百克、英特尔、微软加上

    ***代表NEC就已经公布了通用串行端口,也就是Universal     Serial

    Bus的先行标准。可是直到1998年九月,最新的1.1修正版才正式定

    案。当然,这时Win98和OS8.5(iMac)这两个重量级的***作系统才

    有正式支持。虽然USB的功能并不强大,但是方便好用的人机界面,

    却让它在众家标准之下脱颖而出。

 

      USB从一开始设计就不强调功能强大,只是尽量提供使用者一个亲

    和的环境,减少使用者使用计算机时的不便罢了。

 

    两个重要数字

 

      讲到USB一定会讲到两个数字,就是12Mbps与127这个装置。说到

    12Mbps其实蛮丢脸的,因为在大家熟知的标准之中,恐怕只有鼠标

    和调制解调器使用的串行端口之传输速度,因为年代久远之故被它超越,

    但是谈起127这个装置,那就真的是无人能比了。

 

      12Mbps里面的b是小写,而不是大写,因为它是指bit,不是Byte

    ,所以实际上一秒钟只有1500KByte的传输速度,等到扣除各种传输

    协议占据的频宽和控制器的反应时间之后,一秒钟一个MByte多一些

    才是它的平常演出水准。

 

    把所有的USB装置串起来

 

      USB所用的架构叫做Tiered  Star多层星状拓朴,长得很像是一棵

    大树,由主机板后面的USB控制器(HOST)作为根部长出去,在每个

    分叉的地方,要有一个集线器(HUB),所以要接的装置太多时,会

    有集线器后面接着集线器的状况出现。为了方便区别起见,USB控制

    器的插座我们叫它下游端,USB外围的插座叫它上游端,所以缆线的

    上游接控制器的下游,缆线的下游接外围的上游。至于集线器里,

    就是一边上游一边下游。很像绕口令是不是?不过不用担心,为苦

    难大众着想的USB把缆线的两边接头做得不一样,所以根本没办法插

    错。

 

      聪明的你可能会想到,就算不会插错插座,难道怎么连接都可以

    ?答对了!连接USB装置的原则只有一个,就是把他们通通连起来。

    不管你怎么串接你所有的装置,只要不超过127个,USB系统会负责

    把数据正确地送到各个装置上。

 

    为什么会串不起来

 

      USB装置其实还有细分成两种,高速和低速装置。而将常讲的

    12Mbps是指高速装置,低速装置只有她的八分之一,低速装置常见

    的有键盘和鼠标。这些东西因为数据传输速度实在是太慢了,所以

    没有电磁干扰的问题,因此它的电缆线上面没有加上一些电磁防护

    ,成本比较低。万一有不肖厂商拿低速装置的线给高速装置使用,

    一碰到电磁波干扰很强大的地方,也许就会出问题了。因为高速和

    低速装置的线材价钱所差无几,所以建议大家买好一点的线,避免

    计算机莫名其妙休假去。

 

      另一种不能说是当机却不能使用USB装置的情况是,装置太多,频

    宽不够分!这种情况出现在使用者计算机上装了太多要求“定时传送

    数据”的时候。例如陈老板想用USB规格的实时摄影机监看他的职员

    有没有偷懒,假设他买的USB摄影机每秒钟要传输200KB的图档更新

    画面(定时传送),那么他最多只能接七台摄影机,因为八台摄影

    机会吃掉1600KB的频宽,超过系统上限的1500KB,所以,接上第八

    摄影机台时,USB的控制软件会叫它回家睡觉。如果写该摄影机驱动

    程序的工程师忘了这件事,那么Win98会给你一个很漂亮的蓝色画面

    ,就是比尔盖兹展示Win98时全球媒体看到的那个画面。除非驱动程

    式写得很聪明,可以接受比原先需求还小的频宽,那么陈老板就会

    看到跳格画面,或是模模糊糊的影像。不过之前的七台摄影机因为

    频宽已经获得保障,所以不会有任何问题。

 

    不但要热插拔,还要随插即用

 

      只要运气不要太背,***作一切正常,驱动程序和***作系统合作愉

    快,USB都可以做到其所宣传的“热插拔”功能,这也是USB大力宣

    传的特性。

 

      说实在的,热插拔并不是什么了不起的技术,不相信的话,读者

    可以把你正在运作中的计算机拔下旧式键盘和旧式鼠标然后,换上另

    一套配备,保证不会当机,换装完毕后计算机还是正常动作,但是搭

    配上随插即用就是个值得大书特书的进步了,因为要做到热插拔与

    随插即用,代表***作系统必须有下列能力:

 

      1.可以侦测到是否有新装置出现了?

 

      2.***作系统可以辨认出这是什么装置,并且找出对应的驱动程序

    。

 

      3.如果没有对应的驱动程序,***作系统会要求使用者提供。

 

      4.如果有装置被移除了,自动移除负责的驱动程序。

 

      在USB系统上,其实是以一个很简单的方法做到热插拔与随插即用

    。就是每当有新装置出现时,会让位于该装置上游的集线器的下游

    插座产生变化电压,紧张兮兮的集线器会以最快速度通知计算机这件

    事,控制系统就透过一连串的协议开始“询问”新装置,叫它交出

    它的身分证明,外带祖宗三代是那家厂商、专长与族谱排行通通都

    要知道。询问完毕后,满意的话会给她一个地址居住下来,作业系

    统就靠着刚刚拿到的数据回头去链接库挑个和它最速配的驱动程序

    好把这对新人送进洞房。

 

      USB联盟为了做到这点,花费了相当多的时间来制订各种规格,包

    括要怎么问怎么答,不满意的话要怎么翻脸都写得清清楚楚的。除

    此之外,还给每个厂商一个代码,每种产品又是一种代码,连电话

    机和DJ用的混音器都有代码。

 

    谁来控制这一大串USB装置

 

      读者若仔细观察一下本文前节中USB控制器检查新装置名称的过程

    ,会发现做事的人还真不少呢!是的,严格说起来一个最简单的USB

    系统需要有六个部门分工合作,举例来说;

 

      正在用Netterm玩BBS的阿呆,在他的USB键盘上敲了“A”键一下

    ,键盘控制IC就把“A”丢给USB界面IC,其实那个USB界面IC是个小

    小的CPU,里面有个小程控USB的模拟界面,一有机会就会把“A

    ”透过USB电缆线丢给PC上的USB控制器。

 

      既然“A”字符已经传回计算机了,就可以拿来使用了?不不不!他

    只是传回USB控制器而已,你还需要一个USB键盘驱动程序把这个“A

    ”字符认领回家,等待***作系统召见,不然当USB装置接了一狗票时

    ,键盘传回的信号被***作系统误认为鼠标传回来的信号,那怎么得

    了。

 

      “A”字符最后的归宿当然是由***作系统分派给Netterm处理,结

    束他的皮球生涯,至于远在网络另一端的美眉,什么时候看到这个

    “A”那就不在我们的讨论范围了。

 

    除了封包,还是封包

 

      最后,我们来讲讲USB的传输协议,这个协议让他可以正确无误地

    把各家讯息传递到正确的装置上,但是也造成了一些瓶颈。要让不

    同的信息使用同一条道路,最简单又安全的方法就是像邮局一般,

    把每个信息包起来,写上地址和收信人,当然也要标明白发信人和

    这封信的种类。

 

      USB使用NRZI编码方式运作,所有的运作通通是由PC上的USB控制

    器来决定,苦命的装置们出了问题,最多只能罢工抗议,要等系统

    发现装置已经摊平躺在路边了才会去处理。

 

      所有的信息通通都要用封包打包起来,其中寻址用的封包档头有

    七位的地址,所以可以***作127个装置(地址如果是零,代表USB

    控制器还没把这个小孩子领回家,有些人以为位置零代表PC本身,

    这种说法是不对的)。

 

    这些封包又构成了四种传输的方式:

 

      1.Control控制传输,这是控制系统用的。

 

      2.Interrupt中断传输,不同于一般的PC装置,USB不支持周边中

    断,它都是靠系统定时查询的方式办到的。慢速装置被严格要

    求只能使用第一和第二种传输方式,避免拖累了大家的表现。

 

      3.Isochronous同色传输,例如前面提到的摄影机,在整个频宽里

    面划一块起来据地为王。

 

      4.Bulk块状传输,打印机和扫描仪的最爱,一次传送一大块数据

    ,不过最大也只能大到1023个byte。所以使用块状传输时,资

    料是被拆成许多部份传送的,在打印机传送块状数据的同时,

      也许USB控制器还偷偷地让鼠标传送了几次数据也说不定。

 

      上述的说明,都是关于USB的一些基本概念,我们殷切地期望读者

    们能够藉由以上简单而轻松的介绍方式,让您对「USB」能有基本的

    了解,并且对它不再感到恐惧,转而去亲近、使用它,并且懂得更

    进一步去善加利用它。
 
 

看《匠人手记》,与匠人同行!北航出版,正在热卖!

发表评论:
载入中...

芯片专题

器件专题

软件专题

硬件专题

综合专题

项目专题

原创专题

器件检测
LCD LED
按键 触摸键
E2PROM
电池 电机
电阻 电容 电感

指令系统
软件算法
编程规范
滤波算法
串行通讯

PCB设计
I2C PWM
红外遥控
充电技术
中断 ADC 

匠人手记
匠人夜话
网络心路
一周热点串烧
从零开始玩PIC
DIY旋转时钟

广告5号位 [投放]


学习板、开发板、编程器、下载器、仿真器(查看详情……)

广告3号位 [投放]

站内搜索


站外搜索


百度  google
mp3  歌词 
图片  FLASH 
知道  文档
新闻  词典 
地图  mp3 
软件  天网 
雅虎  爱问 
搜狗  讯雷 
网讯  华军 
天空 

21IC器件搜索
百宝箱分站
  • 《匠人的百宝箱》21IC站
  • 《匠人的百宝箱》21IC笔记团队
  • 《匠人手记》21IC书友会
  • 《匠人的百宝箱》MCUBLOG站
  • 《匠人的百宝箱》MCUBLOG笔记团队
  • 《匠人的百宝箱》EDN站
  • 《匠人手记》EDN书友会
  • 《匠人的百宝箱》与非网站
  • 《匠人的百宝箱》新浪站
  • 《匠人的百宝箱》百度站
  • 《匠人的百宝箱》网易126站
  • 《匠人的百宝箱》网易163站
  • 《匠人的百宝箱》互动出版网站
  • 广告4号位 [投放]

     
     

    匠人原创

    往日酷贴

     
     
     

    大千八卦

    友情连接

    新浪新闻:
    新浪财经:
    AK58新闻:
    新浪股票:
    新浪股票:
    证券之星:

     [更多酷站连接]

     

     

    [欢迎交换连接]

    [百宝箱之与非门分舵]

    [电脑圈圈的家当]

    [IC921的博客]

    [柔月阁]

    [八楼的呼吸]

    [hotpower 的水潭]

    [xwj的文君阁]

    [所长的BLOG]

    [阿摆手记]

    [电子伙伴]

    [unaided的笔记]

    [小飞的笔记]

    [单片机开发联盟]

    [网址之家]

    [好东西网址大全]

    [美萍中文精选]

    [数字电视之家]

    [SMARTCODE电子书斋]

    [软件开发之窗]

    [Armoric]

    [我爱研发网]

    [infernal的笔记]

    [雄鹰的空中加油站]

    [SunK]

    [逍遥电子]

    [ningpanda的博客]

    [C-Design]

    [一网见天下]

    [海边淘沙]

    [嵌入式365]

    [水牛的仓库]

    [股剩是怎样炼成的]

    [PIC论坛]

    [ICC AVR开发网]

    [中国高校自动化网]

     

     

     

    MCU博客-中国电子工程师博客网 

    大学生电子网 

     

     

     

     

     

    !!! 《匠人的百宝箱》 !!!