国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

基于嵌入式系統(tǒng)的USB(HID)設(shè)備設(shè)計(jì)

發(fā)布時(shí)間:2010-8-10 14:35    發(fā)布者:lavida
關(guān)鍵詞: HID , USB , 嵌入式系統(tǒng)
目前嵌入式系統(tǒng)在數(shù)字化電子產(chǎn)品領(lǐng)域應(yīng)用越來(lái)越廣泛。隨著其成本的降低,大有取代單片機(jī)的趨勢(shì)。USB 設(shè)備以其小巧、便攜、即插即用、成本低廉等優(yōu)勢(shì)在當(dāng)前的桌面應(yīng)用中有相當(dāng)?shù)谋戎兀绕涫荋ID(人機(jī)接口)設(shè)備,其免驅(qū)的特點(diǎn)(不用安裝驅(qū)動(dòng)程序)更是給用戶(hù)帶來(lái)極大方便。現(xiàn)在市場(chǎng)上USB 設(shè)備多是由專(zhuān)門(mén)的USB 控制芯片來(lái)實(shí)現(xiàn)其應(yīng)用控制,芯片內(nèi)集成了USB 協(xié)議,成本較高。PCB 板的面積較大。本文提出了僅用一片MCU(微處器-單片機(jī))或嵌入式系統(tǒng)芯片來(lái)實(shí)現(xiàn)其與PC 機(jī)的通訊的方法。就單片機(jī)而言,多數(shù)單片機(jī)速度較慢,對(duì)事件的響應(yīng)能力較弱,對(duì)全速USB 應(yīng)用不是很好的選擇。而嵌入式系統(tǒng),由于其速度較之單片機(jī)快很多,內(nèi)部RAM 容量較大,用其來(lái)仿真USB 設(shè)備是個(gè)理想的策略。  

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

1 USB 協(xié)議規(guī)范  

1.1 總線(xiàn)定義:  

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



1.2 USB 版本  

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

1.3 總線(xiàn)長(zhǎng)度  

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

1.4 通訊建立  

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

1.5 電氣特性  

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

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

1.6 NRZI 編碼及位填充  

由于USB 總線(xiàn)沒(méi)有同步時(shí)鐘信號(hào)線(xiàn),想要主機(jī)與設(shè)備建立良好通訊同步效果,只有從數(shù)據(jù)序列中提取同步時(shí)鐘。類(lèi)似RS232 串口通訊,USB 通訊的建立也有起始信息,RS232 是一個(gè)起始位,而USB 起始位也有8 位,稱(chēng)之為同步域(或段)格式為01010100。由于RS232 的通訊速率較低,所以?xún)啥送綍r(shí)鐘不大于5%即可實(shí)現(xiàn)良好通訊。然而USB 通訊最低速率也大于1Mb/S,對(duì)于時(shí)鐘的同步要求嚴(yán)格的多,況且USB 的數(shù)據(jù)包中的每個(gè)字節(jié)不象RS232 每個(gè)字節(jié)都有起始位(僅在包頭有同步域)。鑒此,USB 通訊時(shí)必須在數(shù)據(jù)包的位序列中提取同步信息。想象一下,如果數(shù)據(jù)包序列中數(shù)據(jù)位全是邏輯“1”或者全是邏輯“0”,芯片是無(wú)法提取同步信息的,為此需要一個(gè)高效的編碼方案,于是就有了NRZI 和位填充概念。何謂NRZI,看圖2 所示,NRZI 是非“1”跳變。由圖可知問(wèn)題只解決一半,USB 規(guī)范約定當(dāng)序列1 1中連續(xù)出現(xiàn)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)為設(shè)備終端,每個(gè)USB 設(shè)備(USB 芯片)內(nèi)可以有1—16 個(gè)端點(diǎn),相對(duì)USB 芯片而言,各端點(diǎn)在通訊*能傳輸?shù)臄?shù)據(jù)包的大小和傳輸模式有所不同。在芯片內(nèi)數(shù)據(jù)緩沖區(qū)的地址也有所變化。  

