freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

usb接口在單片機(jī)通信中的設(shè)計(jì)應(yīng)用畢業(yè)論文(專業(yè)版)

  

【正文】 這個(gè)階段的工作難度和強(qiáng)度較大,是本系統(tǒng)設(shè)計(jì)的關(guān)鍵。在Win Driver的界面下,可以直接對(duì)USB設(shè)備的管線進(jìn)行讀/寫控制,控制并觀察USB總線上的數(shù)據(jù)傳輸,起到調(diào)試的作用。一開始由于將電源線和地線搞混淆了,電路板上電后,發(fā)現(xiàn)芯片溫度非常高,經(jīng)過仔細(xì)檢查很快排除了這個(gè)錯(cuò)誤。開啟設(shè)備之后,就可以顯示設(shè)備和管線信息等USB設(shè)備的固有屬性。Win Driver工具軟件就是這樣的一種開發(fā)工具,但它與VtoolsD、Driver Works等開發(fā)工具又不同。4) 處理Win32的輸入/輸出(I/O)請(qǐng)求。應(yīng)用層的代碼為操作系統(tǒng)提供函數(shù),硬件代碼則包括了訪問外部設(shè)備的必要協(xié)議。程序在進(jìn)入中斷處理函數(shù)入口后,先要讀D12的中斷狀態(tài)寄存器(指令F4),從讀出的第1個(gè)狀態(tài)字來判斷引發(fā)這一次中斷的是哪一個(gè)端點(diǎn)的哪一類傳輸()。d12read( )函數(shù)的原型為 char d12read(void),實(shí)現(xiàn)的功能是從D12接口芯片的數(shù)據(jù)口讀一個(gè)字節(jié)的數(shù)據(jù)字。7) 字符串描述符字符串描述符的結(jié)構(gòu)非常簡(jiǎn)單,它以文字形式存放了設(shè)備的一些說明信息。固件程序放入AT89S52的Flash Memory中,當(dāng)把設(shè)備連接到主機(jī)上時(shí),上位機(jī)可以發(fā)現(xiàn)新設(shè)備,然后建立連接。對(duì)于一般的51系列單片機(jī),它的地址總線只有16位,也就是說最多只能尋址到64KB空間。補(bǔ)充一點(diǎn):硬件上鍵盤的PS/2接口與鼠標(biāo)的PS/2接口實(shí)際上有區(qū)別,就是PS/2鼠標(biāo)一側(cè),Data和Clk兩個(gè)端口都是集電極開路OC輸出,而在主機(jī)的PS/2鼠標(biāo)接口上Data和Clk兩條線與Vcc之間都加了10KΩ的上拉電阻,這樣PS/2鼠標(biāo)的Data和Clk在主機(jī)不干預(yù)的情況下會(huì)直接浮為高電平;而鍵盤則不是OC輸出,主機(jī)的鍵盤接口一側(cè)也沒有上拉電阻。PDIUSBD12采用28PIN腳模式,SO28和TSSOP28封裝。該特性降低了現(xiàn)場(chǎng)支持和熱線的成本。(5) Philips串行接口引擎PSIEPhilips SIE實(shí)現(xiàn)了全部的USB協(xié)議層。它還支持本地的DMA傳輸。L1,L2是磁珠,分別串聯(lián)在電源和地中,USB總線電源從L1引入。如果需要,通過將地址為8EH的SFR的第0位置 “1”,ALE操作將無效。在使用8位地址(如MOVXRI)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。如Intel的8X930AX,CYPRESS的EZUSB,SIEMENS的C541以及MOTOLORA,National Semiconductors等公司的產(chǎn)品。4)事務(wù)包結(jié)構(gòu)控制傳輸涉及主機(jī)給設(shè)備發(fā)送一個(gè)SETUP包、任一方向的0個(gè)或多個(gè)DATA包以及一個(gè)握手包。它具有非周期和突發(fā)性強(qiáng)等特點(diǎn)。一個(gè)設(shè)備對(duì)主機(jī)表現(xiàn)為一組合適的端點(diǎn),一組相關(guān)的端點(diǎn)稱為一個(gè)接口,有多個(gè)接口的設(shè)備稱為組合設(shè)備。利用這種差模傳輸方式,接收端的靈敏度可以達(dá)到不低于200mV。(2)支持動(dòng)態(tài)接入和插出(熱插拔)。根據(jù)USB總線規(guī)范的定義,USB總線主要具有以下優(yōu)點(diǎn):1)方便最終用戶的使用(1)電纜和連接器具有唯一的型號(hào)。而PDIUSBD12通常用作微控制器系統(tǒng)中實(shí)現(xiàn)與微控制器進(jìn)行通信的高速通用并行接口,因此具有廣闊的應(yīng)用前景。 USB就是要解決上述這些問題,它是一種新規(guī)格的外接串聯(lián)口,提出該規(guī)格的廠商希望用USB來取代現(xiàn)有種種的外接設(shè)備接口。它還具備連接單一化、軟件自動(dòng)“偵測(cè)”以及熱插拔的功能,也就是說,在電腦不關(guān)機(jī)的情況下,就可以將設(shè)備連接到電腦上或是將設(shè)備從電腦上拔下來拿走。這種實(shí)現(xiàn)USB接口的標(biāo)準(zhǔn)組件,使得我們可以在各種不同類型微控制器中選擇出最合適的微控制器。(2)對(duì)最終用戶隱藏了電氣細(xì)節(jié),例如總線終結(jié)。6)與PC工業(yè)協(xié)同作用(1)符合PC即插即用體系結(jié)構(gòu)。功率不大的外設(shè)可以直接使用USB總線電源供電,而不必外接電源,USB總線最大可以提供5V, 500mA電源,并支持節(jié)約能源的掛機(jī)和喚醒模式。最后,設(shè)備可以有多組接口。它并不能保證傳輸?shù)乃俾?,但可以保證傳輸?shù)目煽啃裕霈F(xiàn)錯(cuò)誤的時(shí)候會(huì)要求發(fā)送方重發(fā)。IN包或OUT包開始所有其它的傳輸。采用這種結(jié)構(gòu)的設(shè)備外圍電路簡(jiǎn)單,設(shè)計(jì)方便,周期短,但這些要采用專業(yè)的開發(fā)設(shè)備,且投資高[2]。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。這一位置 “1”,ALE僅在執(zhí)行MOVX或MOVC指令時(shí)有效。因?yàn)槭窃O(shè)備自供電,可以不接L1。完全由硬件實(shí)現(xiàn)而不需要固件的參與。(8) 存儲(chǔ)器管理單元MMU和集成RAM在以12M/s的速率傳輸并與微控制器并口相連時(shí),MMU和集成RAM作為USB之間速度差異的緩沖區(qū)。 PDIUSBD12引腳圖 USB外圍電路及其與單片機(jī)連接D12與51單片機(jī)的連接非常簡(jiǎn)單。雖然PS/2接口存在這樣不一致的情況,但是AT89S52單片機(jī)的P1~P3端口內(nèi)已經(jīng)集成了上拉電阻,所以不需要在硬件上對(duì)此分別考慮。2808解決8位微處理器的這個(gè)局限是用了以下的方法:不再像傳統(tǒng)的存儲(chǔ)器那樣采用分離的外部地址總線和外部數(shù)據(jù)總線,數(shù)據(jù)總線用來尋址存儲(chǔ)器內(nèi)部的數(shù)據(jù)空間,而是通過內(nèi)部的一個(gè)控制邏輯,分時(shí)地從8位數(shù)據(jù)口輸入命令、地址和數(shù)據(jù),并以外部引腳片選和地址有效分3次送出24位地址,這樣就使16位數(shù)據(jù)總線和8位數(shù)據(jù)總線的51單片機(jī)可以輕松地尋址到16M字節(jié)空間。因此,編寫固件程序的一個(gè)最主要的目的就是讓W(xué)indows可以檢測(cè)和識(shí)別設(shè)備。對(duì)很多USB設(shè)備來說,字符串描述符都不是必須的,但是字符串描述符的使用有助于提高設(shè)備界面的友好性。D12芯片的數(shù)據(jù)端口地址在本系統(tǒng)中為0x10,定義為unsigned char volatile D12_DATA_AT_0X10,。 讀中斷寄存器返回值位7 6543210初始值00000000說 明掛起狀態(tài)改變總線重置端點(diǎn)2輸入端點(diǎn)2輸出端點(diǎn)1輸入端點(diǎn)1輸出控制輸入控制輸出本系統(tǒng)設(shè)備中,固件程序只須處理端點(diǎn)0的輸出和輸入要求就可以完成設(shè)備的正常配置和基本工作。在Windows操作系統(tǒng)中,程序代碼以以下兩種方式之一運(yùn)行:用戶或內(nèi)核。5) 實(shí)現(xiàn)對(duì)設(shè)備的串行化訪問。區(qū)別在于Driver Works等工具可以開發(fā)出獨(dú)立但是完整的驅(qū)動(dòng)程序,而使用Win Driver軟件時(shí)工具只提供一個(gè)設(shè)備安裝信息文件(.inf),真正的驅(qū)動(dòng)程序在安裝Win Driver時(shí)就已經(jīng)加載了。單擊“監(jiān)聽管線”后,應(yīng)用程序通過驅(qū)動(dòng)程序?qū)υO(shè)備的中斷端點(diǎn)進(jìn)行掃描,這時(shí)設(shè)備單片機(jī)內(nèi)部的記數(shù)值就會(huì)發(fā)給主機(jī),在應(yīng)用程序的文本框中就會(huì)顯示出來[12]。后來檢測(cè)單片機(jī)模塊時(shí),發(fā)現(xiàn)其沒有正常工作,經(jīng)檢測(cè)發(fā)現(xiàn)復(fù)位電路有問題,原因是復(fù)位腳上的電容接反了方向,導(dǎo)致不能復(fù)位,單片機(jī)不能工作。Win Driver包含2個(gè)子窗口,Log和Resource。第四階段:與PC機(jī)相連接的系統(tǒng)整機(jī)調(diào)試。由于USB協(xié)議和底層驅(qū)動(dòng)相當(dāng)復(fù)雜,自己C語(yǔ)言運(yùn)用能力也有限,在這個(gè)階段中,自己也需要通過不斷的學(xué)習(xí),來完成本階段的工作。在這里,利用Win Driver來觀察USB設(shè)備的工作情況。調(diào)試調(diào)試過程中我收獲很大。當(dāng)設(shè)備接入主機(jī)之后,從應(yīng)用程序中可以開啟和關(guān)閉設(shè)備。使用這類工具開發(fā)驅(qū)動(dòng)程序不如使用DDK靈活,但大大減小開發(fā)者的工作量和難度,縮短了開發(fā)周期。3) 處理Win32程序打開和關(guān)閉文件句柄的要求。設(shè)備驅(qū)動(dòng)程序的任務(wù)是在應(yīng)用層和硬件控制代碼之間進(jìn)行轉(zhuǎn)換操作。4) 中斷處理程序本系統(tǒng)的中斷處理程序()。該端口為只讀。在一個(gè)報(bào)告描述符中必須有以下項(xiàng)目:(1)輸入(input)、輸出(output)、特性(feature)或集合(collection);(2)用途(usage);(3)用途頁(yè)(usage page);(4)邏輯最大值(logical maximum);(5)邏輯最小值(logical minimum);(6)報(bào)告長(zhǎng)度(report size);(7)報(bào)告記數(shù)值(report count)。在ISR(中斷服務(wù)程序)中,固件讀取數(shù)據(jù),并將數(shù)據(jù)保存值到循環(huán)數(shù)據(jù)緩沖區(qū),隨后置柏應(yīng)事件的標(biāo)志位,CPU繼續(xù)前臺(tái)程序,檢測(cè)事件標(biāo)志,執(zhí)行完成相應(yīng)的事件任務(wù)。對(duì)于51單片機(jī),2808最突出的特點(diǎn)在于它是針對(duì)8位微處理器設(shè)計(jì)的。這兩個(gè)端口也可以用做串行通信口RXD和TXD,但是由于PS/2接口信號(hào)是類似I2C總線信號(hào)的形式工作的,不能與AT89S52單片機(jī)的串行口直接兼容,所以此系統(tǒng)中不使用單片機(jī)的串行通信功能。多路復(fù)用地址/數(shù)據(jù)總線配置時(shí),接高電平。作為一個(gè)診斷工具,它對(duì)隔離故障的設(shè)備是很有用的。它能跟蹤USB規(guī)定范圍內(nèi)的抖動(dòng)和頻漂。它通常用作微控制器系統(tǒng)中實(shí)現(xiàn)與微控制器進(jìn)行通信的高速通用并行接口。R1,R2是串聯(lián)終端電阻。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。3) AT89S52引腳及其功能:AT89S52有40個(gè)管腳: AT89S52引腳圖功能說明:VCC: 電源GND: 接地P0口: P0口是一個(gè)8位漏極開路的雙向I/O口。另一種就是采用帶有USB接口電路的單片機(jī),這種單片機(jī)的芯片上集成了USB接口電路,可以直接處理USB傳輸線上的數(shù)據(jù)。像任何其它包一樣,SOF包可能被破壞。3)批量傳輸:主要用于沒有帶寬和間隔時(shí)間要求的大量數(shù)據(jù)的傳送和接收。消息管道是雙向的,它只支持控制傳輸方式。信號(hào)線的特性阻抗為9052,而信號(hào)是利用差模方式送入信號(hào)線的。5)穩(wěn)定性(1)協(xié)議中包含錯(cuò)誤檢測(cè)機(jī)制。 USB總線的優(yōu)點(diǎn) 隨著各種類型的USB外設(shè)(如USB閃存盤、USB視頻頭、USB鼠標(biāo)等)的陸續(xù)出現(xiàn),USB通信的優(yōu)點(diǎn)越來越廣泛的被人們所熟知,將外設(shè)連接到計(jì)算機(jī)時(shí),USB接口成為優(yōu)先的選擇,不管是使用外設(shè)的用戶或是開發(fā)USB軟硬件的設(shè)計(jì)者,USB都有讓雙方滿意的特性。利用89S52與PDIUSBD12相連的USB接口電路能大大提高89S52的通信速率。如果在電腦工作期間插上或拔出,雖然有時(shí)電腦還是可以繼續(xù)工作,但大多數(shù)時(shí)候電腦會(huì)停止響應(yīng),或是插入的裝置無法工作,甚至死機(jī),嚴(yán)重的還會(huì)燒壞主板接口。在操作系統(tǒng)的支持下,還可以不用干預(yù)自動(dòng)安裝驅(qū)動(dòng)程序,可以說是做到了真正的即插即用。這種靈活性不但減小了開發(fā)的時(shí)間、風(fēng)險(xiǎn)以及費(fèi)用,而且利用USB總線技術(shù)的即插即用、熱插拔等特性,可以開發(fā)出高性能的USB接口,從而用最快捷的方法實(shí)現(xiàn)最經(jīng)濟(jì)的USB外設(shè)的解決方案,因此,研究意義較為深遠(yuǎn)。(3)設(shè)備自動(dòng)識(shí)別,自動(dòng)安裝驅(qū)動(dòng)程序和配置。(2)對(duì)現(xiàn)存操作系統(tǒng)接口產(chǎn)生極大影響。 USB電纜信號(hào)定義編號(hào)信號(hào)名稱顏色注釋1VBUS紅色電源線2D白色數(shù)據(jù)3D+綠色+數(shù)據(jù)4GND黑色地線 USB設(shè)備邏輯結(jié)構(gòu) USB的設(shè)備可以分成多個(gè)不同類型,同類型的設(shè)備可以擁有一些共同的行為特征和工作協(xié)議,這樣可以使設(shè)備驅(qū)動(dòng)程序的編寫變得簡(jiǎn)單一些。每一組稱為一個(gè)配置,一次只能有一個(gè)配置是活動(dòng)的。打印機(jī)和掃描儀屬于這種類型。設(shè)備端點(diǎn)的定義確定它是中斷傳輸、塊傳輸還是同步傳輸。因此,選擇的方案是功能強(qiáng)大,支持總線供電和設(shè)備自供電兩種方式的PDIUSBD12作為接口芯片來設(shè)計(jì)USB設(shè)備接口,單片機(jī)控制器作為下位機(jī),通過USB接口芯片和USB總線與PC機(jī)交換數(shù)據(jù),并實(shí)現(xiàn)USB設(shè)備的邏輯功能。當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。P3口:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O 口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。否則,ALE將被微弱拉高。對(duì)于自供電設(shè)備的電源必須要與總線的電源進(jìn)行隔離,自供電電源與USB總線的電源之間只能共地,同時(shí)設(shè)備不能通過USB口向VBUS輸出電流。它還符合大多數(shù)器件的分類規(guī)格:成像類,海量存儲(chǔ)器件,通信器件,打印設(shè)備以及人機(jī)接口設(shè)備。該模塊的功能包括:同步模式的識(shí)別,并行/串行轉(zhuǎn)換,位填充/解除填充,CRC校驗(yàn)/產(chǎn)生,PID校驗(yàn)/產(chǎn)生,地址識(shí)別和握手評(píng)估/產(chǎn)生。這就允許微控制器以它自己的速率對(duì)USB信息包進(jìn)行讀寫。 PDIUSBD12與單片機(jī)的連接圖中,ALE接為低電平表示一個(gè)獨(dú)立的地址和數(shù)據(jù)總線配置PDIUSBD12的A0腳與AT89S52的任意一個(gè)I/O 口相連。 Flash存儲(chǔ)器的擴(kuò)展設(shè)計(jì)為實(shí)現(xiàn)Flash移動(dòng)存儲(chǔ)器的功能,擴(kuò)展了一塊容量為16M8字節(jié)的FlashE2PROM芯片Samsung K9F2808。,nCE、CLE、ALE以及附加的74245三態(tài)緩沖器的nE和DIR分別受到來自地址總線的A0、AAA4的控制。 描述符USB的描述符定義了關(guān)于設(shè)備的各種信息,描述符是一種預(yù)定義的數(shù)據(jù)結(jié)構(gòu),每一個(gè)描述符的第1個(gè)字節(jié)都是該描述符的總字節(jié)數(shù)長(zhǎng)度,第2個(gè)字節(jié)則為該描述符自身類型的標(biāo)識(shí)。 固件程序的結(jié)構(gòu)1) 固件結(jié)構(gòu)概述本系統(tǒng)的核心為AT89S52單片機(jī),從單片機(jī)的角度看,固件程序的結(jié)構(gòu)包括兩部分,即主程序和中斷子程序。d12write( )函數(shù)的原型為void d12write(unsigned char dat),實(shí)現(xiàn)的功能是向D12接口芯片的數(shù)據(jù)口寫一個(gè)字節(jié)的數(shù)據(jù)字。SOF包和總線重置的處理程序都是自定義的部分,是為了更好地配合設(shè)備工作而添加的代碼,與設(shè)備的實(shí)質(zhì)沒有太大關(guān)系;而掛起狀態(tài)改變引起的中斷在這里不需要做處理;由于USB的數(shù)據(jù)傳輸都是由D12自動(dòng)完成,端點(diǎn)1和2的輸出/輸入中斷處理就沒有什么實(shí)質(zhì)內(nèi)容。在訪問內(nèi)存和其它系統(tǒng)資源時(shí),允許代碼有不同的優(yōu)先級(jí)。6) 訪問硬件。 用Win Driver開發(fā)驅(qū)動(dòng)程序在USB設(shè)備已經(jīng)有主機(jī)列舉成功后,就可以使用Win Driver開發(fā)調(diào)試USB驅(qū)動(dòng)程序了。 Win Driver庫(kù)函數(shù)函數(shù)名功 能USB_RegisterWin DriverWi
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1