USB串口和RS232串口協(xié)議轉(zhuǎn)換接口設(shè)計(jì)_第1頁
USB串口和RS232串口協(xié)議轉(zhuǎn)換接口設(shè)計(jì)_第2頁
USB串口和RS232串口協(xié)議轉(zhuǎn)換接口設(shè)計(jì)_第3頁
USB串口和RS232串口協(xié)議轉(zhuǎn)換接口設(shè)計(jì)_第4頁
USB串口和RS232串口協(xié)議轉(zhuǎn)換接口設(shè)計(jì)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、桂林理工大學(xué)博文管理學(xué)院畢業(yè)設(shè)計(jì)論文 桂林理工大學(xué)博文管理學(xué)院 畢業(yè)設(shè)計(jì)(論文) 題目:USB串口和RS232串口協(xié)議轉(zhuǎn)換接口設(shè)計(jì) 二級學(xué)院: 專業(yè)(方向): 班 級: 學(xué) 生: 指導(dǎo)教師: 2015 年 5月 5 日摘 要社會的發(fā)展,科技的進(jìn)步,普通的RS232接口和打印機(jī)并行接口已經(jīng)逐步被淘汰,取而代之的是USB接口,USB接口是一種快速、靈活的總線接口,與其它通信接口比較,它的最大特點(diǎn)是方便使用,這就是USB的主要設(shè)計(jì)目標(biāo)。本文介紹了基于AT89C52單片機(jī)開發(fā)USB串口和RS232串口協(xié)議轉(zhuǎn)換的基本原理和實(shí)現(xiàn)方法,詳細(xì)介紹了該系統(tǒng)的構(gòu)成和實(shí)現(xiàn)方法,并給出了硬件原理圖和軟件的設(shè)計(jì)流程圖。

2、本系統(tǒng)是由USB 接口芯PDIUSBD12與AT89C52單片機(jī)并口通訊編程來實(shí)現(xiàn)USB 虛擬串口功能,最終可以通過操作這個(gè)虛擬串口來完成設(shè)備和電腦數(shù)據(jù)交互。關(guān)鍵詞 AT89C52;PIDUSBD12;USB; The Design of Temperature Controller Student:He Di Teacher:Cheng Xiao_huiAbstract: With the social development and the advancement of technology, Ordinary RS232 interfaces and printer parallel i

3、nterface has been phased out, replaced by a USB interface, USB interface is a fast, flexible bus interface, and other communications interface comparison, the biggest feature is easy to use USB interface, which is the main USB design goals. Now in some laptop computers and brand are no longer equipp

4、ed with standard serial port. However, a large number of application development, especially for embedded development more closely linked with the underlying hardware development, we need to use the serial port, so the market there has been a lot of USB-to-serial devices. USB reason so widely used i

5、s because it has a connection is simple, fast, scalable, and hot-swappable operation uniform standards and so on. This paper describes the 51 microcontroller based hardware design and the software development process. The system is composed PDIUSBD12 USB interface chip and 51 microcontroller with pa

6、rallel communication programming to achieve USB virtual serial port function, Final by operating the virtual serial port to complete the equipment and computer data exchange.Key words:AT89C52;PIDUSBD12;USB;目次摘 要IIAbstractIII緒 論11系統(tǒng)總體設(shè)計(jì)方案21.1方案設(shè)計(jì)具體思路21.2方案設(shè)計(jì)總體框圖22 硬件部分32.1 主控制芯片AT89C5232.11 AT89C52單片

7、機(jī)的結(jié)構(gòu) 132.2單片機(jī)AT89C52外圍晶振電路42.3單片機(jī)AT89C52外圍復(fù)位電路52.4 PIDUSBD12電路62.41 PIDUSBD12芯片概述62.4.2 PIDUSBD12芯片主要特性72.5電源電路72.6串口電路82.61 MAX232芯片概述83 USB2.0協(xié)議93.1 USB 現(xiàn)狀93.2 USB 簡介93.3 USB 體系結(jié)構(gòu)93.4 USB 通訊過程103.5 USB CDC 協(xié)議113.5.1 USB CDC 協(xié)議簡介113.5.2 USB CDC 類枚舉過程114.1 USB程序流程圖設(shè)計(jì)124.2 主程序流程圖134.3程序初始化講解145電路板制作步

