畢業(yè)設(shè)計--usb2.0接口電路設(shè)計與編程_第1頁
已閱讀1頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  USB2.0接口電路設(shè)計與編程</p><p><b>  摘 要</b></p><p>  通用串行總線USB(Universal Serial Bus)是一種新型的微機總線接口規(guī)范。具有傳輸速度快、可靠性高、使用靈活等優(yōu)點。作為一種通信接口規(guī)范,它被廣泛地應(yīng)用在PC外設(shè)和便攜式系統(tǒng)中。隨著客戶對系統(tǒng)數(shù)據(jù)采集速度要求的不斷提高,USB以

2、其使用方便、易于擴展、速度快等優(yōu)點而越來越多的應(yīng)用于數(shù)據(jù)采集系統(tǒng)中。PDIUSBD12是一種USB接口芯片,具有很高的性能價格比,可以使設(shè)計者在各種不同類型微控制器中選擇合適的微控制器,減小了開發(fā)時間、風(fēng)險以及費用,從而用快捷的方法來實現(xiàn)最經(jīng)濟的USB接口。本文對PDIUSBD12的功能作了簡要介紹,利用89S51與PDIUSBD12相連實現(xiàn)了USB接口功能,著重描述其硬件電路和接口芯片的固件程序設(shè)計。固件程序設(shè)計部分用C語言開發(fā),在本

3、文中僅給出了部分程序的流程設(shè)計。</p><p>  關(guān)鍵詞:USB,89S51,PDIUSBD12芯片</p><p>  Circuit Design and Program of USB 1.1 Interface</p><p><b>  Abstract</b></p><p>  Universal Ser

4、ial Bus is a new specification for microcomputer bus interface. The USB has the merits of high transmission speed, high reliability, and flexibility. As a communications interface standard, this was widely used in comput

5、er and portable systems. With the advance of the clients' demand for the speed of a data collection system is continual, USB is more and more widely used in data collection system for its advantages such as convenien

6、ce, expanding port with ease and high speed and etc</p><p>  Key words: USB, 89S51, PDIUSBD12 chips</p><p><b>  目 錄</b></p><p><b>  1 緒 論1</b></p>

7、;<p>  1.1 課題背景與目的1</p><p>  1.2 課題的提出1</p><p>  1.3 USB簡介2</p><p>  2 USB1.1協(xié)議簡介4</p><p>  2.1 USB系統(tǒng)構(gòu)成4</p><p>  2.2 USB設(shè)備的枚舉過程5</p&

8、gt;<p>  2.3 USB標(biāo)準(zhǔn)設(shè)備請求6</p><p><b>  3 芯片介紹8</b></p><p>  3.1 PDIUSBD12芯片簡介8</p><p>  3.2 AT89S51介紹12</p><p>  3.3 芯片選擇13</p><p&g

9、t;  4 硬件電路設(shè)計14</p><p>  4.1 單片機單元電路設(shè)計14</p><p>  4.2 USB接口電路設(shè)計15</p><p>  5 軟件的設(shè)計17</p><p>  5.1 軟件的開發(fā)環(huán)境17</p><p>  5.2 軟件程序開發(fā)17</p><

10、;p>  5.3 程序流程分析22</p><p>  5.4 程序模塊化思想23</p><p><b>  結(jié)論24</b></p><p><b>  致謝25</b></p><p><b>  參考文獻26</b></p><p

11、><b>  1 緒 論</b></p><p>  通用串行總線USB(Universal Serial Bus)是一種新型的微機總線接口規(guī)范。其傳輸速率遠快于一般的串行總線接口。它最突出的特點是支持熱插拔、使用方便、獨立供電且能連接多個不同的設(shè)備。</p><p>  隨著客戶對系統(tǒng)數(shù)據(jù)采集速度要求的不斷提高,USB以其使用方便、易于擴展、速度快等優(yōu)點而

12、越來越多的應(yīng)用于數(shù)據(jù)采集系統(tǒng)中。</p><p>  1.1 課題背景與目的</p><p>  在計算機迅速普及的今天,USB接口已經(jīng)成為了計算機中最普遍的接口,例如數(shù)碼相機、掃描儀、游戲桿、磁帶和軟驅(qū)、圖像設(shè)備、打印機、鍵盤、鼠標(biāo)等等都使用了USB接口。</p><p>  Universal Serial Bus(USB)是由Compaq、IBM、Intel

13、、Microsoft等七家公司于1995年所研發(fā)與規(guī)范出來的,相對于傳統(tǒng)外圍接口,USB具有諸多特性和優(yōu)點:統(tǒng)一了各種接口設(shè)備的連接頭、即插即用(plug and play)特性、“熱插撥”(hot attach and detach)特性、具備12Mbps的標(biāo)準(zhǔn)傳輸速率及更高的傳輸速率、最多可以連接127個設(shè)備、可由USB電纜供電而不需要附加電源、具有電源管理功能。</p><p>  由于USB具有以上的特性

14、和優(yōu)點,許多傳統(tǒng)的外設(shè)接口已經(jīng)轉(zhuǎn)向USB接口,而傳統(tǒng)的串口將隨即被淘汰,因此在新開發(fā)的設(shè)備中使用USB接口將符合時代潮流,將使產(chǎn)品的生命力更強,而不至于很快被淘汰。</p><p>  本次畢業(yè)設(shè)計,我們就利用所學(xué)的專業(yè)知識,來設(shè)計一個USB接口電路,實現(xiàn)與計算機的數(shù)據(jù)傳送。這樣,不僅加深我們對USB接口原理的理解,也能夠促進我們專業(yè)課的學(xué)習(xí)[1]。</p><p>  1.2 課題的提

15、出</p><p>  USB接口的應(yīng)用越來越廣泛,用PDIUSBD12實現(xiàn)USB1.1接口是一個典型的單片機USB應(yīng)用系統(tǒng)。該課題能夠考察學(xué)生微控制器、模擬和數(shù)字電路、輔助設(shè)計軟件、編程語言等知識的學(xué)習(xí)和掌握水平,使學(xué)生在硬件設(shè)計及實現(xiàn)、軟件編程等方面的應(yīng)用能力得到全面訓(xùn)練和提高。</p><p>  主要內(nèi)容分為硬件和軟件部分,要求設(shè)計出8051系列MCU為核心的應(yīng)用系統(tǒng),能夠用PDI

