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

正文內(nèi)容

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

  

【正文】 n Driver注冊(cè),所有程序必須調(diào)用USB_Open打開(kāi)USB設(shè)備USB_Close關(guān)閉USB設(shè)備USB_GetDeiverInfo讀取設(shè)備信息USB_ResetDevice設(shè)備復(fù)位BOOL USB_ResetPipe管線復(fù)位USB_ReadWritePipes讀寫管線USB_ReadPipe00讀00管線USB_WritePipe00寫00管線USB_StopTransferPipe0000管線停止傳輸U(kuò)SB_ReadPipe81讀81管線USB_StopTransferPipe8181管線停止傳輸4 系統(tǒng)調(diào)試系統(tǒng)電路設(shè)計(jì)完之后,需要對(duì)系統(tǒng)硬件和軟件進(jìn)行調(diào)試。通過(guò)系統(tǒng)硬件檢測(cè),排除了硬件電路上的問(wèn)題,為系統(tǒng)的調(diào)試打好基礎(chǔ)。其中,Log顯示主機(jī)與通信的詳細(xì)信息,Resource中可以實(shí)現(xiàn)與設(shè)備通信的功能。第五階段:論文的撰寫。包括系統(tǒng)固件的實(shí)現(xiàn),USB芯片底層驅(qū)動(dòng)程序的設(shè)計(jì),運(yùn)用Win Driver工具對(duì)系統(tǒng)驅(qū)動(dòng)程序和應(yīng)用程序的實(shí)現(xiàn)。當(dāng)系統(tǒng)的固件完成后,就可以用設(shè)備配合自己開(kāi)發(fā)的軟件工具來(lái)做一些簡(jiǎn)單的USB接口實(shí)驗(yàn),觀察設(shè)備與主機(jī)之間的數(shù)據(jù)交換過(guò)程。而對(duì)于D12芯片的檢測(cè),需要等到軟件程序設(shè)計(jì)完畢以后,在系統(tǒng)的整體調(diào)試中才能進(jìn)行。Win Driver工具軟件生成的驅(qū)動(dòng)程序提供了一些間接控制設(shè)備硬件的接口函數(shù),可以完成USB通信的大部分功能,現(xiàn)將Win 。這類工具一般以源代碼和庫(kù)函數(shù)調(diào)用的形式提供給開(kāi)發(fā)者許多現(xiàn)成的設(shè)備底層驅(qū)動(dòng)支持,開(kāi)發(fā)者只需要調(diào)用工具中的預(yù)定義類和底層驅(qū)動(dòng)接口就可以方便地生成符合用戶要求的完整驅(qū)動(dòng)程序。2) 創(chuàng)建和刪除設(shè)備。 驅(qū)動(dòng)程序概述設(shè)備驅(qū)動(dòng)程序是保證用戶應(yīng)用程序軟件訪問(wèn)設(shè)備硬件的程序軟件。d12m(0xf3)表示向D12的命令端口寫字節(jié)0xf3(即 set mode的命令字),接著通過(guò)d12write()函數(shù)向D12的數(shù)據(jù)端口寫2個(gè)字節(jié)的數(shù)據(jù)0x16和0x43,分別表示使SoftConnect狀態(tài)變?yōu)檫B接以及更改D12對(duì)單片機(jī)的時(shí)鐘輸出為12MHz。D12芯片的命令端口地址在本系統(tǒng)中為0x11,定義為unsigned pdata D12_COMM_at_0x11。報(bào)告描述符定義了設(shè)備傳送給主機(jī)和主機(jī)發(fā)送給設(shè)備的數(shù)據(jù)格式,并且告知主機(jī)該如何處理數(shù)據(jù)。在本系統(tǒng)中,當(dāng)PDIUSBD12從USB接受到一個(gè)數(shù)據(jù)包,就對(duì)CPU產(chǎn)生一個(gè)中斷請(qǐng)求,CPU立即響應(yīng)中斷。2808除了16M8字節(jié)的存儲(chǔ)空間外,還集成了512K8字節(jié)的備用空間,可以用作存放數(shù)據(jù)校驗(yàn)等冗余信息,以保證數(shù)據(jù)存放的可靠性。 PS/2接口引腳定義[18]引腳123456功能未定義Vcc未定義DataGndClkPS/2接口中有定義的引腳只有4個(gè),其中包含兩條電源和地,另外2條Data和Clk上傳輸?shù)腡TL電平信號(hào),可以直接用單片機(jī)來(lái)處理。1選擇命令,0選擇地址。該特性為USB器件,集線器和USB通信狀態(tài)提供了用戶友好的指示。(4) 位時(shí)鐘恢復(fù)位時(shí)鐘恢復(fù)電路使用4X過(guò)采樣規(guī)則,從進(jìn)入的USB數(shù)據(jù)流中恢復(fù)時(shí)鐘。 PDIUSBD12外圍電路及其與單片機(jī)的連接設(shè)計(jì) PDIUSBD12介紹 1) PDIUSBD12簡(jiǎn)介PDIUSBD12是一款性價(jià)比很高的USB器件。PDIUSBD12的GL_N接LED,對(duì)其工作狀態(tài)進(jìn)行監(jiān)控,LED在USB被連接時(shí)會(huì)發(fā)光,在進(jìn)行數(shù)據(jù)傳輸時(shí)會(huì)閃爍,LED常亮或一直不亮說(shuō)明USB接口有問(wèn)題。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用。在訪問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVXDPTR)時(shí),P2口送出高八位地址。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止[16]。采用這種結(jié)構(gòu)開(kāi)發(fā)USB設(shè)備成本較低,可靠性高。這個(gè)包包括一個(gè)11位的幀號(hào),這個(gè)幀號(hào)從0到Ox7FF連續(xù)變化,并重新折回0,SOF包被所有高速設(shè)備看到。鍵盤,鼠標(biāo)和游戲桿都屬于這種類型。為了保證三個(gè)階段的數(shù)據(jù)傳輸,消息管道定義了一個(gè)數(shù)據(jù)結(jié)構(gòu)使命令可靠地被識(shí)別和傳輸。復(fù)合設(shè)備根HUB主機(jī)設(shè)備設(shè)備HUB設(shè)備設(shè)備HUB設(shè)備設(shè)備 USB物理總線拓?fù)浣Y(jié)構(gòu)USB的電纜有4根線,兩根傳送的是十5V電源,另外兩根是數(shù)據(jù)線。(3)提供了用于控制緩沖區(qū)的流控功能。為了實(shí)現(xiàn)整個(gè)計(jì)算機(jī)系統(tǒng)中總線的一致性,以Intel公司為主,并聯(lián)合Compaq,HewlettPackard,Lucent,Microsoft,NEC以及Philips共七家公司共同開(kāi)發(fā)的一種快速的、雙向的、同步傳輸?shù)牟⒖梢詿岚尾宓男滦屯ㄓ么锌偩€,簡(jiǎn)稱USB總線。8K FLASH一般已經(jīng)夠用,通常無(wú)需外擴(kuò)程序存儲(chǔ)器,理論可寫入次數(shù)1000)、256B RAM數(shù)據(jù)存儲(chǔ)器(8051為128)、3個(gè)定時(shí)計(jì)數(shù)器(8051為2個(gè))、WDT(8051沒(méi)有)、ISP(8051沒(méi)有)。   除了線路紊亂與安裝模糊混淆外,這些線路都是不可以隨意插拔的,必須在開(kāi)機(jī)前裝好才能正常使用。隨著大量支持USB的個(gè)人電腦的普及,USB逐步成為PC機(jī)的標(biāo)準(zhǔn)接口已經(jīng)是大勢(shì)所趨。 系統(tǒng)實(shí)現(xiàn)功能系統(tǒng)是一個(gè)人機(jī)接口設(shè)備(HID),主要完成的是USB設(shè)備的基本功能,即主機(jī)對(duì)設(shè)備的列舉和中斷方式的數(shù)據(jù)傳輸。(4)支持動(dòng)態(tài)接入和動(dòng)態(tài)配置。7)成本低廉(1)組件與電纜價(jià)格便宜。USB協(xié)議規(guī)范中定義了USB的設(shè)備類型,比如音頻、通信、HID、HUB等設(shè)備類。但是,當(dāng)前配置中的所有接口(和它們的端點(diǎn))可以同時(shí)是活動(dòng)的。4)同步傳輸:主要用于主機(jī)和設(shè)備與時(shí)間有關(guān)的信息傳輸,具有周期性、連續(xù)性等特點(diǎn)。主機(jī)定時(shí)啟動(dòng)中斷傳輸,看設(shè)備端點(diǎn)是否有任何數(shù)據(jù)可用。2 系統(tǒng)硬件電路設(shè)計(jì) 設(shè)備電路系統(tǒng)概述USB設(shè)備的硬件通常是由處理器和接口電路實(shí)現(xiàn)組成。在這種模式下,P0具有內(nèi)部上拉電阻。對(duì)P3端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。這個(gè)ALE使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。PDIUSBD12片內(nèi)集成了6MHZ—8MHZ時(shí)鐘乘法鎖相環(huán)(PLL),這樣就可以使用低成本的6MHZ晶振。同樣,PDIUSBD12理想地適用于許多外設(shè),例如:打印機(jī),掃描儀,外部的存儲(chǔ)設(shè)備(Zip驅(qū)動(dòng)器)和數(shù)碼相機(jī)等等。(6) SoftConnectTM+(用于高速USB器件)置為高實(shí)現(xiàn)的。(9) 并行和DMA接口[14]一個(gè)普通的并行接口定義成易于使用,快速而且可以與主流的微控制器直接接口。該端口控制PDIUSBD12的命令和數(shù)據(jù)狀態(tài)。該Flash芯片采用NAND技術(shù)集成,與傳統(tǒng)的NOR技術(shù)相比性能優(yōu)越、集成度非常高,所以才能以低廉的成本獲得大的容量。這樣連接使得以2808為主的這個(gè)Flash存儲(chǔ)器模塊有如以下的地址分配:2808的命令口(只寫):21h; 2808的地址口(只寫):22h;2808的數(shù)據(jù)口(讀):24h; 2808的數(shù)據(jù)口(寫):20h。其中,設(shè)備描述符(device descriptor),配置描述符(configuration descriptor),接口描述符(interface descriptor)和端點(diǎn)描述符(endpoint descriptor)為每個(gè)USB設(shè)備所必須有的,字符串描述符(string descriptor),各設(shè)備類不同的類描述符(class descriptor)及報(bào)告描述符(report descriptor)則可以根據(jù)不同的設(shè)備進(jìn)行添加或刪減。主程序完成的工作是上電初始化PDIUSBD1給全局變量置初值、初始化中斷系統(tǒng),初始化完成之后進(jìn)入死循環(huán),等待D12的中斷信號(hào)。D12delay()函數(shù)的原型為void d12delay(void),它的功能是在兩次對(duì)D12芯片的操作間加入一定的延時(shí),這個(gè)函數(shù)只能在上面3個(gè)函數(shù)中使用。讀中斷狀態(tài)寄存器判斷中斷類型端點(diǎn)0輸出端點(diǎn)0輸入端點(diǎn)2輸入輸出SOF包掛起總線重置接收SETUPBAO BAO 響應(yīng)設(shè)備要求讀傳輸狀態(tài)寄存器自定義自定義 中斷處理程序流程圖注意:在對(duì)端點(diǎn)0、1和2的輸出/輸入引發(fā)中斷的處理時(shí),必須要做這樣一步操作:讀上次傳輸狀態(tài)寄存器(40~45)。應(yīng)用程序必須運(yùn)行在用戶模式下,一般不允許直接操作I/O端口,除非驅(qū)動(dòng)預(yù)留了端口。7) 取消I/O請(qǐng)求。打開(kāi)Driver Wizard,建立一個(gè)新的工程,在彈出的Card Information窗口中,就可以看到要生成驅(qū)動(dòng)程序的設(shè)備信息,有接口類型、生產(chǎn)廠商和Product ID 3個(gè)設(shè)備信息。為方便調(diào)試,硬件部分一開(kāi)始只搭建了USB基本功能模塊,即由AT89S52和PDIUSBD12以及其外圍器件構(gòu)成的模塊。 系統(tǒng)軟件調(diào)試及系統(tǒng)測(cè)試系統(tǒng)軟件程序編寫完畢以后,我們需要對(duì)它進(jìn)行調(diào)試。對(duì)USB設(shè)備來(lái)說(shuō),將在Resource窗口中看到2個(gè)管線:Pipe00—控制管線,Pipe81—數(shù)據(jù)管線(中斷方式)。在該系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)過(guò)程中,我將大學(xué)五年學(xué)到的知識(shí)連接起來(lái)了,將它們運(yùn)用到實(shí)際中。第三階段:系統(tǒng)軟件模塊的設(shè)計(jì)。當(dāng)設(shè)備能實(shí)現(xiàn)此功能時(shí),說(shuō)明系統(tǒng)固件程序編寫正確。D12芯片需要單片機(jī)程序控制才能正常工作,這里可以檢測(cè)D12芯片外圍的晶振是否工作,只要將時(shí)鐘信號(hào)輸入端接到示波器上,如果看到振動(dòng)現(xiàn)象就說(shuō)明晶振電路沒(méi)有問(wèn)題。在Build菜單中選擇Generate Code,Win Driver就會(huì)提示生成一個(gè)應(yīng)用程序的工程源代碼,打開(kāi)VC對(duì)所建工程編譯連接,就可以對(duì)得到一個(gè)控制臺(tái)的可執(zhí)行程序,這個(gè)程序運(yùn)行同樣可以用來(lái)對(duì)設(shè)備的所有管線進(jìn)行讀/寫。另一種具有代表性的有VtoolsD和Driver Works等開(kāi)發(fā)工具軟件。 WDM設(shè)備驅(qū)動(dòng)程序結(jié)構(gòu)一個(gè)WDM設(shè)備驅(qū)動(dòng)程序的功能模塊一般包括如下的幾個(gè)部分:1) 初始化。主機(jī)應(yīng)用程序通過(guò)驅(qū)動(dòng)程序與系統(tǒng)USBI(USB Device Interface)進(jìn)行通信,其主要任務(wù)是根據(jù)所需處理功能的要求來(lái)完成各種基于Windows程序的處理[13]。d12write(0x43)。d12m( )函數(shù)的原型為void d12m(unsigned char m.),實(shí)現(xiàn)的功能是向D12接口芯片的命令口寫一個(gè)字節(jié)的命令字。6) 報(bào)告描述符報(bào)告描述符是USB中最復(fù)雜的描述符。它的操作方式與硬件聯(lián)系緊密,包括USB設(shè)備的連接、USB協(xié)議、中斷處理等,它不是單純的軟件,而是軟件和硬件的結(jié)合,需要對(duì)端口、中斷和硬件結(jié)構(gòu)非常熟悉。輸出電容對(duì)于保持輸出電壓的穩(wěn)定性起著非常重要的作用,如果使用鉭電容,1117要求輸出電容的最小值為10uF。PS/。使用外部振蕩源接1時(shí),此腳懸空24VccP電源(~),25DAUSB數(shù)據(jù)線D26D+AUSB數(shù)據(jù)線D+27P28A0I地址位。隨后與PDIUSBD12之間成功的傳輸(帶應(yīng)答)將關(guān)閉LED,處于掛起狀態(tài)時(shí),LED將會(huì)關(guān)閉。PLL的工作不需要外部元件。LED輸出直接通過(guò)1KΩ上拉電阻排接到+5V電源上,以低電平驅(qū)動(dòng);撥碼開(kāi)關(guān)輸入則由于與LPT并口接口擴(kuò)展有沖突,沒(méi)有直接連接在單片機(jī)P2口上,而是通過(guò)74245三態(tài)門緩沖器連接三態(tài)門作為總線開(kāi)關(guān),即在使用這一模塊時(shí)限制了模式選擇開(kāi)關(guān)的低位應(yīng)為低電平[3]。當(dāng)P27=1時(shí),89S52給PDIUSBD12發(fā)命令;當(dāng)P27=0時(shí),向PDIUSBD12寫數(shù)據(jù)或從PDIUSBD12讀數(shù)據(jù)。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。接口芯片作為單片機(jī)的外圍器件與單片機(jī)及單片機(jī)的其它外圍電路共同組成的USB設(shè)備。3)幀開(kāi)始(SOF)SOF包由主機(jī)發(fā)送,指示一個(gè)幀的開(kāi)始。主要用于定時(shí)查詢?cè)O(shè)備是否有中斷數(shù)據(jù)要傳送,用來(lái)支持那些偶然需要少量數(shù)據(jù)通信,但服務(wù)時(shí)間受限制的設(shè)備。首先,由主機(jī)發(fā)請(qǐng)求給USB設(shè)備,然后在適當(dāng)?shù)姆较蛏蟼鬏敂?shù)據(jù),最后是到達(dá)一個(gè)狀態(tài)階段。通過(guò)使用集線器擴(kuò)展可連接多達(dá)127個(gè)外設(shè)。(2)通過(guò)支持不同的分組緩沖區(qū)和時(shí)延要求,支持不同數(shù)據(jù)傳輸速率的設(shè)備。這不僅使外設(shè)日益多樣化的發(fā)展趨勢(shì)與系統(tǒng)(I/O端口、IRQ)有限性的矛盾更加突出,而且給用戶對(duì)外設(shè)的連接和使用帶來(lái)極大不便,因此,迫切需要新的通用型外設(shè)標(biāo)準(zhǔn)出臺(tái)。增強(qiáng)的部分主要有:8K FLASH程序存儲(chǔ)器(8051用PROM,無(wú)法編程寫入,導(dǎo)致實(shí)際上多數(shù)用無(wú)ROM的8031外擴(kuò)的EPROM。如果各位繞到電腦背后看看,一定可以看到一堆慘不忍睹的“糾結(jié)”現(xiàn)象,這正是USB想解決的一個(gè)問(wèn)題。幾乎三年內(nèi)生產(chǎn)的主板都有2個(gè)或以上的USB標(biāo)準(zhǔn)接口,支持USB的外設(shè)越來(lái)越多,像USB鍵盤和USB鼠標(biāo)、USB調(diào)制解調(diào)器、USB音箱 、USB打印機(jī)、USB掃描儀、USB游戲桿、USB Hub、USB顯示器、USB數(shù)碼相機(jī)、USB攝像頭、USB硬盤等等設(shè)備。這兩點(diǎn)是USB設(shè)備所必須擁有的功能,可以稱作USB設(shè)備的基本功能。2)工作負(fù)荷和應(yīng)用范圍廣(1)支持傳輸速率從幾Kb/s至幾Mb/s的設(shè)備。(2)低速模式()更加經(jīng)濟(jì)。,USB設(shè)備的物理連接不影響這個(gè)邏輯視圖。大多數(shù)的設(shè)備只有一個(gè)配置和一個(gè)接口。它要求有一個(gè)恒定的速率。設(shè)備端點(diǎn)可以返回?cái)?shù)據(jù)。本系統(tǒng)實(shí)際上是AT89S52和PDIUSBD12單片機(jī)組成的單片機(jī)系統(tǒng)。在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。作為輸
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1