版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、信息工程學(xué)院本科畢業(yè)論文題 目USB無線翻頁筆設(shè)計(jì)及實(shí)現(xiàn)系電子工程專 業(yè)電子信息科學(xué)與技術(shù)班 級(jí)學(xué) 號(hào)學(xué)生姓名指導(dǎo)教師完成日期誠 信 承 諾我謹(jǐn)在此承諾:本人所寫的畢業(yè)論文USB無線翻頁筆設(shè)計(jì)及實(shí)現(xiàn)均系本人獨(dú)立完成,沒有抄襲行為,凡涉及其他作者的觀點(diǎn)和材料,均作了注釋,若有不實(shí),后果由本人承擔(dān)。 承諾人(簽名): 年 月 日摘 要本設(shè)計(jì)是一個(gè)基于USB2.0的無線翻頁筆。由于時(shí)間和經(jīng)費(fèi)原因,為簡(jiǎn)化系統(tǒng),數(shù)據(jù)無線傳輸部分使用市面上的315Mhz的成品。研究的內(nèi)容主要為數(shù)據(jù)的USB傳輸以及HID設(shè)備。通過使用Cypress公司開發(fā)的EZ-USB FX2單片機(jī)CY7C68013,來控制數(shù)據(jù)的接收和處
2、理以及傳送到PC機(jī)。短距離無線通信技術(shù)和USB技術(shù)是目前非常流行的兩項(xiàng)數(shù)據(jù)傳輸技術(shù),得到了廣泛的應(yīng)用。本文結(jié)合無線通信和USB技術(shù)的優(yōu)點(diǎn),設(shè)計(jì)了一種短距離無線USB接口控制系統(tǒng)的方案。論文首先介紹了短距離無線通信技術(shù)的動(dòng)態(tài),分析了相關(guān)的關(guān)鍵技術(shù);接著介紹了USB接口協(xié)議,著重分析了本文采用的USBHID協(xié)議和CY7C68013單片機(jī)、SC2262和SC2272(或PT2272)。論文的重點(diǎn)是設(shè)計(jì)短距離無線USB接口控制系統(tǒng)方案,包括硬件設(shè)計(jì)和軟件設(shè)計(jì)。利用CY7C68013單片機(jī)做控制,作為USB接口芯片,實(shí)現(xiàn)了基于315M射頻電路的無線控制的上下翻頁系統(tǒng)。論文設(shè)計(jì)了系統(tǒng)的硬件原理圖,軟件流程
3、圖和源代碼,并通過固件程序設(shè)計(jì)、仿真和調(diào)試等手段,在對(duì)固件的編程配置中實(shí)現(xiàn)設(shè)計(jì)的功能。關(guān)鍵詞:無線通信;USB技術(shù);射頻技術(shù);HID設(shè)備ABSTRACTThis design is a system based on USB2.0 wireless next page. Due to time and financial reasons, in order to simplify the system, part of the wireless transmission of data using the 315Mhz of the finished product on the market
4、. Study the contents of the USB key for data transmission, as well as HID devices. Cypress developed through the use of EZ-USB FX2 microcontroller CY7C68013, to control the data reception and processing, and sent to the PC.Short-range wireless communication technology and USB technology is currently
5、 very popular two data transmission technology, has been widely used. In this paper, wireless and USB technology, the advantages of designed a short-range wireless USB Interface Control System program.Paper first describes the short-range wireless communication technology developments, analysis of t
6、he relevant key technologies; then introduced the USB interface protocol, focusing on analysis of this paper, the USBHID protocols and CY7C68013 microcontroller, SC2262 and SC2272 (or PT2272). Paper focuses on the design short-range wireless USB interface control system solutions, including hardware
7、 design and software design. CY7C68013 microcontroller used to do control, as the USB interface chip to achieve 315M-based RF wireless control system from top to bottom next page.Paper design of the system's hardware schematics and software flow chart and source code, and through firmware design
8、, simulation and debugging tools, programming in the firmware configuration to achieve the design functionality.Key words:Wireless communication; USB technology; RF technology; HID Equipment目 錄1 引言12 概述22.1 USB無線翻頁概述22.2 本設(shè)計(jì)方案思路32.3 本設(shè)計(jì)用到的軟件工具32.4 主要技術(shù)指標(biāo)33 USB協(xié)議簡(jiǎn)介和數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)53.1 USB(Universal Serial Bu
9、s)的發(fā)展53.2 USB協(xié)議和數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)123.3 HID 設(shè)備184系統(tǒng)總體設(shè)計(jì)224.1 總體方案224.2接收器硬件電路設(shè)計(jì)244.3發(fā)射器硬件電路設(shè)計(jì)304.4軟件設(shè)計(jì)315制作與調(diào)試345.1 焊接345.2 調(diào)試356 結(jié)束語36致 謝37主要參考文獻(xiàn)38附件391 引言目前高校的多媒體投影教室的裝備和使用也越來越多,由于其圖,聲,文并茂深得學(xué)校和學(xué)生的喜歡,但是其使用也暴露出一個(gè)問題,為了控制演示進(jìn)度,老師必須親自用鍵盤或鼠標(biāo)近距離操作電腦,因此在演示過程中,老師一直都只能活動(dòng)在電腦附近很小的區(qū)域,甚至就坐在電腦旁邊。這樣不僅局限了老師自身的活動(dòng)空間,還增大了老師與學(xué)生的距
10、離,使得原本生動(dòng)的多媒體演示缺乏重要的親和力和溝通性,也使得老師的思維由于要進(jìn)行鍵盤操作而影響到講課的連貫性,另外,老師的肢體語言也沒有充分表現(xiàn)出來。能否有一種裝置解決上述問題呢?根據(jù)這個(gè)問題,研制出了基于USB接口的短距離無線翻頁控制系統(tǒng)設(shè)備,目的主要是為了解決傳統(tǒng)的演示操作方式帶來的種種弊端,使得老師徹底擺脫空間的束縛。在教學(xué)的整個(gè)過程中,老師可以在教室里邊隨意走動(dòng),可以走到學(xué)生當(dāng)中,進(jìn)行溝通,從而實(shí)現(xiàn)演示無線,溝通無限的最佳演示效果,使得多媒體教學(xué)更加方便靈活,整個(gè)教學(xué)過程更加自然、親和、人性化。USB作為一種新的解決方案能夠克服其他接口的常見缺點(diǎn),并提供新的能力,包括: USB是一個(gè)可
11、以連接任何設(shè)備的簡(jiǎn)單連接器。 可以把很多外圍設(shè)備連接到同一連接器上。 可以消除系統(tǒng)資源沖突。 自動(dòng)檢測(cè)和配置外圍設(shè)備。 以較低成本實(shí)現(xiàn)系統(tǒng)和外圍設(shè)備的連接。 提高系統(tǒng)性能。 支持對(duì)新設(shè)計(jì)的外圍設(shè)備的連接。 支持老式的硬件和軟件。 低功率。所以,在數(shù)據(jù)傳輸系統(tǒng)中,采用USB(Universal Serial Bus 通用串行總線)在PC連接外圍設(shè)備方面是一個(gè)相當(dāng)好的解決方案。2 概述2.1 USB無線翻頁概述USB無線翻頁系統(tǒng)1-3的工作原理是發(fā)射裝置上的信號(hào)產(chǎn)生、編碼、發(fā)射電路和無線電信號(hào)產(chǎn)生發(fā)射信號(hào)。接收裝置的信號(hào)接收、取出信號(hào)、解碼、處理。單片機(jī)CY7C68013的原理結(jié)構(gòu)應(yīng)用,單片機(jī)與計(jì)
12、算機(jī)的USB接口通信,單片機(jī)固件程序的設(shè)計(jì),射頻接收芯片的原理與應(yīng)用,發(fā)射電路和接收電路的設(shè)計(jì)調(diào)試,整個(gè)系統(tǒng)的聯(lián)調(diào)工作。發(fā)射器編碼器電池鍵盤電路圖2-1 發(fā)射器功能部件接收電路解碼器單片機(jī)USB電路圖2-2 接收器功能部件短距離無線技術(shù)的范圍很廣,在一般意義上,只要通信收發(fā)雙方通過無線電波傳輸信息,并且傳輸距離限制在較短的范圍內(nèi),通常是幾十米以內(nèi),就可以稱為短距離無線通信。短距離無線通信技術(shù)的特征:低成本、低功耗和對(duì)等通信,是短距離無線通信技術(shù)的三個(gè)重要特征和優(yōu)勢(shì)。首先,低成本是短距離無線通信的客觀要求,因?yàn)楦鞣N通信終端的產(chǎn)銷量都很大,要提供終端間的直通能力,沒有足夠低的成本是很難推廣的。其次
13、,低功耗是相對(duì)其它無線通信技術(shù)而言的一個(gè)特點(diǎn),這與其通信距離短這個(gè)先天特點(diǎn)密切相關(guān),由于傳播距離近,遇到障礙物的幾率也小,發(fā)射功率普遍都很低,通常在1毫瓦量級(jí)。最后,對(duì)等通信是短距離無線通信的重要特征,有別于基于網(wǎng)絡(luò)基礎(chǔ)設(shè)施的無線通信技術(shù)。終端之間對(duì)等通信,無須網(wǎng)絡(luò)設(shè)備進(jìn)行中轉(zhuǎn),因此空中接口設(shè)計(jì)和高層協(xié)議都相對(duì)比較簡(jiǎn)單,無線資源的管理通常采用競(jìng)爭(zhēng)的方式。2.2 本設(shè)計(jì)方案思路要實(shí)現(xiàn)對(duì)PPT等應(yīng)用軟件的全屏觀看時(shí)的前后翻頁的短距離無線控制,需要發(fā)射裝置上的信號(hào)產(chǎn)生、編碼、發(fā)射電路和高頻無線電信號(hào)產(chǎn)生發(fā)射信號(hào),接收裝置上的信號(hào)接收、取出信號(hào)、解碼、處理,以及通過單片機(jī)實(shí)現(xiàn)與計(jì)算機(jī)通信。簡(jiǎn)單的說是三
14、個(gè)步驟組成:信號(hào)發(fā)出、信號(hào)接收、計(jì)算機(jī)響應(yīng)。2.3 本設(shè)計(jì)用到的軟件工具Keil C51:隨著硬件的發(fā)展,51單片機(jī)軟件工具已經(jīng)有C級(jí)編譯器。目前常用的FranklinC51和 KeilCsl二種,這二種C51編譯器略有差別。PROTEL:PROTEL是PORTEL公司在20世紀(jì)80年代末推出的電路行業(yè)的CAD軟件,它當(dāng)之無愧地排在眾多EDA軟件的前面,是電路設(shè)計(jì)者的首選軟件。它較早在國內(nèi)使用,普及率也最高,幾乎所有的電路公司都要用到它。早期的PROTEL主要作為印刷板自動(dòng)布線工具使用,運(yùn)行在DOS環(huán)境,對(duì)硬件的要求很低,在無硬盤286機(jī)的IM內(nèi)存下就能運(yùn)行。它的功能較少,只有電原理圖繪制與印
15、刷板設(shè)計(jì)功能,印刷板自動(dòng)布線的布通率也低?,F(xiàn)在的PROTEL己發(fā)展PROTEL99以上了,是個(gè)龐大印制電路板軟件,完全安裝有200多MB,是個(gè)完整的全方位電路設(shè)計(jì)系統(tǒng),它包含了電原理圖繪制、模擬電路與數(shù)字電路混合信號(hào)仿真、多層印刷電路板設(shè)計(jì)(包含印刷電路板自動(dòng)布線)、可編程邏輯器件設(shè)計(jì)、圖表生成、電路表格生成、支持宏操作等功能,同時(shí)還兼容一些其它設(shè)計(jì)軟件的文件格式,如ORCAD、PSPICE、EXCEL等。使用多層印制線路板的自動(dòng)布線,可實(shí)現(xiàn)高密度PCB的100%布通率。2.4 主要技術(shù)指標(biāo)系統(tǒng)技術(shù)指標(biāo): 有效距離大于等于15m 按鍵遲延小于等于0.25 工作溫度20+70 誤碼率小于10一5
16、 工作電壓發(fā)送器:3V電池供電 最大功耗發(fā)送器:80袱電池提供 接收器 :100mwUSB口提供 接收器:5VUSB口供電 可控制軟件Powerpoint3 USB協(xié)議簡(jiǎn)介和數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)3.1 USB(Universal Serial Bus)的發(fā)展USB(Universal Serial Bus 通用串行總線)是1995年康柏、微軟、IBM、DEC等公司為解決傳統(tǒng)總線不足而推廣的一種新型的通信標(biāo)準(zhǔn)。該總線接口具有安裝方便、高帶寬、易于擴(kuò)展等優(yōu)點(diǎn),已逐漸成為現(xiàn)代數(shù)據(jù)傳輸?shù)陌l(fā)展趨勢(shì)?;赨SB的數(shù)據(jù)采集傳輸系統(tǒng)充分利用USB總線的上述優(yōu)點(diǎn),有效解決了傳統(tǒng)數(shù)據(jù)采集傳輸?shù)娜毕?。USB1.0有低速傳
17、輸(1.5Mb/s)和全速傳輸(12Mb/s)模式。12Mbps的帶寬對(duì)于鍵盤鼠標(biāo)等低中速外設(shè)是完全足夠的。也正是USB的諸多優(yōu)點(diǎn)推動(dòng)了它的發(fā)展。為了適應(yīng)其他高速設(shè)備,如打印機(jī)、掃描儀、硬盤和影像設(shè)備,第二代USB協(xié)議,也就是USB2.0,在第一代協(xié)議的基礎(chǔ)上,作了以下擴(kuò)展: 480Mb/s傳輸速度,這個(gè)速率是USB1.1協(xié)議(12Mb/s)的40倍。 完全的向前及向后兼容性,所有的USB1.1的設(shè)備及連接器都可以在USB2.0下運(yùn)行。 一種全新的集線器架構(gòu),這種架構(gòu)可以提供多路12Mb/s的下行接口用來連接USB1.1設(shè)備。自從USB1.0發(fā)布短短幾年間,USB 不光成為了微機(jī)主板上的標(biāo)準(zhǔn)端
18、口,而且還成為了所有微機(jī)外設(shè),包括鍵盤、鼠標(biāo)、打印機(jī)、數(shù)字相機(jī)掃描儀和游戲手柄等等與主機(jī)相連的設(shè)備的標(biāo)準(zhǔn)協(xié)議之一。這種連接較以往普通并口和串口的連接,更具有的優(yōu)勢(shì)有: 一個(gè)USB設(shè)備可以隨時(shí)接入或者拔出,即使是在計(jì)算機(jī)運(yùn)行中(即所謂的即插即用 Plug & Play)。 開發(fā)維護(hù)方便。 當(dāng)一個(gè)USB設(shè)備連接到計(jì)算機(jī)上時(shí),計(jì)算機(jī)會(huì)自動(dòng)檢測(cè)到并與之通信,獲取這個(gè)設(shè)備的功能以及運(yùn)行要求?;谶@些信息,計(jì)算機(jī)自動(dòng)將對(duì)應(yīng)的驅(qū)動(dòng)程序加載到操作系統(tǒng)中。當(dāng)設(shè)備拔出時(shí),計(jì)算機(jī)則會(huì)自動(dòng)卸載這些驅(qū)動(dòng)程序,釋放內(nèi)存空間。 USB設(shè)備沒有撥動(dòng)設(shè)置開關(guān),沒有跳線,也沒有特定的配置程序。在USB協(xié)議中,還沒有IRQ
19、,DMA,memory,或者I/O的概念。 USB擴(kuò)展集線器是一條USB總線可以同時(shí)連接數(shù)個(gè),數(shù)十個(gè),甚至上百個(gè)設(shè)備。 在USB2.0協(xié)議中規(guī)定,新的規(guī)范支持3種傳輸速率。3.1.1 USB傳輸方向一個(gè)USB系統(tǒng)中,只有一個(gè)主控制器:主機(jī)計(jì)算機(jī)。USB設(shè)備響應(yīng)主機(jī)的請(qǐng)求。USB設(shè)備之間無法進(jìn)行任何直接的通訊,必須通過主機(jī)才可以。相比之下,IEEE 1394則是點(diǎn)對(duì)點(diǎn)的通訊協(xié)議,設(shè)備之間可以互相通訊,但實(shí)現(xiàn)起來就要復(fù)雜很多了。然而,只有一種情況下例外,設(shè)備可以初始化一個(gè)請(qǐng)求。當(dāng)主機(jī)使設(shè)備進(jìn)入省電模式(Suspend Mode)后,設(shè)備可以發(fā)出“遠(yuǎn)程喚醒”信號(hào)。其他任何情況都是主機(jī)發(fā)出請(qǐng)求,設(shè)備來
20、響應(yīng)。 這種主從結(jié)構(gòu)的通訊方式有一個(gè)很突出的優(yōu)點(diǎn),就是大部分智能處理都在主機(jī)端,也就是計(jì)算機(jī)端,而設(shè)備端的接口就可以很簡(jiǎn)單,大大降低了USB總線系統(tǒng)的成本。相比之下,IEEE 1394設(shè)備接口的軟件和硬件開銷都大很多。 因?yàn)橹鳈C(jī)是USB總線的主控制者,所以很容易區(qū)分USB的傳輸方向。 OUT就是從主機(jī)到設(shè)備;IN就是從設(shè)備到主機(jī)。3.1.2令牌Tokens和包標(biāo)識(shí)符PIDs一次USB傳輸由一些數(shù)據(jù)包組成,這些數(shù)據(jù)包由包標(biāo)識(shí)符區(qū)分。一個(gè)包標(biāo)識(shí)符代表一種類型的數(shù)據(jù)包。共有4種包標(biāo)識(shí)符,見表3-1:表 3-1 USB PIDsPID TYPEPID NAMETokenIN,OUT,SOF,SETUP
21、DataDATA0,DATA1,DATA2,MDATAHandshakeACK,NAK,STALL,NYETSpecialPRE,ERR,SPLIT,PING圖 3-1描述了一個(gè)USB OUT傳輸。主機(jī)傳輸為紅色部分,設(shè)備傳輸為黃色部分。Packet 1是一個(gè)OUT令牌,由OUT PID標(biāo)識(shí),標(biāo)志著從主機(jī)到設(shè)備的數(shù)據(jù)就要從總線通過。Packet 2裝載著數(shù)據(jù),由DATA1 PID標(biāo)識(shí)。Packet 3是一個(gè)握手包,由設(shè)備向主機(jī)發(fā)出ACK PID包,表示已經(jīng)正確接受到數(shù)據(jù)。 如此重復(fù)執(zhí)行,例如從Packet 4(OUT token 4)開始,還有DATA Packet 5等等,如果成功了,則從設(shè)
22、備端返回ACK PID。圖 3-1 USB Packets在全速傳輸中,每一個(gè)OUT傳輸都帶有一個(gè)OUT數(shù)據(jù)包。在高速傳輸中,為了節(jié)省帶寬,采用了一種新的包,叫“Ping”包。主機(jī)在發(fā)送數(shù)據(jù)包之前,先向設(shè)備發(fā)出一個(gè)Ping包,如果接口設(shè)備有足夠的空間并且已經(jīng)準(zhǔn)備好接收數(shù)據(jù)了,則返回ACK PID包,此時(shí)主機(jī)就將裝有大量數(shù)據(jù)的數(shù)據(jù)包發(fā)出。 在圖3-1中有兩種數(shù)據(jù)包標(biāo)識(shí)符,DATA0和DATA1,是因?yàn)閁SB協(xié)議有嚴(yán)格的校驗(yàn)過程。前面講到的ACK握手?jǐn)?shù)據(jù)包是為了表明設(shè)備端已經(jīng)正確接受了數(shù)據(jù),經(jīng)過了CRC校驗(yàn)。但是為了避免包與包之間次序的混淆,主機(jī)與設(shè)備需要同時(shí)處理一個(gè)數(shù)據(jù)交替位(DATA Togg
23、le bit),保證數(shù)據(jù)包的PID以DATA0DATA1DATA0DATA1的順序傳送。這樣就可以防止中斷的不完整的數(shù)據(jù)傳輸。 SETUP令牌用在控制傳輸中(Control Transfers),它用來傳輸標(biāo)志設(shè)備請(qǐng)求的8個(gè)字節(jié)。 在全速設(shè)備中,幀起始令牌包每1ms發(fā)出一次。在高速設(shè)備中,原先的每一幀數(shù)據(jù)又被分為8個(gè)微幀,這里的幀起始令牌包每125um發(fā)出一次。 在USB2.0中,共有4個(gè)包標(biāo)識(shí)符來表明傳輸?shù)臓顟B(tài),它們是: ACK(ACKnowledge),表明一次傳輸成功。 NAK(Negative ACKnowledge),表明設(shè)備或主機(jī)繁忙,請(qǐng)稍后重新發(fā)送這個(gè)數(shù)據(jù)包。NAK不是錯(cuò)誤,US
24、B中的錯(cuò)誤通常都表現(xiàn)為沒有任何反應(yīng)。 STALL,一個(gè)設(shè)備發(fā)出STALL表示它不明白當(dāng)前接收到的設(shè)備請(qǐng)求,或者主機(jī)訪問了不可訪問的設(shè)備資源。 NYET(Not Yet),與ACK有相同的含義,但同時(shí)又表明沒有準(zhǔn)備好接受另一個(gè)OUT傳輸。這個(gè)包標(biāo)識(shí)符只在USB2.0中存在,只在高速方式時(shí)有效。 一個(gè)PRE(Preamble 前導(dǎo))PID置于低速(1.5Mb/s)USB傳輸之前,是為了在高速傳輸系統(tǒng)中聲明一個(gè)全速傳輸?shù)臄?shù)據(jù)傳輸。而EZ-USB FX2芯片只支持全速(12 Mb/s)傳輸和高速(480 Mb/s)傳輸方式,它將忽略PRE包以及其后跟隨的低速傳輸。3.1.3 從主機(jī)端接收數(shù)據(jù)為了發(fā)送數(shù)
25、據(jù)到USB外圍設(shè)備,主機(jī)會(huì)在數(shù)據(jù)之后發(fā)出OUT令牌包。如果外圍設(shè)備還有容量空間,并能無錯(cuò)誤地接收數(shù)據(jù),就會(huì)回復(fù)ACK,讓主機(jī)知道。如果正處在忙狀態(tài),則以NAK來取代傳輸。假如發(fā)現(xiàn)了一個(gè)錯(cuò)誤,則不傳輸任何信息。對(duì)于后兩種情況,主機(jī)會(huì)在稍后傳輸數(shù)據(jù)。3.1.4發(fā)送數(shù)據(jù)到主機(jī)USB設(shè)備不會(huì)“自然地”將數(shù)據(jù)傳輸?shù)街鳈C(jī)上,為了傳輸,EZ-USB FX2的固件或外圍邏輯任何時(shí)候都能裝載數(shù)據(jù)到EZ-USB FX2端點(diǎn)緩沖區(qū)并完成打包。但是,直到主機(jī)端發(fā)出IN的設(shè)備請(qǐng)求,這些數(shù)據(jù)才會(huì)從設(shè)備傳送的主機(jī)端。如果主機(jī)一直不發(fā)IN令牌,則這些數(shù)據(jù)就永遠(yuǎn)也發(fā)不出去,是否還保存在EZ-USB FX2端點(diǎn)緩沖區(qū)就不一定了。
26、3.1.5 USB 幀對(duì)于所有USB設(shè)備,USB主機(jī)通過每1ms向設(shè)備發(fā)送一個(gè)SOF(幀起始)來時(shí)間同步。SOF(幀起始)包含對(duì)每一幀進(jìn)行累加計(jì)數(shù)的11位計(jì)數(shù)值,當(dāng)前的幀計(jì)數(shù)值0-2047可在任何時(shí)刻從EZ-USB FX2內(nèi)部寄存器中讀到。 在高速傳輸狀態(tài),每1ms幀被分為8個(gè)125us“微幀(microframe)”,每一個(gè)微幀都由SOF包作為先導(dǎo)。而幀計(jì)數(shù)值則仍然是每1ms累加一次,所以這些SOF包中包含同樣的幀計(jì)數(shù)值。為了保持當(dāng)前的微幀計(jì)數(shù)值0-7,EZ-USB FX2提供了一個(gè)可讀的微幀計(jì)數(shù)器。只要FX2接收到一個(gè)SOF包,它就生成一次中斷請(qǐng)求(全速方式時(shí),每1ms一次;高速方式時(shí),每
27、125us一次)。這個(gè)SOF中斷非常有用,例如可以用于同步端。3.1.6 USB傳輸類型USB定義了四種傳輸類型,它們分別滿足不同的數(shù)據(jù)傳輸需要。 批量傳輸(Bulk Transfers)圖 3-2 兩個(gè)Bulk傳輸, IN And OUT批量傳輸是一種突發(fā)(burst)的傳輸模式的。在全速方式時(shí),數(shù)據(jù)包的大小可以是8個(gè)字節(jié),16個(gè)字節(jié),32個(gè)字節(jié)或者64個(gè)字節(jié)。高速傳輸中數(shù)據(jù)包的大小為512個(gè)字節(jié)。由于其具有自動(dòng)的錯(cuò)誤數(shù)據(jù)校驗(yàn)機(jī)制(CRC),所以批量傳輸能確保其正確性。當(dāng)帶寬允許的時(shí)候,主機(jī)端才發(fā)送批量傳輸請(qǐng)求。批量傳輸主要用于打印機(jī),掃描儀,硬盤,調(diào)制/解調(diào)器等。批量傳輸示意圖如圖3-3所
28、示: 中斷傳輸(Interrupt Transfers)圖 3-3中斷傳輸中斷傳輸有點(diǎn)兒類似批量傳輸。中斷傳輸?shù)臄?shù)據(jù)包的大小在全速方式為164字節(jié),而在高速方式時(shí),可以達(dá)到1024字節(jié)。中斷端點(diǎn)必須設(shè)置輪詢間隔,以保證經(jīng)過主機(jī)做有規(guī)則的詢問(接收IN令牌)。因此,此種中斷傳輸方式有點(diǎn)兒像PC主機(jī)的輪詢方式。早期的USB1.0協(xié)議,僅具備中斷IN傳輸;而在USB1.1以后的協(xié)議,則增加了中斷OUT傳輸。 同步傳輸(Isochronous Transfer)同步傳輸具有時(shí)間臨界的特性,通常應(yīng)用在視頻或者音頻數(shù)據(jù)流的傳送。一個(gè)同步信息包,在全速方式時(shí)可以達(dá)到1023個(gè)字節(jié),而在高速方式時(shí)可以達(dá)到10
29、24個(gè)字節(jié)。 對(duì)于同步傳輸,傳輸?shù)臅r(shí)間是最重要的請(qǐng)求信息。在每一個(gè)USB幀里,會(huì)申明某些帶寬給同步傳輸使用。為了減輕帶寬的負(fù)擔(dān),同步傳輸沒有設(shè)置任何的握手包(ACK/NAK/STALL/NYET),而且也不會(huì)在發(fā)生錯(cuò)誤時(shí)重試。錯(cuò)誤檢測(cè)僅限于16位CRC錯(cuò)誤檢驗(yàn)碼。由于同步傳輸沒有采用DATA-toggle機(jī)制,所以在全速方式中,同步傳輸僅使用了DATA0 PID;而在高速方式中,同步傳輸使用了DATA0、DATA1、DATA2和MDATA。在全速方式下,每一端點(diǎn)、每一幀僅只有一個(gè)同步信息包能被傳輸;而在高速方式下,可以有3個(gè)同步信息包。同步傳輸示意圖如圖3-4所示:圖 3-4 同步傳輸 控制傳
30、輸控制傳輸用來配置設(shè)備和給設(shè)備發(fā)送命令。由于其重要性,所以采取了更為嚴(yán)格的校驗(yàn)機(jī)制。主機(jī)在每一USB幀中都保留了一部分帶寬給控制傳輸(一般為10%)。控制傳輸示意圖如圖3-5所示。一個(gè)控制傳輸包括23個(gè)階段。其中,SETUP階段包含8個(gè)字節(jié)的USB控制數(shù)據(jù)。如有必要,可以執(zhí)行DATA階段,次階段包含有更多的數(shù)據(jù)。在STATUS(或握手)階段中,允許設(shè)備返回成功標(biāo)識(shí)。圖 3-5 控制傳輸3.1.7設(shè)備枚舉(Enumeration)即插即用的USB設(shè)備實(shí)現(xiàn)了真正意義上的即插即用,哪怕你的計(jì)算機(jī)正在使用。在每一個(gè)USB設(shè)備的內(nèi)部都有一個(gè)設(shè)備描述符表,其中包含了設(shè)備全部的要求和特性。當(dāng)一個(gè)USB設(shè)備插
31、入計(jì)算機(jī)后,USB主機(jī)端將會(huì)執(zhí)行認(rèn)證程序,這個(gè)過程被稱為設(shè)備枚舉。設(shè)備枚舉只要有以下五個(gè)步驟: 主機(jī)通過預(yù)設(shè)的地址0向設(shè)備發(fā)送獲取描述符的請(qǐng)求(Get Descriptor)來獲得設(shè)備描述符。每一個(gè)剛連接上的設(shè)備都必須響應(yīng)0地址的請(qǐng)求。 設(shè)備響應(yīng)請(qǐng)求,將ID數(shù)據(jù)發(fā)送到主機(jī)端,確認(rèn)自己連上了。 主機(jī)向設(shè)備發(fā)送設(shè)置地址的請(qǐng)求(Set Address),分配給設(shè)備一個(gè)唯一的通訊地址,可以與其他設(shè)備區(qū)分開來。 主機(jī)通過新分配的地址向設(shè)備發(fā)送更多的索要描述符的請(qǐng)求,進(jìn)一步了解設(shè)備的信息,包括端點(diǎn)數(shù)目,電力要求,帶寬要求,需要什么樣的驅(qū)動(dòng)程序,等等。 加載符合USB指定的PID(產(chǎn)品碼)和VID(制造商碼
32、)的驅(qū)動(dòng)程序。3.1.8設(shè)備重枚舉(二次枚舉)因?yàn)镕X2軟件式的配置模式,當(dāng)一個(gè)設(shè)備連接到主機(jī)時(shí),它可以作為一個(gè)默認(rèn)的設(shè)備出現(xiàn),然后從主機(jī)端下載固件程序和新的設(shè)備描述符。這時(shí)候,F(xiàn)X2設(shè)備重新進(jìn)行枚舉,在主機(jī)端看來就好像變成了另外一個(gè)設(shè)備。這個(gè)過程就是二次枚舉過程。 同時(shí),F(xiàn)X2也可以從外部擴(kuò)展的EEPROM中讀取描述符和程序。3.1.9 行接口引擎(Serial Interface Engine, SIE)圖 3-6 串行接口引擎示意圖0 USB帶寬每一個(gè)USB設(shè)備都有一個(gè)串行接口引擎(SIE)連接到USB數(shù)據(jù)線(D+和D-)。設(shè)備通過這個(gè)引擎發(fā)送或者接收數(shù)據(jù)。在圖 36中介紹了SIE工作的
33、基本情況。SIE的功能是對(duì)信息包PID進(jìn)行譯碼,利用傳輸?shù)腃RC位進(jìn)行錯(cuò)誤檢測(cè),并且傳輸下載數(shù)據(jù)到USB設(shè)備。當(dāng)設(shè)備發(fā)送數(shù)據(jù)時(shí),SIE接受設(shè)備的控制命令和數(shù)據(jù),把數(shù)據(jù)打包成標(biāo)準(zhǔn)數(shù)據(jù)包,通過D+和D-傳輸?shù)街鳈C(jī)端。由于USB采用了自時(shí)鐘數(shù)據(jù)格式(NRZI),為了保證在串行數(shù)據(jù)傳輸?shù)钠焚|(zhì),SIE會(huì)在適當(dāng)?shù)牡胤讲迦胛?,這個(gè)動(dòng)作稱之為填充。顯然這一動(dòng)作是由FX2的SIE控制的。 FX2的一個(gè)突出的特性就是它的運(yùn)行配置是“軟件”式的,取代了以往需要ROM或者可燒寫存儲(chǔ)器的要求。取而代之的是一片內(nèi)置的RAM內(nèi)存,它包含了內(nèi)部程序、數(shù)據(jù)RAM,可通過USB總線本身來下載運(yùn)行,并且可賦予設(shè)備基本特性。這樣做使
34、FX2的工作方式更加靈活,升級(jí)和修改變得很容易實(shí)現(xiàn)。 FX2中設(shè)計(jì)“前衛(wèi)”的SIE還有一項(xiàng)附加的功能就是它可完全獨(dú)立地完成設(shè)備枚舉的任務(wù)。因?yàn)樗幌盗袃?nèi)置的配制和描述符,即使在沒有裝載任何程序的情況下,F(xiàn)X2也可以作為一個(gè)完整的USB設(shè)備完成程序下載和對(duì)CPU進(jìn)行復(fù)位的任務(wù)。 這種增強(qiáng)的SIE功能也使得用EZ-USB FX2進(jìn)行開發(fā)的用戶非常方便,縮短了開發(fā)周期。通用性和即插即用性是USB的兩大優(yōu)點(diǎn),但是USB1.1只有12Mbps,這一點(diǎn)大大限制了USB應(yīng)用范圍。其塊傳輸最大實(shí)際傳送速率小于1Mb/s。USB2.0推出時(shí),最引人注目的地方就是480Mbps的帶寬,是USB1.1協(xié)議的40倍。
35、如此快的速率已經(jīng)超過了IEEE 1394接口,更加促進(jìn)了USB2.0的普及。3.2 USB協(xié)議和數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)隨著USB的發(fā)展,許多半導(dǎo)體公司推出自己的USB芯片。Cypress半導(dǎo)體公司的EZ-USB系列芯片以其良好的性能和獨(dú)特的設(shè)計(jì)在USB接口開發(fā)領(lǐng)域中占有重要的位置。其中EZ-USB中的FX2系列是Cypress半導(dǎo)體公司的第一代高速USB系列,可以用USB2.0最大數(shù)據(jù)傳輸率傳輸。與EZ-USB1.1相比,EZ-USB FX2可提供更高的性能和更高的集成水平,包括提高40倍的480Mb/s的信號(hào)速率。該芯片基于成熟的EZ-USB FX芯片開發(fā),通過集成的發(fā)送器、SIE、8051微控制器
36、、存儲(chǔ)器和可編程的I/O接口,提供USB2.0支持。這是一種完全集成的USB2.0方案,具有USB2.0的全帶寬功能。EZ-USB FX2簡(jiǎn)介由于篇幅限制,本論文不可能詳細(xì)地介紹EZ-USB FX2單片機(jī)。所以本論文只詳細(xì)介紹涉及到的芯片功能,其余的詳情請(qǐng)參閱論文后所列舉的參考資料。 Cypress半導(dǎo)體的EZ-USB FX2是一種單芯片USB2.0接口芯片。它的結(jié)構(gòu)與先前的EZ-USB FX系列類似。雖然它保留了很多EZ-USB FX的架構(gòu),但是一些組成部分經(jīng)過了改進(jìn)和重新設(shè)計(jì)用以實(shí)現(xiàn)USB2.0更高的傳輸速率。Cypress半導(dǎo)體的EZ-USB FX2芯片與FX系列最大的區(qū)別就是支持USB
37、2.0協(xié)議所規(guī)定的高帶寬。FX2為很多應(yīng)用提供了一個(gè)高度集成的解決方案。同EZ-USB FX一樣,EZ-USB FX2有以下特征: 一個(gè)集成的,高性能的CPU,這個(gè)CPU是在工業(yè)標(biāo)準(zhǔn)的8051處理器的基礎(chǔ)上改進(jìn)的。 一種基于RAM的軟件架構(gòu),允許無限制的設(shè)置和升級(jí)。 全速的吞吐量。端點(diǎn),緩沖區(qū)以及傳輸速率針對(duì)協(xié)議均沒有特殊限制。 自動(dòng)地處理絕大多數(shù)USB協(xié)議的內(nèi)容,這樣大大簡(jiǎn)化了代碼學(xué)習(xí)和開發(fā)的難度。圖 3-7 FX2 128-pin簡(jiǎn)化結(jié)構(gòu)圖FX2將USB接口所需要的智能處理都集成到一個(gè)芯片中。如圖 3-7所示,一個(gè)集成的差分信號(hào)接收器連接到USB的D+和D-的數(shù)據(jù)線上。一個(gè)串口引擎對(duì)串行數(shù)
38、據(jù)進(jìn)行解碼和編碼,同時(shí)還負(fù)責(zé)USB所需要的錯(cuò)誤校驗(yàn),位填充和其他一些信號(hào)級(jí)的處理。SIE把并行數(shù)據(jù)通過USB接口發(fā)出或接收。 為了配合實(shí)現(xiàn)USB2.0的高帶寬,F(xiàn)X2端點(diǎn)的FIFO和Slave FIFO(用來與外界通訊)是統(tǒng)一的存儲(chǔ)空間,以減少內(nèi)部傳輸需要的時(shí)間。 FX2的CPU是一個(gè)增強(qiáng)型的8051,它執(zhí)行地更快,也有一些功能上的擴(kuò)展。它使用內(nèi)部RAM來存儲(chǔ)程序和數(shù)據(jù)。 較高級(jí)別的USB通訊通常對(duì)帶寬的要求不是很高,所以FX2的CPU非常適合處理這些復(fù)雜的協(xié)議。但是,通過CPU不能實(shí)現(xiàn)USB2.0所提供的高帶寬。因此,CPU通常在高帶寬應(yīng)用中是不參與數(shù)據(jù)傳輸過程的,數(shù)據(jù)在端點(diǎn)FIFO和外部接
39、口間傳輸。簡(jiǎn)言之,CPU配置好接口后,就脫離數(shù)據(jù)傳輸路徑,USB通過FIFO直接與外部通信。 FIFO可以由外部邏輯控制器控制,提供時(shí)鐘和時(shí)鐘使能信號(hào)來實(shí)現(xiàn)同步傳輸,或者提供Strobe信號(hào)進(jìn)行異步傳輸。 FIFO也可以由FX2的內(nèi)部時(shí)鐘生成器控制,這個(gè)生成器也叫做通用可編程接口(GPIF, General Programable Interface)。GPIF實(shí)際上是一個(gè)內(nèi)部的邏輯控制器,和FIFO直接接口并生成各種控制邏輯信號(hào)實(shí)現(xiàn)FIFO與外部接口的數(shù)據(jù)傳輸。另外,GPIF也可以通過對(duì)RDY引腳的采樣來接受外部的觸發(fā)信號(hào)。GPIF比FIFO的工作效率高很多以保證實(shí)現(xiàn)高效的控制應(yīng)用。它的時(shí)鐘
40、信號(hào)可以由外部提供(5-48MHz),也可以由內(nèi)部時(shí)鐘產(chǎn)生(30MHz或者48MHz)。 FX2的功能總覽 內(nèi)嵌480Mb/s的收發(fā)器器(PLL和SIE),包括全部USB2.0物理層(PHY) 。 內(nèi)部端點(diǎn)FIFO,可以配制成雙緩沖,三緩沖和四緩沖,以適應(yīng)480Mb/s的USB2.0數(shù)據(jù)傳輸率。 內(nèi)嵌可以工作在48MHz的頻率的增強(qiáng)型8051內(nèi)核。Ø 性能全面: 含有256字節(jié)寄存器RAM、2個(gè)USART、3個(gè)定時(shí)/計(jì)數(shù)器和2個(gè)數(shù)據(jù)指針。Ø 快速性:每條命令只需要4個(gè)時(shí)鐘周期(工作在48MHz頻率時(shí)為83.3ns)。Ø 采用SFR存儲(chǔ)控制寄存器(包括I/O端口),
41、以便滿足高速要求。Ø 為縮短ISR等待時(shí)間,采用USB矢量中斷。Ø 使用USB內(nèi)部事務(wù)處理和控制,而不是采用高速數(shù)據(jù)傳輸。 “軟方式”處理:USB固件程序可通過USB下載到芯片,并且不需要硬件編碼存儲(chǔ)器。 4個(gè)接口FIFO:它們都可以由外部和內(nèi)部來提供時(shí)鐘,端點(diǎn)FIFO與接口FIFO兩者相結(jié)合可實(shí)現(xiàn)縮短USB和外部邏輯電路數(shù)據(jù)傳輸時(shí)間。 通用可編程接口(GPIF)作為一種微編碼狀態(tài)設(shè)備,可實(shí)現(xiàn)時(shí)序管理,使得FX2FIFO達(dá)到無縫鏈接。3.2.3 FX2端點(diǎn)緩沖區(qū)USB協(xié)議將端點(diǎn)緩沖區(qū)定義為一個(gè)數(shù)據(jù)來源或者數(shù)據(jù)接收區(qū)。因?yàn)閁SB是一個(gè)串行數(shù)據(jù)線,端點(diǎn)緩沖區(qū)實(shí)際上是一個(gè)用USB
42、數(shù)據(jù)字節(jié)不斷取空和填滿的FIFO。通訊時(shí),主機(jī)通過發(fā)送一個(gè)4位的地址和一個(gè)方向位來選擇一個(gè)端點(diǎn)來傳輸數(shù)據(jù)。因此,一個(gè)USB能夠選擇32個(gè)具有特定地址的端點(diǎn),即IN0-IN15以及OUT0-OUT15。 從FX2的角度來看,端點(diǎn)就是一個(gè)充滿了總線上接收或保持傳輸字節(jié)的緩沖區(qū)。FX2從OUT端點(diǎn)緩沖區(qū)讀取主機(jī)發(fā)出的數(shù)據(jù),并且向IN端點(diǎn)緩沖區(qū)寫要傳輸給主機(jī)的數(shù)據(jù)。3個(gè)64字節(jié)的緩沖區(qū)被設(shè)計(jì)成EP0、EP1IN、EP1OUT。EP0是默認(rèn)的控制端點(diǎn)0,是一個(gè)用于IN和OUT數(shù)據(jù)的單64字節(jié)緩沖區(qū)雙向端點(diǎn)。當(dāng)在控制傳輸?shù)臄?shù)據(jù)操作發(fā)出請(qǐng)求時(shí),F(xiàn)X2的固件程序就會(huì)讀或者填充EP0緩沖區(qū)。在控制傳輸中(.4)
43、,8個(gè)設(shè)置字節(jié)不會(huì)出現(xiàn)在64字節(jié)EP0端點(diǎn)緩沖區(qū),而是簡(jiǎn)單的編程來替代,F(xiàn)X2自動(dòng)存儲(chǔ)這8個(gè)字節(jié)到獨(dú)自的緩沖區(qū)(SETUPDAT,地址為0xE6B8-0xE6BF)。EPIN和EPOUT使用各自獨(dú)立的64字節(jié)緩沖區(qū)。端點(diǎn)2、4、6和8是大端點(diǎn),適用于高帶寬的數(shù)據(jù)傳輸。它們能配置成各種不同的方式,從而適應(yīng)帶寬的要求。圖3-8指示了大端點(diǎn)的各種方式中雙、三、四緩沖區(qū)的情況。雙緩沖區(qū)意味著,一個(gè)數(shù)據(jù)包能夠取空或用USB數(shù)據(jù)填充,同時(shí)另外一個(gè)數(shù)據(jù)包(從同一個(gè)端點(diǎn)來的)有外部邏輯電路處理。三緩沖區(qū)增加了第3個(gè)包緩沖區(qū)作為儲(chǔ)備,根據(jù)需要通過任何一邊(USB或接口)來使用。四緩沖區(qū)增加了第4個(gè)包緩沖區(qū)。當(dāng)數(shù)
44、據(jù)提供和消耗速率相等時(shí),多個(gè)緩沖區(qū)能夠有效地提高USB的帶寬性能,但會(huì)產(chǎn)生數(shù)據(jù)漏缺。為了彌補(bǔ)這一情況,減小或消除它,需要一邊等待另一邊。端點(diǎn)2、4、6和8的配置可選擇的條目如表3-2所示:表3-2 端點(diǎn)2、4、6和8的配置選擇特性選擇方向IN,OUT類型批量、中斷、同步緩沖雙、三、四緩沖FX2固件程序能夠配置EPIN和EPOUT這些端點(diǎn)作為BULK、INTERRUPT和ISOCHRONOUS。這些端點(diǎn)以及端點(diǎn)EP0只有通過FX2的固件程序進(jìn)行存取,而大端點(diǎn)EP2、EP4、EP6和EP8緩沖區(qū)被設(shè)計(jì)用于高帶寬數(shù)據(jù)在片上或者片外直接傳輸,而無須固件程序的干擾。圖 3-8 EZ-USB FX2 端點(diǎn)
45、緩沖區(qū)3.3 HID 設(shè)備HID是Human Interface Devices的縮寫,即人機(jī)接口設(shè)備。典型的HID設(shè)備有鍵盤和鼠標(biāo)等,其主要用于和計(jì)算機(jī)進(jìn)行交互通信?,F(xiàn)在的操作系統(tǒng)中都已經(jīng)內(nèi)置了HID設(shè)備類驅(qū)動(dòng),一般不需要安裝驅(qū)動(dòng)程序。通用的HID設(shè)備可以直接使用HID設(shè)備類驅(qū)動(dòng)程序(hidclass.sys)和HID小驅(qū)動(dòng)程序(hidusb.sys)與計(jì)算機(jī)進(jìn)行通信。HID簡(jiǎn)介:HID設(shè)備是USB協(xié)議中最早提出并支持的一種設(shè)備類。HID設(shè)備可以作為低速、全速或者高速設(shè)備來使用。HID設(shè)備一般要求每個(gè)用戶的輸入都能得到及時(shí)響應(yīng)。因此HID設(shè)備普遍采用中斷傳輸,用于對(duì)USB設(shè)備發(fā)出的少量數(shù)據(jù)進(jìn)
46、行及時(shí)響應(yīng)。 識(shí)別HID類設(shè)備對(duì)于任何USB設(shè)備,HID的描述符告訴了主機(jī)為了和設(shè)備通信,它需要知道什么。程序表單顯示了一個(gè)HID類游戲的范例設(shè)備、配置、接口、類和終端描述符。當(dāng)主機(jī)發(fā)送GET_DESCRIPTOR來請(qǐng)求包含HID的接口配置時(shí),主機(jī)就知道了HID接口。配置的接口描述符識(shí)別為HID。HID類描述符指定了接口支持的報(bào)告描述符的數(shù)量。在列舉過程中,HID驅(qū)動(dòng)得到了HID類和報(bào)告描述符。 描述符內(nèi)容設(shè)備和配置描述符沒有HID功特定信息。設(shè)備描述符包含類代碼,但這不是設(shè)備被定義為HID的位置。相反,是接口描述符使主機(jī)知道設(shè)備,更確切地說,設(shè)備接口是屬于HID類的位置。如果設(shè)備接口描述符的
47、類代碼字節(jié)是3,則接口是HID。引導(dǎo)接口子類字段只有一個(gè)有效設(shè)置。子類1表明設(shè)備支持一個(gè)引導(dǎo)接口。當(dāng)設(shè)備具有一個(gè)引導(dǎo)接口時(shí),即使主機(jī)的HID沒有調(diào)用,也能工作。當(dāng)計(jì)算機(jī)直接啟動(dòng)到DOS,或者啟時(shí)查看你能訪問的系統(tǒng)設(shè)置屏幕,或者使用WINDOWS安全模式解決系統(tǒng)問題時(shí),會(huì)遇到這種情況。有一個(gè)引導(dǎo)接口的鍵盤或者鼠標(biāo)可以使用很多主機(jī)的BIOS支持的預(yù)先定義的、簡(jiǎn)化的協(xié)議BIOS從ROM或其他永久性的內(nèi)存調(diào)用,很多操作系統(tǒng)模式都可以使用。HID規(guī)范定義了鍵盤和鼠標(biāo)的疏導(dǎo)接口協(xié)議。如果設(shè)備沒有一個(gè)引導(dǎo)接口,則由協(xié)議字段來表明設(shè)備是否支持鍵盤(1)或鼠標(biāo)(2)接口。0值表明沒有設(shè)備,值3-255是保留值。
48、子類若為0則表示設(shè)備支持引導(dǎo)協(xié)議,值2-255是保留值。HID使用文檔定義了鍵盤和鼠標(biāo)的引導(dǎo)描述符。BI0S不需要從設(shè)備中讀取描述符,因?yàn)樗绤f(xié)議是什么,并假定設(shè)備支持它。因此引導(dǎo)設(shè)備不需要在固件里包括一個(gè)引導(dǎo)接口描述符;如果主機(jī)沒有請(qǐng)求報(bào)告協(xié)議,則它只需支持引導(dǎo)協(xié)議。當(dāng)操作系統(tǒng)載入時(shí),HID驅(qū)動(dòng)使用HID特定請(qǐng)求SET_PROTOCOL,來使得設(shè)備從引導(dǎo)協(xié)議轉(zhuǎn)換到在報(bào)告描述符里定義的報(bào)告協(xié)議。 HID類描述符HID設(shè)備都必須支持3個(gè)類描述符:HID描述符、報(bào)告描述符和物理描述符。一個(gè)USB設(shè)備只能包含一個(gè)HID描述符,但其可以支持多個(gè)報(bào)告描述符,而物理描述符則可以有也可以沒有。HID描述符
49、:USB設(shè)備的HID設(shè)備描述符用于識(shí)別HID設(shè)備中所有包含的額外描述符。例如報(bào)告符或者物理描述符等等。HID描述符的定義格式見表3-3:偏移量(十進(jìn)制)字段大?。˙)描 述0BLengt1描述符的字節(jié)長度1bDeseriPtorTyP121h表示HID類2BcdHID2HID規(guī)范發(fā)布號(hào)(BCD)4BCountryCod1識(shí)別本地華硬件的國家的數(shù)字表達(dá)方式(BCD) 5BNumDeseriPtor1支持的從屬類描述符的數(shù)量6BDeseriPtorTyP1類描述符類型7WdeseriPtorLengt2報(bào)告描述的總長度9BDeseriPtorTyP1識(shí)別描述符類型的常數(shù)。對(duì)于有多于一個(gè)描述符的設(shè)備
50、十可選擇的10WDeseriPtorLengt2描述符的總長度。對(duì)于有多于一個(gè)描 述符的設(shè)備是可選擇的。后面可以跟著其他的wDSerivtorType和 WdeseriPtorLengt字段表3-3 HID描述符報(bào)告描述符:HID設(shè)備的報(bào)告描述符是一種數(shù)據(jù)表,主要用于定義HID設(shè)備和USB主機(jī)之間的數(shù)據(jù)交換格式,HID設(shè)備報(bào)告描述符的類型為22H。報(bào)告描述符使用自定義的數(shù)據(jù)結(jié)構(gòu),用于傳輸特定的數(shù)據(jù)包。例如對(duì)鍵盤,需要在數(shù)據(jù)包中指明按鍵所對(duì)應(yīng)的鍵值。報(bào)告描述符使用數(shù)據(jù)項(xiàng)將這些數(shù)據(jù)結(jié)構(gòu)組織起來,主要獲得這些報(bào)告描述符后,根據(jù)數(shù)據(jù)項(xiàng)中的數(shù)據(jù)進(jìn)行處理。HID報(bào)告描述符的數(shù)據(jù)項(xiàng)結(jié)構(gòu)如圖3-9所示,其中包
51、含四個(gè)組成部分,下面分別介紹:0 1 2 3 4 5 6 7 8 23bSizebTypeBtagdata數(shù)據(jù)項(xiàng)長度 數(shù)據(jù)項(xiàng)類型 數(shù)據(jù)項(xiàng)標(biāo)簽 數(shù)據(jù)項(xiàng)字節(jié)圖3-9數(shù)據(jù)項(xiàng)格式 bSize:數(shù)據(jù)項(xiàng)長度,用于表示數(shù)據(jù)字節(jié)部分包含的字節(jié)個(gè)數(shù)。當(dāng)bSize=00b時(shí),表示沒有數(shù)據(jù)字節(jié);當(dāng)bSize=01b時(shí),表示包含1個(gè)數(shù)據(jù)字節(jié);當(dāng)bSize=10b時(shí),表示包含2個(gè)數(shù)據(jù)字節(jié);當(dāng)bSize=11b時(shí),表示包含4個(gè)數(shù)據(jù)字節(jié)。 bType:數(shù)據(jù)項(xiàng)類型,用于指明數(shù)據(jù)項(xiàng)的類型。當(dāng)bType=00b時(shí),表示主數(shù)據(jù)類型;當(dāng)bType=01b時(shí),表示全局?jǐn)?shù)據(jù)類型;當(dāng)bType=10b時(shí),表示局部數(shù)據(jù)類型;當(dāng)bType=1
52、1b時(shí),保留,未使用。 Btag:數(shù)據(jù)項(xiàng)標(biāo)簽,用于指明數(shù)據(jù)項(xiàng)的功能。報(bào)告描述符需要包含的數(shù)據(jù)項(xiàng)標(biāo)簽有:輸入輸出數(shù)據(jù)項(xiàng)標(biāo)簽、用法數(shù)據(jù)項(xiàng)標(biāo)簽、用法頁數(shù)數(shù)據(jù)項(xiàng)標(biāo)簽、邏輯最大和最小值數(shù)據(jù)項(xiàng)標(biāo)簽、報(bào)告大小數(shù)據(jù)項(xiàng)標(biāo)簽以及報(bào)告計(jì)數(shù)數(shù)據(jù)項(xiàng)標(biāo)簽。 data:數(shù)據(jù)項(xiàng)字節(jié),隨著前面bSize定義的大小而變化。物理描述符:HID設(shè)備的物理描述符用于報(bào)告物理設(shè)備的激活信息,物理描述符的類型值為23H。物理描述符是可選的,但對(duì)于大部分的HID設(shè)備,一般不需要使用該描述符。4系統(tǒng)總體設(shè)計(jì)4.1 總體方案1.信號(hào)發(fā)出:信號(hào)由內(nèi)置的射頻電路產(chǎn)生并發(fā)出,產(chǎn)生的A,B編碼信號(hào)分別代表往前翻頁和往后翻頁,一直按住表示連續(xù)翻動(dòng)頁面,由
53、于其采用頻段低,波長長,無線電繞射等特征比較明顯,故遙控的方向感不明顯。同時(shí)內(nèi)置激光頭和激光供電電路。2.信號(hào)接收:無線電接收模塊收到信號(hào)之后,將數(shù)字信號(hào)傳給單片機(jī),單片機(jī)將接收到的數(shù)字信號(hào)進(jìn)行解碼處理后,再傳給USB處理芯片,USB芯片按照USBI.1協(xié)議將數(shù)據(jù)傳給計(jì)算機(jī),計(jì)算機(jī)則通過USB總線所檢測(cè)到的USB設(shè)備后所安裝的相應(yīng)設(shè)備驅(qū)動(dòng)程序,從而控制相應(yīng)動(dòng)作。無線電模塊可以保證在室內(nèi)巧米范圍內(nèi)正常收發(fā),而且由于模塊采用對(duì)信號(hào)的編碼和解碼機(jī)制對(duì)設(shè)備進(jìn)行標(biāo)記,不會(huì)造成相鄰使用者互相干擾的情況,又由于采用國家開放頻段,故避免了頻率協(xié)調(diào)的問題。3.計(jì)算機(jī)響應(yīng):計(jì)算機(jī)接收到的信號(hào)為能直接驅(qū)動(dòng)即PPT等
54、應(yīng)用軟件翻頁的控制信號(hào),其控制功能相當(dāng)于一個(gè)鍵盤的PgUp和PgDn鍵。USB接口的應(yīng)用在計(jì)算機(jī),通信行業(yè)越來越普遍,即插即用是其特別優(yōu)點(diǎn),采用合適的接口芯片和單片機(jī)固件編程,可以在WINDOWS98以上的系統(tǒng)上使用,不需要驅(qū)動(dòng)程序。對(duì)于使用者來說,象使用U盤一樣的方便。具體設(shè)計(jì):本文利用315M的射頻電路,編解碼采用PT2262/2272編解碼芯片,利用CY7C68013單片機(jī)實(shí)現(xiàn)了一個(gè)短距離無線操作控制系統(tǒng),通過編解碼芯片的地址編碼實(shí)現(xiàn)無線電子教鞭之間的互不干擾。無線電子教鞭系統(tǒng)共分為兩部分:發(fā)送器和USB接收器。其原理就是USB的HID設(shè)備類,模擬計(jì)算機(jī)鍵盤的“PgUp”和“PgDn”二
55、個(gè)功能鍵,通過無線315M的RF模塊實(shí)現(xiàn)無線控制的目的。實(shí)現(xiàn)流程:1、通過無線電發(fā)射裝置對(duì)控制信號(hào)進(jìn)行編碼并發(fā)出;該無線電發(fā)射裝置帶有激光發(fā)射器的功能,方便教師使用。2、無線電信號(hào)接收裝置接收到控制信號(hào),將信號(hào)解碼,然后傳給單片機(jī)處理。3、單片機(jī)對(duì)信號(hào)進(jìn)行處理后傳給USB芯片,然后按照 USBI.1協(xié)議傳遞給計(jì)算機(jī),計(jì)算機(jī)識(shí)別和響應(yīng)相應(yīng)的工作指令,通過USB總線與上位的計(jì)算機(jī)實(shí)現(xiàn)互相通信。4、計(jì)算機(jī)接收從USB接口傳來的指令,自動(dòng)完成對(duì)多媒體講稿的控制;最終無線電子教鞭可以方便使用者全方位的(可以跨越障礙物)、互不干擾地(對(duì)信號(hào)進(jìn)行了編碼和解碼處理)控制多種講稿(Powerpoint、Word
56、等)的前進(jìn)和后退(也可以增加其他控制功能,例如控制各種程序之間的切換等)。無線USB控制系統(tǒng)設(shè)計(jì)如圖4-1所示。該系統(tǒng)包括發(fā)射部分、接收部分、USB接口等三部分。用戶按鍵編碼發(fā)射信號(hào)無線波無線波無線波無線波接收信號(hào)解碼發(fā)送數(shù)據(jù)電腦接收器和單片機(jī)USB發(fā)射器圖4-1系統(tǒng)設(shè)計(jì)框圖4.2接收器硬件電路設(shè)計(jì) CY7C68013A-128及濾波電路在本設(shè)計(jì)中,主要使用的是I2C的SCL和SDA,串口以及少量普通的I/O口。圖4-2 CY7C68013A-128 圖4-3 濾波電路4.2.2電源部分圖4-4 電源部分電源部分采用1117-3.3的穩(wěn)壓塊直接實(shí)現(xiàn)穩(wěn)壓,外加去紋波電路。由于USB口的電流可以達(dá)到500mA(5V),對(duì)于3.3V,電流較小的本系統(tǒng)完全夠用,所以不外加電源供電,直接將USB口的5V電壓經(jīng)穩(wěn)壓到3.3V后供本系統(tǒng)使用。另外在設(shè)備與主機(jī)電路之間增加電感L1,遏制干擾。4.2.3 USB接口USB接口含電源(VCC和GND),數(shù)據(jù)線(D+和D-),以及外殼(接地)。圖4-5 USB接口4.2.4時(shí)鐘及復(fù)位 圖 4-6 時(shí)鐘及復(fù)位時(shí)鐘接24MHz的晶振,外接兩電
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人房地產(chǎn)抵押借款合同智能審核版
- 2025年度個(gè)人車庫買賣與車位使用權(quán)過戶合同2篇
- 二零二五年度模板木枋行業(yè)節(jié)能減排合作合同4篇
- 二零二五年度新型環(huán)保涂料研發(fā)與應(yīng)用推廣合同3篇
- 2025年度模具制造企業(yè)兼職用工合同范本3篇
- 二零二五年度海洋資源開發(fā)合作合同范本共3篇
- 2025年度離婚訴訟訴狀撰寫規(guī)范解讀4篇
- 2025年度個(gè)人二手房交易合同范本(含裝修款及違約責(zé)任)
- 2025年度農(nóng)業(yè)科技園區(qū)配套設(shè)施建設(shè)合同4篇
- 二零二五年度農(nóng)業(yè)科技培訓(xùn)與推廣合同8篇
- 農(nóng)耕研學(xué)活動(dòng)方案種小麥
- 七年級(jí)下冊(cè)-備戰(zhàn)2024年中考?xì)v史總復(fù)習(xí)核心考點(diǎn)與重難點(diǎn)練習(xí)(統(tǒng)部編版)
- 2024年佛山市勞動(dòng)合同條例
- 污水管網(wǎng)規(guī)劃建設(shè)方案
- 城鎮(zhèn)智慧排水系統(tǒng)技術(shù)標(biāo)準(zhǔn)
- 采購管理制度及流程采購管理制度及流程
- 新修訂藥品GMP中藥飲片附錄解讀課件
- 五年級(jí)美術(shù)下冊(cè)第9課《寫意蔬果》-優(yōu)秀課件4人教版
- 節(jié)能降耗課件
- 尼爾森數(shù)據(jù)市場(chǎng)分析報(bào)告
- 氧氣霧化吸入法
評(píng)論
0/150
提交評(píng)論