8、驟165.1 PCB板制作步驟165.2 PCB制作流程圖166系統(tǒng)調(diào)試176.1 硬件電路調(diào)試176.2軟件調(diào)試176.3調(diào)試軟件176.4調(diào)試方法18總 結(jié)19致 謝20參考文獻(xiàn)21附錄1電路原理圖22附錄2:實(shí)物圖23附錄3:主程序23 28 緒 論今天的信息普及程度已經(jīng)非常高了,三個(gè)“電”的時(shí)代已經(jīng)從我們身邊走過,即電氣、電子和現(xiàn)已進(jìn)入的電腦三個(gè)時(shí)代,而這里的電腦,通常是指個(gè)人計(jì)算機(jī),它是由顯示器、主板、內(nèi)存、硬盤、鼠標(biāo)鍵盤等組成。還有一類計(jì)算機(jī),大部分人卻不怎么熟悉,那就是單片機(jī),亦稱微控制器,顧名思義,單片機(jī)的最小構(gòu)成部分只用了一片集成電路,就可以進(jìn)行簡單的控制和運(yùn)算。因?yàn)樗苄〉?/p>

9、體積,通常它都被藏在被控機(jī)械的內(nèi)部。它在整個(gè)系統(tǒng)中,堪比人類大腦的作用,如果他除了問題,整個(gè)設(shè)備就癱瘓了。USB是計(jì)算機(jī)總線技術(shù)期中的一種,在如今的個(gè)人計(jì)算機(jī)上已經(jīng)是必不可少的了。我們身邊大多數(shù)的外部設(shè)備都是通過USB口與計(jì)算機(jī)相連。鼠標(biāo)、鍵盤、游戲手柄、打印機(jī)、掃描儀、MP3、數(shù)碼相機(jī)、U盤、移動硬盤及移動光驅(qū)等,另外,還有一些我們不太常見的USB設(shè)備,例如一些具有USB口的儀表儀器、開發(fā)用的調(diào)試器、燒錄機(jī)、USB網(wǎng)卡、USB耳機(jī)、USB話筒及USB電話,甚至一些移動電話(手機(jī))也具備USB口??傊?,只要是與計(jì)算機(jī)通信的外部設(shè)備,似乎都可以用USB來連接,這足見USB之強(qiáng)大。USB接口應(yīng)用的

10、如此廣泛,總是有它的原因的,連接簡單、速度快、可擴(kuò)展性強(qiáng)、支持熱插拔操作和標(biāo)準(zhǔn)統(tǒng)一都是它受到大眾青睞的原因。因?yàn)閁SB的各種參數(shù)以及數(shù)據(jù)結(jié)構(gòu)協(xié)議的合適都有詳細(xì)的規(guī)定,所以使得市面上生產(chǎn)出來的USB設(shè)備的兼容性都非常好。隨著計(jì)算機(jī)技術(shù)的發(fā)展,支持熱插拔的USB標(biāo)準(zhǔn)接口將取代RS232接口,因此計(jì)算機(jī)將越來越少配置甚至不配置RS232接口。在一般的筆記本計(jì)算機(jī)上,都不再配置標(biāo)準(zhǔn)的串行端口但是現(xiàn)在社會中還有很多產(chǎn)品都使用到了串口,因而市面出現(xiàn)了大量的USB 轉(zhuǎn)串口設(shè)備。1系統(tǒng)總體設(shè)計(jì)方案1.1方案設(shè)計(jì)具體思路本設(shè)計(jì)是基于AT89C52單片機(jī)和PIDUSBD12 USB 芯片去完成USB串口和RS23

11、2串口協(xié)議轉(zhuǎn)換接口設(shè)計(jì),因?yàn)楝F(xiàn)在市面上大多數(shù)筆記本電腦并沒有RS232接口,不方便演示,所以需要市場上購買現(xiàn)成的USB轉(zhuǎn)RS232串口線來驗(yàn)證設(shè)計(jì)是否實(shí)現(xiàn)。1.2方案設(shè)計(jì)總體框圖AT89C52單片機(jī) 晶振電路數(shù)碼管顯示PIDUSBD12手動復(fù)位串口電路電源電路圖1-1 系統(tǒng)設(shè)計(jì)總體框圖2 硬件部分2.1 主控制芯片AT89C52在大學(xué)的學(xué)習(xí)過程中,我們就了解過紹AT89C52單片機(jī)的內(nèi)部硬件結(jié)構(gòu)、引腳功能、儲存器和其復(fù)位電路等基礎(chǔ)知識,而在學(xué)習(xí)過程中我并沒有認(rèn)真的鉆研,導(dǎo)致我對AT89C52單片機(jī)的認(rèn)識不夠。在這次的畢業(yè)設(shè)計(jì)中我要對89系列單片機(jī)的各種應(yīng)用特性進(jìn)行全面的了解,進(jìn)一步理解本設(shè)計(jì)的

