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