16、USBD12實現(xiàn)USB1.1接口的基本通訊功能,正確使用各種元器件(包括MCU、USB1.1接口器件等),畫出電路原理圖。軟件部分要求編制出使系統(tǒng)正確運行的程序。</p><p>  現(xiàn)有的條件是具有8051系列MCU的開發(fā)環(huán)境(包括仿真器、相關(guān)學(xué)習(xí)實驗板和開發(fā)軟件),電路圖設(shè)計軟件等。</p><p>  1.3 USB簡介</p><p>  通用串行總線(U

17、niversal Serial Bus,簡稱USB)是康柏、微軟、IBM,DEC等公司為了解傳統(tǒng)總線的不足推出的一種新型串行總線接口規(guī)范, 自1995年在Comdex上亮相以來至今已廣泛地為各PC廠家所支持?,F(xiàn)在生產(chǎn)的PC機幾乎都配備了USB接口,Microsoft的windows98,NT以及MacOS,Linux,F(xiàn)reeBSD等流行操作系統(tǒng)都增加了對USB的支持。USB的主要特點如下:</p><p>  

18、(1)速度快。 USB有全速和低速兩種方式,主模式為全速模式,速率為12Mbps,從而使一些要求高速數(shù)據(jù)的外設(shè),如:高速硬盤、攝像頭等,都能統(tǒng)一到同一個總線框架下。另外為了適應(yīng)一些不需要很大吞吐量但是有很高實時性要求的設(shè)備,如鼠標(biāo)、鍵盤、游戲桿等,USB還提供低速方式,速率為1.5Mbps。如表1.1所示。新推出的USB2.0協(xié)議提供最高達480Mbps的數(shù)據(jù)傳輸速率可以適應(yīng)各種不同類型的外設(shè)。</p><p>

19、  表1.1 USB使用分類表</p><p>  (2) 支持熱插拔和即插即用。所有的USB設(shè)備可以隨時的插入和拔離系統(tǒng),USB主機能夠動態(tài)的識別設(shè)備的狀態(tài),并自動給接入的設(shè)備分配地址和配置參數(shù),添加、刪除設(shè)備完全不用關(guān)閉計算機,也不必像過去那樣需要手動跳線和撥碼開關(guān)來設(shè)置新的外設(shè)。</p><p>  (3) 易于擴展。USB使用的是一種易于擴展的樹狀結(jié)構(gòu),通過使用USB Hub擴展

20、可連接多達127個外設(shè)。標(biāo)準(zhǔn)USB電纜長度為3米(低速為5米)。通過Hub或中繼器可以使外設(shè)距離達到30米。</p><p>  (4) 使用靈活。USB共有4種傳輸模式:控制傳輸(control),步傳輸(synchronization)、中斷傳輸(interrupt)、批量傳輸(bulk),適應(yīng)不同設(shè)備的需要。</p><p>  (5) 能夠采用總線供電。普通使用串口、并口的設(shè)備都需

21、要單獨的供電系統(tǒng),而USB設(shè)備則不需要,因為USB接口提供了內(nèi)置電源, USB電源能向低壓設(shè)備提供最大5V, 500mA的電源,從而降低了這些設(shè)備的成本并提高了性價比。</p><p>  (6) 實現(xiàn)成本低。USB對系統(tǒng)與PC的集成進行了優(yōu)化,適合于開發(fā)低成本的外設(shè)[2]。</p><p>  2 USB1.1協(xié)議簡介</p><p>  Intel公司開發(fā)的通

22、用串行總線架構(gòu)(USB)的目的主要基于以下三方面考慮:</p><p>  (1)計算機與電話之間的連接:顯然用計算機來進行計算機通信將是下一代計算機基本的應(yīng)用。機器和人們的數(shù)據(jù)交互流動需要一個廣泛而又便宜的連通網(wǎng)絡(luò)。然而,由于目前產(chǎn)業(yè)間的相互獨立發(fā)展,尚未建立統(tǒng)一標(biāo)準(zhǔn),而USB則可以廣泛的連接計算機和電話。</p><p>  (2)易用性:眾所周知,PC機的改裝是極不靈活的。對用戶友好

23、的圖形化接口和一些軟硬件機制的結(jié)合,加上新一代總線結(jié)構(gòu)使得計算機的沖突大量減少,且易于改裝。但以終端用戶的眼光來看,PC機的輸入/輸出,如串行/并行端口、鍵盤、鼠標(biāo)、操縱桿接口等,均還沒有達到即插即用的特性,USB正是在這種情況下問世的。</p><p>  (3)端口擴充:外圍設(shè)備的添加總是被相當(dāng)有限的端口數(shù)目限制著。缺少一個雙向、價廉、與外設(shè)連接的中低速的總線,限制了外圍設(shè)備(諸如電話/電傳/調(diào)制解調(diào)器的適配

24、器、掃描儀、鍵盤、PDA)的開發(fā)?,F(xiàn)有的連接只可對極少設(shè)備進行優(yōu)化,對于PC機的新的功能部件的添加需定義一個新的接口來滿足上述需要,USB就應(yīng)運而生。它是快速、雙向、同步、動態(tài)連接且價格低廉的串行接口,可以滿足PC機發(fā)展的現(xiàn)在和未來的需要[3]。</p><p>  2.1 USB系統(tǒng)構(gòu)成</p><p>  USB總線由以下4個主要組分構(gòu)成。</p><p> 

25、 主機和設(shè)備:是指USB系統(tǒng)中的主要構(gòu)件;</p><p>  物理構(gòu)成:是指USB元件的連接方法;</p><p>  邏輯構(gòu)成:不同的USB元件所擔(dān)當(dāng)?shù)慕巧拓?zé)任,以及從主機和設(shè)備的角度出發(fā)USB總線所呈現(xiàn)的結(jié)構(gòu);</p><p>  客戶軟件與設(shè)備功能接口的關(guān)系。</p><p>  USB通信的數(shù)據(jù)流的結(jié)構(gòu)。主機的每一個層次分別對應(yīng)設(shè)

26、備的相應(yīng)層次。通過邏輯通道連接起來,客戶軟件通過邏輯連接可以直接控制設(shè)備的接口模塊。這種連接使得軟件控制與接口一一對應(yīng)起來,用戶使用起來可以更加簡單、快捷[4]。</p><p>  USB總線有4種數(shù)據(jù)傳輸方式,分別是控制傳輸、中斷傳輸、批量傳輸和同步傳輸。</p><p>  控制傳輸:主要用于主機把命令傳給設(shè)備及設(shè)備把狀態(tài)返回給主機。任何一個USB設(shè)備都必須支持一個與控制類型相對應(yīng)的