12、原理。2.11 AT89C52單片機(jī)的結(jié)構(gòu) 1AT89C52是我們在工作學(xué)習(xí)中經(jīng)常見到和用到的一種單片機(jī),其特點(diǎn)是低功耗、高性能。而且它具有8k可編程FLASH存儲器,而它兼容MCS-51芯片正是我選擇它的原因。AT89C52單片機(jī)其性價(jià)比高的特點(diǎn),使其在各個(gè)領(lǐng)域都發(fā)揮著強(qiáng)大的作用。AT89C52單片機(jī)芯片結(jié)構(gòu)框圖如圖2-1所示RAM串行通訊口FLASH CPU時(shí)鐘輸入輸出接口計(jì)數(shù)器定時(shí)器圖2-1 AT89C52結(jié)構(gòu)框圖2.12 AT89C52管腳說明【1】目前單片機(jī)的發(fā)展迅速,AT89C52作為傳統(tǒng)的8位單片機(jī),但是其性能比起80年代的8位單片機(jī)性能和處理能力以提升百倍有余。它有40個(gè)引腳,

13、其中32個(gè)是外部雙向輸入/輸出端口,有2個(gè)外中斷口,3個(gè)16為可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線。由于AT89C52單片機(jī)是一個(gè)高性能單片機(jī),芯片的引腳有受到限制,所以有的引腳不得不有2個(gè)功能。1)VCC:供電電壓。2)GND:接地。3)P0口:P0口是一組8位的漏級開路雙向I/O口,也就是說地址和數(shù)據(jù)總線都可以使用這個(gè)口。4)P1口:P1口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口。當(dāng)其內(nèi)部的上拉電阻將端口的電平拉到高時(shí),此時(shí)P1口可作為輸入口。5) P2口:P2口和P1口的內(nèi)部結(jié)構(gòu)相似,都是帶有內(nèi)部上拉電阻, 其功能也與P1口相似。6) P3口:P3口和P1/P2一樣管腳內(nèi)

14、部具有上拉電阻作用,8位雙向I/O口。P3口除了P1口和P2口的作用相似之外,更重要的是它還可以用于接于Flash閃速儲存器和程序校驗(yàn)控制信號。 2.2單片機(jī)AT89C52外圍晶振電路 晶振是每個(gè)單片機(jī)芯片系統(tǒng)中都有的零件,晶體震蕩器是他的全稱,在單片機(jī)系統(tǒng)里,晶振的作用是相當(dāng)大的,它結(jié)合了單片機(jī)內(nèi)部的電路,產(chǎn)生芯片所必須的時(shí)鐘頻率,相當(dāng)于計(jì)算機(jī)中CPU的作用,這個(gè)時(shí)鐘基礎(chǔ)上承載著單片機(jī)的全部指令的執(zhí)行,如果晶振提供的時(shí)鐘頻率越高,那么單片機(jī)的運(yùn)行速度也就越快,單片機(jī)系統(tǒng)中最基本的時(shí)鐘信號就是由晶振提供的。通常一個(gè)單片機(jī)系統(tǒng)只有一個(gè)外部晶振在工作,這便于單片機(jī)各部分保持同步。有些通訊系統(tǒng)的基頻

15、和射頻使用了不相同的晶振,這種情況它是通過電子調(diào)整頻率的方法使其系統(tǒng)保持同步。本論文設(shè)計(jì)晶振為11.0592MHz,圖2-2為晶振電路。 單片機(jī)晶振電路,晶振的2邊存在兩個(gè)電容,因?yàn)槠鋯纹瑱C(jī)的晶振工作是必須讓其處于并聯(lián)諧振的狀態(tài),諧振電容的組成部分就是由這2個(gè)電容構(gòu)成的。電容是根據(jù)廠家提供的晶振,要求負(fù)載電容選出來的值,通俗的說晶振的頻率就是在它提供的負(fù)載電容下被測出來的,輸出頻率的誤差能得到最大的保障。同時(shí)也能保證溫漂的誤差。2個(gè)電容的取值不能相差太大,否則會造成諧振的平衡,從而造成晶振不振,電路的工作會受到影響。圖2-2 晶振電路 2.3單片機(jī)AT89C52外圍復(fù)位電路圖2-3 手動復(fù)位電

16、路 為確保單片機(jī)系統(tǒng)中電路穩(wěn)定工作,單片機(jī)的復(fù)位電路是不可缺少的一部分,單片機(jī)在上電開機(jī)時(shí)或在正常工作中可以會收到外界的干擾而導(dǎo)致程序失去控制的情況下進(jìn)行復(fù)位。復(fù)位作用就是當(dāng)CPU或者其他零件出現(xiàn)故障或者死機(jī)的情況下使其回復(fù)到初始狀態(tài),并且從這個(gè)初始狀態(tài)重新開始工作,類似于計(jì)算機(jī)的重啟。復(fù)位電路一般有上電復(fù)位、手動開關(guān)復(fù)位和自動復(fù)位電路三種,本設(shè)計(jì)采用的復(fù)位電路是手動開關(guān)復(fù)位,圖2-3為手動復(fù)位電路。一般單片機(jī)電路正常工作需要電源電壓為5V5%。由于單片機(jī)電路是時(shí)序數(shù)字電路,需要穩(wěn)定的時(shí)鐘脈沖,只有當(dāng)電源電壓超過4.75V低于5.25V以及晶體振蕩器開始穩(wěn)定工作時(shí),復(fù)位的信號才被移除,單片機(jī)電

