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

正文內(nèi)容

汽車節(jié)能裝置控制器設(shè)計畢業(yè)論文-資料下載頁

2025-06-26 15:31本頁面
  

【正文】 是“通用串行總線”,它是應(yīng)用在微機(jī)領(lǐng)域的新型接口技術(shù)。USB需要主機(jī)硬件、操作系統(tǒng)和外部設(shè)備三個方面的支持才能工作。早在1995年,就已經(jīng)有微機(jī)帶有USB接口,但由于缺乏軟件和硬件設(shè)備的支持,這些微機(jī)的USB接口都閑置未用。1998年后,隨著微軟在Windows 98中內(nèi)置對BSB接口的支持模塊,加上USB設(shè)備的R漸增多,USB接口才逐步走進(jìn)了實用階段。 一般而言,每個USB設(shè)備可以有~個或多個配置,如圖4.2所示。使用多配置的原因是對操作系統(tǒng)的支持,例如,系統(tǒng)BIOS可以使用一個簡單的配置,而操作系統(tǒng)中的驅(qū)動程序則使用一個更加復(fù)雜的配置。 設(shè)備的每個配置中都含有一個或多個的接I:1,接口指出軟件怎樣訪問硬件。設(shè)備的接口有一個或多個端點,端點作為通信管道的一個終點。 Driver Works編寫USB驅(qū)動程序的具體實現(xiàn) 在編寫USB設(shè)備驅(qū)動程序之前,首先必須確定是否安裝了Windows2000WDM驅(qū)動程序及應(yīng)用程序?qū)嵗玫墓ぞ甙篤isualc十+6.0、windows2000 DDK和DriverStudio 2.7,依照這個順序安裝這些工具。PDIUSBDl2芯片為例。PDIUSBDl2芯片有3個端點:端點0、端點l和端點2,在這篇文章中,設(shè)定端點0用于控制傳輸,端點l用于中斷傳輸.端點2用于批量傳輸。下面就可以用Driver Works編寫USB驅(qū)動程序。Driver Works有一個很好的生成驅(qū)動程序的向?qū)river Wizard。使用Driver Wizard向?qū)Э梢钥焖偻瓿蒛SB設(shè)備驅(qū)動程序的框架。 在安裝完成后,進(jìn)入visual C++6.0,可以看到在菜單中新增了“Drivet Wizard“菜單欄,這樣我們可以通過該向?qū)лp松完成簡單的功能驅(qū)動程序設(shè)計?,F(xiàn)以本文的PDIUSBDl2為例,簡介如下:(1)進(jìn)入“Driver Wizard”,在對話框中,輸入項目名稱及文件目錄,然后進(jìn)入下一步。(2)選擇驅(qū)動程序的類型為WDM。(3)選擇驅(qū)動程序操作的總線類型為USB,然后輸2VUPDIUSBDl2廠商U{別號(VID)和設(shè)備識別號(PID)。(4)接下來定義USB設(shè)備的終端,USB標(biāo)準(zhǔn)規(guī)定設(shè)備必須支持End point O,所以只需要對設(shè)備的End point Endpoint2進(jìn)行定義。在加入En如point l后將彈出End point l的屬性對話框,根據(jù)設(shè)備硬件屬性,選擇End point l、Endpoint2端點支持何種數(shù)據(jù)傳輸類型(同步、中斷、塊和控制傳輸四種數(shù)類型之一),以及支持的最大傳輸數(shù)據(jù)包大小,最后足端點的名稱(被驅(qū)動程序調(diào)用的名稱)。(5)之后,可以輸入驅(qū)動程序類名和文件名。(6)選擇驅(qū)動程序?qū)⒅С值挠脩粽埱?,即提供給其它的驅(qū)動程序或應(yīng)用程序的接口,如支持Read,Write,F(xiàn)lush,DeviceContr01等請求。(7)如需創(chuàng)建注冊表項,可在這?步添加,否則可以進(jìn)入下一步。(8)在這一步中可以設(shè)置一些驅(qū)動程序的其它屬性,比如驅(qū)動程序使用何種設(shè)備接口(對于WDM驅(qū)動程序只能使用全局唯一標(biāo)識符GUID),使用何種緩沖區(qū)讀寫方式,是否支持電源管理等。(9)如需IOCTL接口等特殊功能,可以在這~步添加,否則進(jìn)入最后一步。(10)在最后一步中,可以設(shè)置驅(qū)動程序的附加屬性,如產(chǎn)生一個測試程序或在驅(qū)動程序中加一些調(diào)試選項等。完成以上步驟后,驅(qū)動程序框架輸入完畢,程序代碼由向?qū)ё詣由桑覀冎恍栳槍ψ约旱膶嶋H需求對程序作少量改動即可完成驅(qū)動程序的開發(fā)工作。所完成的驅(qū)動程序框架薩如下面介紹的,包括:即插即用,電源管理、分發(fā)例程。4.4.1即插即用(PNP)編程 即插即用(PNP)是硬件和軟件支持的組合,PNP需要獲得硬件設(shè)備、系統(tǒng)軟件和驅(qū)動程序的支持。這些軟件支持無需用戶干涉就能使系統(tǒng)自動識別或適應(yīng)硬件配置的一些改變。用戶可從微機(jī)系統(tǒng)中添加和刪除設(shè)備。即插即用的功能有兩個:●自動和動態(tài)識別安裝的PNP設(shè)備。如動態(tài)插入USB設(shè)備,系統(tǒng)能自動識別它。●硬件資源分配和再分配。PNP管理器給每一個PNP設(shè)備所提出的資源要求(例如I/O端口、硬件中斷號IRQ等)進(jìn)行適當(dāng)?shù)馁Y源分配。4.4.2電源管理編程 支持PNP的驅(qū)動程序必須支持電源管理,同樣支持電源管理的驅(qū)動程序也必須支持PNP,驅(qū)動程序在兩個方面支持電源管理:1.驅(qū)動程序響應(yīng)由電源管理器所發(fā)出的系統(tǒng)級電源要求;2,驅(qū)動程序為個別設(shè)備管理電源。當(dāng)用DriverWorks生成USB設(shè)備驅(qū)動程序框架時,會自動產(chǎn)生下列電源管理例程:virtual NTSTATUS DefaultPower(Kirp1):virtual NTSTATUS OnDevicePowerOp(KIrpI):Virtual NTSTATUS OnDeviceSleep(KIrpI):4.4.3分發(fā)例程的編程 分發(fā)例程用于處理來自Win32應(yīng)用程序的請求,它們處理打開、關(guān)閉、讀、寫和IOCTL請求。下表4.1列出全部的IRP主功能代碼和它們對應(yīng)的win32函數(shù)。當(dāng)應(yīng)用Driver Works生成USB設(shè)備驅(qū)動程序框架時,會自動生成IRP—MJ—CREATE、IRP—MJ_CLOSE、IRP—MJ_READ、IRP_MJ_WRITE、IRP—MJ—DEVICE_CONTROL主功能代碼分別對應(yīng)的驅(qū)動程序例程Create、Close、Read、Write、Device Control框架。4.5 USB設(shè)備驅(qū)動程序的調(diào)試在調(diào)試過程中,最關(guān)鍵的就是掌握調(diào)試的方法,因為一旦掌握調(diào)試方法,那么在后續(xù)的調(diào)試過程中就更加得心應(yīng)手了。下面就介紹如何使用8usHound軟件來輔助調(diào)試。圖4.3即為Bus Hound的調(diào)試過程中的界面。如界面所示,有三個部分的數(shù)據(jù)對調(diào)試來講比較有用,Phase可以讓調(diào)試者知道當(dāng)前處于什么階段,是控制命令發(fā)出、數(shù)據(jù)發(fā)出還是接收到數(shù)據(jù)。Data則可以讓我們清楚地知道主機(jī)向Device發(fā)了些什么,或是Device向主機(jī)發(fā)了些什么,將此數(shù)據(jù)與Device從主機(jī)收到的數(shù)據(jù)或是發(fā)向主機(jī)的數(shù)據(jù)進(jìn)行對比,可以確保數(shù)據(jù)是否傳輸正確。Info階段則可以讓我們知道當(dāng)前處于USB協(xié)議的什么階段,它可以清晰地表示出是在GET DESCRIPTOR階段還是SET CONFIG階段。在此工具的最上面一行中,還可以通過Save將所得到的數(shù)據(jù)作為文件保存下來再進(jìn)行分析。從Devices中可以選擇要對哪些設(shè)備的數(shù)據(jù)進(jìn)行捕獲,Settings中可以設(shè)置緩沖區(qū)的總長度和每個Phase數(shù)據(jù)長度的限制??傊珺us Hound是進(jìn)行USB開發(fā)的利器,是調(diào)試過程中的必備工具。另外,USB通訊是一個動態(tài)的過程,是不太好使用硬件仿真器來設(shè)置斷點調(diào)試的,因為每~次USB的傳輸過程,都有時效要求,等待時間過長,通訊過程也就中止了。但也不排除可以巧妙地使用斷點仿真的方法進(jìn)行調(diào)試。但個人認(rèn)為,使用串口輔助調(diào)試過程,是一種經(jīng)濟(jì)有效的方法。所謂用串口輔助調(diào)試過程,也就是在固件代碼中加入類似于Print的語句,向串口輸出一些信息。這些信息可以是幾個字符,或是某個變量或寄存器的值。程序運行到此處時,便會輸出這些信息,借此便可以知道:程序是否運行到此處;運行到此處時相應(yīng)變量或寄存器值。 而在本系統(tǒng)的硬件電路中,串口調(diào)試和Bus Hound這兩種手段配合使用,可以使USB通訊過程的調(diào)試更加容易。比如,剛開始時,端點O的數(shù)據(jù)量本來就少,因此,使用串口調(diào)試比較方便。利用這兩種手段,有助于我們確定一方發(fā)送數(shù)據(jù)時另一方接收的數(shù)據(jù)是否正確。比如,單片機(jī)上發(fā)出的一組數(shù),將其輸出到串口,然后看看Bus Hound上是否收到的是這些數(shù),如果詐確,則說明硬件通訊過程沒有問題,如果不正確,則說明通訊的某一方有問題,進(jìn)一步可以定位此問題并加以排除。4.6 USB設(shè)備驅(qū)動程序的安裝 如果總線驅(qū)動程序檢測到新的USB硬件、或者用戶使用控制面板中的“添加新硬件”向?qū)О惭b一個設(shè)備,驅(qū)動程序根據(jù)INF文件中的指令安裝。驅(qū)動程序可執(zhí)行文件被復(fù)制到正確的位置,對于Windows2000操作系統(tǒng)而言,這個位置通常是C:\WINN_I、\system32\drivers目錄中。INF文件含有安裝一個WDM設(shè)備驅(qū)動程序需要的所有必需的信息,INF文件是一個文本文件,它由節(jié)組成。每一個節(jié)從括在方括號中的節(jié)名稱(如[Version])開始,后面是節(jié)內(nèi)容。節(jié)可以是任意順序,但是一個節(jié)中行的順序有時候是重要的。節(jié)的名稱和項的名稱不區(qū)分大小寫。編寫好了INF文件后,就可以安裝USB設(shè)備的驅(qū)動程序了。 本章小結(jié) 本章講述了US8設(shè)備驅(qū)動程序的設(shè)計,具體內(nèi)容包括:如何構(gòu)建驅(qū)動程序開發(fā)環(huán)境、驅(qū)動程序的調(diào)試方法和過程。并針對PDIUSBDl2芯片編寫了驅(qū)動程序?qū)嵗? 結(jié)論城市公交車頻繁啟動、制動?,F(xiàn)今的汽車制動裝置在制動過程中損耗了汽車動能。本課題根據(jù)這種實際情況,在總體卜設(shè)計了汽車節(jié)能裝置。如果在汽車上加裝該裝置,則此裝置恩能夠在汽車制動時儲存汽車的動能,并能夠把汽車動能轉(zhuǎn)換為儲氣桶內(nèi)的氣體壓力勢能和提供汽車制動力矩??刂破魇窃撗b置的重要組成部分。本課題具體進(jìn)行的工作如下所述:1.完成了汽車節(jié)能控制器的總體設(shè)計工作。2.控制器硬件電路設(shè)計。為了實現(xiàn)系統(tǒng)的高可靠性、高穩(wěn)定性和高抗干擾性,結(jié)合設(shè)計電路的經(jīng)驗,設(shè)計和制作了單片機(jī)控制器。該控制器選擇了AT89C51單片機(jī)作為CPU,并對AT89C51進(jìn)行系統(tǒng)擴(kuò)展,以滿足控制需要。整個系統(tǒng)擴(kuò)展了看門狗電路、數(shù)據(jù)存儲器、程序存儲器、A/D轉(zhuǎn)換電路、控制電路、RS一232通信電路、USB接口通信電路。3.進(jìn)行單片機(jī)軟件程序的設(shè)計和調(diào)試工作。整個軟件程序?qū)崿F(xiàn)了A/D轉(zhuǎn)換程序設(shè)計、RS一232串行通信程序的設(shè)計、USB接口固件程序的設(shè)計。在編寫USB模塊程序時,必須能夠清晰地理解USB協(xié)議內(nèi)容,編寫的關(guān)鍵是使得USB設(shè)備(PDIUSBDl2芯片)的能夠枚舉成功。對于USB設(shè)備和Pc機(jī)通信的程序調(diào)試中,不能使用單步調(diào)試的方法,使整個程序調(diào)試成功必須利用一些外部工具和軟件,這就是前面講到“Bus Hound”和“串口調(diào)試助手”兩個工具的協(xié)調(diào)運用。整個程序采用模塊化程序設(shè)計的思想。使得整個程序結(jié)構(gòu)清晰、易于理解。這使得后續(xù)的研發(fā)工作更為方便。4.PC機(jī)應(yīng)用程序的設(shè)計。應(yīng)用程序開發(fā)工具使用了Visualc++6.0集成開發(fā)環(huán)境。整個應(yīng)用程序包括兩個主要的模塊:RS一232串口通信和USB接口通信。為了達(dá)到快速開發(fā)的目的,RS一232串口通信采用“MSCOMM控件”。這個控件是微軟公司為了簡化Windows下應(yīng)用程序的編程而提供的ActiveX控件,非常的實用,使用起來也非常的方便。USB接口通信的PC機(jī)應(yīng)用程序的編寫則是利用DriverStudi0丌發(fā)工具生成的應(yīng)用程序框架的基礎(chǔ)上來增添一些程序源代碼,整個USB接口應(yīng)用程序?qū)崿F(xiàn)了USB設(shè)備(PDIUSBDl2芯片)的端點1的中斷傳輸、端點2的批量傳輸。4.4[5]張毅剛,彭喜元,姜守達(dá),喬立巖著.新編MCS一51單片機(jī)應(yīng)用設(shè)計.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2003.7[6]胡漢才著.單片機(jī)原理及其接口技術(shù).北京:清華大學(xué)出版社,1996[7]李朝青著.單片機(jī)原理及接口技術(shù).北京:北京航空航天大學(xué)出版社,2001[8]何立民編.MCS一51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計.第一版.北京:北京航航天大學(xué)出版社,1990.[9]李華主編.MCS一51系列單片機(jī)實用接口技術(shù).北京:北京航空航天大學(xué)出版社,1993.[10]徐愛卿等.單片微型計算機(jī)應(yīng)用和開發(fā)系統(tǒng).北京:北京航空航天大學(xué)出版社,1993.[11]張念淮,江浩著.USB總線接口開發(fā)指南.北京:國防工業(yè)出版社,2001.[12]司利增著.汽車計算機(jī)控制.北京:人民交通出版社,2000.2[13]林田洋一著.汽車電子學(xué).蔡瑞彬譯.北京:人民交通出版社,1998.58哈爾濱I’程人學(xué)碩士學(xué)位論文[14]馬.麥納爾東著,周開金譯.汽車電學(xué)知識.人民交通出版社,1986.12[15]呂揚,陳露晨,顧雪琳著.USB總線協(xié)議信息包分析,微型機(jī)與應(yīng)用.2002.1[16]徐有清,余勝生,周勝利著.通用串行總線設(shè)備接口的設(shè)計.電子計算機(jī)與外部設(shè)備,1998.5[17]譚浩強(qiáng)著.C程序設(shè)計.清華大學(xué)出版社,1991.7[18]肖玲妮,袁增貴著.Protel99 sE印刷電路板設(shè)計教程.北京:清華大學(xué)出版社,2003.8[19]2001.[2CBrkaer,Art.the Windows NT Device Driver Book.Second Edition.Prentice Hall,1999,ISBN0—130204315.[20]單片機(jī)原理及其應(yīng)用,張毅剛,彭喜元,附件A:汽車節(jié)能裝置控制器執(zhí)行機(jī)構(gòu)原理圖附件B:汽車節(jié)能控制器硬件系統(tǒng)圖附件C:汽車節(jié)能控制器軟件設(shè)計原理圖50
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1