<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于嵌入式系統的USB(HID)設備設計

基于嵌入式系統的USB(HID)設備設計

作者: 時(shí)間:2013-10-12 來(lái)源:網(wǎng)絡(luò ) 收藏

  0 引言

  目前在數字化電子產(chǎn)品領(lǐng)域應用越來(lái)越廣泛。隨著(zhù)其成本的降低,大有取代單片機的趨勢。 設備以其小巧、便攜、即插即用、成本低廉等優(yōu)勢在當前的桌面應用中有相當的比重,尤其是(人機接口)設備,其免驅的特點(diǎn)(不用安裝驅動(dòng)程序)更是給用戶(hù)帶來(lái)極大方便?,F在市場(chǎng)上 設備多是由專(zhuān)門(mén)的 控制芯片來(lái)實(shí)現其應用控制,芯片內集成了USB 協(xié)議,成本較高。PCB 板的面積較大。本文提出了僅用一片MCU(微處器-單片機)或芯片來(lái)實(shí)現其與PC 機的通訊的方法。就單片機而言,多數單片機速度較慢,對事件的響應能力較弱,對全速USB 應用不是很好的選擇。而,由于其速度較之單片機快很多,內部RAM 容量較大,用其來(lái)仿真USB 設備是個(gè)理想的策略。

  本文將以L(fǎng)M310 嵌入式芯片仿真USB()鍵盤(pán)為例,研究其仿真USB 的方法。

  1 USB 協(xié)議規范

  1.1 總線(xiàn)定義:

  USB 又稱(chēng)通用串地總線(xiàn),共有四條線(xiàn),如圖1 所示,VBUS 是設備供電接線(xiàn),電壓+5V,最大供電電流500mA,向設備提供電源。具有過(guò)流保護、供電控制等功能。D-低速信號線(xiàn);D+全速信號線(xiàn);GND 電源地。


  1.2 USB 版本

  常規USB 通訊協(xié)議有USB1.1、USB2.0。USB1.1 版本的USB 設備,支持全速12Mb/S 低速通訊(1.5Mb/S);USB2.0 版本的USB 設備,支持高速通訊(480Mb/S)。由于USB2.0 的通訊速率太高,所以用芯片仿真無(wú)法實(shí)現(必須由單獨芯片控制)。

  1.3 總線(xiàn)長(cháng)度

  USB1.1 版本的設備總線(xiàn)長(cháng)度不大于5 米,通過(guò)集線(xiàn)器或中繼器,可達到30 米95 個(gè)中斷器或集線(xiàn)器)。U2.0 設備總線(xiàn)長(cháng)度不大于3 米。

  1.4 通訊建立

  串口通訊另一個(gè)標準RS232 的通訊發(fā)起方可以從兩端發(fā)起,而USB 通訊發(fā)起方總是在主機端(HOST),設備端總是響應主機端的通訊請求。主機端如果是PC 機,每隔1ms 發(fā)起一次對一個(gè)設備的通訊建立請求,設備接收到訪(fǎng)問(wèn)己方請求后,立即與主機建議起通訊連接。

  1.5 電氣特性

  對于“D-是低帶信號總線(xiàn),D+是高速信號總線(xiàn)是高速總線(xiàn)”的說(shuō)法是不準確的,因為USB 信號總線(xiàn)是平衡差分式的,這點(diǎn)類(lèi)似于485 總線(xiàn)。所謂“在-是低速信號總線(xiàn)”是指當US 陽(yáng)低速設備(如鼠標、鍵盤(pán)) 時(shí),D-這條線(xiàn)在USB 設備端加1.5K 上拉電阻。反之對于全速設備(如U 盤(pán)、打印機、掃描儀),D+信號線(xiàn)加1.5K 上拉電阻。

  關(guān)于D+、D-信號線(xiàn)上的電壓淺談一下,類(lèi)似于485 總線(xiàn),當485 總線(xiàn)的A 相電壓大,B相電壓200mV 時(shí),差分放大器輸出邏輯“1”,反之“0”,USB 總線(xiàn)在低速設備端D-電壓如大于2.0V,D+電壓小于0.8V 為邏輯“1”反之為“0”,在主機端,一根為大于2.8V,另一根小于0.3 發(fā),在此主機端不做深入探究。

  1.6 NRZI 編碼及位填充

  由于USB 總線(xiàn)沒(méi)有同步時(shí)鐘信號線(xiàn),想要主機與設備建立良好通訊同步效果,只有從數據序列中提取同步時(shí)鐘。類(lèi)似RS232 串口通訊,USB 通訊的建立也有起始信息,RS232 是一個(gè)起始位,而USB 起始位也有8 位,稱(chēng)之為同步域(或段)格式為01010100。由于RS232 的通訊速率較低,所以?xún)啥送綍r(shí)鐘不大于5%即可實(shí)現良好通訊。然而USB 通訊最低速率也大于1Mb/S,對于時(shí)鐘的同步要求嚴格的多,況且USB 的數據包中的每個(gè)字節不象RS232 每個(gè)字節都有起始位(僅在包頭有同步域)。鑒此,USB 通訊時(shí)必須在數據包的位序列中提取同步信息。想象一下,如果數據包序列中數據位全是邏輯“1”或者全是邏輯“0”,芯片是無(wú)法提取同步信息的,為此需要一個(gè)高效的編碼方案,于是就有了NRZI 和位填充概念。何謂NRZI,看圖2 所示,NRZI 是非“1”跳變。由圖可知問(wèn)題只解決一半,USB 規范約定當序列1 1中連續出現6 個(gè)邏輯“1”時(shí)加進(jìn)一位“0”,如此問(wèn)題全部解決,只不過(guò)是需要在接收后除去加進(jìn)的一個(gè)位“0”,加進(jìn)一位“0”的過(guò)程就是位填充。


  1.7 USB 通訊模式

  共四種模式:控制傳輸、等時(shí)傳輸、中斷傳輸、批量傳輸。

  1.8 端點(diǎn)

  端點(diǎn)也可稱(chēng)為設備終端,每個(gè)USB 設備(USB 芯片)內可以有1—16 個(gè)端點(diǎn),相對USB 芯片而言,各端點(diǎn)在通訊*能傳輸的數據包的大小和傳輸模式有所不同。在芯片內數據緩沖區的地址也有所變化。

  2 嵌入式芯片(LM3S310)

  Stellaris 系列微控制器(包括L3 同S310)是以ARM CortexTM-M3 為內核設計的。與早期的ARM7 相比較有功耗更低、中斷延時(shí)更小、代碼執行速度更快、價(jià)格更低等優(yōu)勢。

上拉電阻相關(guān)文章:上拉電阻原理
三維掃描儀相關(guān)文章:三維掃描儀原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 嵌入式系統 USB HID

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>