27、端點0。</p><p>  中斷傳輸:用來支持那些偶然需要少量數(shù)據(jù)通信,但服務(wù)時間受限制的設(shè)備。中斷傳輸常常用在鍵盤、鼠標(biāo)和游戲桿上。</p><p>  批量傳輸:用來傳輸大量數(shù)據(jù)而沒有周期和傳輸速率的設(shè)備上。批量傳輸方式并不能保證傳輸?shù)乃俾剩杀WC傳輸?shù)目煽啃?,?dāng)出現(xiàn)錯誤的時候會要求發(fā)送方重發(fā)。</p><p>  同步傳輸:以一個恒定的速率進行傳輸。同步傳

28、輸方式的發(fā)送和接收方都必須保證傳輸速率的匹配,不然會造成數(shù)據(jù)的丟失。</p><p>  2.2 USB設(shè)備的枚舉過程</p><p>  要主機識別一個USB設(shè)備必須經(jīng)過枚舉的過程,主機使用總線枚舉來識別和管理必要的設(shè)備狀態(tài)變化、總線枚舉的過程如下:</p><p>  (1)設(shè)備連接。USB設(shè)備接入USB總線。</p><p>  (2

29、)設(shè)備上電。USB設(shè)備可以使用USB總線供電,也可以使用外部電源供電。</p><p>  (3)主機檢測到設(shè)備,發(fā)出復(fù)位。設(shè)備連接到總線后,主機通過檢測設(shè)備在總線的上拉電阻檢測到有新的設(shè)備連接,并獲釋該設(shè)備是全速設(shè)備還是低速設(shè)備,然后向該端口發(fā)送一個復(fù)位信號。</p><p>  (4)設(shè)備默認狀態(tài)。設(shè)備要從總線上接收到一個復(fù)位的信號后,才可以對總線的處理操作做出響應(yīng)。設(shè)備接收到復(fù)位信號

30、后,就使用默認地址(00H)來對其進行尋址。</p><p>  (5)地址分配。當(dāng)主機接收到有設(shè)備對默認地址(00H)響應(yīng)的時候,就對設(shè)備分配一個空閑的地址,以后設(shè)備就只對該地址進行響應(yīng)。</p><p>  (6)讀取USB設(shè)備描述符、主機讀取USB設(shè)備描述符,確認USB設(shè)備的屬性。</p><p>  (7)設(shè)備配置。主機依照讀取的USB設(shè)備描述符來進行配置,

31、如果設(shè)備所需的USB資源得以滿足。就發(fā)送配置命令給USB設(shè)備,表示配置完畢。</p><p>  (8)掛起。為了節(jié)省電源,當(dāng)總線保持空閑狀態(tài)超過3ms以后,設(shè)備驅(qū)動程序就會進入掛起狀態(tài)。在掛起狀態(tài)時,設(shè)備的消耗電流不超過500μA、當(dāng)被掛起時,USB設(shè)備保留了包括其地址和配置信息在內(nèi)的所有內(nèi)部狀態(tài)。</p><p>  完成以上的幾個步驟后,USB設(shè)備即可使用。在枚舉的過程中,設(shè)備不一定

32、要求進入掛起狀態(tài)。</p><p>  2.3 USB標(biāo)準(zhǔn)設(shè)備請求</p><p>  USB標(biāo)準(zhǔn)設(shè)備請求是用來完成 USB設(shè)備枚舉的命令 ;USB設(shè)備必須對標(biāo)準(zhǔn)設(shè)備請求做出響應(yīng),不管該設(shè)備是否己經(jīng)被分配了一個默認的地址或該設(shè)備目前正在配置。所有的標(biāo)準(zhǔn)設(shè)備請求都是使用默認管道來傳輸?shù)腫5]。</p><p>  USB的設(shè)備請求內(nèi)8個字節(jié)組成,USB標(biāo)準(zhǔn)設(shè)備請求有

