




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
[摘要]基于對串口通訊原理的分析和應(yīng)用,實現(xiàn)了單片 3.5USB設(shè)備驅(qū)動程序設(shè)計 3.5.1USB驅(qū)動程序的意義 參考文獻 隨著計算機領(lǐng)域和單片機領(lǐng)域的飛速發(fā)展,越來越多地的人采用單片機來制作一些工業(yè)控制系統(tǒng)。例如對溫度、壓力和流量等參數(shù)進行控制和監(jiān)測。相比于其他工具,單片機具有許多優(yōu)點。由統(tǒng)的監(jiān)控,這也是常用的一種通信方案。隨著USB接口技術(shù)的的成熟和使用的普及,和USB接口有成大勢所趨,單片機同PC機通過USB通信在實際工作中的應(yīng)用也將越來越廣。本文介紹的單片機和究如何實現(xiàn)PC機與單片機通過USB之間的通信具有非常重要的現(xiàn)實意義。通信是指計算機與外界信息的交換?;镜耐ㄐ欧绞桨ú⑿型ㄐ藕痛型ㄐ?。串行通信是指行傳輸,它的成本成本很低但是傳送速度卻快,其通信的距離可以從幾米到長達幾千米。不同的獨立系統(tǒng)利用線路互相交換數(shù)據(jù)這就是通信,它主要是把數(shù)據(jù)從一處傳送到另一處,實現(xiàn)數(shù)據(jù)之間的交換。現(xiàn)代的工業(yè)控制常采用計算機作為上位機與下層設(shè)備連接來進行實時控制與監(jiān)通信因有結(jié)構(gòu)簡單、執(zhí)行速度快、抗干擾能力強等優(yōu)點,已被廣泛應(yīng)用在數(shù)據(jù)信息采集和控制等領(lǐng)1)數(shù)據(jù)采集系統(tǒng)的設(shè)計;設(shè)計主要包含以下兩個方面1)硬件設(shè)計:單片機及外圍電路設(shè)計,通信模塊的設(shè)計;2)軟件設(shè)計:單片機的采集程序和通信控制程序,PC機的驅(qū)動程序和應(yīng)用程序。通過上位機軟件和驅(qū)動程序的編寫實現(xiàn)以下功能:示界面上顯示出找到設(shè)備。2)完成上位機軟件的編寫,并可以在設(shè)備沒有連接時顯示連接錯誤。3)實現(xiàn)雙向傳輸。在上位機軟件中可以控制USB設(shè)備中的相應(yīng)顯示,同時可以接收到USB設(shè)備傳回的消息,并在顯示界面上顯示。達到一個PC機與USB設(shè)備信息的交互,完成通信。USB設(shè)備與主機之間進行連接和通信的操作稱為USB互聯(lián),主要包括四個方面:1)總線的拓撲結(jié)構(gòu),它是指USB設(shè)備與主機之間的各種連接;2)內(nèi)部層次關(guān)系,他是指USB分為許多層,執(zhí)行它的任務(wù)被分在其中;3)數(shù)據(jù)流模式,它是指數(shù)據(jù)通過USB接口從產(chǎn)生數(shù)據(jù)的地方到使用他的地方的流動方式;數(shù)據(jù)傳送。網(wǎng)絡(luò)集線器提供了更多的連接點;功能器件維系廳提供更多的功能,例如:揚聲器,數(shù)字游戲桿等。選用單片機作為系統(tǒng)的核心部件,實現(xiàn)控制與處理的功能。單片機具有資源豐富、速度快、編程容易等優(yōu)點。利用單片機內(nèi)部的隨機存儲器(RAM)和只讀存儲器(ROM)及其引腳資源,外接液晶顯示(LCD鍵盤輸入等實現(xiàn)數(shù)據(jù)的處理傳輸和顯示功能,基本上能實現(xiàn)設(shè)計指標。位;標準性能的描述性信息。只有這樣才能更好地設(shè)計好電路。送一個設(shè)備描述符,然后USB設(shè)備通過讀取解碼后的數(shù)據(jù)包取出自己所需要的信息。通過這些信息判斷確定數(shù)據(jù)的傳輸方向,數(shù)據(jù)傳輸不是從主機到設(shè)備就是從設(shè)備到主機。傳輸一開始,通過讀取成為一個傳輸通道。他們通過通東進行數(shù)據(jù)傳輸,通道的類型與數(shù)據(jù)帶寬、端口特性等內(nèi)容有關(guān)。USB接口有四種傳輸方式。分別為控制方式、同步方式、中斷方式和大量。如果通過硬件來設(shè)計整個系統(tǒng),那還要選擇一個適用的傳輸方式,而如果只是設(shè)計驅(qū)動程序,我們只需要弄清楚其采用了那種工作方式。通常由PC機控制設(shè)備的傳輸方式??刂苽鬏敺绞娇梢赃M行雙向的傳輸,由于傳輸?shù)臄?shù)據(jù)量通常比較小,所以主要用來進行數(shù)據(jù)的查詢、配置和給USB設(shè)備發(fā)送命令。它通常可以傳輸8、1供了確定的帶寬和時間間隔的方式。通常要求有恒定的數(shù)據(jù)傳輸率的即時傳輸中要用到它,也可以用于對時間要求嚴格和有較強容錯性的流數(shù)據(jù)傳輸中。例如,網(wǎng)絡(luò)電話、網(wǎng)絡(luò)視頻等,最好是用同步傳輸方式。在同步數(shù)據(jù)傳輸中通常要求有確定的帶寬和最大傳輸次數(shù)。同步傳輸看中的是即使數(shù)應(yīng)用于設(shè)備的中斷,主要用于定時檢測設(shè)備看看是否有中斷,然后響應(yīng)中斷進行數(shù)據(jù)的傳輸。它通速度慢、大量的數(shù)據(jù)被延時等時候用到它。接也可以和他的下端Hub連接。這種結(jié)構(gòu)最多接口的應(yīng)用,為我們和PC機的連接提供了很大方便。度以外還具有快速模式和超高速模式。這些模式通常可以應(yīng)用于一個系統(tǒng)中。低速模式的使用,主使用帶屏蔽的雙絞線,其使用的長度可以達到3m。由于電壓的關(guān)系,為了達到設(shè)備與終端的匹配,以提供信號電壓的穩(wěn)定,通常在每一個終端都使用了負載,以確保電壓信號的穩(wěn)定。通過這種帶負載的終端來檢測設(shè)備的連接與否,而且它還可以區(qū)分這個設(shè)備時運行在高速情況下還是低端情況下。功能部件功能部件主機控制器主機控制器USB總線接口上圖展示了主機和USB設(shè)備之間怎樣進行信息交流,他把主機和USB設(shè)備都分為三層,每一層都用來實現(xiàn)不同的功能,橫向?qū)舆M行邏輯信息的交流,總想進行實際的信息交流。但是有一層是例外,那就是主控制器和USB總線之間的信息交流,它也是進行著實際的信息交流。主機和設(shè)備之間的數(shù)據(jù)交流都是基于USB接口然后通過一根導(dǎo)線連接的。主機上客戶軟件和設(shè)備功能部件之間的通信是基于設(shè)備所能提供的能力。戶。USB總線接口是實現(xiàn)和設(shè)備的連接的端口,其作用是處理電氣及協(xié)議層的一邊設(shè)備與接口的互連。相比于USB設(shè)備總線接口,主機系統(tǒng)具有特殊性,它的總線接口上還必須具有主機控制器一邊HCD,HCD也可以連接一個或多個主機控制器。有些操作系統(tǒng)可能會允許設(shè)立USB驅(qū)動初始化。但不同的操作系統(tǒng)有不同的USB驅(qū)動初始化。在USB系統(tǒng)初始化后,系統(tǒng)會創(chuàng)建USB管理信息,創(chuàng)建的內(nèi)容包括缺省地址設(shè)備及它的標準通道。當一個設(shè)備與USB連接時,設(shè)備會響應(yīng)特殊的缺省地址,主機通過對它的識別、響應(yīng),會付給他一個唯一的地址。在設(shè)備在剛連上總線時,為了保證USB系統(tǒng)能夠識別新的設(shè)備并進行進行通信,主機給USB設(shè)備的缺省地址必須是有用的。然后設(shè)備開始初始化,在初始化期間,主機通過識別設(shè)備會給設(shè)備一個唯一的地址。主機與USB設(shè)備通過USB接口連接的系統(tǒng)是一個通道。通道是主機與設(shè)備的邏輯結(jié)構(gòu),改變通道的使用者通道的基本屬性不變。但是會對通道有一些影響,他們之間還是會存在一定性的差異。通道分為標準通道和其他通道。標準通道由USB驅(qū)動擁有和管理,然而其他的通道由USB驅(qū)動的客雖然一些客戶通過命令接口所傳遞的請求經(jīng)常有標準通道來完成,但是客戶還是不能直接訪問我設(shè)計的題目是基于USB接口的數(shù)據(jù)采集系統(tǒng),基于此我把我的設(shè)計分為了兩個方面和幾個小的方面。大的方面分為硬件電路的設(shè)計和軟件編程的設(shè)計。其中硬件方面又分為溫度采集電路和基序的設(shè)計用以實現(xiàn)USB接口的識別;再通過VisualStudio和WindowsDDK來編程實現(xiàn)系統(tǒng)的驅(qū)動程設(shè)計的過程中可能會用到各種模擬軟件和VB和C++等語言來實現(xiàn)程序的設(shè)計,實際完成后將實現(xiàn),但單片機通過USB接口連接上PC機只后主機會顯示USB設(shè)備已連接,通過打開USB應(yīng)用程序來完成數(shù)據(jù)的傳送和接輸,界面上會顯示單簽的溫度并繪制溫度曲線。P0口是一個沒有上拉電阻的漏極開路三態(tài)I/O口所以使用它是需要加上拉電阻,而單總線的溫度傳感器通常需要加一個5k的電阻。通過程序的寫入,液晶顯示屏上將實現(xiàn)顯示溫度和時間(年、接口連接。連接圖如下:單片機的程序開發(fā)我們常用的是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),采用C語言編程。C語言是一種高級語言相比較踐和編程效率。而且他還有強大的集成開發(fā)調(diào)試工具,他方便了我們警醒程序的檢錯和修改。最重要的是他聲稱目標代碼的效率非常高,而且容易理解。在開發(fā)大型軟件時更能體C語言的優(yōu)勢。對于Windows系統(tǒng),我們常采用KeilC51的工具包中的UVision,進行開發(fā),它可以完成編輯——>編譯——>連接——>調(diào)試——>仿真等整個開發(fā)流程。開發(fā)人員通過C語言的編程環(huán)境編寫源代碼。然后給他配備新的設(shè)備,通過對A/D轉(zhuǎn)換器的采樣;定時器的定時、計數(shù);中斷源的控制來實現(xiàn)我們需要的功能。這里我們的目的是控制芯片PDIUSBD12接受并處理USB驅(qū)動程序的請求及應(yīng)用程序發(fā)出的控制指令來實現(xiàn)對溫度數(shù)據(jù)的采集和顯示。USB接口與設(shè)備進行數(shù)據(jù)陳述的過程是:USB控制器(PDIUSBD12)先從USB總線檢測看是否得與此次傳輸有關(guān)的各種參數(shù),并根據(jù)具體的傳輸參數(shù),對USB控制器的控制寄存器和數(shù)據(jù)寄存器進行相應(yīng)的操作,以完成主機的傳輸請求。流程圖如下:否是固件程序的設(shè)計實際上是為了單片機和PC機可以交流而設(shè)計的,它主要是為了讓PC機可以檢測和識別單片機這個設(shè)備。在這里我們常采用C語言編程來實現(xiàn)。通常他的設(shè)計與實現(xiàn)與硬件電路密不可分,它是軟硬件結(jié)合的結(jié)果。在設(shè)計過程中我們通常要寫入連接USB協(xié)議、中斷處理、寄存器的讀取等指令。固件程序一般放入MCU中,但我們完成這些后,連接設(shè)備和主機,主機上會顯示發(fā)現(xiàn)新的設(shè)備,然后建立連接。固件程序的設(shè)計是關(guān)系到我們能否連接上主機的關(guān)鍵,我們通過對它的設(shè)計可以學會USB通信的一般流程。USB固件程序大體上可以非為三部分:首先要初始化單片機的各個單元和所有的外圍電路(包括PDIUSBD12);其次設(shè)計實現(xiàn)可以進行溫度的采集、傳送和顯示過程;最后也是最重要的,設(shè)計中斷服務(wù)程序,當主機發(fā)送命令請求時,PDIUSBD12接收請求并向單片機發(fā)出中斷命令,單片機要的命令字分為三種:初始化命令字、數(shù)據(jù)流命令字和通用命令字。PDIUSBD12數(shù)據(jù)手冊給出了各種命令的代碼和地址。單片機先給PDIUSBD12的命令地址發(fā)命令不同的數(shù)據(jù)。因此,可以將每種命令做成函數(shù),用函數(shù)實現(xiàn)各個命令,以后直接調(diào)用函數(shù)即可。是否否是主流程圖是設(shè)備寫入估計按程序后,設(shè)備連接上主機后系統(tǒng)的響應(yīng)模式。設(shè)置為ON,這是為了確保在微處理器準備好服所以是很重要的。上圖為主循環(huán)流程。是否是否是否是否是否是否是DMA傳輸技術(shù)處理DMA傳輸技術(shù)處理否是否是中斷服務(wù)程序是PDIUSBD12響應(yīng)主機而產(chǎn)生的。他通過主機發(fā)送請求,指揮單片機產(chǎn)生中斷,單片機通過讀取從他傳過來的信息,判斷屬于哪種響應(yīng),然后按相應(yīng)的響應(yīng)執(zhí)行操作。3.5USB設(shè)備驅(qū)動程序設(shè)計3.5.1USB驅(qū)動程序的意義USB外設(shè)之所以稱為USB外設(shè)是因為它能通過USB接口和主機通信,如果不能通信,納悶這個USB外設(shè)一點用也沒有。在Windows完全支持的USB設(shè)備中,人機接口設(shè)備就是其中典型的一種,其中應(yīng)用程序可以使用操作系統(tǒng)內(nèi)設(shè)置的驅(qū)動與人機接口設(shè)備通信。但與人機接口設(shè)備通信不同的是,它不是打開一個端口,設(shè)定幾個參數(shù),然后就可以讀寫數(shù)據(jù)那么簡單,在應(yīng)用程序能與人機接口設(shè)備交換數(shù)據(jù)之前,它先要找到設(shè)備,獲取有關(guān)它的相關(guān)信息。為做到這些,應(yīng)用程序必須通過訪問通信API函數(shù),使位于上層的應(yīng)用程序與位于下層的設(shè)備驅(qū)動程序進行數(shù)據(jù)交換。應(yīng)用程3.5.2USB驅(qū)動程序的概述設(shè)備驅(qū)動程序是一個軟件組件,屬于軟件與硬件之間為他們之間的溝通橋梁的軟件。首先,必利用DriverStudio編寫設(shè)備驅(qū)動程序,因為它生成的代碼是C風格,可以包裝形式類似的應(yīng)用,如在USB的概念,一個USB設(shè)備設(shè)置有一些相同的設(shè)備屬性。通常這些設(shè)備歸為一組,以提供基于主機的設(shè)備驅(qū)動程序的開發(fā)。幀的設(shè)備規(guī)格的裝置,設(shè)備,屬于作業(yè)類的定義。設(shè)備驅(qū)動程序的開發(fā)可以從分離設(shè)備制造商規(guī)范開始。硬件開發(fā)和硬件制造商可以專注于他們,而軟件開發(fā)人員可以專注于開發(fā)自己的軟件和驅(qū)動程序,但所有的USB設(shè)備必須符合USB協(xié)議,設(shè)備也必須符合接口沒有定義該類設(shè)備。由于本設(shè)備的應(yīng)用方式上不同,所以它是許多常見的摘要非常困難,因此設(shè)備驅(qū)動程序提供主要的操作系統(tǒng)和硬件接口,支持用戶和應(yīng)用需求信息流。由于對數(shù)據(jù)處理有要求的用戶,驅(qū)動程序必須現(xiàn)在比數(shù)據(jù)的發(fā)送和接受更多的工作。為設(shè)備驅(qū)動程序的編寫,我們1)支持即插即用(PNP)和電源管理。也就是說,外部設(shè)備可以添加或刪除系統(tǒng)中的操作,操作驅(qū)動程序的支持,相關(guān)設(shè)備和系統(tǒng)的能耗和設(shè)備工作。設(shè)備對象不需要直接和USB控制器交互信息。這個協(xié)議能測量和管理消耗在本地或者是網(wǎng)絡(luò)中客戶機上的資源信息,WDM驅(qū)動程序必須支持4)支持類驅(qū)動程序/微驅(qū)動程序分層結(jié)構(gòu)。用windows32驅(qū)動模式驅(qū)動程序使用的分層結(jié)構(gòu),以及其他相關(guān)的驅(qū)動程序,接收裝置提供服務(wù)的驅(qū)動,也可以驅(qū)動發(fā)送IRP請求其它。WDM驅(qū)動程序采用分層處理的方法,用戶不需要直接和硬件打交道,只需要訪問硬件提供的底層驅(qū)動接口。(虛擬設(shè)備驅(qū)動程序)的I/O使屏蔽控制端口操作,必須模擬硬操作方便,直接應(yīng)用。內(nèi)核模式驅(qū)動程序包含許多子分支,這個分支,PNP驅(qū)動程序是用來管理的驅(qū)動程序管理。和微驅(qū)動器提供供應(yīng)商特定的驅(qū)動在一類設(shè)備;顯示驅(qū)動器顯示和打印的內(nèi)核驅(qū)額外的驅(qū)動程序內(nèi)核驅(qū)動程序控制的硬件設(shè)備,包括那些在以前版本的WindowsNT驅(qū)動程序的開通過這次畢業(yè)設(shè)計使我了解到單片機的應(yīng)用面廣,功能強大,使用方便,已經(jīng)廣泛地應(yīng)用在各種機械設(shè)備和生產(chǎn)過程的各個方面。仍然處于不斷的發(fā)展之中其功能不斷增強,更為開放。編程軟件技術(shù)更是工業(yè)設(shè)計領(lǐng)域不可缺少的一部分,單片機仍然處于不斷的發(fā)展之中其功能不斷爭強,更為開放,它不但是單機自動化中應(yīng)用最廣泛的控制設(shè)備,在大型工業(yè)網(wǎng)絡(luò)控制系統(tǒng)中也占有不可動搖的地位。使我對單片機的應(yīng)用有了更好的了解和認識,在課程設(shè)計過程中不僅鞏固了我們的基礎(chǔ)理論知識,而且使我們各個方面的能力都有很大的提高。從一開始的無從下手,資料的整理,在到老師的幫助下,無疑是對我們查閱資料的能力、設(shè)計報告的能力、電腦繪圖等能力的很好的鍛煉了理論聯(lián)系實際,與具體項目、課題相結(jié)合,開發(fā)、設(shè)計產(chǎn)品的能力的進一步在課程設(shè)計中使我學會了很多,也對自己的能力有了進一步的提高,為以后的學習和工作加強。在設(shè)計過程中,總是遇到這樣或那樣的問題。有時發(fā)現(xiàn)一個問題的時候,需要做大量的工作,花大量的時間才能解決。為以后的工作積累了經(jīng)驗,增強了信心。既讓我們懂得了怎樣把理論應(yīng)用于實際,又讓我和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié)。其次,調(diào)試是項目開發(fā)的難點。理論上的東西,是別人總結(jié)出來的東西,因此非常抽象,跟實踐相比往往省略了許多細節(jié),而項目開發(fā)有時候就是根據(jù)抽象的理論,來重新實現(xiàn)細節(jié)。但很多理論問題的實現(xiàn)不是一次就能成功的,這就需要調(diào)試,定位問題的所在,解決問題。調(diào)試的時候經(jīng)驗非常重要,并且經(jīng)驗與能力的增長是相輔相成的。如果某個問題在時就一定知道了,就可以直接得到正確的結(jié)論。這里還要掌握調(diào)試手段,像在程序中添加了一些串口打印語句,就會影響程序的正確運行等問題的解決,如果完全憑借資料,是很難解決的。在設(shè)計的寫作和制作過程中,我的指導(dǎo)教師劉東傾注了大量的心血,從選題到開題報告,從寫作提綱,到一遍又一遍地指出每稿中的具體問
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 招標代理委托居間合同
- 辦公區(qū)域大型活動策劃方案與指南
- 工業(yè)污水處理可行性報告
- 中醫(yī)護理學(第5版)課件 望診1
- 食品行業(yè)質(zhì)量安全追溯與智能倉儲管理方案
- 二零二五年度辦公室新風系統(tǒng)智能化升級改造合同
- 工作效率提升策略實施計劃
- 廣告公司裝修項目終止
- 科技項目可研報告
- 三農(nóng)村電商市場風險防范手冊
- 江蘇紅豆實業(yè)股份有限公司償債能力分析
- 四川省2023年普通高等學校高職教育單獨招生文化考試(中職類)數(shù)學試題(原卷版)
- 水力機械原理與設(shè)計課件
- 江蘇電子信息職業(yè)學院單招職業(yè)技能測試參考試題庫(含答案)
- 充電樁采購安裝投標方案(技術(shù)方案)
- 7.1開放是當代中國的鮮明標識課件-高中政治選擇性必修一當代國際政治與經(jīng)濟(1)2
- 2024年浙江首考英語聽力原文解惑課件
- 民族團結(jié)教材
- 煤礦頂板管理技術(shù)培訓(xùn)課件
- 紀念中國人民抗日戰(zhàn)爭暨世界反法西斯戰(zhàn)爭勝利周年大合唱比賽
- 生化檢驗質(zhì)控及失控分析
評論
0/150
提交評論