2 嵌入式芯片(LM3S310)  

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

3 實(shí)現(xiàn)原理  

由于LM3S310 控制器每個(gè)GPIO 都可配置為中斷引腳,所以在這個(gè)應(yīng)用中只需要用兩個(gè)同Port 的兩個(gè)相鄰引腳仿真USB 的D+和D-,圖3 所示。  


4 軟件設(shè)計(jì)  

圖4 是一個(gè)簡(jiǎn)化程序流程圖,實(shí)際編程中還有很多細(xì)節(jié),在此不再羅列。下面以中斷傳輸為例,將一個(gè)事務(wù)不同階段思想重點(diǎn)研討。  


LM3S310 芯片利用兩個(gè)GPIO(USB)的中斷監(jiān)控USB 總線(xiàn),當(dāng)USB 總線(xiàn)從空閑狀態(tài)變?yōu)閭鬏敔顟B(tài),也就是總線(xiàn)由主機(jī)發(fā)起與同步域(SYN),LM3S310 進(jìn)入U(xiǎn)SB 接收程序。略過(guò)同步階段,收到的第一個(gè)字節(jié)是PID 字段(包標(biāo)識(shí)類(lèi)型)。這字段的低四位描述此包類(lèi)型方向(IN 或OUT),接下來(lái)7 位表示設(shè)備的地址,然后是四位端點(diǎn)號(hào)索引。LM3S310 根據(jù)設(shè)備地址判定主機(jī)向本設(shè)備發(fā)起的請(qǐng)求,如果是則根據(jù)包的類(lèi)型決定繼續(xù)接收數(shù)據(jù)或向主機(jī)發(fā)送數(shù)據(jù)。對(duì)OUT 類(lèi)型數(shù)據(jù)的后5—16 位是CRC 校驗(yàn)(根據(jù)配置決定CRC 的位數(shù))。對(duì)IN 類(lèi)型,LM3S310將準(zhǔn)備好數(shù)據(jù)連同RC 校驗(yàn)數(shù)據(jù)一同發(fā)往主機(jī)。數(shù)據(jù)傳輸階段完成后,主機(jī)或設(shè)備要確認(rèn)傳輸成功。  

對(duì)于低速設(shè)備的仿真,LM3S310 芯片的速度足以滿(mǎn)足要求(包括一些速度較快單片機(jī),如:PIC、EMP、MSP),然而對(duì)全速設(shè)備的仿真,須要選擇速度更快嵌入式芯片,軟件實(shí)現(xiàn)的原理方法基本相同。  

5 結(jié)論  

使用微控制器仿真USB 設(shè)備的方法,極大地方便了用戶(hù)的開(kāi)發(fā),同時(shí)降低了功耗、成本。本文作者創(chuàng)新點(diǎn)在于利用MCU 或嵌入式控制器實(shí)現(xiàn)USB 設(shè)備功能。本方法在USB 讀卡器、USB 編程器、USB 接口轉(zhuǎn)RS232 及RS485 接口等方面有良好的應(yīng)用前景。
本文地址:http://www.4huy16.com/thread-20579-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠(chǎng)商推薦

  • Microchip視頻專(zhuān)區(qū)
  • 常見(jiàn)深度學(xué)習(xí)模型介紹及應(yīng)用培訓(xùn)教程
  • Microchip第22屆中國(guó)技術(shù)精英年會(huì)上海首站開(kāi)幕
  • 電動(dòng)兩輪車(chē)設(shè)計(jì)生態(tài)系統(tǒng)
  • “芯”光璀璨,鵬城共賞——2025 Microchip中國(guó)技術(shù)精英年會(huì)深圳站回顧
  • 貿(mào)澤電子(Mouser)專(zhuān)區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表