33、11個命令。</p><p>  可以在C51的固件程序里定義一個結(jié)構(gòu)體來記錄請求的內(nèi)容,方便程序的控制。結(jié)構(gòu)體定義如下:</p><p>  Typedef struct_device_request</p><p><b>  {</b></p><p>  unsigned char bmRequestType;

34、 //請求類型</p><p>  unsigned char bRequest; //USB請求</p><p>  unsigned short wValue; //USB數(shù)值</p><p>  unsigned short wIndex;

35、 //USB請求索引</p><p>  unsigned char wLength; //長度</p><p>  } DEVICE_REQUEST</p><p>  以上的結(jié)構(gòu)體可以記錄下一個標(biāo)準(zhǔn)請求的內(nèi)容,但當(dāng)請求是帶數(shù)據(jù)傳輸?shù)臅r候(像Set Description或一些廠商請求),還要再定義一個結(jié)構(gòu)圍來保

36、持請求的數(shù)據(jù)。</p><p>  可以定義如下的結(jié)構(gòu)體,把請求的內(nèi)容和傳輸?shù)臄?shù)據(jù)都放在一起。</p><p>  Typedef struct_control_xfer</p><p><b>  {</b></p><p>  DEVICE_REQUEST DeviceRequest; //USB設(shè)備請求結(jié)構(gòu)體,8

37、個字節(jié)</p><p>  unsigned short wLength; //傳輸數(shù)據(jù)的總字節(jié)數(shù)</p><p>  unsigned short wCount; //傳輸字節(jié)數(shù)統(tǒng)計</p><p>  unsigned char * pData; //傳輸數(shù)據(jù)的指針</p>&l

38、t;p>  unsigned char dataBuffer[MAX_CONTROLDATA_SIZE] ; //請求的數(shù)據(jù)</p><p>  }CONTROL_XFER;</p><p>  當(dāng)接收到廠商請求后,DeviceRequest的格式如下:</p><p>  bmRequestType =40H //請求類型,表示主機向設(shè)備發(fā)送廠商請求

39、</p><p>  bRequest =0CH //請求(注意,這里是廠商請求,并不是標(biāo)準(zhǔn)請求的Synch Frame)</p><p>  wValue =0000H //數(shù)值</p><p>  wIndex =0471H //索引,廠商請求引號</p><p>  wLength

40、 =0006H //長度,表示后面有6個字節(jié)的數(shù)據(jù)</p><p>  dataBuffer的數(shù)據(jù)為00H,00H,00H,40H,00H,80H</p><p>  在主機的枚舉過程中使用到了上述多個標(biāo)準(zhǔn)請求、一個設(shè)備要想讓主機識別,就必須完成對標(biāo)準(zhǔn)請求的響應(yīng)。</p><p><b>  3 芯片介紹</b></p&g

41、t;<p>  3.1 PDIUSBD12芯片簡介</p><p>  PDIUSBD12是一款性價比很高的USB器件它通常用作微控制器系統(tǒng)中實現(xiàn)與微控制器進行通信的高速通用并行接口。它還支持本地的DMA傳輸。</p><p>  這種實現(xiàn)USB接口的標(biāo)準(zhǔn)組件使得設(shè)計者可以在各種不同類型微控制器中選擇出最合適的微控制器。這種靈活性減小了開發(fā)的時間風(fēng)險以及費用(通過使用已有的

42、結(jié)構(gòu)和減少固件上的投資),從而用最快捷的方法實現(xiàn)最經(jīng)濟的USB外設(shè)的解決方案。</p><p>  PDIUSBDI2完全符合USB1.1版的規(guī)范。它還符合大多數(shù)器件的分類規(guī)格:成像類、海量存儲器件、通信器件、打印設(shè)備以及人機接口設(shè)備。同樣地,PDIUSBD12理想地適用于許多外設(shè),例如:打印機、掃描儀、外部的存儲設(shè)備(Zip驅(qū)動器)和數(shù)碼相機等等。它使得當(dāng)前使用SCSI的系統(tǒng)可以立即降低成本。</p>

43、;<p>  PDIUSBD12所具有的低掛起功耗連同LazyClock輸出可以滿足使用ACPI,OnNOW 和USB電源管理的要求。低的操作功耗可以應(yīng)用于使用總線供電的外設(shè)。</p><p>  此外它還集成了許多特性,包括SoftConnetTM,GoodLinkTM可編程時鐘輸出、低頻晶振和終止寄存器集合。所有這些特性都為系統(tǒng)顯著節(jié)約了成本,同時使USB功能在外設(shè)上的應(yīng)用變得容易[6]。<

44、;/p><p><b>  1、主要特性如下</b></p><p>  (1)符合通用串行總線USB 1.1版規(guī)范。</p><p>  (2)高性能USB接口器件,集成了SIE, FIFO存儲器、收發(fā)器以及電壓調(diào)整器。</p><p>  (3)符合大多數(shù)器件的分類規(guī)格。</p><p>  (4

45、)可與任何外部微控制器/微處理實現(xiàn)高速并行接口(2M字節(jié)/秒)。</p><p>  (5)完全自治的直接內(nèi)存存取(DMA)操作。</p><p>  (6)集成320字節(jié)多結(jié)構(gòu)FIFO存儲器。</p><p>  (7)主端點的雙緩沖配置增加了數(shù)據(jù)吞吐量并輕松實現(xiàn)實時數(shù)據(jù)傳輸。</p><p>  (8)在批量模式和同步模式下均可實現(xiàn)1M字

46、節(jié)/秒的數(shù)據(jù)傳輸速率。</p><p>  (9)具有良好EMI特性的總線供電能力。</p><p>  (10)在掛起時可控制LazyCiock輸出。</p><p>  (11)可通過軟件控制與USB的連接。</p><p>  (12)采用GoodLink技術(shù)的連接指示器,在通訊時使LED閃爍。</p><p>

47、  (13)可編程的時鐘頻率輸出。</p><p>  (14)符合ACPI,OnNOW和USB電源管理的要求。</p><p>  (15)內(nèi)部上電復(fù)位和低電壓復(fù)位電路。</p><p>  (16)有S028和TSSOP28封裝。</p><p>  (17)工業(yè)級操作溫度:-40℃ —+85℃。</p><p>

48、  (18)高于8kV的在片靜電防護電路,減少了額外元件的費用。</p><p>  (19)具有高錯誤恢復(fù)率(>99%)的全掃描設(shè)計確保了高品質(zhì)。</p><p>  (20)雙電源操作:3.3士0.3V或擴展的5V電源,范圍為3.6~5.5V。</p><p>  (21)多中斷模式實現(xiàn)批量和同步傳輸。</p><p>  2、PD

49、IUSBDI2的引腳詳細說明</p><p>  PDIUSBDI2的引腳如圖3.1所示,引腳說明如表3.1所示。</p><p>  圖3.1 管腳排列圖</p><p>  表3.1 引腳描述</p><p>  注: O2:2mA驅(qū)動輸出; OD4:4mA驅(qū)動開漏輸出; </p><p>  OD8:8

50、mA驅(qū)動開漏輸出; IO2:2mA驅(qū)動輸入和輸出; O4:4mA驅(qū)動輸出</p><p>  3、PDIUSBD12內(nèi)部結(jié)構(gòu)如圖3.2所示。</p><p>  圖3.2 PDIUSBD12內(nèi)部結(jié)構(gòu)</p><p>  模擬收發(fā)器接口可通過終端電阻直接與USB電纜相連。3.3 V電壓調(diào)整器負責(zé)為模擬收發(fā)器供電。PHILIPS串行接口引擎(PSIE)實現(xiàn)了全部的U

51、SB協(xié)議層,完全由硬件實現(xiàn)而不需要固件的參與。D12與USB相連接時,集成在片內(nèi)的1.5kΩ上拉電阻將D+置為高,主機就可檢測到有設(shè)備接入。默認狀態(tài)下1.5kΩ上拉電阻不與內(nèi)部3.3 V電壓相連,連接的建立是通過微控制器向D12發(fā)送命令來實現(xiàn)的(SoftConnectTM技術(shù))。這就允許系統(tǒng)微控制器在決定與USB建立連接之前完成初始化時序,不需要拔出電纜就可對USB總線連接重新進行初始化。對于微控制器而言,D12相當(dāng)于一個帶8位數(shù)據(jù)總線

52、和一個地址位(占用2個位置)的存儲器件。D12支持多路復(fù)用和非復(fù)用的地址和數(shù)據(jù)總線;還支持主端點與本地共享RAM之間直接讀取的DMA傳輸;支持單周期和突發(fā)模式的DMA傳輸[7]。</p><p>  3.2 AT89S51介紹</p><p>  AT89S51是一個低功耗高性能CMOS 8位單片機,片內(nèi)含4K Byte ISP(In-system programmable)的可反復(fù)擦寫

53、1000次的Flash只讀程序存儲器,器件采用Atmel公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MSC—51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。其引腳圖如圖3.3所示。</p><p>  圖3.3 AT89S51引腳圖</p><p>  AT

54、89S51具有如下特點:</p><p>  40個引腳,4k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷源,2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,1個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。</p><p>  此外,AT89S51設(shè)計和配置了振蕩頻率可為0Hz,并可通過軟

55、件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM、定時計數(shù)器、串行口、外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p><b>  主要功能特性:</b></p><p>  兼容MCS-51指令系統(tǒng);

56、 4k可反復(fù)擦寫(>1000次)ISP Flash ROM;</p><p>  32個雙向I/O口; 4.5-5.5V工作電壓;</p><p>  2個16位可編程定時/計數(shù)器; 時鐘頻率0-33MHz;</p><p>  全雙工UART串行中斷口; 128x8bit內(nèi)部RAM;</p>&

57、lt;p>  2個外部中斷源; 低功耗空閑和省電模式;</p><p>  中斷喚醒省電模式; 3級加密位;</p><p>  看門狗(WDT)電路; 軟件設(shè)置空閑和省電功能;</p><p>  靈活的ISP字節(jié)和分頁編程; 雙數(shù)據(jù)寄存器指針。</p><

58、;p><b>  3.3 芯片選擇</b></p><p>  鑒于PDIUSBD12芯片的優(yōu)良性能,并結(jié)合設(shè)計任務(wù)要求,其完全能夠滿足我們的要求,因此我們選用該芯片作為我們本次畢業(yè)設(shè)計中USB1.1接口的功能芯片。由于AT89S51片內(nèi)含4K Byte ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,其程序的燒寫非常簡單,因此

59、我們選擇Atmel公司的89S51單片機作為我們本次畢業(yè)設(shè)計的主控芯片。</p><p><b>  4 硬件電路設(shè)計</b></p><p>  4.1 單片機單元電路設(shè)計</p><p>  單片機處理與控制單元主要完成USB1.1接口電路的控制邏輯與一些相關(guān)信息的處理,而這些功能的實現(xiàn)更多的是靠軟件的設(shè)計來完成的,其硬件電路相對簡單,

60、一般情況下,單片機的最小系統(tǒng)就能完成其功能,其硬件電路如圖4.1所示。</p><p>  圖4.1 單片機最小系統(tǒng)</p><p>  對于單片機來說,時鐘信號為其正常有序的工作提供時序,單片機的所有操作都是在時鐘信號下有序進行的,因此,對于單片機系統(tǒng)來說,時鐘電路是必需的。MCS-51單片機內(nèi)部由一個反相放大器構(gòu)成振蕩器,可以由它產(chǎn)生時鐘。時鐘可以由兩種方式產(chǎn)生,即內(nèi)部方式和外部方式。

61、</p><p>  內(nèi)部方式:在XTAL1和XTAL2端外接石英晶體作定時元件,內(nèi)部反相放大器自激振蕩,產(chǎn)生時鐘。時鐘放大器對振蕩脈沖二分頻,即若石英頻率fOSC=6MHZ,則時鐘頻率=3MHZ。因此,時鐘是一個雙相信號,由P1相和P2相構(gòu)成。fOSC可在1.2~12MHZ之間選擇,小電容可以取30pF左右[8]。</p><p>  外部方式:可以通過XTAL1和XTAL2接入外部時鐘

62、。</p><p>  對單片機系統(tǒng)來說,另外一個重要的電路就是復(fù)位電路,它在剛加電時和系統(tǒng)軟件出現(xiàn)故障時,使單片機復(fù)位,進入到正常的工作狀態(tài)。</p><p>  對于51單片機來說,RST引腳是復(fù)位信號的輸入端。復(fù)位信號是高電平有效。高電平的持續(xù)時間應(yīng)為24個振蕩周期以上。若時鐘頻率為6MHZ,則復(fù)位信號至少應(yīng)持續(xù)4us以上,才可以使單片機復(fù)位。只要該引腳保持高電平,單片機便循環(huán)復(fù)位。

63、當(dāng)RST端由高變低后,51單片機由ROM的0000H開始執(zhí)行程序。</p><p>  單片機的復(fù)位方式有上電自動復(fù)位和手動復(fù)位兩種。只要VCC上升時間不超過1ms,通過在VCC和RST引腳之間加一個10uF的電容,就可以實現(xiàn)自動上電復(fù)位,即打開電源就可以自動復(fù)位。</p><p><b>  USB接口電路設(shè)計</b></p><p>  P

64、DIUSBD12內(nèi)部含有集成收發(fā)器接口,可通過端口電阻直接連接到USB通信電纜。片內(nèi)集成有3.3V調(diào)節(jié)器,可為模擬收發(fā)器提供電源。該電壓要么外接1.5kΩ的上拉電阻作為輸出,要么連接內(nèi)部集成的1.5kΩ上拉電阻作為SoftConnectTM的內(nèi)部電源;由于其片內(nèi)還集成了6—48MHz倍頻PLL,因此只需外接低頻晶振即可工作。而且PLL上在工作過程中不需要任何外部元件的干預(yù),當(dāng)使用6MHz晶振時,EMI會相應(yīng)地降低;位時鐘恢復(fù)電路能將時鐘

65、從USB數(shù)據(jù)流中恢復(fù)出來,它還可以對頻率漂移和信號抖動進行跟蹤。Philips的SIE(串行接口引擎) 能完整地執(zhí)行USB協(xié)議,它已經(jīng)被完全固化在芯片內(nèi)部,因此不再需要任何固件(firmware)的干涉。這一部分包括同步識別、并行/串行轉(zhuǎn)換、CRC檢測/產(chǎn)生、PID確認/產(chǎn)生、地址識別以及握手評定/產(chǎn)生;PDIUSBD12的USB軟件連接可通過MCU將指令發(fā)到D+ (全速設(shè)備)來實現(xiàn)。在MCU發(fā)命令之前,必須先完成PDIUSBD12的初

66、始化。在這之后,用時不需拔出USB線就能完成下一次連接。PDIUSBD12的并行接口和通用并行接口一樣具有使用方便、速</p><p>  圖4.2 PDIUSBD12和89S51的接口電路圖</p><p>  圖4.2中選用Atmel公司的AT89S51作為PDIUSBD12的控制器,此接口工作在非DMA傳輸方式,PDIUSBD12與AT89S51的數(shù)據(jù)交換采用中斷方式,其中斷可通過

67、圖中的外部中斷0(INT0)來完成。在這一方式下,89S51通過控制PDIUSBD12來使集線器與主機通信并完成USB協(xié)議的處理(即PDIUSBD12的固件),該協(xié)議的處理包括描述符請求、地址設(shè)置、端點的配置等。圖中,地址線A15(P2.7)作為PDIUSBD12的片選,A14(P2.6)作為PDIUSBD12的命令/數(shù)據(jù)選擇線,地址0X7FFF為寫命令,0X3FFF為讀寫數(shù)據(jù)。對PDIUSBD12的調(diào)試可借助調(diào)試軟件USBCheck或

68、WINRT USB Kernel Driver來完成。PDIUSBD12的輸出狀態(tài)可以通過LED進行監(jiān)控,當(dāng)該USB設(shè)備連接建立以后,LED就會發(fā)光,數(shù)據(jù)傳輸時LED會閃爍,常亮或一直不亮說明USB接口有問題。</p><p><b>  5 軟件的設(shè)計</b></p><p>  5.1 軟件的開發(fā)環(huán)境</p><p>  Keil C5

69、1是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢[9] 。

70、</p><p>  Keil C51的工具包中,uVision是C51在Windows的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的H

71、ex文件,以供調(diào)試器dScope51或tScope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進行調(diào)試,也可以直接寫入程序存貯器如EPROM中。</p><p>  5.2 軟件程序開發(fā)</p><p>  固件設(shè)計的目標(biāo)就是使PDIUSBD12在USB上達到最大的傳輸速率。外圍設(shè)備,例如打印機、掃描儀、外部的海量存儲器和數(shù)碼相機都可使用PDIUSBD12在USB上傳輸數(shù)據(jù)。這

72、些設(shè)備的CPU要忙于處理許多設(shè)備控制和數(shù)據(jù)以及圖像處理等任務(wù)。本方案的固件設(shè)計采用完全的中斷驅(qū)動方式。當(dāng)CPU處理前臺任務(wù)時,USB的傳輸在后臺進行,中斷和主循環(huán)的數(shù)據(jù)交換通過事件標(biāo)志和數(shù)據(jù)緩沖區(qū)進行。這就確保了最佳的傳輸速率和更好的軟件結(jié)構(gòu),同時簡化了編程和調(diào)試。</p><p>  后合ISR(中斷服務(wù)程序)和前臺主程序循環(huán)之間的數(shù)據(jù)交換可以通過事件標(biāo)志和數(shù)據(jù)緩沖區(qū)來實現(xiàn)。其原理如圖5.1所示。例如,PDIU

73、SBD12的批量輸出端點可使用循環(huán)的數(shù)據(jù)緩沖區(qū)。當(dāng) PDIUSRD12從USB收到一個數(shù)據(jù)包,那么就對CPU產(chǎn)生一個中斷請求。CPU立即響應(yīng)中斷。在ISR中,固件將數(shù)據(jù)包從PDIUSBD12內(nèi)部緩沖區(qū)移到循環(huán)數(shù)據(jù)緩沖區(qū),并在隨后清零PDIUSBD12的內(nèi)部緩沖區(qū),以便接收新的數(shù)據(jù)包。CPU可以繼續(xù)當(dāng)前的前臺任務(wù)直到完成,例如打印當(dāng)前頁,然后返回到主循環(huán),檢查循環(huán)緩沖區(qū)內(nèi)是否有新的數(shù)據(jù),并開始其他的前臺任務(wù)[10] 。</p>

74、<p>  圖5.1 前后臺工作原理</p><p>  對于這種結(jié)構(gòu),主循環(huán)不關(guān)心數(shù)據(jù)是來自USB、串口還是并口,其只檢查循環(huán)緩沖區(qū)內(nèi)需要處理的新數(shù)據(jù)。這個概念很重要,主循環(huán)程序可以專注于數(shù)據(jù)的處理,而ISR能夠以最大可能的速度進行數(shù)據(jù)的傳輸。</p><p>  控制端點在數(shù)據(jù)包處理時采用了同樣的概念。ISR接收和保存數(shù)據(jù)緩沖區(qū)中的控制傳輸,并設(shè)置相應(yīng)的標(biāo)志寄存器。主循

75、環(huán)向協(xié)議處理程序發(fā)出請求。由于所有的標(biāo)準(zhǔn)器件、級別和廠商請求都是在協(xié)議處理程序中進行處理,ISR得以保持其效率,而且一旦增加新的請求,只需要在協(xié)議層進行修改。固件結(jié)構(gòu)如圖5.2所示,圖中箭頭表示數(shù)據(jù)傳輸方向。</p><p>  硬件提取層是固件中的最低層代碼,直接對PDIUSBDl2訪問。相對于單片機而言,PDIUSBDl2類似于外擴的一片RAM。</p><p>  固件中必須先定義命

76、令和數(shù)據(jù)所在的地址:</p><p>  unsigned char d12_ cmd xdata_at_OxF4FF ;</p><p>  unsigned char d12_data xdata_at_0xF0FF ;</p><p>  向PDIUSBD12發(fā)命令和對其進行讀寫的子程序如下所述:</p><p>  void wrt_

77、cmd(unsigned char command)</p><p>  {d12_cmd=command;} //向PDIUSBD12發(fā)命令</p><p>  void wrt_data(unsigned char tmp_data)</p><p>  {d12_data=tmp_data ;} // 向PDIUSBD12寫數(shù)據(jù)

78、</p><p>  void read_data()</p><p>  {return(dl2_data);} //從PDIUSBD12讀數(shù)據(jù)</p><p>  圖5.2 固件結(jié)構(gòu)和數(shù)據(jù)流向</p><p>  PDIUSBDl2命令接口包括了對PDIUSBDl2讀寫操作的所有命令,通過定義若干個子程序?qū)?yīng)于各自

79、不同的命令。當(dāng)固件中其它程序需要對PDIUSBDl2進行讀寫時,只須調(diào)用其中相應(yīng)的子程序。</p><p>  USB固件程序由兩部分組成:</p><p>  1、主循環(huán)程序,其任務(wù)是可以中斷的;</p><p>  2、中斷服務(wù)程序。中斷服務(wù)程序負責(zé)從D12收集數(shù)據(jù),而主循環(huán)負責(zé)對數(shù)據(jù)進行處理。當(dāng)中斷服務(wù)程序收集了足夠的數(shù)據(jù)時,即設(shè)置事件標(biāo)志位,通知主循環(huán)已經(jīng)準(zhǔn)

80、備好等待處理。主循環(huán)檢查到事件標(biāo)志位,進入對應(yīng)的子程序進行進一步處理。單片機與D12的通信主要是靠單片機給D12發(fā)命令和數(shù)據(jù)來實現(xiàn)的。單片機先給D12的命令地址發(fā)命令,根據(jù)不同命令的要求再發(fā)送或讀出不同的數(shù)據(jù)。因此,可以將每種命令做成函數(shù),用函數(shù)實現(xiàn)各個命令,以后直接調(diào)用函數(shù)即可[11]。</p><p>  中斷服務(wù)程序根據(jù)USB協(xié)議,任何傳輸都是由主機(Host)開始的。單片機作它的前臺工作,等待中斷。主機首

81、先要發(fā)令牌包給USB設(shè)備(D12),D12接收到令牌包后就給單片機發(fā)中斷。單片機進入中斷服務(wù)程序,首先讀D12的中斷寄存器,判斷USB令牌包的類型,然后進入相應(yīng)的中斷子程序執(zhí)行相應(yīng)的操作。D12的中斷寄存器包含兩個字節(jié),共指示9個中斷來源。這些中斷來源包括控制輸入端點、控制輸出端點、端點1輸入、端點1輸出、主端點輸入、主端點輸出、總線復(fù)位、掛起改變、DMA操作結(jié)束。下面是中斷服務(wù)程序C語言代碼。</p><p>

82、  void usb— —inter(void)interrupt 0 using 0</p><p><b>  (</b></p><p><b>  uint int_</b></p><p><b>  register:</b></p><p>  EA-O;

83、 ∥關(guān)全局中斷</p><p><b>  int_</b></p><p>  register=read— int_</p><p>  register(); ∥讀中斷寄存器,獲取中斷標(biāo)志</p><p>  if(int

84、— register&0x0040)bEPPflags.bits.bus— reset=1; ∥總線復(fù)位</p><p>  if(int_ register&0x000 1)portO— out O; ∥端點0 OUT中斷</p><p><b>  if(int</b></p><p>  register&0x00

85、02)portO— in 0; ∥端點0 IN中斷</p><p>  if(int_ register&0x0004)port 1一out O; ∥端點1 OUT中斷</p><p>  if(inLregister&0x0008)portl—in 0; ∥端點1 IN中斷</p><p>  if(inLregister

86、&0x001 port2一outO; ∥端點2 OUT中斷</p><p>  if(inLregister&0x0020)port2一in 0; ∥端點2 IN中斷</p><p>  if(int_ register&0x00c0)suspend=l; ∥掛起改變</p><p>  if(int_ regist

87、er&0x0100)() ∥DMA操作結(jié)束,由于沒有用到,因此為空操作</p><p>  EA=1: ∥開全局中斷</p><p><b>  )</b></p><p>  中斷服務(wù)程序(ISR)是固件中比較重要的部分。ISR處理由PDIUSBD12產(chǎn)生的中斷,從PDI

88、USBD12收集數(shù)據(jù),當(dāng)它收集到足夠的數(shù)據(jù)時,就建立事件標(biāo)志,通知主循環(huán)已經(jīng)準(zhǔn)備好等待處理。當(dāng)PDIUSBD12產(chǎn)生一個中斷,CPU對其響應(yīng),進入中斷服務(wù)程序。ISR先通過PDIUSBD12的中斷寄存器判斷信息包是發(fā)到普通端點(端點l和端點2)還是控制端點(端點0)。</p><p>  對于普通端點輸出中斷,處理程序首先將PDIUSBD12的中斷位清0,讀取并保存緩沖區(qū)數(shù)據(jù),然后設(shè)置收到數(shù)據(jù)標(biāo)志,最后退出程序?qū)?/p>

89、于普通端點輸入中斷,處理程序讀取端點號的最后處理狀態(tài)寄存器,以清除中斷寄存器的相應(yīng)位,并把狀態(tài)清0,然后退出程序。</p><p>  圖5.3 控制輸出處理流程</p><p>  控制端點(端點0)的處理程序,與普通端點相比較為復(fù)雜??刂苽鬏斂偸菑腟ETUP階段開始,然后是可選的DATA階段,又在STATUS階段結(jié)束。當(dāng)ISR已判斷出信息包是發(fā)到控制端點,就調(diào)用相應(yīng)的處理程序。處理程

90、序流程如圖5.3所示。首先,讀取PDIUSBD l2的最后狀態(tài)寄存器,確定是否是一個SETUP包(第一個包必須是SETUP包)。如果是,處理程序就從PDIUSBD12緩沖區(qū)讀出內(nèi)容并保存。然后,發(fā)送應(yīng)答建立命令,以重新使能下一個建立階段。接下來判斷控制傳輸?shù)念愋汀H绻强刂茖?,設(shè)置標(biāo)志為接收狀態(tài),等待DATA階段。如果是控制讀,設(shè)置標(biāo)志為發(fā)送狀態(tài),指示USB設(shè)備現(xiàn)在正處于傳輸模式,即準(zhǔn)備在主機發(fā)送請求時發(fā)送數(shù)據(jù)。</p>

