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

正文內(nèi)容

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

 

【正文】 用前景。這兩點(diǎn)是USB設(shè)備所必須擁有的功能,可以稱作USB設(shè)備的基本功能。3) Flash存儲(chǔ)器擴(kuò)展利用SamsungK9F2808芯片(16MB的Flash存儲(chǔ)器芯片,數(shù)據(jù)字寬8位)擴(kuò)展為移動(dòng)存儲(chǔ)器設(shè)備。早先的微機(jī)系統(tǒng)中,外設(shè)與CPU的連接存在接口標(biāo)準(zhǔn)各自獨(dú)立、互不兼容、無(wú)法共享的問(wèn)題,并且安裝、配置也很麻煩。根據(jù)USB總線規(guī)范的定義,USB總線主要具有以下優(yōu)點(diǎn):1)方便最終用戶的使用(1)電纜和連接器具有唯一的型號(hào)。2)工作負(fù)荷和應(yīng)用范圍廣(1)支持傳輸速率從幾Kb/s至幾Mb/s的設(shè)備。(5)支持在主機(jī)和設(shè)備間多個(gè)數(shù)據(jù)和消息流的傳輸。4)靈活性(1)可以有很多不同大小的分組,并允許在一定范圍內(nèi)選擇設(shè)備的緩沖區(qū)。(2)支持動(dòng)態(tài)接入和插出(熱插拔)。(2)低速模式()更加經(jīng)濟(jì)。這種由集線器提供的額外的接入點(diǎn)稱為端口(Port)。這種結(jié)構(gòu)具有樹型結(jié)構(gòu)。利用這種差模傳輸方式,接收端的靈敏度可以達(dá)到不低于200mV。,USB設(shè)備的物理連接不影響這個(gè)邏輯視圖。管道(Pipe)實(shí)現(xiàn)了在主機(jī)的一個(gè)內(nèi)存緩沖區(qū)和設(shè)備的端點(diǎn)之間的數(shù)據(jù)傳輸,主機(jī)USB系統(tǒng)軟件和設(shè)備的端點(diǎn)0之間的連接稱為缺省管道。而消息管道與流管道具有不同的行為。一個(gè)設(shè)備對(duì)主機(jī)表現(xiàn)為一組合適的端點(diǎn),一組相關(guān)的端點(diǎn)稱為一個(gè)接口,有多個(gè)接口的設(shè)備稱為組合設(shè)備。大多數(shù)的設(shè)備只有一個(gè)配置和一個(gè)接口。 USB傳輸類型在USB級(jí),設(shè)備可以使用4種不同的傳輸類型通信:控制傳輸、中斷傳輸、批量傳輸和等時(shí)傳輸。2)中斷傳輸:單向的并且對(duì)于主機(jī)來(lái)說(shuō)只有輸入的通信方式。它具有非周期和突發(fā)性強(qiáng)等特點(diǎn)。它要求有一個(gè)恒定的速率。1)包 在串行線路上傳輸?shù)淖钚?shù)據(jù)塊是包,它僅沿一個(gè)方向發(fā)送,要么來(lái)自主機(jī), 要么發(fā)送給主機(jī)。一個(gè)事務(wù)通常由主機(jī)開始,一般分三個(gè)階段,第一階段發(fā)送令牌(token)包,第二階段發(fā)送是數(shù)據(jù)(data)包(可以沿任何一個(gè)方向發(fā)送),在數(shù)據(jù)包傳送完之后,就會(huì)由設(shè)備返回一個(gè)握手(handshake)包。4)事務(wù)包結(jié)構(gòu)控制傳輸涉及主機(jī)給設(shè)備發(fā)送一個(gè)SETUP包、任一方向的0個(gè)或多個(gè)DATA包以及一個(gè)握手包。設(shè)備端點(diǎn)可以返回?cái)?shù)據(jù)。打開到低速設(shè)備的下行總線通信。USB接口芯片常見的有PHILIPS的PDIUSBD11(I2C接口),PDIUSBD11A,PDIUSBD12(并行接口),National Semiconductor的USBN9602,USBN9604等。如Intel的8X930AX,CYPRESS的EZUSB,SIEMENS的C541以及MOTOLORA,National Semiconductors等公司的產(chǎn)品。本系統(tǒng)實(shí)際上是AT89S52和PDIUSBD12單片機(jī)組成的單片機(jī)系統(tǒng)。其片內(nèi)具有8KB的可在線編程的Flash存儲(chǔ)器,比80C51單片機(jī)多4K的程序存儲(chǔ)器。另外,AT89S52可降至0Hz靜態(tài)輯操作,支持2種軟件可選擇節(jié)電模式。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。對(duì)P2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。在使用8位地址(如MOVXRI)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。晶振工作時(shí),RST腳持續(xù)2 個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位。ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8 位地址的輸出脈沖。如果需要,通過(guò)將地址為8EH的SFR的第0位置 “1”,ALE操作將無(wú)效。PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。 AT89S52與PDIUSBD12構(gòu)建的最小系統(tǒng)在設(shè)備電路中,真正起到USB設(shè)備實(shí)質(zhì)作用的只有單片機(jī)和USB接口芯片,所以本系統(tǒng)的重點(diǎn)是AT89S52單片機(jī)和PDIUSBD12接口芯片組成的單片機(jī)系統(tǒng),也是最小系統(tǒng)。L1,L2是磁珠,分別串聯(lián)在電源和地中,USB總線電源從L1引入。同時(shí),PDIUSBD12的時(shí)鐘輸出可以作為微處理器的外部晶振輸入[11]。74LS373 是一種帶三態(tài)門的8D鎖存器,其中:1D8D為8個(gè)輸入端,1Q8Q為8個(gè)輸出端。 AT89S52和外圍器件在構(gòu)建最小系統(tǒng)的同時(shí),為了方便調(diào)試,還為單片機(jī)擴(kuò)展了8位LED輸出和8位撥碼開關(guān)控制的電平輸入,分別接在AT89S52的P1口和P2口上,LED可備調(diào)試設(shè)備固件程序時(shí)使用。它還支持本地的DMA傳輸。它使得當(dāng)前使用SCSI的系統(tǒng)可以立即降低成本。 PDIUSBD12芯片內(nèi)部結(jié)構(gòu)框圖(1) 模擬收發(fā)器集成的收發(fā)器接口可通過(guò)終端電阻直接與USB電纜相連。EMI也隨之降低。(5) Philips串行接口引擎PSIEPhilips SIE實(shí)現(xiàn)了全部的USB協(xié)議層。默認(rèn)狀態(tài)下不與VCC相連。PDIUSBD12在連接可以建立之前會(huì)檢測(cè)VBUS是否可用。當(dāng)PDIUSBD12成功地枚舉和配置后,LED指示將一直點(diǎn)亮。該特性降低了現(xiàn)場(chǎng)支持和熱線的成本。對(duì)一個(gè)微控制器而言,PDIUSBD12看起來(lái)就像一個(gè)帶8位數(shù)據(jù)總線和一個(gè)地址位(占用2個(gè)位置的)存儲(chǔ)器件。4) PDIUSBD12引腳極其功能: PDIUSBD12的引腳定義符號(hào)類型描述1DATA0IO2雙向數(shù)據(jù)位02DATA1IO2雙向數(shù)據(jù)位13DATA2IO2雙向數(shù)據(jù)位24DATA3IO2雙向數(shù)據(jù)位35GNDP地6DATA4IO2雙向數(shù)據(jù)位47DATA5IO2雙向數(shù)據(jù)位58DATA6IO2雙向數(shù)據(jù)位69DATA7IO2雙向數(shù)據(jù)位710ALEI地址鎖存允許。21GL_NOD8GoodLink LED指示22XTAL1I晶振連接123XTAL2O晶振連接2。PDIUSBD12采用28PIN腳模式,SO28和TSSOP28封裝。AT89S52的多位地址和數(shù)據(jù)總線可直接與PDIUSBD12的數(shù)據(jù)總線相連。,D12的D0~D7引腳接系統(tǒng)數(shù)據(jù)總線,A0接數(shù)據(jù)線A0,片選信號(hào)接數(shù)據(jù)線A5,這樣D12的數(shù)據(jù)口地址就可以定為10h,而地址口地址定為11h(由于A5不參與其它芯片的地址譯碼,所以這樣的地址分配不會(huì)引起沖突)[5]。 PS/2串行接口的擴(kuò)展設(shè)計(jì)PS/2接口擴(kuò)展可用于連接傳統(tǒng)的PS/2接口鍵盤或者鼠標(biāo),在單片機(jī)中使軟件的方法,使設(shè)備整體在邏輯上被主機(jī)認(rèn)為是一個(gè)USB接口的鍵盤或者鼠標(biāo),并且能夠正常工作。補(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è)也沒(méi)有上拉電阻。該芯片允許一百萬(wàn)次以上的編程和擦除,并能保持?jǐn)?shù)據(jù)、達(dá)10年以上。1117是一個(gè)低壓差電壓調(diào)節(jié)器,。調(diào)節(jié)端通過(guò)一個(gè)旁路電容,可防止輸出電壓放大倍數(shù)的增加。對(duì)于一般的51系列單片機(jī),它的地址總線只有16位,也就是說(shuō)最多只能尋址到64KB空間。 Flash存儲(chǔ)器模塊電路原理圖 LPT并行接口的擴(kuò)展設(shè)計(jì)電路也擴(kuò)展了LPT并行接口,其引腳定義按照LPT打印機(jī)的接口定義預(yù)先連接了地線,其它引腳D0,D7,nStrobe,nACK,Busy,Pe,Sel,nAutoFd,nError,nInit和nSelIn分別連接在單片機(jī)的P0口,P2口。 LPT并行接口的連接[6]注:系統(tǒng)整體電路圖見附錄1所示3 系統(tǒng)軟件設(shè)計(jì)硬件開發(fā)完了之后,如果沒(méi)有軟件的支持,USB設(shè)備不能實(shí)現(xiàn)任何功能,本章介紹系統(tǒng)的軟件設(shè)計(jì)。 固件程序的設(shè)計(jì)與實(shí)現(xiàn)固件是FireWare的中文意思,它實(shí)際上足單片機(jī)的程序文件,可以采用C語(yǔ)言或是匯編語(yǔ)言編寫。固件程序放入AT89S52的Flash Memory中,當(dāng)把設(shè)備連接到主機(jī)上時(shí),上位機(jī)可以發(fā)現(xiàn)新設(shè)備,然后建立連接。在系統(tǒng)固件文件中,定義了系統(tǒng)所使用的各種USB描述符,它們的定義和作用如下:1) 設(shè)備描述符設(shè)備描述符是設(shè)備接入主機(jī)之后向設(shè)備要求的第一個(gè)描述符。3) 接口描述符接口描述符用來(lái)描述設(shè)備的接口,指明接口的類型和遵循的傳輸協(xié)議等屬性。5) 類(HID)描述符類描述符的作用是告訴主機(jī)設(shè)備的類相關(guān)特性,它根據(jù)具體設(shè)備類的不同而不同。7) 字符串描述符字符串描述符的結(jié)構(gòu)非常簡(jiǎn)單,它以文字形式存放了設(shè)備的一些說(shuō)明信息。中斷子程序只包括由D12觸發(fā)的INT0外部中斷,電平方式觸發(fā),單片機(jī)的其它中斷都是被禁止的。中斷處理子程序要做的工作就是首先D12讀取中斷信息,查看D12收到了什么樣的封包,然后根據(jù)主機(jī)的不同要求做出響應(yīng)。源文件實(shí)現(xiàn)4個(gè)函數(shù):d12m()、d12read()、d12write()和d12delay()。d12read( )函數(shù)的原型為 char d12read(void),實(shí)現(xiàn)的功能是從D12接口芯片的數(shù)據(jù)口讀一個(gè)字節(jié)的數(shù)據(jù)字。D12芯片要求在寫命令端口的操作與讀數(shù)據(jù)端口或?qū)懚丝诘牟僮髦g至少600ns以上的延時(shí),否則芯片工作結(jié)果不正確。D12一共有4條初始化的指令:設(shè)置地址/使能(set address/enable)、設(shè)置端點(diǎn)/使能(set endpoint/enable)、設(shè)置模式(set mode)以及設(shè)置DMA(set DMA)。d12write(0x16)。程序在進(jìn)入中斷處理函數(shù)入口后,先要讀D12的中斷狀態(tài)寄存器(指令F4),從讀出的第1個(gè)狀態(tài)字來(lái)判斷引發(fā)這一次中斷的是哪一個(gè)端點(diǎn)的哪一類傳輸()。通過(guò)這條指令清除相應(yīng)端點(diǎn)的中斷狀態(tài),表示已讀此端點(diǎn),只有這樣D12向單片機(jī)的中斷請(qǐng)求才會(huì)撤除,否則單片機(jī)將不得不持續(xù)中斷狀態(tài)(中斷方式為電平出發(fā))。響應(yīng)函數(shù)對(duì)設(shè)備要求bmRequest域和Request域的譯碼,確定設(shè)備要求的類別;然后在存放存儲(chǔ)區(qū)的所有描述符中找到合適的描述符;再把這個(gè)描述符返回給主機(jī)[8]。USB主機(jī)系統(tǒng)軟件開發(fā)分為兩部分:主機(jī)操作系統(tǒng)上的客戶驅(qū)動(dòng)程序以及主機(jī)應(yīng)用程序。應(yīng)用層的代碼為操作系統(tǒng)提供函數(shù),硬件代碼則包括了訪問(wèn)外部設(shè)備的必要協(xié)議。驅(qū)動(dòng)程序一般運(yùn)行在內(nèi)核模式下。Windows定義了一套驅(qū)動(dòng)可以使用的IRP。Windows的USB設(shè)備驅(qū)動(dòng)程序必須按照Win32模式開發(fā),這些驅(qū)動(dòng)以WDM驅(qū)動(dòng)為主,[15]。4) 處理Win32的輸入/輸出(I/O)請(qǐng)求。8) 超時(shí)I/O請(qǐng)求。12) 處理一個(gè)可熱插拔的設(shè)備被加入或刪除的情況。但是用DDK開發(fā),需要系統(tǒng)程序員對(duì)計(jì)算機(jī)計(jì)算機(jī)硬件和Windows操作系統(tǒng)相當(dāng)熟悉,而且開發(fā)過(guò)程大部分場(chǎng)合都直接使用匯編語(yǔ)言編程,一般來(lái)說(shuō)難度太大,這里不采用這種開發(fā)工具。Win Driver工具軟件就是這樣的一種開發(fā)工具,但它與VtoolsD、Driver Works等開發(fā)工具又不同。單擊Generate .INF file按鈕,就可以生成設(shè)備的一個(gè)硬件配置信息文件,Windows操作系統(tǒng)就可以按照這個(gè)文件中的內(nèi)容來(lái)為設(shè)備配置驅(qū)動(dòng)程序,實(shí)際的驅(qū)動(dòng)程序一直存放在Win Driver的安裝目錄下。這表明驅(qū)動(dòng)程序的安裝已經(jīng)完成,之后就可以基于這個(gè)驅(qū)動(dòng)程序來(lái)編寫應(yīng)用程序,來(lái)控制與設(shè)備的數(shù)據(jù)交換了。 利用Win Driver實(shí)現(xiàn)應(yīng)用程序在安裝好Win Driver提供的驅(qū)動(dòng)程序之后,從新打開Driver Wizard,建立一個(gè)新工程;在Card Information對(duì)話框中選擇要控制的USB設(shè)備,然后單擊確定;這時(shí)就可以彈出的Resource窗口中看到設(shè)備支持的所有管線,并通過(guò)右側(cè)的幾個(gè)按鈕來(lái)讀/寫指定管線,觀察主機(jī)與設(shè)備的數(shù)據(jù)交換過(guò)程。開啟設(shè)備之后,就可以顯示設(shè)備和管線信息等USB設(shè)備的固有屬性。USB基本功能電路調(diào)試通過(guò)以后,再加入擴(kuò)展功能模塊來(lái)實(shí)現(xiàn)完整的系統(tǒng)。首先用眼睛看電路板是否有虛焊、脫焊,有問(wèn)題的地方重新焊接;然后對(duì)照電路原理圖,分模塊以系統(tǒng)的核心器件為中心,發(fā)散到外圍器件,利用萬(wàn)用表,認(rèn)真檢查每一條線走的是否正確,保證線路的連接沒(méi)有問(wèn)題;電路線路沒(méi)有問(wèn)題后,將電路板上電,然后根據(jù)系統(tǒng)電路的特點(diǎn),利用萬(wàn)用表測(cè)試,看每一點(diǎn)輸出的電壓是否正常。經(jīng)過(guò)檢測(cè)驗(yàn)證,發(fā)現(xiàn)單片機(jī)正常工作。一開始由于將電源線和地線搞混淆了,電路板上電后,發(fā)現(xiàn)芯片溫度非常高,經(jīng)過(guò)仔細(xì)檢查很快排除了這個(gè)錯(cuò)誤。本系統(tǒng)軟件程序包括三塊:固件程序、驅(qū)動(dòng)程序以及應(yīng)用程序。設(shè)備固件程序的功能側(cè)重于設(shè)備的列舉和簡(jiǎn)單的中斷方式數(shù)據(jù)傳輸。這個(gè)計(jì)數(shù)值隨時(shí)通過(guò)系統(tǒng)板上的8位LED顯示出來(lái)。在Win Driver的界面下,可以直接對(duì)USB設(shè)備的管線進(jìn)行讀/寫控制,控制并觀察USB總線上的數(shù)據(jù)傳輸,起到調(diào)試的作用。選中Pipe81時(shí),單擊Listen to Pipe按鈕監(jiān)聽這個(gè)管線,就可以在Log窗口中看到設(shè)備的計(jì)數(shù)值不停發(fā)生變化,相應(yīng)地設(shè)備電路板上的LED也開始顯示計(jì)數(shù)顯示;再點(diǎn)擊Stop Listen,則停止監(jiān)聽。本系統(tǒng)在生成驅(qū)動(dòng)程序的過(guò)程中,檢測(cè)不到D12芯片的ID號(hào),無(wú)法生成驅(qū)動(dòng),PC機(jī)只能檢測(cè)到USB設(shè)備,不能正常地和PC機(jī)進(jìn)行數(shù)據(jù)傳輸。包括由51單片機(jī)與PDIUSBD12組成的基本功能模塊的設(shè)計(jì)和調(diào)試,系統(tǒng)擴(kuò)展功能模塊的設(shè)計(jì)。這個(gè)階段的工作難度和強(qiáng)度較大,是本系統(tǒng)設(shè)計(jì)的關(guān)鍵。自己系統(tǒng)電路設(shè)計(jì)能力得到了提高,從USB協(xié)議的了解,到單片機(jī)的熟練運(yùn)用;從方案的分析設(shè)計(jì),到系統(tǒng)的具體設(shè)計(jì)實(shí)現(xiàn);從運(yùn)用Protel的電路圖繪制,到實(shí)際電路的焊接;從軟件編程語(yǔ)言的運(yùn)用,到系統(tǒng)電路的檢
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1