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

正文內(nèi)容

usb接口在單片機(jī)通信中的設(shè)計(jì)應(yīng)用畢業(yè)論文-免費(fèi)閱讀

2025-07-22 09:04 上一頁面

下一頁面
  

【正文】 自己系統(tǒng)電路設(shè)計(jì)能力得到了提高,從USB協(xié)議的了解,到單片機(jī)的熟練運(yùn)用;從方案的分析設(shè)計(jì),到系統(tǒng)的具體設(shè)計(jì)實(shí)現(xiàn);從運(yùn)用Protel的電路圖繪制,到實(shí)際電路的焊接;從軟件編程語言的運(yùn)用,到系統(tǒng)電路的檢測(cè)調(diào)試。包括由51單片機(jī)與PDIUSBD12組成的基本功能模塊的設(shè)計(jì)和調(diào)試,系統(tǒng)擴(kuò)展功能模塊的設(shè)計(jì)。選中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)聽。這個(gè)計(jì)數(shù)值隨時(shí)通過系統(tǒng)板上的8位LED顯示出來。本系統(tǒng)軟件程序包括三塊:固件程序、驅(qū)動(dòng)程序以及應(yīng)用程序。經(jīng)過檢測(cè)驗(yàn)證,發(fā)現(xiàn)單片機(jī)正常工作。USB基本功能電路調(diào)試通過以后,再加入擴(kuò)展功能模塊來實(shí)現(xiàn)完整的系統(tǒng)。 利用Win Driver實(shí)現(xiàn)應(yīng)用程序在安裝好Win Driver提供的驅(qū)動(dòng)程序之后,從新打開Driver Wizard,建立一個(gè)新工程;在Card Information對(duì)話框中選擇要控制的USB設(shè)備,然后單擊確定;這時(shí)就可以彈出的Resource窗口中看到設(shè)備支持的所有管線,并通過右側(cè)的幾個(gè)按鈕來讀/寫指定管線,觀察主機(jī)與設(shè)備的數(shù)據(jù)交換過程。單擊Generate .INF file按鈕,就可以生成設(shè)備的一個(gè)硬件配置信息文件,Windows操作系統(tǒng)就可以按照這個(gè)文件中的內(nèi)容來為設(shè)備配置驅(qū)動(dòng)程序,實(shí)際的驅(qū)動(dòng)程序一直存放在Win Driver的安裝目錄下。但是用DDK開發(fā),需要系統(tǒng)程序員對(duì)計(jì)算機(jī)計(jì)算機(jī)硬件和Windows操作系統(tǒng)相當(dāng)熟悉,而且開發(fā)過程大部分場(chǎng)合都直接使用匯編語言編程,一般來說難度太大,這里不采用這種開發(fā)工具。8) 超時(shí)I/O請(qǐng)求。Windows的USB設(shè)備驅(qū)動(dòng)程序必須按照Win32模式開發(fā),這些驅(qū)動(dòng)以WDM驅(qū)動(dòng)為主,[15]。驅(qū)動(dòng)程序一般運(yùn)行在內(nèi)核模式下。USB主機(jī)系統(tǒng)軟件開發(fā)分為兩部分:主機(jī)操作系統(tǒng)上的客戶驅(qū)動(dòng)程序以及主機(jī)應(yīng)用程序。通過這條指令清除相應(yīng)端點(diǎn)的中斷狀態(tài),表示已讀此端點(diǎn),只有這樣D12向單片機(jī)的中斷請(qǐng)求才會(huì)撤除,否則單片機(jī)將不得不持續(xù)中斷狀態(tài)(中斷方式為電平出發(fā))。d12write(0x16)。D12芯片要求在寫命令端口的操作與讀數(shù)據(jù)端口或?qū)懚丝诘牟僮髦g至少600ns以上的延時(shí),否則芯片工作結(jié)果不正確。源文件實(shí)現(xiàn)4個(gè)函數(shù):d12m()、d12read()、d12write()和d12delay()。中斷子程序只包括由D12觸發(fā)的INT0外部中斷,電平方式觸發(fā),單片機(jī)的其它中斷都是被禁止的。5) 類(HID)描述符類描述符的作用是告訴主機(jī)設(shè)備的類相關(guān)特性,它根據(jù)具體設(shè)備類的不同而不同。在系統(tǒng)固件文件中,定義了系統(tǒng)所使用的各種USB描述符,它們的定義和作用如下:1) 設(shè)備描述符設(shè)備描述符是設(shè)備接入主機(jī)之后向設(shè)備要求的第一個(gè)描述符。 固件程序的設(shè)計(jì)與實(shí)現(xiàn)固件是FireWare的中文意思,它實(shí)際上足單片機(jī)的程序文件,可以采用C語言或是匯編語言編寫。 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口。調(diào)節(jié)端通過一個(gè)旁路電容,可防止輸出電壓放大倍數(shù)的增加。該芯片允許一百萬次以上的編程和擦除,并能保持?jǐn)?shù)據(jù)、達(dá)10年以上。 PS/2串行接口的擴(kuò)展設(shè)計(jì)PS/2接口擴(kuò)展可用于連接傳統(tǒng)的PS/2接口鍵盤或者鼠標(biāo),在單片機(jī)中使軟件的方法,使設(shè)備整體在邏輯上被主機(jī)認(rèn)為是一個(gè)USB接口的鍵盤或者鼠標(biāo),并且能夠正常工作。AT89S52的多位地址和數(shù)據(jù)總線可直接與PDIUSBD12的數(shù)據(jù)總線相連。21GL_NOD8GoodLink LED指示22XTAL1I晶振連接123XTAL2O晶振連接2。對(duì)一個(gè)微控制器而言,PDIUSBD12看起來就像一個(gè)帶8位數(shù)據(jù)總線和一個(gè)地址位(占用2個(gè)位置的)存儲(chǔ)器件。當(dāng)PDIUSBD12成功地枚舉和配置后,LED指示將一直點(diǎn)亮。默認(rèn)狀態(tài)下不與VCC相連。EMI也隨之降低。它使得當(dāng)前使用SCSI的系統(tǒng)可以立即降低成本。 AT89S52和外圍器件在構(gòu)建最小系統(tǒng)的同時(shí),為了方便調(diào)試,還為單片機(jī)擴(kuò)展了8位LED輸出和8位撥碼開關(guān)控制的電平輸入,分別接在AT89S52的P1口和P2口上,LED可備調(diào)試設(shè)備固件程序時(shí)使用。同時(shí),PDIUSBD12的時(shí)鐘輸出可以作為微處理器的外部晶振輸入[11]。 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)。PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問外部程序存儲(chǔ)器時(shí),鎖存低8 位地址的輸出脈沖。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。對(duì)P2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。在flash編程時(shí),P0口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。另外,AT89S52可降至0Hz靜態(tài)輯操作,支持2種軟件可選擇節(jié)電模式。本系統(tǒng)實(shí)際上是AT89S52和PDIUSBD12單片機(jī)組成的單片機(jī)系統(tǒng)。USB接口芯片常見的有PHILIPS的PDIUSBD11(I2C接口),PDIUSBD11A,PDIUSBD12(并行接口),National Semiconductor的USBN9602,USBN9604等。設(shè)備端點(diǎn)可以返回?cái)?shù)據(jù)。一個(gè)事務(wù)通常由主機(jī)開始,一般分三個(gè)階段,第一階段發(fā)送令牌(token)包,第二階段發(fā)送是數(shù)據(jù)(data)包(可以沿任何一個(gè)方向發(fā)送),在數(shù)據(jù)包傳送完之后,就會(huì)由設(shè)備返回一個(gè)握手(handshake)包。它要求有一個(gè)恒定的速率。2)中斷傳輸:單向的并且對(duì)于主機(jī)來說只有輸入的通信方式。大多數(shù)的設(shè)備只有一個(gè)配置和一個(gè)接口。而消息管道與流管道具有不同的行為。,USB設(shè)備的物理連接不影響這個(gè)邏輯視圖。這種結(jié)構(gòu)具有樹型結(jié)構(gòu)。(2)低速模式()更加經(jīng)濟(jì)。4)靈活性(1)可以有很多不同大小的分組,并允許在一定范圍內(nèi)選擇設(shè)備的緩沖區(qū)。2)工作負(fù)荷和應(yīng)用范圍廣(1)支持傳輸速率從幾Kb/s至幾Mb/s的設(shè)備。早先的微機(jī)系統(tǒng)中,外設(shè)與CPU的連接存在接口標(biāo)準(zhǔn)各自獨(dú)立、互不兼容、無法共享的問題,并且安裝、配置也很麻煩。這兩點(diǎn)是USB設(shè)備所必須擁有的功能,可以稱作USB設(shè)備的基本功能。AT89S52是MCS51系列兼容單片機(jī),工作電壓46V,通常封裝為DIP40或PLCC44,工作頻率24MHZ。幾乎三年內(nèi)生產(chǎn)的主板都有2個(gè)或以上的USB標(biāo)準(zhǔn)接口,支持USB的外設(shè)越來越多,像USB鍵盤和USB鼠標(biāo)、USB調(diào)制解調(diào)器、USB音箱 、USB打印機(jī)、USB掃描儀、USB游戲桿、USB Hub、USB顯示器、USB數(shù)碼相機(jī)、USB攝像頭、USB硬盤等等設(shè)備。在這之前,個(gè)人電腦的外部接口規(guī)格十分“繁華”,例如,鍵盤要接AT口或PS/2的接口,鼠標(biāo)要接COM口或PS/2接口,Modem要接另一個(gè)COM口,打印機(jī)要接Parallel Port(并口),而搖桿則要跟MIDI裝置共搶Game/MIDI口,每個(gè)外設(shè)都是這樣單獨(dú)地與電腦連接。如果各位繞到電腦背后看看,一定可以看到一堆慘不忍睹的“糾結(jié)”現(xiàn)象,這正是USB想解決的一個(gè)問題?,F(xiàn)在的USB生產(chǎn)廠商很多,幾乎所有的硬件廠商都有USB 的產(chǎn)品。增強(qiáng)的部分主要有:8K FLASH程序存儲(chǔ)器(8051用PROM,無法編程寫入,導(dǎo)致實(shí)際上多數(shù)用無ROM的8031外擴(kuò)的EPROM。設(shè)備主體由AT89S52和PDIUSBD12以及維持它們正常工作所必需的外圍元件組成,設(shè)備主體接上主機(jī)之后,能夠單獨(dú)完成設(shè)備的識(shí)別和配置,并可以實(shí)現(xiàn)數(shù)據(jù)通信功能。這不僅使外設(shè)日益多樣化的發(fā)展趨勢(shì)與系統(tǒng)(I/O端口、IRQ)有限性的矛盾更加突出,而且給用戶對(duì)外設(shè)的連接和使用帶來極大不便,因此,迫切需要新的通用型外設(shè)標(biāo)準(zhǔn)出臺(tái)。(2)同一組總線上可以同時(shí)支持同步和異步傳輸類型。(2)通過支持不同的分組緩沖區(qū)和時(shí)延要求,支持不同數(shù)據(jù)傳輸速率的設(shè)備。(3)利用了商用技術(shù)。通過使用集線器擴(kuò)展可連接多達(dá)127個(gè)外設(shè)。 USB邏輯結(jié)構(gòu)每個(gè)USB設(shè)備內(nèi)有一個(gè)或多個(gè)邏輯連接點(diǎn),稱為端點(diǎn)(Endpoint),每個(gè)端點(diǎn)指定下面的傳輸類型之一:控制傳輸、中斷傳輸、塊傳輸和等時(shí)傳輸。首先,由主機(jī)發(fā)請(qǐng)求給USB設(shè)備,然后在適當(dāng)?shù)姆较蛏蟼鬏敂?shù)據(jù),最后是到達(dá)一個(gè)狀態(tài)階段。主機(jī)從設(shè)備讀取各種描述符,了解有什么配置、接口和端點(diǎn)可用。主要用于定時(shí)查詢?cè)O(shè)備是否有中斷數(shù)據(jù)要傳送,用來支持那些偶然需要少量數(shù)據(jù)通信,但服務(wù)時(shí)間受限制的設(shè)備。例如進(jìn)行語音業(yè)務(wù)傳輸時(shí),使用等時(shí)傳輸方式是很好的選擇。3)幀開始(SOF)SOF包由主機(jī)發(fā)送,指示一個(gè)幀的開始。另外,設(shè)備可能發(fā)送NAK,指示沒有可用的數(shù)據(jù),或者狀態(tài)沒有改變[4]。接口芯片作為單片機(jī)的外圍器件與單片機(jī)及單片機(jī)的其它外圍電路共同組成的USB設(shè)備。其核心就是單片機(jī)控制器,它負(fù)責(zé)完成設(shè)備所有的控制功能;USB接口芯片和其它輸入輸出模塊作為單片機(jī)的外圍部件掛接在系統(tǒng)總線上,所有器件在單片機(jī)的控制下協(xié)同工作??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。程序校驗(yàn)時(shí),需要外部上拉電阻。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。當(dāng)AT89S52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。當(dāng)P27=1時(shí),89S52給PDIUSBD12發(fā)命令;當(dāng)P27=0時(shí),向PDIUSBD12寫數(shù)據(jù)或從PDIUSBD12讀數(shù)據(jù)。LED輸出直接通過1KΩ上拉電阻排接到+5V電源上,以低電平驅(qū)動(dòng);撥碼開關(guān)輸入則由于與LPT并口接口擴(kuò)展有沖突,沒有直接連接在單片機(jī)P2口上,而是通過74245三態(tài)門緩沖器連接三態(tài)門作為總線開關(guān),即在使用這一模塊時(shí)限制了模式選擇開關(guān)的低位應(yīng)為低電平[3]。PDIUSBD12所具有的低掛起功耗連同Lazy Clock輸出可以滿足使用ACPI, On NOW和USB電源管理的要求低的操作功耗可應(yīng)用于使用總線供電的外設(shè)。PLL的工作不需要外部元件。連接的建立通過外部/系統(tǒng)微控制器發(fā)送命令來實(shí)現(xiàn)。隨后與PDIUSBD12之間成功的傳輸(帶應(yīng)答)將關(guān)閉LED,處于掛起狀態(tài)時(shí),LED將會(huì)關(guān)閉。PDIUSBD12支持多路復(fù)用和非復(fù)用的地址和數(shù)據(jù)總線。使用外部振蕩源接1時(shí),此腳懸空24VccP電源(~),25DAUSB數(shù)據(jù)線D26D+AUSB數(shù)據(jù)線D+27P28A0I地址位。PS/。且有硬件數(shù)據(jù)保護(hù)機(jī)制,防止誤操作引起的數(shù)據(jù)丟失。輸出電容對(duì)于保持輸出電壓的穩(wěn)定性起著非常重要的作用,如果使用鉭電容,1117要求輸出電容的最小值為10uF。由于LPT模塊與基本模塊的8位撥碼開關(guān)輸入模塊共用P2口,所以在使用LPT模塊時(shí),應(yīng)禁止撥碼開關(guān)模塊的輸入,這里是通過模式選擇開關(guān)S1的低位接在用做總線開關(guān)的74245上的,故使用LPT模塊時(shí)應(yīng)保證該位為高電平。它的操作方式與硬件聯(lián)系緊密,包括USB設(shè)備的連接、USB協(xié)議、中斷處理等,它不是單純的軟件,而是軟件和硬件的結(jié)合,需要對(duì)端口、中斷和硬件結(jié)構(gòu)非常熟悉。設(shè)備描述符包含了設(shè)備的基本信息,包括數(shù)據(jù)傳輸時(shí)設(shè)備遵守USB規(guī)范的版本、數(shù)據(jù)封包大小,以及設(shè)備包括的若干特定字符串描述符和配置描述符。6) 報(bào)告描述符報(bào)告描述符是USB中最復(fù)雜的描述符。單片機(jī)初始化的最后一步將D12的SoftConnect功能打開,從這時(shí)起,主機(jī)才能檢測(cè)到設(shè)備的接入。d12m( )函數(shù)的原型為void d12m(unsigned char m.),實(shí)現(xiàn)的功能是向D12接口芯片的命令口寫一個(gè)字節(jié)的命令字。一般將這個(gè)延時(shí)控制在10ms左右。d12write(0x43)。所以,中斷處理程序的功能就是從端點(diǎn)0(控制端點(diǎn))輸出得到主機(jī)的各項(xiàng)設(shè)備要求,把設(shè)備要求發(fā)送USB協(xié)議層譯碼,得到相應(yīng)的描述符,再把描述符按指定的包長打包,最后通過USB接口D12的端點(diǎn)0輸入送往主機(jī)。主機(jī)應(yīng)用程序通過驅(qū)動(dòng)程序與系統(tǒng)USBI(USB Device Interface)進(jìn)行通信,其主要任務(wù)是根據(jù)所需處理功能的要求來完成各種基于Windows程序的處理[13]。在內(nèi)核模式下,代碼運(yùn)行在Ring0模式,不限制訪問系統(tǒng)資源,可以直接執(zhí)行內(nèi)存管理指令和訪問I/O端口。 WDM設(shè)備驅(qū)動(dòng)程序結(jié)構(gòu)一個(gè)WDM設(shè)備驅(qū)動(dòng)程序的功能模塊一般包括如下的幾個(gè)部分:1) 初始化。9) 調(diào)用其它驅(qū)動(dòng)程序。另一種具有代表性的有VtoolsD和Driver Works等開發(fā)工具軟件。當(dāng)設(shè)備初次接入時(shí),將被系統(tǒng)識(shí)別為標(biāo)準(zhǔn)的人機(jī)接口設(shè)備HID,并自動(dòng)為其安裝驅(qū)動(dòng)程序,之后操作系統(tǒng)將對(duì)這個(gè)設(shè)備類似對(duì)鼠標(biāo)鍵盤的方式不停查詢(電路板的Good Link指示LED不停閃爍,而且計(jì)數(shù)器的8位LED輸出也在不停的變化),這時(shí)用戶就無法對(duì)其與主機(jī)的數(shù)據(jù)傳輸進(jìn)行監(jiān)控,所以就必須為其安裝專用的驅(qū)動(dòng)程序。在Build菜單中選擇Generate Code,Win Driver就會(huì)提示生成一個(gè)應(yīng)用程序的工程源代碼,打開VC對(duì)所建工程編譯連接,就可以對(duì)得到一個(gè)控制臺(tái)的可執(zhí)行程序,這個(gè)程序運(yùn)行同樣可以用來對(duì)設(shè)備的所有管線進(jìn)行讀/寫。由于本系統(tǒng)的軟件調(diào)試過程,都是在軟件工具Win Driver的輔助下,在硬件的基礎(chǔ)上進(jìn)行的,所以軟件的調(diào)試基本上可以稱為系統(tǒng)調(diào)試。D12芯片需要
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1