91、<p>  SETUP階段結(jié)束后,主機會執(zhí)行DATA階段。如果PDIUSBDl2接收到OUT包,即要求PDIUSBDl2接收數(shù)據(jù),處理程序先判斷是否處于接收狀態(tài),如果是接收狀態(tài),則將數(shù)據(jù)從緩沖區(qū)取出并保存;如果PDIUSBD12接收到IN包,即要求PDIUSBD12發(fā)送數(shù)據(jù),控制端點的處理流程如圖5.4所示。首先,讀PDIUSBD12的最后處理狀態(tài)寄存器,將中斷標(biāo)志清0,接著進行數(shù)據(jù)包的發(fā)送。由于端點0只有16B的FIFO,必

92、須在發(fā)送之前判斷數(shù)據(jù)大小。如果傳輸?shù)拈L度大于l6B,必須先發(fā)送16B并將發(fā)送數(shù)據(jù)長度減去l6;如果小于l6B,還要判斷是否等于0B,如果不為0B,則將數(shù)據(jù)發(fā)送出去,如果為0B,則發(fā)送一個空的包以指示主機數(shù)據(jù)已經(jīng)發(fā)送完畢。</p><p>  主循環(huán)程序首先做初始化I/O口,設(shè)置中斷等準(zhǔn)備工作,然后進入主循環(huán),在主循環(huán)內(nèi)查詢事件標(biāo)志,并做出相應(yīng)處理。</p><p>  圖5.4 控制輸入

