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

正文內(nèi)容

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

2025-06-26 15:31本頁(yè)面
  

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