17、路重新正常工作。2.4 PIDUSBD12電路圖2-4 PIDUSBD12電路 2.41 PIDUSBD12芯片概述PDIUSBD12是PHILIPS生產(chǎn)的一款接口芯片,它最常用作高速的通用并行接口的通信,最重要的是它還支持DMA 傳輸,它極大的方便了開發(fā)者,使其在大量不同類型的MCU中選擇出最合適的MCU,正是它這種靈活性大大的縮減了開發(fā)者的時(shí)間和費(fèi)用,所以它極為適合作為畢業(yè)設(shè)計(jì)的開發(fā)。PDIUSBD12芯片還有一大優(yōu)點(diǎn)就是完全符合USB1.1版的規(guī)范,這點(diǎn)是難能可貴的,這也是大多數(shù)人選擇它為開發(fā)USB接口的芯片的重要原因。PDIUSBD12采用28PIN腳的設(shè)計(jì)模式,它有SIE功能用來實(shí)現(xiàn)

18、與USB協(xié)議層的完整功能。而且利用PDIUSBD12芯片可以完成微控制器送出的信號到符號USB規(guī)定的信號的轉(zhuǎn)換。2.4.2 PIDUSBD12芯片主要特性1) 符合 USB 1. 1 版規(guī)范2) 高性能 USB 接口器件 集成了電壓調(diào)整器以及SIE FIFO存儲器 收發(fā)器3) 符合大多數(shù)芯片的分類規(guī)格4) 可與任何嵌入式芯片實(shí)現(xiàn)高速并行接口2M字節(jié)/秒5) 直接內(nèi)存讀寫 DMA 操作6) 集成320 BYTE多結(jié)構(gòu)FIFO存儲器7) 主端點(diǎn)的雙緩沖配置增加USB數(shù)據(jù)吞吐量,進(jìn)而輕松實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)傳輸8) 在批量模式和同步模式下均可實(shí)現(xiàn) 1M 字節(jié)/秒的數(shù)據(jù)傳輸速率9) 具有總線供電能力10) 在

19、掛起的時(shí)候可以控制 LAZYCLOCK 輸出11) 可通過軟件來控制與 USB的連接12) 采用了 GoodLink 技術(shù)連接指示器, 在通訊的時(shí)候使 LED 閃爍13) 可編程的時(shí)鐘頻率輸出14) 它符合 USB 電源管理和ACPI OnNOW的要求15) 內(nèi)部集成了低電壓復(fù)位和上電復(fù)位電路16) 有 SO28 / TSSOP28 封裝2.5電源電路圖2-5 電源電路 電源電路選擇最常用的USB口供電,可以通過USB線插到PC的USB口供電也可以插到手機(jī)適配器上面,因?yàn)榘遄拥墓╇婋妷簞偤檬?V,也不需要額外的轉(zhuǎn)換電壓。開關(guān)是用來控制整個(gè)板子的用電開與關(guān)。2.6串口電路圖2-6 串口電路2.6

20、1 MAX232芯片概述MAX232芯片是一款兼容RS232標(biāo)準(zhǔn)的串行接口芯片,而且是有業(yè)界著名的德州儀器公司生產(chǎn)的??偹苤?,電腦的串口RS232接口與一般單片機(jī)MCU的管腳信號電壓是不同的,而MAX232芯片就是為了解決這個(gè)問題而產(chǎn)生的,MAX232芯片包中包含雙組驅(qū)動器/接收器,且含有一個(gè)電容性電壓發(fā)生器以便在單5V電源供電時(shí)提供相同的電平。主要特點(diǎn): 1)只需要單一5V電源工作2)符合所有RS232技術(shù)標(biāo)準(zhǔn)3)2個(gè)驅(qū)動器及2個(gè)接收器4)30V的輸入電平5)低電源電流:典型值為8毫安6)符合ANSI標(biāo)準(zhǔn) EIA/TIA-232-E以及ITU推薦標(biāo)準(zhǔn)V.287)ESD能夠保護(hù)大于MIL-S