93、處理流程</p><p>  5.3 程序流程分析</p><p>  單片機與上位機USB接口通信過程如下:(1)主機檢測到一個連接條件,并且D+的數(shù)據(jù)被拉至Vse以上2.5 s(可通過軟連接實現(xiàn)),主機開始總線復(fù)位。(2)總線復(fù)位后主機對設(shè)備開始枚舉過程,發(fā)令牌包到端點0,產(chǎn)生中斷,然后單片機從端點0讀取枚舉要求,分析,做出回答,回答也通過端點0發(fā)送到主機。(3)完成枚舉后主機可以隨

94、時通過端點1和單片機通信。主機發(fā)數(shù)據(jù)給單片機,通過中斷和端點1。單片機發(fā)數(shù)據(jù)給主機時直接向端點1寫入數(shù)據(jù)即可。由上面的過程分析得出USB單片機控制程序應(yīng)包含三部分:(1)初始化單片機和外圍電路。(2)主循環(huán)部分,發(fā)送USB請求,處理總線事務(wù)和用戶自己的功能,可以被中斷打斷。(3)中斷部分,接收主機的各種數(shù)據(jù)包,把數(shù)據(jù)存放到緩沖區(qū),置標(biāo)志位,等待主循環(huán)處理。</p><p>  程序流程圖如圖5.5所示。</

