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

正文內(nèi)容

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

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

下一頁面
  

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