版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計論文</b></p><p> 論文題目: 基于USB的LED點(diǎn)陣顯示牌</p><p> 院 系 電子信息工程學(xué)院 </p><p> 專 業(yè) 班 級 </p><p>
2、; 學(xué) 生 姓 名 </p><p> 指 導(dǎo) 教 師 </p><p> 畢業(yè)設(shè)計(論文)任務(wù)書</p><p> 課題名稱:基于USB的LED點(diǎn)陣顯示牌 </p><p> 完成期限: 年 月 日
3、至 年 月 日</p><p> 院系名稱 電子信息工程學(xué)院 指導(dǎo)教師 </p><p> 專業(yè)班級 電 信 班 指導(dǎo)教師職稱 講 師</p><p> 學(xué)生姓名 </p><p> 院系畢業(yè)設(shè)計(論文)工作領(lǐng)導(dǎo)小組組長簽字
4、 </p><p><b> 一、課題訓(xùn)練內(nèi)容</b></p><p> 1、培養(yǎng)學(xué)生收集資料、文獻(xiàn)檢索的能力,發(fā)現(xiàn)問題的能力;</p><p> 2、培養(yǎng)學(xué)生工程開發(fā)的能力,制定工作計劃和協(xié)調(diào)組織的能力;</p><p> 3、培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)專業(yè)知識、理論,解決實際工程問題的能力;</p&g
5、t;<p> 4、培養(yǎng)學(xué)生原理設(shè)計、實驗分析或理論推導(dǎo)的能力;</p><p> 5、培養(yǎng)學(xué)生撰寫文檔的能力;</p><p> 6、培養(yǎng)學(xué)生閱讀英語文獻(xiàn)的能力和翻譯的能力;</p><p> 7、培養(yǎng)學(xué)生學(xué)習(xí)能力及動手能力;</p><p> 8、培養(yǎng)學(xué)生與人合作、相互交流的能力。</p><p&
6、gt; 二、設(shè)計(論文)任務(wù)和要求(包括說明書、論文、譯文、計算程序、圖紙、作品等數(shù)量和質(zhì)量等具體要求)</p><p><b> 主要功能:</b></p><p> 1.能夠在PC機(jī)將用戶輸入的漢字生成漢字的點(diǎn)陣字模并通過USB傳輸?shù)较挛粰C(jī)。</p><p> 3.能夠在下位機(jī)系統(tǒng)接收到上位機(jī)傳送的漢字點(diǎn)陣字模文件,并將其顯示到LE
7、D點(diǎn)陣上。</p><p> 3.能夠在下位機(jī)實現(xiàn)控制漢字在LED點(diǎn)陣上的顯示效果(如漢字的靜態(tài)顯示、動態(tài)顯示等)。</p><p> 4.能夠完成鋰電池充電,并由鋰電池給系統(tǒng)供電。</p><p><b> 設(shè)計內(nèi)容:</b></p><p> ?。?)根據(jù)設(shè)計要求LED顯示方案并進(jìn)行方案論證;</p>
8、;<p> ?。?)利用VC++編程,完成上位機(jī)要實現(xiàn)的功能;</p><p> ?。?)對下位機(jī)系統(tǒng)進(jìn)行軟件設(shè)計,使之可以將上位機(jī)的漢字點(diǎn)陣字模存放在單片機(jī)片內(nèi)Flash中,并實現(xiàn)漢字在LED點(diǎn)陣上的顯示;</p><p> ?。?)對下位機(jī)系統(tǒng)進(jìn)行硬件設(shè)計,使之完成鋰電池充電、LED點(diǎn)陣驅(qū)動; </p><p> ?。?)撰寫畢業(yè)設(shè)計正文,寫出系統(tǒng)
9、的設(shè)計結(jié)構(gòu),并提出改進(jìn)思想。</p><p><b> 應(yīng)完成的設(shè)計資料:</b></p><p><b> ?。?)開題報告;</b></p><p><b> ?。?)中英文摘要;</b></p><p> ?。?)畢業(yè)設(shè)計正文;</p><p>
10、 ?。?)外文資料及相應(yīng)的中文翻譯;</p><p><b> ?。?)參考文獻(xiàn)。</b></p><p> 三、畢業(yè)設(shè)計(論文)主要參數(shù)及主要參考資料</p><p><b> 1、系統(tǒng)參數(shù):</b></p><p> (1) 單片機(jī)及鋰電充電芯片:C8051F320、LTC3555;&
11、lt;/p><p> (2) 漢字顯示個數(shù):4~6個(可靜態(tài)或動態(tài)顯示);</p><p> (3) 鋰電池充電達(dá)到的電壓最大值:4.2V;</p><p> (4) 實現(xiàn)漢字字模提取。</p><p><b> 2、 主要參考資料</b></p><p> [1] 關(guān)積珍.LE
12、D 顯示屏發(fā)展?fàn)顩r及趨勢[J].世界產(chǎn)品與技術(shù),2002,(2):21-22.</p><p> [2] 尤勇.具有USB電源管理器的鋰離子電池充電器[D].西安:西安電子科技大學(xué),2007.</p><p> [3] 黃維柱.通用串行總線USB [J].計算機(jī)應(yīng)用研究,2001,:46-48.</p><p> [4] 劉高霞.LED 脫機(jī)屏上位機(jī)軟件的設(shè)計
13、與實現(xiàn)[D].長春:中國科學(xué)院長春光學(xué)精密機(jī)械與物理研究所,2006.</p><p> [5] 劉益成.USB 接口技術(shù)[J].石油儀器,2002,16(5):56-59.</p><p> [6] 邵高平. 通用串行總線(USB)及其開發(fā)方法 [J].微計算機(jī)信息,1999,15(3):10-11.</p><p> [7] 周立功. USB2.0與OTG
14、規(guī)范及開發(fā)指南[M].北京:北京航空航天大學(xué)出版社,2004.</p><p> [8] 邵高平.通用串行總線(USB)及其開發(fā)方法[J].微計算機(jī)信息,1999,15(3):10-11.</p><p> [9] 史波,田凱.通用串行總線USB技術(shù)概述[J].信息技術(shù),2001,(4):35-36.</p><p> [10] 惠玥琳.基于單片機(jī)的USB主從
15、機(jī)的設(shè)計與實現(xiàn)[D],成都:電子科技大學(xué),2007.</p><p> 四、畢業(yè)設(shè)計(論文)進(jìn)度表</p><p> 武漢科技學(xué)院畢業(yè)設(shè)計(論文)進(jìn)度表</p><p> 注:1.本任務(wù)書一式兩份,一份院(系)留存,一份發(fā)給學(xué)生,任務(wù)完成后附在說明書內(nèi)。</p><p> 2.“實際完成情況”和“檢查人簽名”由教師用筆填寫,其余各項均
16、要求打印,打印字體和字號按照《武漢科技學(xué)院畢業(yè)設(shè)計(論文)規(guī)范》執(zhí)行。</p><p> 武漢科技學(xué)院畢業(yè)設(shè)計(論文)開題報告</p><p><b> 摘 要</b></p><p> 本論文首先論述了USB規(guī)范的核心內(nèi)容,然后介紹了LED點(diǎn)陣顯示牌的設(shè)計。LED點(diǎn)陣顯示牌的設(shè)計包括硬件設(shè)計、驅(qū)動程序開發(fā)、主機(jī)應(yīng)用程序開發(fā)和固件程序開
17、發(fā)四大部分。在硬件設(shè)計部分,首先介紹了設(shè)計中所用的C8051F320、LTC3555芯片的性能和特點(diǎn),然后給出了具體硬件設(shè)計方案。驅(qū)動程序開發(fā)部分論述了驅(qū)動程序開發(fā)工具的選擇的原則,介紹了驅(qū)動程序的結(jié)構(gòu)和驅(qū)動程序的開發(fā)過程。主機(jī)應(yīng)用程序主要是提供一個友好的人機(jī)界面,用戶輸入漢字,生成漢字庫并傳輸給單片機(jī)。固件程序開發(fā)部分是設(shè)計中的重點(diǎn),論文先從總體上介紹了程序的設(shè)計思想及其層次結(jié)構(gòu),隨后詳細(xì)介紹了各層次程序的設(shè)計過程,并給出了部分源代碼
18、和程序流程圖。</p><p> 本論文基本上實現(xiàn)了漢字在LED點(diǎn)陣上的顯示。使用USB總線傳輸數(shù)據(jù),且由鋰電池供電,為LED點(diǎn)陣顯示牌的設(shè)計提供了新的實現(xiàn)方案。</p><p> 關(guān)鍵字:USB協(xié)議; 固件; 驅(qū)動程序; LED點(diǎn)陣; LTC3555</p><p><b> ABSTRACT</b></p><p&
19、gt; The paper firstly deals with the core content of Universal Serial Bus in detail and then discusses the design of LED dox-matrix’s display board, which includes four segments, hardware design, device driver, host app
20、lication program design and firmware design. In hardware design segment, the performance of C8051F320、LTC3555 firstly is described,then the hardware designs scheme is given in detail. In device driver segment the princip
21、le of choosing driver develop tools is explained, at last the str</p><p> The paper has basically realized that Chinese characters display on LED dox-matrix. Using USB bus to transfer data and using Li-ion
22、for power blazed a way in the design of LED dox-matrix’s display board.</p><p> Keywords:USB Protocol; Firmware ; Device Driver; LED dox-matrix; LTC3555</p><p><b> 目 錄</b></p
23、><p><b> 1. 緒論1</b></p><p> 1.1 課題的提出及意義1</p><p> 1.2 USB的發(fā)展?fàn)顩r2</p><p> 1.2.1 USB的發(fā)展現(xiàn)狀2</p><p> 1.2.2 USB的優(yōu)點(diǎn)3</p><p> 1.3
24、LED點(diǎn)陣顯示牌簡述4</p><p> 1.4 方案論證4</p><p> 2.USB系統(tǒng)簡介5</p><p> 2.1 USB系統(tǒng)組成5</p><p> 2.2 總線拓?fù)浣Y(jié)構(gòu)7</p><p> 2.3 物理接口8</p><p> 3. USB協(xié)議簡介8&l
25、t;/p><p> 3.1 USB數(shù)據(jù)流模型8</p><p> 3.1.1 端點(diǎn)9</p><p> 3.1.2 管道9</p><p> 3.1.3 包10</p><p> 3.1.4 事務(wù)11</p><p> 3.2數(shù)據(jù)傳輸模型13</p><p
26、> 3.2.1 控制傳輸(Control Transfer)13</p><p> 3.2.2 批量傳輸(Bulk Transfer)14</p><p> 3.2.3 中斷傳輸(Interrupt Transfer)14</p><p> 3.2.3 同步傳輸(Synchronous Transfer)15</p><p&
27、gt; 3.3 USB設(shè)備總線枚舉16</p><p> 3.3.1 設(shè)備暫態(tài)16</p><p> 3.3.2 USB設(shè)備的總線枚舉17</p><p> 3.3.3 標(biāo)準(zhǔn)USB描述符18</p><p> 4. 系統(tǒng)硬件設(shè)計18</p><p> 4.1 主要芯片介紹20</p>
28、<p> 4.1.1 C8051F320簡介20</p><p> 4.1.2 LTC3555簡介23</p><p> 4.2 硬件設(shè)計電路27</p><p> 4.2.1 電源電路27</p><p> 4.2.2 鋰電池充電電路27</p><p> 4.2.3 LED點(diǎn)陣顯
29、示電路28</p><p> 5. 系統(tǒng)軟件設(shè)計30</p><p> 5.1 系統(tǒng)初始化的設(shè)計與實現(xiàn)30</p><p> 5.2 驅(qū)動程序的開發(fā)31</p><p> 5.3 主機(jī)應(yīng)用程序的開發(fā)33</p><p> 5.4 固件程序的設(shè)計34</p><p> 5.
30、4.1 程序設(shè)計總體考慮34</p><p> 5.4.2 主程序設(shè)計35</p><p> 5.4.3 USB中斷服務(wù)程序設(shè)計37</p><p> 5.4.4 FLASH讀寫程序設(shè)計38</p><p> 5.4.5 LED點(diǎn)陣顯示程序設(shè)計41</p><p> 6. 結(jié)論與展望45</
31、p><p><b> 6.1 總結(jié)45</b></p><p><b> 6.2 展望46</b></p><p><b> 參考文獻(xiàn)47</b></p><p><b> 附 錄49</b></p><p><
32、b> 外文資料50</b></p><p><b> 中文翻譯55</b></p><p><b> 致 謝60</b></p><p><b> 1. 緒論</b></p><p> 1.1 課題的提出及意義</p><
33、p> LED 點(diǎn)陣顯示牌是由LED點(diǎn)陣組成的顯示信息的產(chǎn)品。它采用低電壓掃描驅(qū)動,具有耗電少、使用壽命長、成本低、亮度高、視角大、可視距離遠(yuǎn)等許多優(yōu)點(diǎn),其顯示的內(nèi)容由PC 機(jī)傳送過來,可以是圖形文件和文本文件并以多種模式顯示之,具有技術(shù)的先進(jìn)性和系統(tǒng)的可靠性,因而廣泛應(yīng)用于證券、交通、醫(yī)院、銀行等公共場合[1]。</p><p> 現(xiàn)代生活對LED 點(diǎn)陣顯示牌的要求日益提高。除了性能好以外,還要求LED
34、點(diǎn)陣顯示牌能有其它特點(diǎn),如使用方便、經(jīng)濟(jì)合理、安全可靠、掉電顯示等。</p><p> 目前常用的LED點(diǎn)陣顯示牌輸入信息固定,一般都是利用取模軟件生成點(diǎn)陣字模在點(diǎn)陣上顯示,不便于更新信息,普遍存在掉電后不能工作的缺陷。</p><p> 現(xiàn)在的UART 串行口雖然支持外插,但不能給外設(shè)供電,其速度太慢,遠(yuǎn)不能適用現(xiàn)今高速設(shè)備的發(fā)展需求。</p><p> U
35、SB(通用串行總線)的普及使其成為在各類便攜式設(shè)備中進(jìn)行數(shù)據(jù)傳輸?shù)囊环N較好的選擇。因此,可以應(yīng)用USB總線設(shè)計LED點(diǎn)陣顯示牌并同時對其供電,但USB總線電源斷開時,系統(tǒng)便不能工作。若用鋰電池自動切換供電,則可以解決以上的缺陷 [2]。 </p><p> 基于此,本文提出了基于USB的LED點(diǎn)陣顯示牌,它具有傳輸速度快、更新信息方便、設(shè)備安裝和配置容易、易于擴(kuò)展、能夠采用總線供電、使用靈活等優(yōu)點(diǎn);外接的鋰電池
36、可迅速充電,提供工作電源,便于攜帶,基本上完善了LED點(diǎn)陣顯示牌的功能,具有良好的應(yīng)用前景和很高的實用價值。</p><p> 本課題介紹的LED點(diǎn)陣顯示牌可應(yīng)用于會議展牌、學(xué)生牌、電影院展示牌、廣告顯示牌,首先在上位機(jī)編輯漢字并通過USB適時發(fā)送漢字的點(diǎn)陣字模,然后由單片機(jī)控制漢字的靜態(tài)與動態(tài)顯示。該顯示牌可實現(xiàn)多個漢字的顯示。USB 接口控制芯片采用Cygnal 公司推出的一款新型USB 微控制器芯片C80
37、51F320,鋰電池充電芯片采用凌力爾特公司新推出的多功能電源管理器件LTC3555。</p><p> 1.2 USB的發(fā)展?fàn)顩r</p><p> 1.2.1 USB的發(fā)展現(xiàn)狀</p><p> USB(Universal Serial Bus)即通用串行總線,在傳統(tǒng)的計算機(jī)組織結(jié)構(gòu)基礎(chǔ)上引入了網(wǎng)絡(luò)的某些技術(shù),可以說是計算機(jī)外設(shè)連接技術(shù)的重大變革。</
38、p><p> 1995年,由Compaq、Digital Equipment、IBM、Intel、Microsoft、NEC 和Northern Telecom七個在計算機(jī)與通信工業(yè)領(lǐng)先的公司組成聯(lián)盟,并建立USB - IF (USB 實施者論壇) 來推進(jìn)采用USB 標(biāo)準(zhǔn)的兼容設(shè)備的開發(fā)。它最初是為將電話接入PC 機(jī)而設(shè)計的,然而由于這種新的連接標(biāo)準(zhǔn)性能優(yōu)良,USB -IF 決定將USB 推廣為一種計算機(jī)標(biāo)準(zhǔn)。&l
39、t;/p><p> 在1996年,USB - IF公布了USB 規(guī)范1. 0,這是第一個為USB 產(chǎn)品提出設(shè)計要求的標(biāo)準(zhǔn)。1998年,在進(jìn)一步對以前版本的標(biāo)準(zhǔn)進(jìn)行闡述和擴(kuò)充的基礎(chǔ)上,發(fā)布了USB 標(biāo)準(zhǔn)1. 1。而此時聯(lián)盟僅剩四個核心公司,它們是Compaq、Intel、Microsoft 和NEC。由于USB 的方向偏離了通信,IBM 和Northern Telecom退出了該聯(lián)盟。</p><
40、p> USB2. 0 發(fā)布于1999。由于USB2. 0 的發(fā)布,Hewlett Packard、Philips 和Lucent 三個公司加入了聯(lián)盟,從而使聯(lián)盟的核心成員數(shù)重新恢復(fù)為七個。之后,USB一直持續(xù)不斷地增長。USB2.0 向下兼容USB1.1,還支持寬帶寬數(shù)字?jǐn)z像設(shè)備及下一代掃描儀、打印機(jī)及存儲設(shè)備。</p><p> 在1998年8月,Apple公司推出了僅有USB 端口的iMAC,曾引起
41、整個業(yè)界的轟動,并使該公司的股票價格高漲。</p><p> 今天的USB - IF 已經(jīng)擁有600多個成員公司,幾乎包括所有世界上的PC 和外設(shè)制造商。在美國,100 %的PC 機(jī)與膝上型電腦配備有Windows 98支持的USB 接口。盡管該操作系統(tǒng)不具備所有外設(shè)的驅(qū)動程序,用戶卻并不太在意這一點(diǎn),因為USB 仍可提供僅需一個步驟的簡易安裝。過去兩年內(nèi),其它的操作系統(tǒng),.像MacOS 和開放式UNIX,也已
42、經(jīng)加入了USB之中。</p><p> USB 由于速度快、通用性好、擴(kuò)展性強(qiáng)、功耗、穩(wěn)定、易開發(fā)等眾多優(yōu)點(diǎn),正逐步取代傳統(tǒng)的接口總線而應(yīng)用與計算機(jī)的各種外設(shè)中,特別是2000年第一季推出USB 2.0 標(biāo)準(zhǔn)后,USB 接口的應(yīng)用將會更加廣泛。</p><p> 1.2.2 USB的優(yōu)點(diǎn)</p><p> USB標(biāo)準(zhǔn)可以針對不同的價格性能比要求,提供不同的選擇
43、,針對相同的系統(tǒng)和部件提供不同的功能,可以說USB是外設(shè)發(fā)展的必然趨勢,其特性在于以下幾點(diǎn):</p><p><b> 速度快</b></p><p> USB有全速和低速兩種模式。主模式為全速模式,速率為12Mb/s,從而使一些要求高速數(shù)據(jù)的外設(shè),如高速硬盤、攝像頭等,都能統(tǒng)一到同一個總線框架下。另外為了適應(yīng)一些不需要很大吞吐量, 但有很高實時性要求的設(shè)備,如鼠
44、標(biāo)、鍵盤、游戲桿等,USB還提供低速方式, 速率為1.5Mb/s。不管是全速還是低速模式, 速度都比RS232接口快得多。</p><p><b> 2) 易擴(kuò)展</b></p><p> USB采用的是一種易于擴(kuò)展的樹狀結(jié)構(gòu), 通過使用USB Hub擴(kuò)展,可連接多達(dá)127個外設(shè)。標(biāo)準(zhǔn)USB的電纜長度為3米(5米,低速)。通過Hub或中繼器可以使外設(shè)距離達(dá)到30米
45、。</p><p> 支持熱插拔和即插即用</p><p> 在USB系統(tǒng)中, 所有的USB設(shè)備可以隨時接入和拔離系統(tǒng),USB主機(jī)能夠動態(tài)地識別設(shè)備的狀態(tài), 并自動給接入的設(shè)備分配地址和配置參數(shù)。這樣一來,安裝USB設(shè)備不必再打開機(jī)箱,加、減己安裝過的設(shè)備完全不用關(guān)閉計算機(jī), 也不必像過去那樣, 需要手動跳線或撥碼開關(guān)來設(shè)置新的外設(shè)。</p><p> USB
46、提供總線供電和自供電兩種供電形式</p><p> 當(dāng)采用總線供電時, 不需要額外的電源。USB主機(jī)和USB Hub有電源管理系統(tǒng),對系統(tǒng)的電源進(jìn)行管理。</p><p><b> 使用靈活</b></p><p> USB共有4種傳輸模式:控制傳輸(Control)、同步傳輸(Synchronization)、中斷傳輸(Interrup
47、t)、批量傳輸(Bulk),以適應(yīng)不同設(shè)備的需要。</p><p> 6) 支持多個外設(shè)同時工作</p><p> 在主機(jī)和外設(shè)之間可以同時傳輸多個數(shù)據(jù)和信息流。</p><p><b> 7) 成本低</b></p><p> USB設(shè)備一般都比同類功能的設(shè)備成本低。</p><p>
48、 8)有很高的容錯性能</p><p> 它具有事務(wù)處理錯誤檢測機(jī)制,能夠?qū)τ腥毕莸脑O(shè)備進(jìn)行認(rèn)定,對錯誤的數(shù)據(jù)進(jìn)行恢復(fù)或報告。</p><p> 總之,USB是一種方便、靈活、簡單、高速的總線結(jié)構(gòu)[3]。</p><p> 1.3 LED點(diǎn)陣顯示牌簡述</p><p> 隨著通信技術(shù)的迅猛發(fā)展,以嵌入式計算機(jī)為核心的LED 點(diǎn)陣顯示牌
49、已經(jīng)在LED 點(diǎn)陣顯示領(lǐng)域中占到了統(tǒng)治地位。在生活工作中,可用來及時的傳播信息和電視,尤其用來播放廣告、產(chǎn)品介紹等更有良好的經(jīng)濟(jì)效益和社會效益。</p><p> 現(xiàn)在常用的LED 點(diǎn)陣顯示牌有兩種:脫機(jī)型與聯(lián)機(jī)型。脫機(jī)型移動方便,適宜作廣告、宣傳牌、顯示牌,但信息修改更新不便;聯(lián)機(jī)型信息修改方便,時效性強(qiáng),適用于要求快速發(fā)布信息的場合[4]。</p><p> 本課題研究的LED 點(diǎn)
50、陣顯示牌利用一臺微機(jī)作為上位機(jī),可實時地將上位機(jī)上用戶輸入的漢字生成漢字的點(diǎn)陣字模,并通過USB傳輸給單片機(jī),存儲在單片機(jī)片內(nèi)FLASH ,然后由單片機(jī)控制漢字在16 塊LED 點(diǎn)陣上的顯示(下位機(jī)),外帶的鋰電池支持掉電顯示,集合了以上兩種的優(yōu)點(diǎn)。故基于USB 的LED 點(diǎn)陣顯示牌具有很大的應(yīng)用前景。</p><p><b> 1.4 方案論證</b></p><p&
51、gt; 在進(jìn)行一個USB 設(shè)備開發(fā)之前,首先要根據(jù)具體使用要求選擇合適的USB控制器。目前,市場上供應(yīng)的USB 控制器主要有兩種:帶USB接口的單片機(jī)(MCU)或純粹的USB 接口芯片。</p><p> 帶USB 接口的單片機(jī)在應(yīng)用上又可以分成兩類,一類是從底層設(shè)計專用于USB 控制的單片機(jī),比如Cypress公司的CY7C630(低速)、CY64X13(全速),但由于價格、開發(fā)工具以及單片機(jī)性能有限等問題
52、,所以一般不選用。另一類是增加了USB接口的普通單片機(jī),例如Intel公司的8X931(基于8051)、8X930(基于高速、增強(qiáng)的8051)、Cypress公司的EZ-USB(基于8051),Cygnal公司的C8051F32X(基于高速,增強(qiáng)的8051),選擇這類USB控制器的最大好處在于開發(fā)者對系統(tǒng)結(jié)構(gòu)和指令集比較熟悉,開發(fā)工具簡單。</p><p> 純粹的USB 接口芯片僅處理USB 通信,必須有一個
53、外部微處理器來進(jìn)行協(xié)議處理和數(shù)據(jù)交換。典型產(chǎn)品有Philips公司的PDIUSBD12(并行接口),NS公司的USBN9603/9604(并行接口),NetChip公司的NET2888等。USB接口芯片的主要特點(diǎn)是價格便宜、接口方便、可靠性高,尤其適合于產(chǎn)品的改型設(shè)計(硬件上僅需對并行總線和中斷進(jìn)行改動,軟件則需要增加微處理器的USB中斷處理和數(shù)據(jù)交換程序、PC機(jī)的USB接口通信程序,無需對原有產(chǎn)品系統(tǒng)結(jié)構(gòu)作很大的改動)。但其明顯的缺點(diǎn)
54、是至少需要兩個芯片(MCU和USB芯片),電路設(shè)計和調(diào)試比較復(fù)雜,不利于快速開發(fā)一個項目[5]。</p><p> 根據(jù)本系統(tǒng)的設(shè)計要求和實際情況,選用Cygnal公司的C8051F320芯片來完成USB 數(shù)據(jù)傳輸。選用此芯片將大大簡化硬件電路、減小外設(shè)體積,而且還可以提高產(chǎn)品的可靠性。該芯片具有較快的處理速度和較大的存儲容量,并且具有在系統(tǒng)可編程的功能,是比較理想的選擇。</p><p&g
55、t; 鋰電池充電部分我們選用凌力爾特公司的LTC3555,它是一種應(yīng)用于實現(xiàn)鋰電池或聚合物電池快速充電的電源管理器件,速度快、低功耗, 低噪聲, 使用靈活且體積小,支持I2C總線,采用它可以節(jié)省總線個數(shù),節(jié)省C8051F320引腳。使用該芯片作為電源管理是較理想的選擇。</p><p><b> 2.USB系統(tǒng)簡介</b></p><p> 2.1 USB系統(tǒng)組
56、成</p><p> 一個USB系統(tǒng)主要由三個部分:USB設(shè)備,USB主機(jī)和USB互聯(lián)[6] [7]。</p><p><b> USB設(shè)備</b></p><p> USB有兩種設(shè)備類:集線器(Hub)和功能部件(Function),如人機(jī)接口、打印機(jī)、圖像掃描儀或海量存儲器等各種設(shè)備。</p><p> 當(dāng)設(shè)
57、備被連接、編號后,該設(shè)備就擁有一個唯一的USB地址,所有USB設(shè)備必須在零號端口上提供一個特殊的管道,用來連接USB設(shè)備的USB控制管道。在零號端口上,控制管道中的信息應(yīng)完整地描述USB設(shè)備,該信息分為標(biāo)準(zhǔn)信息、類別信息、USB廠商信息。此外,每個USB設(shè)備均需提供USB的控制和狀態(tài)信息。</p><p> 集線器是將設(shè)備連接在一起的集中器,可讓不同性質(zhì)的設(shè)備連接在USB端口上。集線器可將一個連接點(diǎn)轉(zhuǎn)化成多個的
58、連接點(diǎn),只有集線器可以提供附加的USB 的連接點(diǎn),集線器極大簡化了USB 的互連復(fù)雜性。</p><p> 功能部件是一種能通過總線進(jìn)行發(fā)送、接收數(shù)據(jù)和控制信息的USB 設(shè)備,為主機(jī)提供具體的功能。它一般是一種分開的外設(shè),通過一根電纜接插在集線器的某個端口上。USB 設(shè)備必須能提供標(biāo)準(zhǔn)的USB 接口,包括能理解USB 協(xié)議,響應(yīng)標(biāo)準(zhǔn)USB操作,能對設(shè)備進(jìn)行配置和復(fù)位。此外,每個功能設(shè)備都應(yīng)包含設(shè)置信息,用來描述
59、該設(shè)備的性能和資源要求,以便在使用功能部件前主機(jī)對其進(jìn)行設(shè)置。</p><p><b> 2) USB 主機(jī)</b></p><p> 在任何USB 系統(tǒng)中,只能有一個主機(jī)。USB 和主機(jī)系統(tǒng)的接口稱作主控制器,主控制器可由硬件、固件和軟件來組合實現(xiàn)。根集線器集成在主機(jī)系統(tǒng)內(nèi),用來提供一個或多個連接點(diǎn)。USB 的主機(jī)通過主控制器與USB 設(shè)備進(jìn)行交互操作。主機(jī)負(fù)責(zé)
60、完成以下工作:</p><p> (1) 檢測USB 設(shè)備的連接和移除;</p><p> (2) 管理主機(jī)和USB 設(shè)備之間的控制流;</p><p> (3) 管理主機(jī)和USB 設(shè)備之間的數(shù)據(jù)流;</p><p> (4) 收集狀態(tài)和動作信息;</p><p> (5) 給接上的USB 設(shè)備提供能量。&l
61、t;/p><p> 主機(jī)上USB 的系統(tǒng)軟件管理USB 設(shè)備和主機(jī)上與該設(shè)備有關(guān)的軟件之間的交互作用。USB 系統(tǒng)軟件與設(shè)備軟件間有五種相互作用方式:</p><p> (1) 設(shè)備編號和設(shè)置;</p><p> (2) 同步數(shù)據(jù)傳輸;</p><p> (3) 異步數(shù)據(jù)傳輸;</p><p><b>
62、 (4) 電源管理;</b></p><p> (5) 設(shè)備和總線管理信息。</p><p> 只要可能,USB 系統(tǒng)軟件就會使用當(dāng)前的主機(jī)軟件接口來管理上述幾種方式。</p><p> 3) USB 的互連</p><p> USB 的互連是指USB 設(shè)備與主機(jī)之間進(jìn)行連接和通信的操作,它決定了USB 的體系結(jié)構(gòu)。主要包
63、括以下幾方面:</p><p> (1) 總線的拓?fù)浣Y(jié)構(gòu):USB 設(shè)備與主機(jī)之間的各種連接方式;</p><p> (2) 內(nèi)部層次關(guān)系:USB 的任務(wù)在系統(tǒng)的各個層次中執(zhí)行時按照功能疊放的層次;</p><p> (3) 數(shù)據(jù)流模式:數(shù)據(jù)在系統(tǒng)中通過USB 從產(chǎn)生方到使用方的流動方式;</p><p> (4) USB 的調(diào)度:通過
64、對可使用的連接進(jìn)行調(diào)度,提供資源共享并支持同步數(shù)據(jù)傳輸。</p><p> 2.2 總線拓?fù)浣Y(jié)構(gòu)</p><p> USB 將USB 設(shè)備和USB 主機(jī)連接在一起,USB 的物理連接是一個分層的星型拓?fù)浣Y(jié)構(gòu)。通過網(wǎng)絡(luò)集線器進(jìn)行連接,集線器位于星型的中心。從主機(jī)到集線器或功能部件,或從集線器到集線器或功能部件之間,每條接線段是點(diǎn)到點(diǎn)連接。USB的拓?fù)浣Y(jié)構(gòu)如圖2-1所示。</p>
65、;<p> 圖2-1 USB總線拓?fù)浣Y(jié)構(gòu)</p><p> 由于集線器和電纜所能允許的傳播時間上的限制,所允許的最大層數(shù)為7層,包括根層在內(nèi)。在這7層中,在主機(jī)和任何設(shè)備之間的通訊線路上可支持最大5個非根層的集線器。所以,如圖2-1所示,占有2層的一個組合設(shè)備將它接到第7層時,將不能工作。在第7層只能接具體的功能器件。</p><p><b> 2.3 物理接
66、口</b></p><p> USB采用四線電纜,其中兩根用來作數(shù)據(jù)傳送的串行通道,其余兩根用來為下流(Downstream)設(shè)備提供電源如圖2-2所示。圖中D+、D-是串行數(shù)據(jù)通信線,VBUS和GND作為電源線。USB是基于令牌的總線,類似于像令牌環(huán)網(wǎng)絡(luò)或FDDI基于令牌的總線,USB主控制器廣播令牌,總線上設(shè)備檢測令牌中的地址是否與自身相符,通過接受或發(fā)送數(shù)據(jù)給主機(jī)作響應(yīng),USB主機(jī)通過支持懸掛
67、/恢復(fù)操作來管理USB總線電源[8]。</p><p> 圖2-2 USB電纜</p><p> 3. USB協(xié)議簡介</p><p> 3.1 USB數(shù)據(jù)流模型</p><p> 任何USB通信都是架構(gòu)在主機(jī)的緩沖區(qū)與接收設(shè)備的端點(diǎn)之上的,數(shù)據(jù)在這兩者之間的管道之間傳輸,其數(shù)據(jù)流模型見圖3-1。本節(jié)將依次介紹端點(diǎn)、管道、包、事務(wù)等概
68、念[9]。</p><p> 圖3-1 USB數(shù)據(jù)流模型</p><p><b> 3.1.1 端點(diǎn)</b></p><p> 每個邏輯設(shè)備都可視為一系列端點(diǎn)的集合,端點(diǎn)標(biāo)志著主機(jī)與設(shè)備通信的結(jié)束點(diǎn)。每個端點(diǎn)都有一個序號,序號值的范圍在0到14之間。其中,0號端點(diǎn)專用于控制傳輸,不可為主機(jī)配置。其他非零端點(diǎn)需在主機(jī)配置后,方可訪問。端點(diǎn)根
69、據(jù)數(shù)據(jù)流動的方向又可分為IN端點(diǎn)和OUT端點(diǎn),因此,0號端點(diǎn)又分為控制IN和控制OUT兩類。其他端點(diǎn)的屬性,如方向、緩沖大小等的設(shè)置則在相應(yīng)的寄存器中進(jìn)行。</p><p><b> 3.1.2 管道</b></p><p> 主機(jī)與設(shè)備的端點(diǎn)之間的連接稱為管道。USB系統(tǒng)軟件與端點(diǎn)0之間的連接稱為缺省控制管道(Default Control Pipe ),用于配
70、置和控制設(shè)備;客戶軟件則使用一組管道與接口通信。管道代表通過內(nèi)存緩沖區(qū)在客戶軟件與設(shè)備端點(diǎn)之間移動數(shù)據(jù)的能力,其具有如下兩種模式。</p><p> 1) 流(Stream)管道:流管道中傳輸?shù)臄?shù)據(jù)不具有USB定義的結(jié)構(gòu),它可以用作批量傳輸、同步傳輸和中斷傳輸,且通常是單向的。因而,如果客戶軟件要完成同設(shè)備的IN傳輸和OUT傳輸,則必須使用兩條管道分別進(jìn)行IN傳輸和OUT傳輸。</p><p
71、> 2) 消息(Message)管道:在消息管道中傳輸?shù)臄?shù)據(jù)具有USB定義的結(jié)構(gòu),它一般只用作控制傳輸?shù)墓艿?,且是雙向的,既支持IN傳輸又支持OUT傳輸。 </p><p> USB設(shè)備中的0號端點(diǎn)所實現(xiàn)的缺省控制傳輸管道就是這樣的消息管道。USB系統(tǒng)軟件確保不會有多個請求同時發(fā)送到消息管道。設(shè)備每個消息管道在同一時刻只能響應(yīng)一個請求。主機(jī)上多個客戶軟件可以通過缺省控制管道提出請求,但是這些請求
72、是按照先進(jìn)先出的順序發(fā)送到設(shè)備。</p><p><b> 3.1.3 包</b></p><p> “包”是USB通信的最基本數(shù)據(jù)單元。每一個包,基本上包含了一個完整的USB信息。按照包在整個USB數(shù)據(jù)傳輸中的作用不同,包主要分為3類:令牌包、數(shù)據(jù)包和握手包。包類型不同,其所包含的字段也不同,但第一個域都是同步域,且它在總線上傳輸時,總是以SOP信號開始、以EO
73、P信號結(jié)束,如表3-1所示。</p><p><b> 表3-1包的組成</b></p><p> 令牌包定義了數(shù)據(jù)傳輸?shù)念愋停瑪?shù)據(jù)包中包含需要傳輸?shù)臄?shù)據(jù),握手包則用</p><p> 于指明了數(shù)據(jù)接收的狀態(tài)。</p><p> 1) 令牌包(Token Packet)</p><p>
74、 由于USB的事務(wù)是由PC主機(jī)啟動的,所以在每一個事務(wù)中必須以下列的5個數(shù)據(jù)域所組成的令牌包為開始,執(zhí)行通信協(xié)議的前導(dǎo)工作。令牌包格式如表3-2所示。</p><p> 表3-2 令牌包格式</p><p> 2) 數(shù)據(jù)包(Data Packet)</p><p> 數(shù)據(jù)包由PID域、0-1023字節(jié)長度的數(shù)據(jù)域和16比特的CRC檢查域組成,數(shù)據(jù)包格式如表3-
75、3所示。</p><p> 表3-3 數(shù)據(jù)包格式 </p><p> 其中數(shù)據(jù)包的PID數(shù)據(jù)域包含兩種類型:DATAO和DATA1,根據(jù)USB協(xié)議規(guī)定,最初的數(shù)據(jù)封包都是以DATAO位開始,其后才是DATA1,然后以此方式交替切換,這個動作稱為“Data Toggle” 。如此就可以保持整個傳輸過程中主機(jī)能與設(shè)備維持同步。</p><p> 3)
76、握手包(Handshake Packet)</p><p> 握手包用于表示事務(wù)(Transaction )處理的最后時相,用來報告事務(wù)處理過程中接收方的狀態(tài)。它的結(jié)構(gòu)如表3-4所示,沒有數(shù)據(jù)字段和CRC字段,只有同步字段和標(biāo)識符字段用來表示數(shù)據(jù)傳輸狀態(tài)。</p><p> 握手信號封包的PID數(shù)據(jù)域包含ACK, NAK, STALL三種類型名稱。也就對應(yīng)了ACK握手信號封包、NAK握
77、手信號封包以及STALL握手信號封包。</p><p> 表3-4 握手包格式</p><p><b> 3.1.4 事務(wù)</b></p><p> 事務(wù)處理是USB總線上數(shù)據(jù)傳輸?shù)幕締挝?,主機(jī)與USB設(shè)備之間的一次通信可能要用到1個或者多個事務(wù)。事務(wù)處理由3個階段組成:令牌階段、數(shù)據(jù)階段和握手階段。事務(wù)又分為IN事務(wù)、OUT事務(wù)、SE
78、TUP事務(wù)、PING事務(wù)、SOF事務(wù)、SPLIT事務(wù)和PRE事務(wù)。針對本課題,選取最為重要的IN、OUT、SETUP、SOF等4個事務(wù)來介紹[7][10][11]。</p><p><b> 1、IN事務(wù)</b></p><p> IN事務(wù)用于完成USB設(shè)備到主機(jī)的數(shù)據(jù)傳輸。其內(nèi)容可由圖3-2表示。正常情況下,USB設(shè)備將向主機(jī)發(fā)出數(shù)據(jù)包。USB設(shè)備不能成功地響應(yīng)
79、主機(jī)發(fā)出的IN令牌包時,USB設(shè)備的響應(yīng)有:當(dāng)收到的IN令牌包已損壞,則USB設(shè)備不應(yīng)答;如USB設(shè)備暫時不能向主機(jī)發(fā)送數(shù)據(jù),則返回NAK握手包;當(dāng)USB設(shè)備的這個IN端點(diǎn)被停止了,則向主機(jī)返回STALL握手包。</p><p> 圖3-2 成功傳輸?shù)腎N事務(wù)處理</p><p> 對主機(jī)而言,正常時應(yīng)接收來自USB設(shè)備的數(shù)據(jù),并以ACK握手。但當(dāng)主</p><p&
80、gt; 機(jī)暫不能接收數(shù)據(jù)或檢測到數(shù)據(jù)包已損壞,則會丟棄數(shù)據(jù)包,不做任何響應(yīng)。</p><p><b> 2、OUT 事務(wù)</b></p><p> OUT事務(wù)用于完成主機(jī)到USB設(shè)備的數(shù)據(jù)傳輸。正常情況下,USB設(shè)備成功接收來自主機(jī)的數(shù)據(jù),并以ACK握手返回。當(dāng)USB設(shè)備收到已損壞的OUT令牌包和數(shù)據(jù)包,則設(shè)備將不做答。當(dāng)USB設(shè)備的該端點(diǎn)已被停用,它將會向主機(jī)
81、返回STALL握手包。當(dāng)USB設(shè)備和該數(shù)據(jù)包的數(shù)據(jù)觸發(fā)位不匹配,則USB設(shè)備則會丟棄數(shù)據(jù),返回ACK握手。</p><p><b> 3、SETUP事務(wù)</b></p><p> SETUP事務(wù)是一種特殊的事務(wù),它用于定義主機(jī)到USB設(shè)備的數(shù)據(jù)傳輸。</p><p> 由于它的數(shù)據(jù)格式較為特殊,只用于在USB控制傳輸?shù)慕㈦A段。當(dāng)USB設(shè)
82、備</p><p> 接收到的SETUP令牌包有誤,USB設(shè)備則忽略該信息包,且不做任何響應(yīng)。一旦USB設(shè)備接收了SETUP令牌包,則一定要接收后面的數(shù)據(jù)包并向主機(jī)返回ACK包握手。與IN、OUT事務(wù)不同的是,USB設(shè)備不能對SETUP事務(wù)處理返回NAK或者STALL等握手包。</p><p><b> 4、SOF事務(wù)</b></p><p&g
83、t; SOF事務(wù)表示USB幀/小幀的開始,它僅包含主機(jī)或者集線器事務(wù)翻譯器發(fā)</p><p> 出的SOF令牌包,而不需USB設(shè)備返回任何握手。</p><p> 對低速/全速傳輸而言,幀的長度為1ms,即每1ms產(chǎn)生一次SOF令牌包。</p><p> 對高速傳輸而言,幀長度為125μs,SOF令牌包每7個小幀產(chǎn)生一次。</p><p&
84、gt;<b> 3.2數(shù)據(jù)傳輸模型</b></p><p> USB定義了4種傳輸類型,即控制傳輸、中斷傳輸、批量傳輸和同步傳輸。表3-5是這4種數(shù)據(jù)傳輸類型在端點(diǎn)類型、傳輸方向、傳輸數(shù)據(jù)的特點(diǎn)等方面的比較[12]。</p><p> 表3-5 USB四種傳輸類型的比較</p><p> 對FLASH等存儲介質(zhì)進(jìn)行讀寫操作,一般沒有時間
85、和速率的要求,一般都</p><p> 采用批量傳輸方式進(jìn)行傳輸。</p><p> 3.2.1 控制傳輸(Control Transfer)</p><p> 控制傳輸作為最重要同時也是最為復(fù)雜的傳輸類型,是所有USB設(shè)備都必須支持的傳輸類型。待USB設(shè)備連接到主機(jī)上之后,主機(jī)借助控制傳輸來與設(shè)備交換信息、配置設(shè)備、讀取設(shè)備描述符等。</p>
86、<p> 控制傳輸由初始設(shè)置、可選數(shù)據(jù)和狀態(tài)信息三個階段組成。其中,初始設(shè)置</p><p> 階段中,主機(jī)向指定的USB設(shè)備發(fā)送SETUP令牌包??蛇x數(shù)據(jù)階段中,主機(jī)則</p><p> 發(fā)送具有USB定義格式的數(shù)據(jù)包。在最后的握手階段,USB設(shè)備則接收主機(jī)發(fā)</p><p> 送給它的令牌包和數(shù)據(jù)包,并向主機(jī)返回ACK握手包。一旦SETUP令牌
87、包出錯,USB設(shè)備就會忽略該信息包,也不會對返回任何信息。而當(dāng)設(shè)備接收了來自主機(jī)的SETUP包時,就一定要接收后面的數(shù)據(jù)包,同時必需向主機(jī)返回ACK握手包。</p><p> 3.2.2 批量傳輸(Bulk Transfer)</p><p> 批量傳輸支持在不確定時間進(jìn)行的大量的數(shù)據(jù)通信,在移動存儲設(shè)備中使用</p><p> 廣泛。用于批量傳輸?shù)亩它c(diǎn)決定其
88、接收或發(fā)送的最大數(shù)據(jù)凈負(fù)荷區(qū)大小。USB規(guī)定最大的批量傳輸凈負(fù)荷區(qū)的長度為8、16、32或64字節(jié)。所有主機(jī)控制器都必須支持這幾種字節(jié)長度作為最大長度,而對于超過此范圍的數(shù)據(jù)長度可以不支持。</p><p> 以BULK IN傳輸為例,當(dāng)主機(jī)做好準(zhǔn)備接收數(shù)據(jù)時,就會向USB設(shè)備發(fā)送</p><p> IN令牌包,并根據(jù)USB設(shè)備返回的數(shù)據(jù)來握手。當(dāng)USB設(shè)備在接收到令牌包后,發(fā)現(xiàn)此包損
89、壞,將不應(yīng)答。若令牌包有效,則USB設(shè)備將返回DATAx數(shù)據(jù)包、NAK或者STALL握手包。主機(jī)接收到有效的DATAx數(shù)據(jù)包,就會向USB設(shè)備返回ACK包;相反,如果接收的數(shù)據(jù)有誤,數(shù)據(jù)包將被丟棄,主機(jī)不做應(yīng)答,并重試該IN事務(wù),但最多3次。批量傳輸格式如圖3-3。</p><p> 圖3-3 批量傳輸格式</p><p> 3.2.3 中斷傳輸(Interrupt Transfer)
90、</p><p> 中斷傳輸適用于傳輸數(shù)據(jù)量少、但服務(wù)周期固定的數(shù)據(jù),常用來傳輸鼠標(biāo)、</p><p> 鍵盤操作的數(shù)據(jù)。同批量傳輸類似,中斷傳輸包括IN和OUT事務(wù),并可分為令</p><p> 牌、數(shù)據(jù)和握手三個階段,但不一定要經(jīng)歷所有3個階段。其傳輸格式見圖3-4。</p><p> 圖3-4 中斷傳輸模式</p>
91、<p> 中斷傳輸?shù)臄?shù)據(jù)不具有USB定義的格式。因此在總線上進(jìn)行中斷傳輸時,必須使用數(shù)據(jù)觸發(fā)機(jī)制來保證數(shù)據(jù)包收發(fā)同步,從而使數(shù)據(jù)能被正確接收。</p><p> 3.2.3 同步傳輸(Synchronous Transfer)</p><p> 對于大量的、速率恒定且對服務(wù)周期有要求的數(shù)據(jù),適合采用同步傳輸。通常,對于音視頻設(shè)備,如CD機(jī)、MP3等都采用同步傳輸?shù)姆绞竭M(jìn)行
92、數(shù)據(jù)的傳輸。在同步傳輸中,數(shù)據(jù)的及時收發(fā)相對其正確性更為重要,因此,同步傳輸只包含令牌和數(shù)據(jù)2個階段,省去了握手這一步。鑒于USB總線傳輸?shù)恼`碼率很低,即使偶爾出現(xiàn)錯誤情況,也都是在可以接受的范圍內(nèi)。同步傳輸格式見圖3-5。</p><p> 圖3-5 同步傳輸格式</p><p> 3.3 USB設(shè)備總線枚舉</p><p> 主機(jī)要識別USB設(shè)備之前,需要
93、經(jīng)歷一系列的設(shè)備狀態(tài),即設(shè)備暫態(tài),進(jìn)而才能進(jìn)行USB設(shè)備的總線枚舉[13]。</p><p> 3.3.1 設(shè)備暫態(tài)</p><p> USB設(shè)備的暫態(tài)有:</p><p> 接入態(tài)——USB設(shè)備接入主機(jī)的物理行為。主機(jī)通過檢測信號線上的電平變化即可發(fā)現(xiàn)有設(shè)備接入。</p><p> 供電態(tài)——在設(shè)備未被配置前,設(shè)備的電源仍是默認(rèn)值。
94、設(shè)備進(jìn)入配置階段之后,供電態(tài)會暫時停止供電,以實現(xiàn)設(shè)備的復(fù)位及重新接入。待設(shè)備被配置后,進(jìn)入正常的供電態(tài),即主機(jī)按照設(shè)備要求的最大電流值供電。</p><p> 缺省態(tài)——設(shè)備在配置前,通過缺省地址0與主機(jī)通信時的狀態(tài)。</p><p> 地址態(tài)——設(shè)備歷經(jīng)了配置、復(fù)位后,按照主機(jī)分配的地址通信的狀態(tài)。</p><p> 配置態(tài)——主機(jī)通過各種USB請求命令獲
95、取設(shè)備信息,并改變或設(shè)置設(shè)備的某些信息,從而完成對設(shè)備的配置。此狀態(tài)即為配置態(tài)。</p><p> 掛起態(tài)——設(shè)備進(jìn)入掛起狀態(tài)。</p><p> 除掛起態(tài)外,設(shè)備必須歷經(jīng)其他5個狀態(tài),方可被成功配置。而這6個暫態(tài)之間的關(guān)系并非彼此孤立,而是相互關(guān)聯(lián)的。其關(guān)系可見圖3-6。</p><p> 圖3-6 USB設(shè)備狀態(tài)轉(zhuǎn)移圖</p><p&g
96、t; 3.3.2 USB設(shè)備的總線枚舉</p><p> USB通過使用總線枚舉操作來管理USB設(shè)備的連接與斷開??偩€枚舉的過程由兩部分組成,先是主機(jī)和USB設(shè)備所連接的集線器進(jìn)行通信,然后主機(jī)才開始與這個新連接的USB設(shè)備進(jìn)行數(shù)據(jù)傳輸??偩€枚舉的具體過程如下:</p><p> 1)設(shè)備連接。USB設(shè)備接入USB總線,即進(jìn)入接入態(tài)。</p><p> 2)
97、集線器為設(shè)備上電,使之進(jìn)入供電態(tài)。</p><p> 3)主機(jī)檢測到設(shè)備后,復(fù)位設(shè)備。即設(shè)備連接到總線后,主機(jī)通過檢測設(shè)備在總線上的上拉電阻檢測到有無設(shè)備與之連接,并得知設(shè)備的速度,繼而發(fā)出復(fù)位信號,復(fù)位設(shè)備。</p><p> 4)設(shè)備進(jìn)入缺省態(tài)。設(shè)備在收到復(fù)位信號后,使用缺省地址對其尋址。</p><p> 5)地址分配。當(dāng)主機(jī)收到來自設(shè)備在缺省地址的響應(yīng)
98、后,就對該設(shè)備分配一個空閑的地址。此后,該設(shè)備就用這個新獲得的地址與主機(jī)通信。</p><p> 6)讀取USB的設(shè)備描述符。主機(jī)通過讀取USB設(shè)備的描述符,從而確定USB設(shè)備的諸多屬性。</p><p> 7)配置設(shè)備,即主機(jī)根據(jù)已獲的設(shè)備描述符對設(shè)備進(jìn)行配置。若主機(jī)能滿足設(shè)備所需的USB資源,主機(jī)就發(fā)送配置命令給設(shè)備,以表示配置結(jié)束。</p><p> 8
99、)掛起。根據(jù)USB協(xié)議規(guī)定,當(dāng)USB總線空閑狀態(tài)超過3ms,設(shè)備驅(qū)動程序就進(jìn)入掛起狀態(tài)。此時,設(shè)備的耗電流不超過500μA。而設(shè)備的地址及配置等信息都不會因此而發(fā)生改變,而是保存在設(shè)備里。</p><p> 完成以上8步之后,USB設(shè)備即可實現(xiàn)即插即用。其中,步驟8是可選的。</p><p> 即設(shè)備不一定都要進(jìn)入掛起狀態(tài)。</p><p> 3.3.3 標(biāo)準(zhǔn)
100、USB描述符</p><p> 如前文所述,任何USB設(shè)備都可視為是配置、接口和端點(diǎn)的集合。在實際應(yīng)用上,主機(jī)通過發(fā)送GetDescriptor請求來獲取設(shè)備描述符,從而了解設(shè)備的具體信息,以便為兩者通信做好準(zhǔn)備。標(biāo)準(zhǔn)USB描述符分幾大類,見表3-6。</p><p> 表3-6 標(biāo)準(zhǔn)USB描述符</p><p> 其中,設(shè)備描述符主要向主機(jī)提供USB設(shè)備的一
101、般信息,并指出其所含配置的個數(shù)。配置描述符、接口描述符和端點(diǎn)描述符則根據(jù)設(shè)備的工作情況,返回設(shè)備的相關(guān)信息。只是一個USB設(shè)備只能有一個設(shè)備描述符,但可以同時有多個配置描述符,接口描述符和端點(diǎn)描述符。</p><p><b> 4. 系統(tǒng)硬件設(shè)計</b></p><p> LED點(diǎn)陣顯示牌硬件部分的總體設(shè)計首先應(yīng)選好系統(tǒng)的中央處理系統(tǒng)CPU, 然后在其基礎(chǔ)上擴(kuò)展,
102、選擇其他的元器件,設(shè)計出與其相配套的電路部分,經(jīng)調(diào)試后組成硬件系統(tǒng)。</p><p> 本文介紹的LED點(diǎn)陣顯示牌包括微控制器、USB通信接口、LED點(diǎn)陣以及點(diǎn)陣驅(qū)動電路和鋰電管理電路。本設(shè)計選用Cygnal公司內(nèi)置USB接口的高性能微控制器芯片C8051F320,選用凌力爾特公司的LTC3555做為鋰電池電源管理芯片,這樣簡化了硬件部分的設(shè)計,在一定程度上縮小了LED點(diǎn)陣顯示牌的體積。</p>
103、<p> 本設(shè)計的硬件電路主要有三個模塊:電源模塊、鋰電管理模塊、LED點(diǎn)陣顯示模塊。系統(tǒng)硬件原理框圖如下圖3-7所示。</p><p> 其工作原理是:通過USB接口的VBUS或者鋰電池給系統(tǒng)供電,鋰電池充電通過配置LTC3555實現(xiàn),LED點(diǎn)陣顯示是通過單片機(jī)控制LED點(diǎn)陣的行和列的高低電平來實現(xiàn),并通過軟件編程實現(xiàn)C8051F320與PC機(jī)的通信 [14]。</p><p&
104、gt; 圖3-7 系統(tǒng)硬件原理框圖</p><p> 4.1 主要芯片介紹 </p><p> 4.1.1 C8051F320簡介</p><p> C8051F320是由Cygnal公司推出的C8051F系列單片機(jī)中的一款小型單片機(jī)。它是集成的混合信號片上系統(tǒng)SOC(System on chip),除了具有與MCS-51內(nèi)核及指令集完全兼容的微控制器、標(biāo)準(zhǔn)
105、8051的數(shù)字外設(shè)部件之外,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其它數(shù)字外設(shè)及功能部件。C8051F320片內(nèi)自帶有USB收發(fā)器和控制處理器是它區(qū)別于同一系列產(chǎn)品的一大特點(diǎn)。用C8051F320來進(jìn)行USB技術(shù)開發(fā)既方便又快捷。結(jié)構(gòu)示意圖如圖4-1所示[15]。</p><p> 圖4-1 C8051F320單片機(jī)系統(tǒng)結(jié)構(gòu)示意圖</p><p> C8051F320功能部件
106、及特點(diǎn):</p><p> ?、賃SB功能控制模塊:滿足USB2.0協(xié)議;可在全速(12 Mbps)或低速(1.5Mbps)下運(yùn)行;集成有一個時鐘恢復(fù)源,對于全速或低速傳輸均可不用外部晶振;支持8個靈活通用的端點(diǎn);內(nèi)置一個1K的USB專用緩沖存儲器;集成了一個USB接收器,不需要外部電阻。</p><p> ?、谀M外設(shè):10位的ADC(±1LSBINL):其最大可編程轉(zhuǎn)換速率可
107、達(dá)200kbps,可多達(dá)17個外部輸入,可編程為單端輸入或差分輸入,內(nèi)置一個溫度傳感器(±3℃);2個模擬比較器;2.4V的內(nèi)部電壓基準(zhǔn);精確的Vdd監(jiān)視器和欠壓檢測器。</p><p> ③高速8051微控制器內(nèi)核:采用流水線指令結(jié)構(gòu),其70%的指令的執(zhí)行時間為一個或兩個系統(tǒng)時鐘周期;速度可達(dá)25 MIPS(時鐘頻率為25MHz時)。</p><p> ?、軘?shù)字外設(shè):25個字
108、節(jié)寬的端點(diǎn)I/O;所有口線均耐5V電壓;可同時使用UART串口、硬件SMBusTM、SPITM;帶有4個可編程的16位計數(shù)器/定時器陣列;帶有5個捕捉/比較模塊的通用16位計數(shù)器/定時器。</p><p> ?、輹r鐘源:內(nèi)部晶振,精度為0.25;支持所有USB和UART模式;外部晶振器:晶體、RC、C或外部時鐘;內(nèi)置一個針對USB控制器的片上時鐘乘法器。</p><p> ?、薰╇婋妷海浩?/p>
109、上的參考電源校準(zhǔn)器支持USB總線電源操作;校準(zhǔn)器的Bypass模式支持USB內(nèi)部電源操作。</p><p> ⑦存儲器:1280字節(jié)的內(nèi)部數(shù)據(jù)RAM(1K+256);16K字節(jié)的可以在系統(tǒng)編程的FLASH閃速存儲器。</p><p> ⑧片內(nèi)調(diào)試模塊:片內(nèi)調(diào)試電路提供全速、非侵入式的在系統(tǒng)調(diào)試(不需仿真器);支持端點(diǎn)、單步、觀察點(diǎn)、堆棧監(jiān)視器;可以觀察/修改存儲器和寄存器;比使用仿真芯
110、片、目標(biāo)仿真頭和仿真插座的仿真系統(tǒng)有更好的性能。</p><p> ?、峁ぷ鳒囟确秶?~70℃</p><p> ?、庑阅芴攸c(diǎn):C8051F320在保持CISC結(jié)構(gòu)及指令系統(tǒng)不變的情況下,對指令運(yùn)行實行流水作業(yè),推出了CIP-51的CPU模式,從而大大提高了指令運(yùn)行速度,使8051兼容機(jī)系列進(jìn)入了8位高速單片機(jī)行列。</p><p> C8051F320單片機(jī)系
111、統(tǒng)集成了全速/低速USB功能控制器,用于實現(xiàn)USB接口的外部設(shè)備(C8051F320不能被用作USB主設(shè)備)。USB功能控制器(USB0)由串行接口引擎(SIE)、USB收發(fā)器(包括匹配電阻和可配置上拉電阻)、1KB FIFO存儲器和時鐘恢復(fù)電路組成,其結(jié)構(gòu)圖如圖4-2所示。USB功能控制器和收發(fā)器符合通用串行總線規(guī)范2.0版,可以全速或低速工作。。片內(nèi)4倍時鐘乘法器和時鐘恢復(fù)電路允許使用內(nèi)部高精度振蕩器作為USB時鐘源,實現(xiàn)全速和低速
112、通信。外部振蕩器也可以與4倍時鐘乘法器配合使用來產(chǎn)生USB時鐘。CPU時鐘源與USB時鐘相互獨(dú)立。</p><p> 共有8個端點(diǎn):一個雙向控制端點(diǎn)(端點(diǎn)0)和三對輸入/輸出端點(diǎn)(端點(diǎn)1-3輸入/輸出)。使用1024字節(jié)的片內(nèi)XRAM作為USB0的FIFO空間。FIFO空間在端點(diǎn)0–3之間的分配如圖4-3所示。分配給端點(diǎn)1–3的FIFO空間可以被配置為輸入(IN)、輸出(OUT)或兩者兼有(分割方式:一半空間給
113、輸入,一半空間給輸出)。</p><p> 圖4-2 USB控制器結(jié)構(gòu)圖</p><p> 圖4-3 USB FIFO分配</p><p> 4.1.2 LTC3555簡介</p><p> LTC3555是凌力爾特公司新推出的一種電源管理器件,它集成了獨(dú)立電池充電器、開關(guān)型PowerPath TM管理器、理想二極管、I2C控制功能、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計----led點(diǎn)陣顯示屏
- 畢業(yè)設(shè)計-----led點(diǎn)陣顯示屏
- 基于單片機(jī)的led點(diǎn)陣顯示畢業(yè)設(shè)計
- led漢字點(diǎn)陣顯示系統(tǒng)的設(shè)計【畢業(yè)設(shè)計】
- led點(diǎn)陣顯示屏畢業(yè)設(shè)計文獻(xiàn)綜述
- 基于led的廣告點(diǎn)陣顯示設(shè)計
- 基于led的廣告點(diǎn)陣顯示設(shè)計畢業(yè)論文
- 遠(yuǎn)程控制led點(diǎn)陣顯示屏畢業(yè)設(shè)計
- 基于單片機(jī)的led點(diǎn)陣顯示電子鐘畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---基于單片機(jī)的led點(diǎn)陣字符顯示器的設(shè)計
- led點(diǎn)陣顯示屏論文 led漢字點(diǎn)陣論文 led點(diǎn)陣顯示論文
- led點(diǎn)陣顯示及設(shè)計
- led點(diǎn)陣顯示畢業(yè)論文
- led點(diǎn)陣顯示畢業(yè)論文
- 畢業(yè)設(shè)計單片機(jī)控制led點(diǎn)陣顯示流動信息
- 畢業(yè)設(shè)計--基于單片機(jī)控制的led點(diǎn)陣顯示屏設(shè)計論文
- led點(diǎn)陣廣告牌的設(shè)計畢業(yè)論文
- 畢業(yè)設(shè)計----led點(diǎn)陣屏
- led點(diǎn)陣畢業(yè)設(shè)計論文
- led點(diǎn)陣畢業(yè)設(shè)計論文
評論
0/150
提交評論