95、p><p>  圖5.5 程序流程圖</p><p>  5.4 程序模塊化思想</p><p>  將整個固件程序按功能分為5個模塊,每個模塊專注于一項功能。硬件提取層:對單片機I/O口和硬件接口進行操作。PDIUSBD12命令接口:單片機通過總線對D12芯片命令子程序集,包含D12芯片所有命令的子函。中斷服務(wù)程序:接收主機中斷發(fā)送的數(shù)據(jù)包,將數(shù)據(jù)存入緩沖區(qū),設(shè)立

96、標(biāo)志位。標(biāo)準(zhǔn)請求處理程序:分析主機發(fā)送的請求,對各種請求進行處理。主循環(huán):在收到setup包后,發(fā)送USB的請求,處理D12芯片總線事件和用戶自己的功能。其中硬件提取層和命令接I=1是程序的基礎(chǔ)子函數(shù)集,以后上層模塊就能脫離硬件,調(diào)用子函數(shù)對硬件進行操作[12]。</p><p><b>  結(jié) 論</b></p><p>  在這次用PDIUSBD12芯片實現(xiàn)US

97、B接口的設(shè)計中,我們先從了解USB1.1協(xié)議開始,隨后對PDIUSBDI2芯片進行了解。文中研究了USB總線接口的應(yīng)用,提出了一種USB總線接口的應(yīng)用方案。該方案主要利用89S51和PDIUSBD12來實現(xiàn),因而結(jié)構(gòu)簡單、性能穩(wěn)定。其中主要工作是在對單片機AT89S51和PDIUSBD12芯片的了解的基礎(chǔ)之上首先完成硬件的設(shè)計,然后再通過Keil C51編程,完成對固件的設(shè)計。使整個系統(tǒng)在硬件的基礎(chǔ)上有了相應(yīng)的軟件支持,最終實現(xiàn)USB接

