




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、三 江 學 院本科生畢業(yè)設計(論文)題 目 基于51單片機的usb鍵盤設計與實現(xiàn) 高職院 院(系) 電氣工程及其自動化 專業(yè)學生姓名 梁邱一 學號 g105071013 指導教師 孫傳峰 職稱 講師 指導教師工作單位 三江學院 起訖日期 2013年12月10日至2014年4月12日 摘 要 隨著計算機技術的不斷更新和多媒體技術的快速發(fā)展,傳統(tǒng)的計算機外設接口因為存在許多缺點已經(jīng)不能適應計算機的發(fā)展需要。比起傳統(tǒng)的at,ps/2,串口,通用串行總線usb,具有速度快,使用方便靈活,易于擴展,支持即插即用,成本低廉等一系列優(yōu)點,得到了廣泛的應用。本論文闡述了51系列單片機和usb的相關內(nèi)容,詳細介
2、紹了系統(tǒng)的一些功能設計,包括硬件設計和軟件設計。在程序調(diào)試期間用簡單的串口通信電路,通過串口調(diào)試助手掌握了usb指令的傳輸過程,這對整個方案的設計起到了很大的指導作用。論文以單片機最小系統(tǒng)配合模擬鍵盤組成的usb鍵盤硬件系統(tǒng),通過對d12芯片的學習與探索,在其基本命令接口的支持下,結(jié)合硬件進行相應的固件程序設計,使其在usb協(xié)議下,實現(xiàn)usb模塊與pc的數(shù)據(jù)通信,完成usb鍵盤的功能模擬。總結(jié)論文研究工作有闡述usb總線的原理、對本設計的系統(tǒng)要求作出了分析、根據(jù)要求選定元件和具體編程方案、針對系統(tǒng)所要實現(xiàn)的功能對相關芯片作了詳細介紹以及在硬件部分設計了原理圖。關鍵詞:usb;d12;pcabs
3、tract with the rapid development of computer technology and multimedia technology constantly updated, traditional computer peripheral interface because there are many shortcomings have been unable to meet the development needs of the computer.compared to traditional at, ps / 2, serial, universal ser
4、ial bus usb, with fast, flexible and easy to use, easy to expand, support plug and play, a series of advantages, such as low cost, has been widely used. this paper describes the 51 series and usb related content, detailing some of the features of the system design, including hardware and software de
5、sign.during debugging a simple serial communication circuit, through the serial port debugging assistant master usb transfer instructions, which designed the entire program has played a significant role in guiding.thesis smallest single-chip system consisting of analog keyboard with a usb keyboard h
6、ardware system, by learning and exploration d12 chips, with the support of its basic command interface, in conjunction with the corresponding hardware firmware design, making it in the usb protocol, usb module data communication with the pc, the usb keyboard to complete the functional simulation. th
7、is paper summarizes research work has elaborated the principle of the usb bus, the system is designed to require the analysis, components and solutions based on the specific requirements of the selected programming for the system to achieve the function of the relevant chips are described in detail
8、in the hardware part of the design as well as the principle of figure.keywords:usb;d12;pc目 錄第一章緒 論11.1 pc接口簡介11.2 usb 接口分析11.3 usb 器件的選擇1第二章系統(tǒng)分析32.1 usb總線簡介32.2 usb技術指標32.3 usb系統(tǒng)構(gòu)成4第3章系統(tǒng)硬件設計63.1 stc89c52單片機簡介及最小系統(tǒng)6 3.1.1 單片機發(fā)展概況及發(fā)展方向6 3.1.2 單片機特點及結(jié)構(gòu)6 3.1.3 復位電路設計8 3.1.4 單片機最小系統(tǒng)硬件設計93.2 pdiusbd12接口芯片
9、設計9 3.2.1 usb接口芯片簡介9 3.2.2 usb接口芯片引腳配置11 3.2.3 usb接口芯片硬件設計14 3.2.4 usb接口芯片端點描述14 3.2.5 usb接口芯片命令163.3 usb鍵盤硬件設計18第4章系統(tǒng)軟件設計194.1 固件編程的實現(xiàn)20 4.1.1 usb接口芯片工作流程圖20 4.1.2 pdiusbd12命令接口-pdiusbd12.c21 4.1.3 usb中斷服務程序-usbisr.c21 4.1.4 按鍵處理流程圖21 4.1.5 usb鍵盤處理程序-key.c22 4.1.6 usb主循環(huán)程序-main.c234.2 實物演示25結(jié)束語27致
10、謝28參考文獻29附錄a30附錄b37第一章緒 論1.1 pc接口簡介pc中的接口有兩類:串行接口和并行接口。計算機內(nèi)部總線,如cpu與存儲器之間勻采用并行接口,這樣速度快;但外設卻以串行接口比較占優(yōu)勢。傳統(tǒng)的打印機接口為并行接口。scsi標準的全名是小型設備通用接口標準,其傳輸速率為10m,早期的掃描儀一般使用此接口,硬盤與主機的聯(lián)接也使用這種接口。串行接口出現(xiàn)最早,使用最廣的rs232接口,但其速度太慢,現(xiàn)在已經(jīng)逐漸被淘汰。usb接口和ieee1394接口是兩種速度比較高的串行接口,還有局域網(wǎng)中的以太網(wǎng)接口,它們具有較廣闊的發(fā)展前景和應用潛力。usb適用于低檔外設與主機之間的高速數(shù)據(jù)傳輸,
11、usb1.1可以達到1.5mbps或12mbps的傳輸率,而1394更是可達100200400mbps。usb2.0將速度定位在480mbps,而ieee1394也推出了1394b 1.3.1 版草案,速度從800mbps起步,最高可達3.2gbps。局局域中用得最多的是以太網(wǎng)接口,速度可達100mbps,當使用光纖傳輸時,速度可達1000mbps。1.2 usb 接口分析通用串行總線(universal serial bus usb),是一種快速、靈活的總線接口。與其它通信接口比較,usb接口的最大特點是易于使用。作為一種高速總線接口,usb適用于多種設備,如數(shù)碼相機、mp3播放機、高速數(shù)據(jù)
12、采集設備等。易于使用還表現(xiàn)在usb接口支持熱插拔,并且所有的配置過程都由系統(tǒng)自動完成,無需用戶干預。usb接口支持1.5mb/s(低速)、12mb/s(全速)和高達480mb/s的數(shù)據(jù)傳輸速率,扣除用于總線狀態(tài)、控制和錯誤監(jiān)測等的數(shù)據(jù)傳輸,usb的最大理論傳輸速率仍達1.2mb/s或9.6mb/s,遠高于一般的串行總線接口。usb接口芯片價格低廉,一個支持usb 1.1 規(guī)范的usb接口芯片價格大多在人民幣1530元之間,這也大大促進usb設備的開發(fā)與應用。1.3 usb 器件的選擇在進行一個usb設備開發(fā)之前,首先要根據(jù)具體使用要求選擇合適的usb控制器。目前,市場上供應的usb控制器主要有
13、兩種:帶usb接口的單片機(mcu)或純粹的usb接口芯片。帶usb接口的單片機從應用上又可以分成兩類,一類是從底層設計專用于usb控制的單片機另一類是增加了usb接口的普通單片機,如cypress公司的ezusb(基于8051),選擇這類usb控制器的最大好處在于開發(fā)者對系統(tǒng)結(jié)構(gòu)和指令集非常熟悉,開發(fā)工具簡單,但對于簡單或低成本系統(tǒng)。但價格因素也是在實際選擇過程中需要考慮的因素。純粹的usb 接口芯片僅處理usb通信,必須有一個外部微處理器來進行協(xié)議處理和數(shù)據(jù)交換。典型產(chǎn)品有philips公司的pdiusbd11(i2c接口)、pdiusbd12(并行接口),ns公司的usbn9603/96
14、04(并行接口),netchip公司的net2888 等。usb接口芯片的主要特點是價格便宜、接口方便、可靠性高,尤其適合于產(chǎn)品的改型設計(硬件上僅需對并行總線和中斷進行改動,軟件則需要增加微處理器的usb中斷處理和數(shù)據(jù)交換程序、pc機的usb接口通信程序,無需對原有產(chǎn)品系統(tǒng)結(jié)構(gòu)作很大的改動)。 第二章系統(tǒng)分析2.1 usb總線簡介 usb是一種支持在usb主機和usb設備之間進行串行數(shù)據(jù)傳輸?shù)耐ㄐ艆f(xié)議。主機作為總線的主叫方,采用兩種信令模式:全速模式12mb/s和低速模1.5mb/s。usb使用四種數(shù)據(jù)傳輸方式:控制傳輸(control)、中斷傳輸(interrupt)、批量傳輸(bulk)
15、及等時傳輸(isochronous)。intel公司開發(fā)的通用串行總線架構(gòu)(usb)的目的主要基于以下三方面考慮:一、計算機與電話之間的連接顯然用計算機來進行計算機通信將是下一代計算機基本的應用。機器和人們的數(shù)據(jù)交互流動需要一個廣泛而又便宜的連通網(wǎng)絡。然而,由于目前產(chǎn)業(yè)間的相互獨立發(fā)展,尚未建立統(tǒng)一標準,而usb則可以廣泛的連接計算機和電話。二、易用性眾所周知,pc機的改裝是極不靈活的。對用戶友好的圖形化接口和一些軟硬件機制的結(jié)合,加上新一代總線結(jié)構(gòu)使得計算機的沖突大量減少,且易于改裝。但以終端用戶的眼光來看,pc機的輸入/輸出,如串行/并行端口、鍵盤、鼠標、操縱桿接口等,均還沒有達到即插即用
16、的特性,usb正是在這種情況下問世的。三、端口擴充外圍設備的添加總是被相當有限的端口數(shù)目限制著。缺少一個雙向、價廉、與外設連接的中低速的總線,限制了外圍設備(如電話/電傳/調(diào)制解調(diào)器的適配器、掃描儀、鍵盤、pda)的開發(fā)?,F(xiàn)有的連接只可對極少設備進行優(yōu)化,對于pc機的新的功能部件的添加需定義一個新的接口來滿足上述需要,usb就應運而生。它是快速、雙向、同步、動態(tài)連接且價格低廉的串行接口,可以滿足pc機的發(fā)展現(xiàn)狀和未來需要。碼主要存儲在單片機中,通過單片機中的軟件代碼運行后,通過各個管腳的控制外圍輔助電路的運行以實現(xiàn)系統(tǒng)的功能。復位電路是保證系統(tǒng)安全運行的基礎,由于單片機的運行環(huán)境無法確定,無法
17、保證單片機在長時間的運行過程中能夠一直保證系統(tǒng)的穩(wěn)定性,復位電路就是在單片機無法正常運行后,軟復位無法進行復位的情況下,能夠保證系統(tǒng)能夠重新啟動2.2 usb技術指標 usb最大的特點是支持熱插拔(hot plug)和即插即用 (plug&play)。當設備插入時,主機枚舉(enumerate)此設備并加載所需的驅(qū)動程序,因此使用遠比pci和isa總線方便 。目前usb支持3種數(shù)據(jù)信號速率,usb設備應該在其外殼或者有時是自身上正確標明其使用的速率。(1)1.5 mbit/s (183 kbyte/s) 的低速速率,主要用于人機接口設備(human interface devices ,hid
18、)例如鍵盤、鼠標、游戲桿。(2)12 mbit/s (1.4 mbyte/s)的全速速率,在usb 2.0之前是曾經(jīng)是最高速率,后起的更高速率的高速接口應該兼容全速速率。多個全速設備間可以按照先到先得法則劃分帶寬,使用多個等時設備時會超過帶寬上限也并不罕見。所有的usb hub支持全速速率。(3)480 mbit/s (57 mbyte/s)的高速速率。并非所有的usb 2.0設備都是高速的。高速設備插入全速hub時應該與全速兼容,而高速hub具有所謂transaction translator(事務翻譯器)功能,能夠隔離全速、低速設備與高速之間數(shù)據(jù)流,但是不會影響供電和串聯(lián)深度。2.3 us
19、b系統(tǒng)構(gòu)成usb系統(tǒng)主要由三部分組成,即宿主(host),usb設備(device)和usb連接。一、usb宿主usb宿主(host)是一個帶有usb主控制器的pc機或者嵌入式系統(tǒng),在usb系統(tǒng)中只有一個宿主,它是usb系統(tǒng)的主控者。usb宿主主要用于產(chǎn)生并且管理控制信號和數(shù)據(jù)流,檢測并處理總線上的各種活動的狀態(tài),并為總線上的usb設備提供能源。usb宿主存在于主機系統(tǒng)中,它包括硬件,軟件部分。其中,硬件部分指的是usb宿主控制器,一般集成在主板上,受usb系統(tǒng)軟件的控制。軟件部分分為三部分,分別是:1. usb設備驅(qū)動程序(usb device drivers)通過i/o請求包發(fā)出給usb設
20、備的請求,而這些i/o請求包則完成對目標設備傳輸?shù)脑O置。2. usb驅(qū)動程序(usb driver)在設備設置時讀取描述寄存器以獲取usb設備的特征,并根據(jù)這些特征,在請求發(fā)生時組織數(shù)據(jù)傳輸。3. 主控制器驅(qū)動程序(host controller driver)完成對usb交換的調(diào)度,并通過根集線器或其它的集線器完成對交換的初始化。二、usb設備usb設備用于完成特定的功能,它具有極強的擴充性,能以一種星型+級聯(lián)的方式連接起來,usb宿主可以根據(jù)usb設備的動態(tài)增減,對其進行動態(tài)配置。usb設備是實現(xiàn)某種具體功能的硬件設備,如鍵盤,鼠標和攝像頭等。usb功能器件作為usb外設,它必須保持和us
21、b協(xié)議的完全兼容,并可以響應標準的usb操作。同樣,用于表明自己身份的“bios”系統(tǒng)對于usb外設也是必不可少的,這在usb外設上被稱為協(xié)議層。在物理機制上,一個usb外設可以由四部分構(gòu)成:(1)用于實現(xiàn)和usb協(xié)議兼容的sie部分。(2)用于內(nèi)存特征字,存儲實現(xiàn)外設特殊功能程序及廠家信息的協(xié)議rom(3)用于實現(xiàn)外設功能的傳感器及對資料進行簡單處理的dsp部分(4)將外設連接到主機或usb hub的接口部分。根據(jù)傳輸率的不同,usb功能器件被分為高速和低速兩種。低速外設的標準傳輸率為1.5mbps,而高速外設的標準傳輸率為12mbps。例如鼠標,鍵盤等交互式設備就是低速設備運行,而打印機,
22、掃描儀就使用全速設備模式運行。三、usb連接(數(shù)據(jù)流)usb連接實際上是指usb器件和usb主機連接并進行通信的方法,它可以將存在于usb主機和usb設備之間的usb數(shù)據(jù)傳輸模型描述為一個管道(pipe),管道只是一個邏輯上的概念。usb系統(tǒng)軟件通過缺省管道(與端點0相對應)管理設備,設備驅(qū)動程序通過其它的管道來管理設備的功能接口。實際的數(shù)據(jù)傳輸過程是:設備驅(qū)動程序通過對usbd接口(usb driver interface)的調(diào)用發(fā)出輸入輸出請求(irp i/o request packet), usb驅(qū)動程序接到請求后調(diào)用hcd接口(host controller driver inter
23、face)將irp轉(zhuǎn)化為usb的傳輸(transfer),一個irp可以包含一個或多個usb傳輸,然后hcd將usb傳輸分解為總線操作(transaction),由主控制器以包(packet)的形式發(fā)出。需要注意的是所有的數(shù)據(jù)傳輸都是由主機開始的,任何外設都無權開始一個傳輸。irp是由操作系統(tǒng)定義的,而usb傳輸與總線操作是usb規(guī)范定義的。 usb總線將1ms定義為一幀,每幀以一個sof包為起始,在這1ms里usb進行一系列的總線操作,引入幀的概念主要是為了支持與時間有關的總線操作。為了滿足不同外設和用戶的要求 usb 提供了四種傳輸方式:控制傳輸,同步傳輸,中斷傳輸,批傳輸。它們在數(shù)據(jù)格式
24、,傳輸方向,數(shù)據(jù)包容量限制,總線訪問限制等方面有著各自不同的特征。 第3章系統(tǒng)硬件設計3.1 stc89c52單片機簡介及最小系統(tǒng)隨著電子技術的迅速發(fā)展,特別是隨著大規(guī)模集成電路產(chǎn)生而出現(xiàn)的微型計算機,給人類生活帶來了根本性的改變。單片微型計算機簡稱單片機。它是把組成微型計算機的各功能部件像中央處理器cpu、隨機存取存儲器ram、只讀存儲器rom、i/o接口電路、定時器/計數(shù)器以及串行通訊接口等部件制作在一塊集成芯片中,構(gòu)成一個完整的微型計算機。由于它的結(jié)構(gòu)與指令功能都是按照工業(yè)控制要求設計的,故又叫單片微控制器。3.1.1 單片機發(fā)展概況及發(fā)展方向 單片機的出現(xiàn)使現(xiàn)代科學技術研究得到了質(zhì)的飛
25、躍,可以毫不夸張地說,它給現(xiàn)代工業(yè)領域帶來了一次新的技術革命。目前,單片機以其高可靠性、高性能價格比,在工業(yè)控制系統(tǒng)、智能化儀器儀表、辦公自動化、日常生活用品等諸多領域得到極為廣泛的應用。由于單片機技術在各個領域正得到越來越廣泛的應用,世界上許多集成電路生產(chǎn)廠家相繼推出了各種類型的單片機。早期單片機大多結(jié)構(gòu)體系,指令復雜,指令代碼、周期數(shù)不統(tǒng)一、指令運行很難實現(xiàn)流水線操作,大大阻礙了運行速度的提高。雖然單片機對運行速度要求遠不如通用計算機系統(tǒng)或數(shù)字信號處理對指令運行速度的要求,但速度的提高會帶來許多好處,并拓寬單片機應用領域。一方面可獲得很高的指令運行速度,另方面,在相同的運行速度下,可大大降
26、低時鐘頻率,有利于獲得良好的電磁兼容效果。專用單片機是專門針對某一類產(chǎn)品系統(tǒng)要求而設計的。使用專用單片機可最大限度地簡化系統(tǒng)結(jié)構(gòu),使資源利用效率最高。在大批量使用時有可觀的經(jīng)濟效益和可靠性效益。專用單片機發(fā)展的基礎是半導體集成工藝和微電子設計技術。采用模塊化標準單元的快速設計及快速半導體集成工藝,將加速專用單片機的發(fā)展。3.1.2 單片機特點及結(jié)構(gòu) 本系統(tǒng)采用stc89c52單片機,它是一種低電壓、低功耗、高性能微控制器,具有 8k 字節(jié)可編程可擦出只讀存儲器。使得stc89c52為眾多控制應用系統(tǒng)提供高靈活、超有效的解決方案。它與mcs51指令系統(tǒng)兼容。stc89c52是一個功能強大的單片機
27、,但它只有40個引腳,其中p1是一個完整的8位雙向i/o口,此外,從stc89c52內(nèi)部結(jié)構(gòu)圖也可看出,其內(nèi)部結(jié)構(gòu)與8051內(nèi)部結(jié)構(gòu)基本一致,引腳rst、xtal1、xtal2的特性和外部連接電路也完全與51系列單片機相應引腳一致.如圖3.1所示。1 402 393 384 375 366 357 348 339 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21vccp0.0p0.1p0.2p0.3p0.4p0.5p0.6p0.7ea/vppale/progpsenp2.7p2.6p2.5p2.4p2.3p2.2p2.1p2.0
28、 p1.0 p1.1 p1.2p1.3p1.4p1.5p1.6p1.7rst(rxd) p3.0(txd) p3.1(int0) p3.2(int1) p3.3(t0) p3.4(t1) p3.5(wr) p3.6(rd)p3.7xtal1xtal2gnd圖3.1單片機引腳圖引腳功能說明如下: vcc:供電電源。 gnd:電路地。 p0口(p0.0p0.7):為雙向8位io端口。當作為io口使用時,可直接連接外部io口設備,由于內(nèi)部沒有上拉電阻,故要接上拉電阻。它是地址總線低8位及數(shù)據(jù)總線分時復用口,可以驅(qū)動8個ttl負載。一般作為擴展時的地址數(shù)據(jù)總線口使用。當p0口作為地址/數(shù)據(jù)復用時不用接
29、上拉電阻。 p1口(p1.0p1.7):為8位準雙向io口,它的每一位都可以分別定義為輸入線或輸出線(作為輸入時,口鎖存器必須置1),可以驅(qū)動4個ttl負載。 p2口(p2.0p2.7):為8位準雙向io口,當作為io口使用時,可直接連接外部io設備,可驅(qū)動4個ttl負載。一般作為擴展時地址總線的高8位復用口。 p3口(p3.03.7):為8位準雙向io口,可驅(qū)動4個ttl負載,是雙功能復用口,它的另一功能如表所示。 rst:復位輸入。rst一旦變成高電平,所有的i/o引腳就復位到“1”。當振蕩器正在運行時,持續(xù)給出rst引腳兩個機器周期的高電平便可完成復位。每一個機器周期需12個振蕩器或時鐘
30、周期。復位后應使此引腳電平為0.5v的低電平,以保證單片機的正常工作。 xtal1:作為振蕩器反相放大器的輸入和內(nèi)部時鐘發(fā)生器的輸入。 xtal2:作為振蕩器反相放大器的輸出。此外,從stc89c52內(nèi)部結(jié)構(gòu)圖也可看出,其內(nèi)部結(jié)構(gòu)與8051單片機內(nèi)部結(jié)構(gòu)基本一致,引腳rst、xtal1、xtal2的特性和外部連接電路也完全與51系列單片機相應引腳一致。3.1.3 復位電路設計在上電或復位過程中控制cpu的復位狀態(tài),這段時間內(nèi)讓cpu保持復位狀態(tài),而不是一上電或剛復位完畢就工作,防止cpu發(fā)出錯誤的指令,執(zhí)行錯誤操作,也可以提高電磁兼容性能。無論使用哪種類型的單片機,總要涉及到單片機復位電路的設
31、計。而單片機復位電路設計的好壞,直接影響到整個系統(tǒng)工作的可靠性。許多用戶在設計完單片機系統(tǒng),并在實驗室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機”、“程序走飛”等現(xiàn)象,這主要是單片機的復位電路設計不可靠引起的。單片機在啟動時都需要復位,以使cpu及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。51系列單片機的復位信號是從rst引腳輸入到芯片內(nèi)的觸發(fā)器中的。當系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如果rst引腳上有一個高電平并維持2個機器周期(24個振蕩周期)以上,則cpu就可以響應并將系統(tǒng)復位。單片機系統(tǒng)的復位方式有:手動按鈕復位和上電復位,如圖3.2圖3.3所示。 c31uf10kvccreset
32、vccrstgndvccstc89c521uf10k 圖3.2手動按鈕復位電路 圖3.3上電復位電路 上電復位:stc89c52的上電復位電路如圖所示,rst引腳是復位信號的輸入端,在rst復位輸入引腳上接一電容至vcc端,下接一個電阻到地即可。只要高電平的復位信號持續(xù)兩個機器周期以上的有效時間,就可以使單片機上電復位。上電復位的工作過程是在加電時,復位電路通過電容加給rst端一個短暫的高電平信號,rst端電位與vcc相同,此高電平信號隨著vcc對電容的充電過程而逐漸回落,即rst端的高電平持續(xù)時間取決于電容的充電時間。為了保證系統(tǒng)能夠可靠地復位,rst端的高電平信號必須維持足夠長的時間。上電
33、時,vcc的上升時間約為10ms,在圖2的復位電路中,當vcc掉電時,必然會使rst端電壓迅速下降到0v以下,但是,由于內(nèi)部電路的限制作用,這個負電壓將不會對器件產(chǎn)生損害。另外,在復位期間,端口引腳處于隨機狀態(tài),復位后,系統(tǒng)將端口置為全“l(fā)”態(tài)。如果系統(tǒng)在上電時得不到有效的復位,則程序計數(shù)器pc將得不到一個合適的初值,因此,cpu可能會從一個未被定義的位置開始執(zhí)行程序。 手動按鈕復位:手動按鈕復位需要人為在復位輸入端rst上加入高電平(如圖所示)。一般采用的辦法是在rst端和正電源vcc之間接一個按鈕。當人為按下按鈕時,則vcc的+5v電平就會直接加到rst端。手動按鈕復位的電路如所示。由于人
34、的動作再快也會使按鈕保持接通達數(shù)十毫秒,所以,完全能夠滿足復位的要求。3.1.4 單片機最小系統(tǒng)硬件設計圖3.4單片機最小系統(tǒng)硬件原理圖3.2 pdiusbd12接口芯片設計3.2.1 usb接口芯片簡介 用于usb設備開發(fā)的芯片通常有兩種:一種是帶usb接口的微控制器,另一種是純粹的usb接口芯片,需要外部微控制器(mcu)控制。philips公司的pdiusbd12芯片屬于后者。本文對此芯片的應用作了具體設計,以pdiusbd12為接口芯片,以stc89c52為微控制器,完成了usb接口電路的設計。pdiusbd12是一款性價比很高的usb器件,它通常用作微控制器系統(tǒng)中實現(xiàn)與微控制器進行通
35、信的高速通用并行接口,它還支持本地的 dma傳輸。這種實現(xiàn)usb接口的標準組件使得設計者可以在各種不同類型微控制器中選擇出最合適的微控制器。這種靈活性減小了開發(fā)的時間,風險以及費用,通過使用已有的結(jié)構(gòu)和減少固件上的投資,從而用最快捷的方法實現(xiàn)最經(jīng)濟的usb外設的解決方案。 pdiusbd12完全符合usb1.1版的規(guī)范,它還符合大多數(shù)器件的分類規(guī)格:成像類,海量存儲器件,通信器件,打印設備以及人機接口設備。同樣地 pdiusbd12 理想地適用于許多外設。pdiusbd12的 技術可提供良好的usb連接指示。在枚舉中l(wèi)ed指示根據(jù)通信的狀況間歇閃爍。當pdiusbd12成功地枚舉和配置后led
36、指示將一直點亮,隨后與pdiusbd12 之間成功的傳輸(帶應答)將關閉led,處于掛起狀態(tài)時,led 將會關閉。 該特性為usb 器件,集線器和usb通信狀態(tài)提供了用戶友好的指示。作為一個診斷工具,它對隔離故障的設備是很有用的。從系統(tǒng)測試中也可以看見該指示led間歇閃爍,很好的驗證了這一特性。pdiusbd12內(nèi)部包括模擬收發(fā)器、電壓調(diào)整器、pll、 philips串行接口引擎(psie)等。1、模擬收發(fā)器:集成的收發(fā)器接口可通過終端電阻直接與 usb 電纜相連。 2、電壓調(diào)整器:片內(nèi)集成了一個 3.3v 的調(diào)整器用于模擬收發(fā)器的供電,該電壓還作為輸出連接到外部 1.5k的上拉電阻,可選擇
37、pdiusbd12提供的帶 1.5k內(nèi)部上拉電阻的軟件連接技術。 3、pll:片內(nèi)集成了6m到48m時鐘乘法pll,這樣就可使用低成本的6m晶振,emi也隨之降低。pll的工作不需要外部元件。 4、位時鐘恢復:位時鐘恢復電路使用4x過采樣規(guī)則,從進入的usb數(shù)據(jù)流中恢復時鐘,它能跟蹤 usb 規(guī)定范圍內(nèi)的抖動和頻漂。 5、philips 串行接口引擎(psie):philips sie實現(xiàn)了全部的usb協(xié)議層,完全由硬件實現(xiàn)而不需要固件的參與。該模塊的功能包括:同步模式的識別,并行/串行轉(zhuǎn)換,位填充/解除填充,crc校驗/產(chǎn)生,pid校驗/產(chǎn)生,地址識別和握手評估/產(chǎn)生。 6、 :與 usb
38、的連接是通過1.5k上拉電阻將d+(用于高速usb器件)置為高實現(xiàn)的。1.5k上拉電阻集成在pdiusbd12 片內(nèi),默認狀態(tài)下不與 vcc 相連。連接的建立通過外部/系統(tǒng)微控制器發(fā)送命令來實現(xiàn)。這就允許系統(tǒng)微控制器在決定與 usb 建立連接之前完成初始化時序。usb總線連接可以重新初始化而不需要拔出電纜。 pdiusbd12在連接可以建立之前會檢測usb vbus是否可用。vbus可通過 eot_n 管腳進行檢測。具體參閱管腳描述一節(jié)。需要注意的是,內(nèi)部電阻的誤差(25%)大于usb規(guī)格的5% .但用于連接的vse 電壓規(guī)格仍然有足夠的余量。 是philips半導體一項尚未獲批準的專利技術。
39、 7、 :技術可提供良好的usb連接指示。在枚舉中l(wèi)ed指示根據(jù)通信的狀況間歇閃爍。當pdiusbd12成功地枚舉和配置后led指示將一直點亮,隨后與pdiusbd12 之間成功的傳輸(帶應答)將關閉led,處于掛起狀態(tài)時,led 將會關閉。 該特性為usb 器件,集線器和usb通信狀態(tài)提供了用戶友好的指示。作為一個診斷工具,它對隔離故障的設備是很有用的。該特性降低了現(xiàn)場支持和熱線的成本。 8、存儲器管理單元(mmu)和集成(ram):以 12m/s的速率傳輸并與微控制器并口相連時,mmu和集成ram作為usb 之間速度差異的緩沖區(qū)。這就允許微控制器以自己的速率對usb信息包進行讀寫。9、并行
40、和 dma接口:一個普通的并行接口定義成易于使用,快速而且可以與主流的微控制器直接接口。對一個微控制器而言,pdiusbd12看起來就象一個帶8位數(shù)據(jù)總線和一個地址位,占用2個位置的存儲器件。pdiusbd12支持多路復用和非復用的地址和數(shù)據(jù)總線,還支持主端點與本地共享ram之間直接讀取的 dma傳輸。支持單周期和突發(fā)模式的dma傳輸。3.2.2 usb接口芯片引腳配置pdiusbd12芯片采用tssop28塑料極小型封裝,一共28個引腳,本體寬度為4.4mm。圖3.5芯片引腳配置下面對其引腳和命令字作具體說明。表3.6 pdiusbd12芯片引腳說明管腳符號類型描述1dataio2雙向數(shù)據(jù)位
41、02dataio2雙向數(shù)據(jù)位13dataio2雙向數(shù)據(jù)位24dataio2雙向數(shù)據(jù)位35gndp地6dataio2雙向數(shù)據(jù)位47dataio2雙向數(shù)據(jù)位58dataio2雙向數(shù)據(jù)位69dataio2雙向數(shù)據(jù)位710alei在多路地址/數(shù)據(jù)總線中,下降沿關閉地址信息鎖存。將其固定為低電平用于單地址/數(shù)據(jù)總線配置11cs_ni片選(低有效)12suspendi,od4器件處于掛起狀態(tài)13clkouto2可編程時鐘輸出14int_nod4中斷(低有效)15rd_ni讀選通(低有效)16wr_ni寫選通(低有效)17dmreqo4dma請求18dmack_nidma應答(低有效)19eot_nidma
42、傳輸結(jié)束(低有效)。eot_n僅當dmack_n和rd_n或wr_n一起激活才有效20reset_ni復位(低有效且不同步)。片內(nèi)上電復位電路,該管腳可固定接vcc21gl_nod8goodlinkled指示器(低有效)22xtal1i晶振連接端1(6mhz)23xtal2o晶振連接端2(6mhz)。如果采用外部時鐘信號取代晶振,可連接xtal1,xtal2應當懸空24vccp電源電壓(4.0v-5.5v),要使器件工作在3.3v,對vcc和腳都提供3.3v25d+ausb d-數(shù)據(jù)線26d-ausb d+數(shù)據(jù)線27p3.3v調(diào)整輸出。要使器件工作在3.3v,對vcc和腳都提供3.3v28a0
43、i地址位。a0=1選擇命令指令,a0=0選擇數(shù)據(jù)。該位在多路地址/數(shù)據(jù)總線配置時應接高電平 隨著科技的發(fā)展,芯片集成度越來越高,封裝也變得越來越小,pdiusbd12芯片不是采用標準dip直插的引腳,因而需要有一個sop轉(zhuǎn)dip的轉(zhuǎn)接板,這樣方便采用電路板設計硬件電路,同時也方便程序下載完成后系統(tǒng)的調(diào)試。即使有了轉(zhuǎn)接板,采用貼片封裝的pdiusbd12芯片也需要手工焊接在轉(zhuǎn)接板上,這一點需要特別注意,不能長時間焊接,以免芯片過熱以致?lián)p壞。pdiusbd12與一般需要提供時鐘信號的芯片不同,該芯片需要標準的6mhz的時鐘信號,因而采用晶振的時候需要特別注意,不能隨意選擇,這一點與51系列單片機能
44、有選擇的采用晶振的情況不同。芯片內(nèi)部有各個寄存器,根據(jù)寄存器相關命令編寫c語言程序(可以采用由局部到整體的方法),這樣對usb傳輸協(xié)議的認識更清楚,程序流程也容易理解,脈絡清晰。在程序中,main函數(shù)作為程序設備reset時的程序入口,調(diào)用了一些初始化設備的函數(shù),比如各種寄存器如中斷寄存器,定時器,計數(shù)器等,初始化d12芯片并完成連接等工作,然后程序進入循環(huán)等待階段,等待著中斷的發(fā)生。由于沒有采用pcb制板,手工焊接要十分注意電源干擾的問題,電源和地之間要加上濾波電容。usb接口芯片與單片機之間的引線要盡量短,本設計采用并行傳輸,數(shù)據(jù)傳輸占用了8個io口,個引腳連線要盡量平行,避免交叉,以免信
45、號線相互干擾,造成數(shù)據(jù)傳輸不爭取或者usb總線不能正常復位。pdiusbd12芯片的goodlinkled指示器短接普通發(fā)光二極管時,要注意連接限流電阻,不能超過該芯片的輸入電流額定值,否則可能造成芯片工作不正常,并且與電腦或者其他usb host 芯片不能正常建立連接。對該芯片的各個管腳和具體功能建立了一定認識的基礎上,就能順利完成各部分硬件電路的設計和軟件功能調(diào)試。3.2.3 usb接口芯片硬件設計圖3.7 pdiusbd12接口原理圖3.2.4 usb接口芯片端點描述pdiusbd12 的端點適用于不同類型的設備,例如圖像 打印機 海量存儲器和通信設備端點可通過set mode 命令配置
46、為 4 種不同的模式,分別為:表3.8 端點模式模式 0non-iso 模式非同步傳輸 模式 1iso-out模式同步輸出傳輸 模式 2iso-in 模式同步輸入傳輸 模式 3iso-io 模式同步輸入輸出傳輸4種模式具體說明見下表:表3.9 模式0(非同步模式)端點數(shù)端點索引傳輸類型端點類型方向最大信息包規(guī)格(字節(jié))001控制輸出控制輸入默認默認輸出輸入1616123普通輸出普通輸入普通普通輸出輸入1616245普通輸出普通輸入普通普通輸出輸入表3.3 模式1(同步輸出模式)端點數(shù)端點索引傳輸類型端點類型方向最大信息包規(guī)格(字節(jié))001控制輸出控制輸入默認默認輸出輸入1616123普通輸出普
47、通輸入普通普通輸出輸入161624同步輸出同步輸出表3.4 模式2(同步輸入模式)端點數(shù)端點索引傳輸類型端點類型方向最大信息包規(guī)格(字節(jié))001控制輸出控制輸入默認默認輸出輸入1616123普通輸出普通輸入普通普通輸出輸入161624同步輸入同步輸入表3.5 模式3(同步輸入/輸出模式)端點數(shù)端點索引傳輸類型端點類型方向最大信息包規(guī)格(字節(jié))001控制輸出控制輸入默認默認輸出輸入1616123普通輸出普通輸入普通普通輸出輸入1616245同步輸出同步輸入同步同步輸出輸入表格說明:主端點(端點2)在有些方面是比較特別的,它是進行吞吐大數(shù)據(jù)的主要端點,同樣地它執(zhí)行主機的特性以減輕傳輸大數(shù)據(jù)的任務:
48、 1、雙緩沖,允許usb與本地cpu之間的并行讀寫操作,這樣就增加了數(shù)據(jù)的吞吐量緩沖區(qū)切換是自動處理的,這導致了透明的緩沖區(qū)操作。 2、支持dma(直接存儲器訪問)操作,可以和對其它端點的正常 i/o 操作交叉進行。 3、dma操作中的自動指針處理。在跨過緩沖區(qū)邊界時不需要本地cpu的干預。 4、可配置為同步傳輸或非同步(批量和中斷)傳輸。3.2.5 usb接口芯片命令系對一個具體的usb接口芯片,需要根據(jù)其相關寄存器或者命令字來驅(qū)動。下表指出了pdiusbd12芯片的命令字:表3.10 pdiusbd12命令字說明命令名接受者編碼數(shù)據(jù)初始化命令設置地址/使能器件d0h寫1字節(jié)設置端點使能器件
49、d8h寫1字節(jié)設置模式器件f3h寫2字節(jié)設置dma器件fbh寫/讀1字節(jié)數(shù)據(jù)流命令讀中斷寄存器器件f4h讀2字節(jié)選擇端點控制輸出00h讀1字節(jié)(可選)控制輸入01h讀1字節(jié)(可選)端點1輸出02h讀1字節(jié)(可選)端點1輸入03h讀1字節(jié)(可選)端點2輸出04h讀1字節(jié)(可選)端點2輸入05h讀1字節(jié)(可選)讀最后處理狀態(tài)控制輸出40h讀1字節(jié)控制輸入41h讀1字節(jié)端點1輸出42h讀1字節(jié)端點1輸入43h讀1字節(jié)端點2輸出44h讀1字節(jié)端點2輸入45h讀1字節(jié)讀緩沖區(qū)選擇的端點f0h讀n字節(jié)寫緩沖區(qū)選擇的端點f0h寫n字節(jié)設置端點狀態(tài) 控制輸出40h寫1字節(jié) 控制輸入41h寫1字節(jié) 端點1輸出4
50、2h寫1字節(jié) 端點1輸入43h寫1字節(jié) 端點2輸出44h寫1字節(jié) 端點2輸入45h寫1字節(jié) 應答設置選擇的端點f1h無緩沖區(qū)清零選擇的端點f2h無使緩沖區(qū)有效選擇的端點fah無普通命令發(fā)送回復f6h無讀當前幀數(shù)目f5h讀1或2字節(jié)3.3 usb鍵盤硬件設計圖3.11 usb鍵盤硬件原理圖第4章系統(tǒng)軟件設計單片機開發(fā)中除必要的硬件外,同樣離不開軟件,匯編語言源程序要變?yōu)閏pu可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼。隨著單片機開發(fā)技術的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,keil軟件是目前
51、最流行開發(fā)mcs-51系列單片機的軟件。keil提供了包括c編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uvision)將這些部份組合在一起。keil軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到其生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。本設計采用的開發(fā)環(huán)境為keil uvision4,開發(fā)語言為c語言。c語言是一個通用的編程語言,它提供高效的代碼,結(jié)構(gòu)化的編程和豐富的操作符。c不是一種大語言,不是為任何特殊應用領域而設計。它一般來說限制較少,可以為各種軟件任務提供方便和有效的編程。許多應用用c比其他語言編程更方便和有效。與匯編相比,c 語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。軟件設計部分主要是要處理好按鍵掃描和usb接口芯片的數(shù)據(jù)傳輸問題,按鍵掃描部分利用單片機監(jiān)測處理,實時性好。以下為各部分軟件設計的詳細介紹。4.1 固件編程的實現(xiàn)4.1.1 usb接口芯片工作流程圖開始初
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務合同范本100例
- 學校供餐服務合同范本
- 親兄弟分割財產(chǎn)合同范例
- 合伙超市轉(zhuǎn)讓合同范本
- 廠長勞務合同范本
- 合同范本帶章
- 區(qū)域承攬合同范本
- 三個人合作樣寫合同范本
- 壓力管道維修合同范本
- 合作房屋開發(fā)合同范本
- DeepSeek科普學習解讀
- 第一單元第2課《生活之美》課件-七年級美術下冊(人教版)
- 2025年七下道德與法治教材習題答案
- 危險化學品目錄(2024版)
- 人教版八年級數(shù)學第二學期教學計劃+教學進度表
- 國際部SOP手冊2014修改版(2.0版)
- 凈菜配送標準
- 水工環(huán)地質(zhì)調(diào)查技術標準手冊
- 基本力學性能-鋼筋混凝土原理_過鎮(zhèn)海
- 初中音樂-兒行千里母擔憂-課件PPT課件
- 壓縮空氣氣體管道吹掃、試壓方案
評論
0/150
提交評論