21、TD-883標(biāo)準(zhǔn)的2000伏3 USB1.0協(xié)議3.1 USB 現(xiàn)狀USB設(shè)備在我們身邊隨處可見,可以說已經(jīng)與我們的生活息息相關(guān),像我們平時(shí)使用的手機(jī),各種移動通信設(shè)備,全部都需要與PC的USB通訊。通過USB的接口,使我們的生活變的更加方便了,U盤可以隨身攜帶我們重要的資料,手機(jī)可以說是我們生活中必不可少的東西了,手機(jī)的充電和數(shù)據(jù)傳輸都必須依賴USB接口。這個(gè)過程在用戶看來是非常的簡單,不需要安裝驅(qū)動程序,不需要斷掉PC機(jī)的電源。3.2 USB 簡介Universal Serial Bus是USB 的縮寫, 中文是“ 通用串行總線”。 它目前應(yīng)用的最新領(lǐng)域是在計(jì)算機(jī)領(lǐng)域,而且是目前最近最新型

22、的接口技術(shù)。USB技術(shù)在最近幾年可以說是飛速發(fā)展,從最開始的USB1.0協(xié)議全速傳輸只有12M/S ,再到USB2.0協(xié)議的傳輸速度已經(jīng)達(dá)到480M/S ,再到最近幾年已經(jīng)得到大眾認(rèn)可的USB3.0協(xié)議,其傳輸速度已經(jīng)可以達(dá)到USB2.0的10倍??萍既招略庐?,這幾年,隨著個(gè)人計(jì)算機(jī)的普及,而個(gè)人計(jì)算機(jī)基本上已經(jīng)全面支持USB接口, USB成為計(jì)算機(jī)的標(biāo)準(zhǔn)接口已是大勢所趨。USB 設(shè)備之所以會被大量應(yīng)用,主要具有以下優(yōu)點(diǎn):1、可以進(jìn)行熱插拔。2、攜帶比較方便。3、標(biāo)準(zhǔn)規(guī)范統(tǒng)一。3.3 USB 體系結(jié)構(gòu)USB是一種的高速串行傳輸總線,而且支持熱拔插。USB支持兩種供電模式,分別是“自供電”和“總

23、線供電”。在總線供電模式下,USB設(shè)備最多可以獲得 500毫安 的電流。USB2.0最初的設(shè)計(jì)就非常人性化,它被設(shè)計(jì)成了向下兼容的模式,就是當(dāng)有比你協(xié)議更加低級的USB接口連接到USB2.0上的時(shí)候,USB主機(jī)可達(dá)到的最高傳輸速度由該總線上最慢的USB設(shè)備來決定的?!拔锢磉B接”、“主機(jī)”以及 “設(shè)備”是USB體系的三個(gè)部分。主機(jī)簡單點(diǎn)說就是可以搭載USB接口的一個(gè)平臺,像計(jì)算機(jī),OTG設(shè)備都可以作為主機(jī)。一個(gè)USB系統(tǒng)中有且只能有一個(gè)USB主機(jī);設(shè)備包括 USB 功能USB HUB和USB設(shè)備,最多可以支持 127個(gè)設(shè)備;我們?nèi)粘I钪凶畛J褂玫腢SB數(shù)據(jù)線就是我們所說的物理連接。在USB 1

24、.0系統(tǒng)中要求使用屏蔽的USB數(shù)據(jù)雙絞線。從0開始作為默認(rèn)地址一直到128,USB主機(jī)最大的地址數(shù)就是128,地址 0 作為默認(rèn)地址,只有在設(shè)備枚舉期間臨時(shí)使用,而它不能被分配給任何一個(gè)設(shè)備,所以一個(gè)USB主機(jī)中最大的地址數(shù)就是127個(gè)。3.4 USB 通訊過程USB中有2個(gè)信號線是負(fù)責(zé)與總線上的設(shè)備來進(jìn)行數(shù)據(jù)交換的。而采用輪詢的廣播機(jī)制傳輸數(shù)據(jù),就可以保證由主機(jī)發(fā)起所有的傳輸。在一個(gè)USB主機(jī)中在任何時(shí)刻決不允許有1個(gè)以上的數(shù)據(jù)包同時(shí)傳輸,所以在不同的信號線上所顯示的數(shù)據(jù)包都是同一個(gè)?!傲钆瓢?-“數(shù)據(jù)包”-“握手包”三個(gè)包都是USB所以采用的傳輸機(jī)制,在令牌包中傳輸?shù)臄?shù)據(jù)都與被廣播的令牌

