久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4597|回復(fù): 0
收起左側(cè)

USB開發(fā)學(xué)習(xí)筆記

[復(fù)制鏈接]
ID:60266 發(fā)表于 2014-8-18 02:39 | 顯示全部樓層 |閱讀模式
                        USB概述USB為目前廣泛被使用的一種串行通訊協(xié)議,它包含USB1.0 USB1.1 USB2.0 USB3.0,其中USB1.0USB1.1支持低速模式(1.5Mb/S)與全速模式(12Mb/s),USB2.0還支持高速模式(480Mb/s),USB3.0在做到兼容前面的同時(shí),自己的速度提升到高達(dá)5Gbps全雙工...
USB是一種主從通信模式,通信過程由主機(jī)(host)發(fā)起,從機(jī)(device)只能被動的負(fù)責(zé)應(yīng)答,通信只能在主機(jī)與從機(jī)之間進(jìn)行...
為了突破主從通信模式對通信的限制,出現(xiàn)了USBOTG,USB設(shè)備可以靈活的工作在主機(jī)或者從機(jī)這兩種狀態(tài)下,這樣設(shè)備與設(shè)備之間通過模式切換就可以進(jìn)行工作,大大提高了USB的使用范圍
USB的拓?fù)浣Y(jié)構(gòu)
主機(jī)可以有 一個(gè)或者多個(gè)USB主控制器(host controller)和根集線器(roothub),主控制器負(fù)責(zé)數(shù)據(jù)的處理,而集線器一個(gè)接口與通路為主機(jī)與設(shè)備,一個(gè)主控制器可以通過集線器為USB設(shè)備提供多個(gè)USB接口,但是這些接口總的帶寬是不變的,在集線器的作用下,集線器可以形成多層嵌套,但是有一定的限制,在USB1.1中,HUB的層數(shù)最多只能為4層,USB2.0規(guī)定做多為6層,一個(gè)USB控制器理論上通過集線器擴(kuò)展接口后,最多可以掛接127個(gè)設(shè)備,因?yàn)閁SB協(xié)議規(guī)定每一個(gè)USB設(shè)備具有一個(gè)7bit的地址
USB的電氣特性
USB接口使用的是差分電平傳輸,在低速與全速模式下,使用的電壓傳輸,在高速模式下,使用的是電流傳輸;
標(biāo)準(zhǔn)的USB連接線使用的是4芯電纜,其中包括Vbus D- D+ GND(在USB OTG中連接線為5條,多了一天身份識別線ID)
USB在傳輸過程使用的是NRZI編碼方式,
USB協(xié)議規(guī)定,設(shè)備在未配置之前,從Vbus上獲取的電流最多是100mA,在配置之后,最多可以從Vbus上獲取的電流為500mA,,Vbus的電壓為5V,
USB的插入檢測機(jī)制
在USB集線器引出的各個(gè)子USB物理接口上,D+D-分別接了一個(gè)15K的下拉電阻到地,因此在沒有設(shè)備插入的情下,D+ D-呈現(xiàn)低電平,而在USB的設(shè)備端,D+或D-接了一個(gè)1.5K的上拉電阻到3.3V的電源(具體接在D+還是D-上,由具體的設(shè)備決定)--->速度快的,上拉電阻接正的,速度慢的,上拉電阻接負(fù)的;
當(dāng)設(shè)備插入到集線器上的接口時(shí),集線器下的相應(yīng)端口的V+或V-,就會出現(xiàn)電平變化,由串聯(lián)公式可以知道這時(shí)V+或V-上的電壓大概為3V,一個(gè)高電平信號給了集線器,集線器在將這個(gè)狀態(tài)上報(bào)給控制器,這樣就檢測到了設(shè)備的插入,
如果是USB的高速設(shè)備在插入到集線器上時(shí),先被識別成全速設(shè)備,通過集線器與設(shè)備的雙方確定后,再轉(zhuǎn)到高速模式,由于高速模式下,為電流傳輸,所以這時(shí)D+上的上拉電阻需要斷開。
USB的各描述符之間的關(guān)系
USB1.1中,USB協(xié)議包含的描述符有設(shè)備描述符、配置描述符、接口描述符、端點(diǎn)描述符、
USB2.0中,新增加了device qualifierDescriptor and Other Speed Configure Descriptor;
一個(gè)設(shè)備只能有一個(gè)設(shè)備描述符,該設(shè)備描述符決定有多少種配置,每一種配置都有一個(gè)配置描述符,在每個(gè)配置描述符里面又定義了有多少個(gè)接口,每一個(gè)接口有一個(gè)接口描述符,每一個(gè)接口描述符又定義了接口描述符中有多少個(gè)端點(diǎn),每個(gè)端點(diǎn)又有一個(gè)端點(diǎn)描述符,端點(diǎn)描述符描述了該端點(diǎn)的大小以及類型等信息。
各描述符詳細(xì)的描述信息請大家參考具體USB開發(fā)指南。
USB設(shè)備有一個(gè)USB設(shè)備地址,USB主機(jī)通過該設(shè)備地址訪問USB設(shè)備,但是在USB設(shè)備內(nèi),他包含很多個(gè)端點(diǎn),所以僅有設(shè)備地址還不夠,還必須要有端點(diǎn)地址,有了這兩個(gè)地址后,USB主機(jī)就可以準(zhǔn)確地與USB設(shè)備的端點(diǎn)發(fā)送與接收數(shù)據(jù)了
USB設(shè)備的枚舉過程
USB設(shè)備在檢測到USB設(shè)備插入之后,就要對設(shè)備進(jìn)行枚舉,枚舉就是獲取設(shè)備的各種描述符信息,這樣主機(jī)方便加載合適的驅(qū)動程序;
在設(shè)備的枚舉過程中,使用的是控制傳輸以確保數(shù)據(jù)的正確性
USB包結(jié)構(gòu)以及傳輸過程
USB為串行傳輸,LSB在前,最后是MSB,
USB總線上的傳輸數(shù)據(jù)是以包為基本單位,一個(gè)包被分成很多個(gè)域,LSB與MSB是以域?yàn)閱挝粊韯澐值模?br /> 不同的包有共同的特性,就是都以同步域開始,緊跟著一個(gè)包標(biāo)識符(PID),最終以包結(jié)束符(EOP)來結(jié)束一個(gè)包,其中的同步域的作用是通知USB串行接口數(shù)據(jù)即將開始傳輸,做好準(zhǔn)備,同步域還可以用來同步主機(jī)端與設(shè)備端的數(shù)據(jù)時(shí)鐘,因?yàn)橥接蚴且淮?開始,而0在總線上傳輸時(shí)經(jīng)過編碼為電平跳轉(zhuǎn)。
對于全速與低速設(shè)備,同步域使用的是00000001(二進(jìn)制數(shù)在總線上的發(fā)送順序),對于高速設(shè)備,同步域使用的是31個(gè)0,后面跟個(gè)1(這些要求針對的對象是主機(jī));
包結(jié)束符(EOP),對于全速、低俗與高速設(shè)備也是不一樣的,全、低速設(shè)備的EOP是一個(gè)大約2個(gè)數(shù)據(jù)寬度的單端0(SE0->即D+D-同時(shí)為低電平)信號,【對設(shè)備的復(fù)位就是將SE0狀態(tài)如果保持10mS、】,而對于全速設(shè)備EOP是使用故意的位填充錯誤來表示,同時(shí)通過CRC校驗(yàn)來判斷一個(gè)位填充錯誤是真的位填充錯誤還是EOP標(biāo)志(CRC校驗(yàn)正確就是EOP);
包標(biāo)識符(PID)是用來標(biāo)識一個(gè)包的類型,一共8個(gè)位,使用其中的4個(gè)位來表示,另外4個(gè)位取反進(jìn)行校驗(yàn)用,
包的類型有4類:令牌包(PID1~0:01)、數(shù)據(jù)包(PID1~0:11)、握手包(PID1~0:10)、特殊包(PID1~0:00),
每一個(gè)類型的包中有可以子分為幾種不同功能的包:
令牌包:OUT(0001)、IN(1001)、SOF(0101)、SETUP(1101)
數(shù)據(jù)包:DATA0、DATA1、DATA2、MDATA(后兩種USB1.1不支持)
握手包:ACK、NAK、STALL、NYET(最后一種USB1.1不支持)
特殊包:PRE、ERR、SPLIT、PING(后三種USB1.1不支持)
因?yàn)閁SB為主從結(jié)構(gòu),數(shù)據(jù)傳輸由主機(jī)發(fā)起,設(shè)備只能被動的接聽數(shù)據(jù)(除了遠(yuǎn)程喚醒功能外【遠(yuǎn)程喚醒并不傳輸數(shù)據(jù),只改變下總線狀態(tài)】),所以需要主機(jī)發(fā)送一個(gè)令牌來通知哪個(gè)設(shè)備進(jìn)行響應(yīng),如何響應(yīng);
OUT:輸出令牌包用來通知設(shè)備將要輸出一個(gè)數(shù)據(jù)包
IN:輸入令牌包用來通知設(shè)備返回一個(gè)數(shù)據(jù)包
SETUP:建立令牌包只用在控制傳輸中,他跟輸出令牌包作用一樣,用來通知設(shè)備輸出一個(gè)數(shù)據(jù)包,兩者區(qū)別在SETUP包后只使用DATA0數(shù)據(jù)包,且只能發(fā)送設(shè)備的控制端點(diǎn),并且設(shè)備必須要接受,而OUT包沒有這種限制。
SOF:幀起始包在每幀(或微幀)開始時(shí)發(fā)送,她以廣播的形式發(fā)送,所有USB高速與全速都可以接收到SOF包,USB全速設(shè)備每毫秒產(chǎn)生一個(gè)幀,而USB高速設(shè)備每125微秒產(chǎn)生一個(gè)微幀。在每次幀(微幀,每毫秒內(nèi)的8個(gè)微幀的幀號一致)開始時(shí),通過SOF包發(fā)送幀號,USB主機(jī)則對當(dāng)前的幀號進(jìn)行計(jì)數(shù),SOF令牌包之后是不跟數(shù)據(jù)傳輸,其他的都帶有數(shù)據(jù)傳輸
每一個(gè)令牌包最后都有一個(gè)CRC5的校驗(yàn),他只校驗(yàn)PID之后的數(shù)據(jù)不包括PID本身
。。。。。


回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产成人福利在线 | 一区二区成人 | 国产一级片一区二区三区 | 日韩精品久久久久 | 久久久久中文字幕 | 久久精品一区 | 人成在线视频 | 91麻豆精品国产91久久久久久 | 亚洲国产一区二区三区 | 国产精品视频在线免费观看 | 成人国产精品色哟哟 | 精品亚洲视频在线 | 欧美在线不卡 | 玖玖在线免费视频 | 国产高清视频 | 国产高清精品在线 | 欧美激情一区二区三级高清视频 | 操久久久 | 伊人久久在线观看 | 激情网站 | 亚洲欧美国产毛片在线 | 亚洲精品久久嫩草网站秘色 | 精品国产乱码久久久久久蜜柚 | 久久视频精品 | 久久久久亚洲精品 | 欧美13videosex性极品 | 国产精品成人一区二区三区 | 天天操伊人 | 一级网站 | 日韩一区二区精品 | 欧美久久久久久久 | 亚洲视频免费 | 九一精品| 国产日韩中文字幕 | 欧美99| 久热精品在线观看视频 | 天天干com | 亚洲色图综合网 | 四虎av电影| 在线观看成人 | 亚洲综合大片69999 |