98、口。實事證明USB1.1這種通用串行總線接口的確給使用帶來了極大的方便!該USB接口適合于高速數(shù)據(jù)采集系統(tǒng)與主機進行數(shù)據(jù)通信,同時也可為便攜式系統(tǒng)提供方便、可靠的接口解決方案。</p><p><b>  致 謝</b></p><p>  這次畢業(yè)設(shè)計能順利完成,除了我自身的努力以外,更少不了身邊的同學(xué)和張老師的幫助與指導(dǎo)。為此,在這里我要對那些予以我?guī)椭睦蠋熀?/p>

99、同學(xué)表示衷心的感謝。</p><p>  本文是在xx翔教授和xx老師的悉心指導(dǎo)和嚴格要求下完成的,導(dǎo)師淵博的專業(yè)知識,嚴謹?shù)闹螌W(xué)態(tài)度,誨人不倦的學(xué)者風(fēng)范,奮進創(chuàng)新的科研精神都給我留下了深刻的印象, 將使我終身受益。在畢業(yè)設(shè)計論文即將完成之際,還要特別感謝xx老師在他繁忙的工作中,能對我設(shè)計中的每一個環(huán)節(jié),每一個步驟和方案設(shè)計及其格式都做了一一的審查、糾正和補充,在此謹向尊敬的xx老師表示衷心的感謝。</p

100、><p>  最后,衷心感謝在百忙之中抽出時間審閱本論文的專家教授。</p><p><b>  參考文獻</b></p><p>  [1] 胡曉軍.USB接口開發(fā)技術(shù)[M] .西安:西安電子科技大學(xué)出版社,2005:36-48.</p><p>  [2] 譚永宏,李高士.USB接口硬件設(shè)計方案分析及比較[J] .湖南科

101、技學(xué)院學(xué)報,2007,28(9):91-94.</p><p>  [3] 王成儒.USB2.0原理與工程開發(fā)[M].北京:國防工業(yè)出版社,2005:156-170.</p><p>  [4] 鄧惠君.USB接口器件PDIUSBD12及其接口電路分析[J].科技資訊,2006,2(15):131-132.</p><p>  [5] 廖頎,劉良福,肖士斌.單片機A

102、T89C52擴展USB接口實現(xiàn)[J].科技廣場,2007,70(02):109-110.</p><p>  [6] 張洪波,賈先德,江海河.單片機下直接讀寫U盤的設(shè)計[J].電子設(shè)計應(yīng)用,2005,27(8):100-102.</p><p>  [7] 王楠.基于PDIUSBD12的USB格式通信[J].內(nèi)蒙古科技與經(jīng)濟,2004,65(02):64-66.</p>&l

103、t;p>  [8] 陳啟美,丁傳鎖.計算機USB接口技術(shù)[M].南京:南京大學(xué)出版社,2003:34-54.</p><p>  [9] 董友才,陳洪亮,桑倩.基于PDIUSBD12的USB接口固件程序設(shè)計[J].電子測量技術(shù),2007,30(8):120-123.</p><p>  [10] 黃煌,姜義成,林力.基于PDIUSBD12的USB接口設(shè)計及應(yīng)用[J].微計算機信息,2

104、007,23(4-2):292-293.</p><p>  [11] E. V. Vetvitskii,A. V. Plotnikov,D. A. Prilutskii and S. V. Selishchev.Use of the USB Universal Serial Bus in computer medical systems [J].Biomedical Engineering,2005,34(4)

105、:167-172.</p><p>  [12] R. A. Maragei,A. A. Okhritskii and D. A. Prilutskii.A Semiconductor Photostimulator for Electroencephalography with USB Bus Control [J] .Biomedical Engineering, 2004,38(3):158-161.<

溫馨提示

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

評論

0/150

提交評論