25、包/數(shù)據(jù)包是一一對應(yīng)的,這使僅被廣播的作出響應(yīng)得到了保證。USB傳輸數(shù)據(jù)的成功與否是由握手包所決定的。USB設(shè)備和主機(jī)端點(diǎn)之間數(shù)據(jù)傳輸?shù)哪P褪枪艿?,共有兩種類型的管道:無格式的流管道和有格式的信息管道。一旦USB設(shè)備上電之后就回簡歷一個(gè)信息管道,這就是控制管道。USB設(shè)備的配置、描述、狀態(tài),配置都要經(jīng)過控制管道來實(shí)現(xiàn)。USB枚舉:在USB體系中的通訊過程占有很重要的位置,它是由一系列標(biāo)準(zhǔn)USB請求組成。主機(jī)通過枚舉可以獲得USB設(shè)備的基本描述信息,如支持的 USB 版本、VID 、PID、設(shè)備分類(Class)、最大消耗電流、供電方式、配置數(shù)量 、傳輸能力 (最大包長度)及各種類型端點(diǎn)的數(shù)量。

26、 主機(jī)通過PID和VID加載USB設(shè)備驅(qū)動程序 ,同時(shí)對USB設(shè)備進(jìn)行合適的配置。USB設(shè)備只有經(jīng)過枚舉的才能正常被使用 。對于USB總線供電設(shè)備,在枚舉完成前最多可從USB總線獲取100mA的電流。 USB四種類型的傳輸: 1)控制傳輸:其特點(diǎn)是可靠、非周期性的發(fā)起請求或回應(yīng),主要用于在USB設(shè)備連接時(shí)對USB設(shè)備進(jìn)行枚舉. 2)批量傳輸:用于那些非周期性、打包的、可靠的數(shù)據(jù)。對時(shí)間要求寬松,傳輸數(shù)據(jù)量大,如 U 盤等 3)中斷傳輸:用于對時(shí)間要求嚴(yán)格、傳輸小量數(shù)據(jù)即數(shù)據(jù)規(guī)模較小、速度較低、固定延遲較低的傳輸,如鍵盤、鼠標(biāo)、游戲手柄等。 4)同步傳輸:主要用于在設(shè)備與主機(jī)之間周期性、連續(xù)的通

27、信。對安全性不高的設(shè)備,但是要保證數(shù)據(jù)的實(shí)時(shí)傳輸,如USB麥克風(fēng)。注意:這里的中斷傳輸并不不是真正硬件上的中斷操作,而是主機(jī)采用輪詢的方式詢問USB設(shè)備是否有數(shù)據(jù)發(fā)送,如果有則傳輸數(shù)據(jù),否則 NAK 響應(yīng)主機(jī)。3.5 USB CDC 協(xié)議3.5.1 USB CDC 協(xié)議簡介USB為了實(shí)現(xiàn)不同的應(yīng)用場景,將具有特定屬性與服務(wù)的一類USB設(shè)備劃分為一個(gè)USB Class。如果提供相似格式的USB數(shù)據(jù)流或者相似的與USB主機(jī)交換方式,兩個(gè)設(shè)備則被統(tǒng)一在一個(gè)USB Class 中。 如 USB 標(biāo)準(zhǔn)就有 Audio Class、 Video Class 、 HID Class、 Communicati

28、ons Device Class 等用于在 USB 接口上實(shí)現(xiàn)不同的設(shè)備接口 。 在 USB 標(biāo)準(zhǔn)協(xié)議規(guī)范中,有一類專用于USB通訊設(shè)備的 CDC 協(xié)議, USB 的 CDC 類是 USB 數(shù)據(jù)通信設(shè)備類( Communication Device Class Specification)的簡稱。 可以通過 USB的 CDC 協(xié)議來實(shí)現(xiàn)將 USB 接口虛擬為其他的通訊接口如串口,ISDN 接口、以太網(wǎng)接口等等。 本文就是通過 USB CDC 串口模型來虛擬串口接口。CDC 協(xié)議由根據(jù)不同的功能可以分為三個(gè)部分: 通訊接口類( Communication Interface Class)、通訊設(shè)

29、備類( Communication Devices Class)、和數(shù)據(jù)接口類 (Data Interface Class)。3.5.2 USB CDC 類枚舉過程USB設(shè)備是怎么檢查是否與USB設(shè)備連接的呢?正是通過USB的枚舉過程,USB通過檢測電源上拉電阻的變化,從而確定USB主機(jī)有沒有同USB設(shè)備連接。在USB設(shè)備里面有一塊D12芯片,它內(nèi)部集成了一個(gè)1.5k的電阻連接到電源,這樣就可以檢測到是否有USB設(shè)備連接到主機(jī)。4軟件部分4.1 USB程序流程圖設(shè)計(jì)上電復(fù)位初始化全局狀態(tài)變量 收到SETUP包?剛延時(shí)1ms重新收到SETUP包?總線空閑標(biāo)志有效?是否掛起?NYY用戶自定義變量初

