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

正文內(nèi)容

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

2025-08-12 09:04上一頁面

下一頁面
  

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