30、始化開中斷調(diào)用用戶功能函數(shù)分析執(zhí)行設(shè)備請求處理器掛起監(jiān)測恢復(fù)事件圖4-1 USB程序流程圖按照USB2.0協(xié)議實(shí)現(xiàn)USB枚舉過程,主機(jī)電腦通過枚舉可以獲得USB設(shè)備的基本描述信息,如支持的USB版本、VID、PID、設(shè)備分類(Class)、最大消耗電流、供電方式、配置數(shù)量、傳輸能力(最大包長度)及各種類型端點(diǎn)的數(shù)量。 4.2 主程序流程圖否是開始 D12 讀取ID號(系統(tǒng)IO初始化、RC522定時(shí)器,12864) USB 斷開連接(系統(tǒng)IO初始化、RC522定時(shí)器,12864) 初始化系統(tǒng)參數(shù)變量(系統(tǒng)IO初始化、RC522定時(shí)器,12864) 串口初始化(系統(tǒng)IO初始化、RC522定時(shí)器,1

31、2864) USB打開連接(系統(tǒng)IO初始化、RC522定時(shí)器,12864)讀取USB中斷(系統(tǒng)IO初始化、RC522定時(shí)器,12864) 處理USB端點(diǎn)2接收數(shù)據(jù)(系統(tǒng)IO初始化、RC522定時(shí)器,12864) 處理USB中斷(系統(tǒng)IO初始化、RC522定時(shí)器,12864) 處理串口接收下來的數(shù)據(jù)(系統(tǒng)IO初始化、RC522定時(shí)器,12864)是否USB中斷數(shù)碼管顯示USB端點(diǎn)2接收字節(jié)數(shù)(系統(tǒng)IO初始化、RC522定時(shí)器,12864) 圖4-2主程序流程圖單片機(jī)通過PIDUSBD12芯片實(shí)現(xiàn)USB虛擬串口功能,并用市場上購買的USB轉(zhuǎn)串口將接收下來的數(shù)據(jù)發(fā)送到PC另外一個(gè)串口,然后數(shù)碼管顯示

32、接收字節(jié)數(shù),按鍵可以對數(shù)碼管清零。 4.3程序初始化1) 串口任務(wù)初始化,設(shè)置串口通訊參數(shù)波特率為:9600,校驗(yàn)位:NONE,數(shù)據(jù)位:8,停止位:1。InitUART(); 2) 讀取D12 的ID號。id=D12ReadID();3) 在連接USB之前先斷開USB連接。UsbDisconnect(); 4) USB連接。 UsbConnect(); 5) 設(shè)置配置初始值為0.6)ConfigValue=0; 死循環(huán),主要處理USB數(shù)據(jù)接收,并通過數(shù)碼管顯示接收字節(jié)數(shù),再通過串口發(fā)送,同時(shí)處理串口接收,并通過USB發(fā)送,以及按鍵處理。4.3串口下載程序。使用USB轉(zhuǎn)串口線進(jìn)行下載程序,USB

33、轉(zhuǎn)串口線都需要安裝相應(yīng)USB驅(qū)動程序,在安裝驅(qū)動程序之前先不要插USB轉(zhuǎn)串口線,安裝好驅(qū)動并插入U(xiǎn)SB轉(zhuǎn)串口線后,在電腦上會虛擬出一個(gè)串口,這個(gè)串口的編號可以在硬件管理器里找到,如下圖所示,找到含有“USB-SERIAL CH340”的那項(xiàng),其后面的括號里就是虛擬出來的串口號,在第1步時(shí)選擇的串口號要與此一致。4-3驅(qū)動1)該方法適用于可以通過串口進(jìn)行燒錄的單片機(jī),如SST、STC和WINBOND等。在燒錄的時(shí)候我遇到了許多問題,在代碼調(diào)試的時(shí)候,出現(xiàn)過有時(shí)能燒錄,有時(shí)又不能燒錄的情況,后來通過查找資料,知道了原來是USB轉(zhuǎn)串口的芯片的問題,需要專用芯片的USB轉(zhuǎn)串口。還有千萬不要選擇“等于0

34、/0才可以下載,快速啟動”,否則下次就燒不進(jìn)程序了,如果不小心選擇了此項(xiàng)并燒錄了程序,在下次燒錄時(shí)請將P1.0和P1.1與地短接后再下載。3)插上串口線和USB數(shù)據(jù)線,點(diǎn)“Download/下載”按鈕,如果電源開關(guān)(位于USB插口旁,標(biāo)記為PSW)已打開,請關(guān)閉一次再打開,程序就可以正常燒錄了。如果燒錄不成功,可以試著:1、多試幾次關(guān)閉電源后再打開電源;2、重新插一下串口線;3、降低燒錄軟件里的最高波特率設(shè)置;4、重新啟動電腦。5電路板制作步驟5.1 PCB板制作步驟本設(shè)計(jì)制作硬件電路在確定電路的正確性可行性之后,開始使用PCB系統(tǒng)設(shè)計(jì)PCB板,具體分為以下幾個(gè)步驟:1) 相關(guān)參數(shù)的設(shè)置。這一

35、步主要設(shè)定自動布線參數(shù)、自動布參數(shù)、板面參數(shù)等。2) PCB板尺寸設(shè)計(jì)。3) 元器件布局,主要是考慮元器件之間的連接關(guān)系,同時(shí)考慮電磁兼容性以及元器件的安裝空間和散熱等問題。 4) 手動布線。布線也可先設(shè)定好規(guī)則之后進(jìn)行自動布線,但是一般建議還是進(jìn)行手動布線。5) 啟動PCB設(shè)計(jì)規(guī)則檢查DRC,來進(jìn)行檢查布線和元器件擺放是否有問題。6) 板面字符調(diào)整。例如一些元器件標(biāo)號和板子名稱字符,以及一些測點(diǎn)名稱字符擺放調(diào)整。7) 印刷板電路設(shè)計(jì)完成以后,整個(gè)產(chǎn)品電路板的設(shè)計(jì)項(xiàng)目就基本上完成。5.2 PCB制作流程圖規(guī)劃電路板新建印制板圖New-PCB調(diào)用網(wǎng)絡(luò)表Load Net list添加元件庫Add/

36、Remove 元件布局走線設(shè)置絲印字打印,輸出報(bào)表手工制板熱轉(zhuǎn)印法光印法等存盤Save電路板成品交給印制板圖5.2作PCB板的流程圖6系統(tǒng)調(diào)試6.1 硬件電路調(diào)試仔細(xì)檢查所接電路,按照硬件原理圖接線,理論上是能實(shí)現(xiàn)的,如果硬件沒有正常工作,可以先看單片機(jī)是否防止反了,再用萬用表看看電源電壓是不是正常,復(fù)位管腳電壓是否正常,再用示波器看看晶振有沒有起振。如果能注意這些問題,電路基本不會出錯(cuò)。6.2軟件調(diào)試如果硬件電路檢查后,沒有問題卻實(shí)現(xiàn)不了設(shè)計(jì)要求,則可能是軟件編程的問題,首先應(yīng)檢查初始化串口程序是否正常,然后可以通過USB bushound軟件看看USB 設(shè)備是否枚舉成功 對這些分段程序,要

37、注意邏輯順序,調(diào)用關(guān)系,以及涉及到了標(biāo)號,有時(shí)會因?yàn)橐粋€(gè)標(biāo)號而影響程序的執(zhí)行,除此之外,還要熟悉各指令的用法,以免出錯(cuò)。還有一個(gè)容易忽略的問題就是,源程序生成的代碼是否燒入到單片機(jī)中,如果這一過程出錯(cuò),那不能實(shí)現(xiàn)設(shè)計(jì)要求也是情理之中的事。本人在設(shè)計(jì)的時(shí)候在PROTUSE仿真軟件進(jìn)行調(diào)試,通過此keil軟件進(jìn)行調(diào)試可以很方便的觀察單片機(jī)內(nèi)部各個(gè)寄存器及內(nèi)部存儲器變化情況,以方便進(jìn)行調(diào)試。6.3調(diào)試軟件 圖6-1串口調(diào)試助手 本設(shè)計(jì)的調(diào)試軟件為串口調(diào)試助手,如圖6-1所示。在這里要注意的是2個(gè)串口的串口號、波特率、數(shù)據(jù)位一定要相同,否則會出現(xiàn)通信失敗的問題。6.4調(diào)試方法 將USB接口與RS232接口用數(shù)據(jù)線分別連接在電腦上的2個(gè)USB接口上,然后打開2個(gè)串口調(diào)試助手,將2邊的參數(shù)調(diào)至相同。將板子上電,電腦上會出現(xiàn)安裝驅(qū)動的提示,講驅(qū)動手動安裝好之后,串口調(diào)試助手上會顯示2個(gè)串口可以打開的提示,點(diǎn)擊打開,這時(shí)2個(gè)接口以接通。為驗(yàn)證2個(gè)接口是否能成功通信,我們在串口調(diào)試助手的窗口中輸入nihao5個(gè)字節(jié),如果在另一個(gè)串口調(diào)試助手的窗口中能收到發(fā)出的信息,則表示通信成功,反之亦然。板子上的數(shù)碼管會顯示通信5個(gè)字節(jié)數(shù)如圖6-2所示。 圖6-2實(shí)物

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論