




已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于USB接口的溫度傳感器設(shè)計(jì)方案第1章 緒論1.1 設(shè)計(jì)理念與背景 基于USB接口的溫度傳感器,就是利用USB接口實(shí)現(xiàn)單片機(jī)技術(shù)的溫度傳感器與PC機(jī)之間通信的溫度采集系統(tǒng),以提高溫度采集的準(zhǔn)確度于精度。實(shí)現(xiàn)低成本、高可靠性、告訴的溫度數(shù)據(jù)采集和傳輸。在工業(yè)生產(chǎn)、科研及醫(yī)療等需要嚴(yán)格進(jìn)行溫度控制的行業(yè)中,常常利用PC機(jī)對(duì)溫度進(jìn)行監(jiān)控和處理,這就需要一種精度和自動(dòng)化水平高、應(yīng)用范圍廣的溫度采集手段,這就為基于單片機(jī)技術(shù)的溫度采集系統(tǒng)得到了普遍應(yīng)用。這種溫度采集系統(tǒng)可以根據(jù)主機(jī)命令通過傳感器采集溫度信號(hào),并通過放大轉(zhuǎn)換后經(jīng)通訊接口上傳至主機(jī),以進(jìn)一步的顯示、分析和處理。溫度采集系統(tǒng)由溫度采集模塊和主機(jī)系統(tǒng)組成,之間通過總線接口進(jìn)行通信。溫度采集模塊是以單片機(jī)及溫度傳感器為核心構(gòu)成的智能系統(tǒng),具有完整的 信號(hào)采集、放大、A/D轉(zhuǎn)換、變換數(shù)據(jù)格式標(biāo)準(zhǔn)及執(zhí)行上位機(jī)命令等功能。主機(jī)系統(tǒng)用來實(shí)現(xiàn)對(duì)溫度采集模塊的控制,進(jìn)行溫度數(shù)據(jù)的讀取,同時(shí)提供人機(jī)交互界面,實(shí)現(xiàn)對(duì)溫度數(shù)據(jù)的顯示、分析和處理等功能。而要實(shí)現(xiàn)主機(jī)系統(tǒng)的功能,則需要通過總線接口將對(duì)溫度采集模塊所采集到的溫度數(shù)據(jù)發(fā)送到主機(jī)系統(tǒng)來完成。隨著現(xiàn)代工業(yè)生產(chǎn)和科學(xué)研究對(duì)溫度數(shù)據(jù)采集的要求日益提高,傳輸速度、糾錯(cuò)能力和操作安裝的簡(jiǎn)易性是人們?cè)谑褂脺囟炔杉到y(tǒng)的過程中關(guān)注的目標(biāo),而數(shù)據(jù)通信技術(shù)則成為其中的關(guān)鍵技術(shù)。任何一種數(shù)據(jù)通訊技術(shù)都離不開接口,溫度采集系統(tǒng)采用何種接口進(jìn)行通信是影響系統(tǒng)整體效率的重要因素之一。1.2 目前常用的總線接口(1)PCI PCI總線是Intel公司為Pentium處理器設(shè)計(jì)的一種新型標(biāo)準(zhǔn)總線,這種總線技術(shù)允許快速的內(nèi)存,磁盤和視頻訪問。PCI總線結(jié)構(gòu)的高傳輸速度限制了PCI接口的數(shù)量,一般只能有兩到三個(gè)(通常用于圖形和硬盤控制器)。最大傳輸速度為264Mbps(只能在基于Pentium處理器的系統(tǒng)中使用64位軟件才能達(dá)到)。1.3 USB2 遼寧科技大學(xué)信息技術(shù)學(xué)院本科畢業(yè)生畢業(yè)設(shè)計(jì)(論文) 第4頁 遼寧科技大學(xué)信息技術(shù)學(xué)院本科畢業(yè)生畢業(yè)設(shè)計(jì)(論文) 第31頁USB,Universal Serial Bus(通用串行總線),是一種新規(guī)格的快速、靈活的總線,是PC機(jī)和MAC記都支持的總線標(biāo)準(zhǔn)。在傳統(tǒng)的個(gè)人電腦領(lǐng)域中,外圍設(shè)備存在著許多問題,不管是ISA總線還是PCI總線,I/O地址沖突十分常見,都不能可靠地支持共享式中斷。同時(shí),這些大多數(shù)都是不可以隨意插拔的,必須在開機(jī)前裝好才能正常使用。事實(shí)上,這種接口使設(shè)備的連接毫無靈活性可言。USB正是作為克服這些困難的一種解決方案而出現(xiàn)的。USB的主要特點(diǎn)如下:(1)速度快。USB有全速和低速兩種方式,主模式為全速模式,速率為12Mbps,還提供低速方式,速率為1.5Mbps。新推出的USB2.0協(xié)議提供最高達(dá)480Mbps的數(shù)據(jù)傳輸速率,可以適應(yīng)各種不同類型的外設(shè)。(2)支持熱插拔和即插即用。所有的USB設(shè)備可以隨時(shí)的插入和拔離系統(tǒng),USB主機(jī)能夠動(dòng)態(tài)的識(shí)別設(shè)備的狀態(tài),并自動(dòng)給接入的設(shè)備分配地址和配置參數(shù),添加、刪除設(shè)備完全不用關(guān)閉計(jì)算機(jī),不必像過去那樣需要手動(dòng)跳線和撥碼開關(guān)來設(shè)置新的外設(shè)。(3)易于擴(kuò)展。如圖1所示。USB使用的是一種易于擴(kuò)展的級(jí)聯(lián)星形拓?fù)浣Y(jié)構(gòu),通過使用USB Hub(USB集成器)擴(kuò)展可連接多達(dá)127個(gè)外設(shè)。標(biāo)準(zhǔn)USB電纜長度為3米(低速為5米)。通過Hub或中繼器可以使外設(shè)距離達(dá)到30米,可以使用多種連接方式進(jìn)行擴(kuò)展。復(fù)合設(shè)備主機(jī)根HUB設(shè)備設(shè)備HUBHUB設(shè)備設(shè)備設(shè)備設(shè)備圖2.1 USB總線物理拓?fù)浣Y(jié)構(gòu)(4)使用靈活。USB共有4種傳輸模式:控制傳輸(control)、同步傳輸(synchronization)、中斷傳輸(interrupt)、批量傳輸(bulk),適應(yīng)不同設(shè)備的需要。在本系統(tǒng)中采用了控制傳輸和批量傳輸兩種方式。(5)能夠采用總線供電。普通使用串口、并口的設(shè)備都需要單獨(dú)的供電系統(tǒng),而USB設(shè)備則不需要,因?yàn)閁SB接口提供了內(nèi)置電源。USB電源能向低壓設(shè)備提供最大5V,500mA的電源,從而降低了這些設(shè)備的成本并提高了性價(jià)比。(6)實(shí)現(xiàn)成本低。USB對(duì)系統(tǒng)與PC的集成進(jìn)行了優(yōu)化,適合于開發(fā)低成本的外設(shè)。1.4 國內(nèi)外發(fā)展現(xiàn)狀傳統(tǒng)上,數(shù)據(jù)的采集系統(tǒng)與獨(dú)立的機(jī)箱設(shè)備通過串口或 GPIB 接口與計(jì)算機(jī)連接組成。隨著基于計(jì)算機(jī)的測(cè)量技術(shù)的出現(xiàn),數(shù)據(jù)采集設(shè)備可以通過PCI、ISA 或 PXI 連接到 PC 的數(shù)據(jù)總線。在 USB1.1 推出之前,支持 USB的功能模塊并不多,原因除了因?yàn)閭鹘y(tǒng)的通信接口,如RS232, IEEE488等,一時(shí)難以退出應(yīng)用領(lǐng)域外, 一些早期USB應(yīng)用者因?yàn)槠脚_(tái)的實(shí)用性不強(qiáng)而步履艱難。 隨著 Windows98 對(duì) USB驅(qū)動(dòng)軟件(USBD)完善, 使其可提供對(duì) USB的強(qiáng)有力的支持,對(duì) USB 技術(shù)的發(fā)展起到重要推進(jìn)作用。自此,市場(chǎng)上涌現(xiàn)出大批的 USB產(chǎn)品。在 1999 年初,在Intel開發(fā)者論壇大會(huì)上,與會(huì)者介紹了USB2.0規(guī)范,該規(guī)范的支持者除原有的成員外,又增加HP, Lucent 和PHILIPS 三個(gè)新成員。USB2.0 對(duì) USB1.1 所規(guī)定的性能有所擴(kuò)展,又向下兼容,數(shù)據(jù)的傳輸率將達(dá)到480Mbps?,F(xiàn)在,越來越多的測(cè)量系統(tǒng)包含有通過USB總線連接的測(cè)量設(shè)備。2004 年 5 月,NI 公司發(fā)起了一波“傳感器即插即用”(Sensors Plug&Play)行動(dòng),在針對(duì)靈巧的 TEDS (Transducer Electronic Data Sheet,傳感器電子數(shù)據(jù)表) 傳感器的IEEE 1451.4標(biāo)準(zhǔn)的基礎(chǔ)上推出了一系列數(shù)據(jù)采集產(chǎn)品。通過采用傳感器即插即用技術(shù)和新的USB數(shù)據(jù)采集設(shè)備, 工程師和科學(xué)家們可以創(chuàng)建一個(gè)從傳感器到軟件的完整的即插即用數(shù)據(jù)采集系統(tǒng)?,F(xiàn)在有許多廠商提供經(jīng)過預(yù)先測(cè)試可以無縫地與傳感器即插即用硬件共同工作的傳感器,開發(fā)人員可以使用NI LabVIEW、Microsoft Visual Basic和C來開發(fā)軟件應(yīng)用,以迅速、方便地進(jìn)行測(cè)量。隨著 USB 數(shù)據(jù)采集設(shè)備繼續(xù)減小體積和降低功耗, 它們也變得更加便攜和經(jīng)濟(jì)。通過兼容傳感器即插即用特性和多種擴(kuò)展技術(shù),NI 公司 USB 數(shù)據(jù)采集設(shè)備的功能更超越了它們自己本身。2006 年 VDC 公司一份關(guān)于數(shù)據(jù)采集發(fā)展趨勢(shì)的研究表明,幾乎半數(shù)受訪者計(jì)劃購買一件 USB數(shù)據(jù)采集設(shè)備。隨著USB On-The-Go 和無線 USB等新技術(shù)的出現(xiàn), 未來 USB在測(cè)量和自動(dòng)化領(lǐng)域的應(yīng)用必定無可限量。1.5 課題的目標(biāo)及意義 基于 USB 接口的溫度采集系統(tǒng),不僅僅是將 USB 接口用來傳輸數(shù)據(jù),它需要依據(jù) USB協(xié)議進(jìn)行數(shù)據(jù)格式的轉(zhuǎn)換; 底層硬件設(shè)備與操作系統(tǒng)之間需要以驅(qū)動(dòng)程序?yàn)闃蛄?;?qū)動(dòng)程序要實(shí)現(xiàn)與 Windows 系統(tǒng)底層核心機(jī)制相交互的功能。因此,研究 USB 接口技術(shù)的內(nèi)核原理,掌握系統(tǒng)設(shè)備端 USB 接口設(shè)計(jì)和固件編程方法,及主機(jī)端設(shè)備驅(qū)動(dòng)程序和應(yīng)用程序的開發(fā)技術(shù)就成其關(guān)鍵。 本課題以研究基于 USB接口溫度采集系統(tǒng)的開發(fā)和應(yīng)用為主要目的, 在深入分析研究 USB 協(xié)議和設(shè)備構(gòu)架的基礎(chǔ)上,對(duì)基于 USB 接口的溫度采集系統(tǒng)進(jìn)行硬件設(shè)計(jì)和軟件編程。使溫度采集模塊采集來的數(shù)據(jù)通過 USB 接口傳送到主機(jī)系統(tǒng),使客戶應(yīng)用程序通過驅(qū)動(dòng)程序得到數(shù)據(jù),并根據(jù)需要對(duì)數(shù)據(jù)進(jìn)行處理。意義在于深入研究USB接口技術(shù)的內(nèi)核,掌握溫度采集系統(tǒng)的硬件設(shè)計(jì)、固件程序、驅(qū)動(dòng)程序及應(yīng)用程序的開發(fā)等關(guān)鍵技術(shù),積累設(shè)備開發(fā)經(jīng)驗(yàn),為今后溫度采集系統(tǒng)更好地應(yīng)用奠定基礎(chǔ)。第2章 硬件設(shè)計(jì)2.1 基于USB接口的溫度傳感器的工作原理2.1.1 工作原理圖圖2.2 基于USB接口的溫度傳感器2.1.2 工作原理首先由DS18B20單總線溫度傳感器采集溫度,通過單片機(jī),經(jīng)單片機(jī)驅(qū)動(dòng)程序?qū)囟刃盘?hào)送入PDIUSBD12芯片及外圍設(shè)備,再由USB接口與PC機(jī)進(jìn)行通信,并在PC機(jī)上顯示溫度。系統(tǒng)總體框架由4 部分構(gòu)成:溫度采集器、USB接口、上位機(jī)驅(qū)動(dòng)程序和上位機(jī)應(yīng)用程序。溫度采集器是一個(gè)智能單片機(jī)系統(tǒng),它負(fù)責(zé)采集溫度數(shù)據(jù),并把從上位機(jī)發(fā)送的數(shù)據(jù)傳輸命令從USB接口接收后解析執(zhí)行,再把數(shù)據(jù)值打包后通過 USB 接口發(fā)送到上位機(jī)等;USB接口負(fù)責(zé)把數(shù)據(jù)轉(zhuǎn)換成 USB 協(xié)議要求的格式來傳輸;驅(qū)動(dòng)程序負(fù)責(zé)在上位機(jī)應(yīng)用程序和溫度采集器專用代碼之間的轉(zhuǎn)換,把應(yīng)用程序的數(shù)據(jù)通過USB接口發(fā)送到溫度采集器,并把溫度采集器傳來的數(shù)據(jù)發(fā)送給應(yīng)用程序;應(yīng)用程序負(fù)責(zé)把用戶的操作命令通知給驅(qū)動(dòng)程序,并把溫度采集器送來的溫度數(shù)據(jù)通過驅(qū)動(dòng)程序的轉(zhuǎn)換顯示給用戶。我將在下面幾節(jié)中介紹各硬件部分的功能。2.2 溫度采集部分DS18B20數(shù)字溫度計(jì)是DALLAS公司生產(chǎn)的1Wire,即單總線器件,具有線路簡(jiǎn)單,體積小的特點(diǎn)。因此用它來組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。 2.2.1 DS18B20數(shù)字溫度傳感器的外形及引腳說明SOIC封裝的DS18B20的引腳排列見圖3,其引腳功能描述見表1。圖2.3 TO-92封裝和SOIC封裝的DS18B20的引腳排列DS18B20采用3腳TO-92封裝或8腳SOIC封裝。圖3是其采用3腳TO-92封裝的底視圖及8腳SOIC封裝的引腳排列圖。其中GND接地;VDD為電源端;DQ是數(shù)據(jù)輸入/輸出端;其余為空腳。 序號(hào)名稱引腳功能描述123GNDDQ數(shù)據(jù)輸入/輸出引腳VDD地信號(hào)開漏單總線接口引腳。當(dāng)被用在寄生電源下,也可以向器件提供電源。可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí)此引腳必須接地。2.2.2.DS18B20的性能及特點(diǎn)由DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業(yè)、民用、軍事等領(lǐng)域的溫度測(cè)量 及控制儀器、測(cè)控系統(tǒng)和大型設(shè)備中。它具有體積小,接口方便,傳輸距離遠(yuǎn)等特點(diǎn),而且兼具如下幾個(gè)性能:適應(yīng)電壓范圍3.05.5 V,在寄生電源方式下可由數(shù)據(jù)線供電。獨(dú)特的單線接口方式,DS8B20在與微處理器連接時(shí),僅需要一根口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通信。DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫。DS8B20在使用中,不需要任何外圍元件,全部傳感原件及轉(zhuǎn)換電路集成在形如一只晶體管的集成電路內(nèi)。測(cè)溫范圍:-55125,在-10+85時(shí)精度為0.5??删幊痰姆直媛蕿?12位,對(duì)應(yīng)的可分辨溫度分別為0.50.250.125和0.0625,可實(shí)現(xiàn)高精度測(cè)溫。在9位分辨率時(shí),最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字;12位分辨率時(shí),最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以“一線總線”串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力。負(fù)壓特性,電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作2.2.3 DS18B20工作過程及時(shí)序數(shù)器1提供一頻率穩(wěn)定的計(jì)數(shù)脈沖。高溫度系數(shù)振蕩器是一個(gè)振蕩頻率對(duì)溫度很敏感的振蕩器,為計(jì)數(shù)器2提供一個(gè)頻率隨溫度變化的計(jì)數(shù)脈沖。初始時(shí),溫度寄存器被預(yù)置成-55,每當(dāng)計(jì)數(shù)器1從預(yù)置數(shù)開始減計(jì)數(shù)到0時(shí),溫度寄存器中寄存的溫度值就增加1,這個(gè)過程重復(fù)進(jìn)行,直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí)便停止。初始時(shí),計(jì)數(shù)器1預(yù)置的是與-55相對(duì)應(yīng)的一個(gè)預(yù)置值。以后計(jì)數(shù)器1每一個(gè)循環(huán)的預(yù)置數(shù)都由斜率累加器提供。為了補(bǔ)償振蕩器溫度特性的非線性性,斜率累加器提供的預(yù)置數(shù)也隨溫度相應(yīng)變化。計(jì)數(shù)器1的預(yù)置數(shù)也就是在給定溫度處使溫度寄存器寄存值增加1計(jì)數(shù)器所需要的計(jì)數(shù)個(gè)數(shù)。DS18B20內(nèi)部的比較器以四舍五入的量化方式確定溫度寄存器的最低有效位。在計(jì)數(shù)器2停止計(jì)數(shù)后,比較器將計(jì)數(shù)器1中的計(jì)數(shù)剩余值轉(zhuǎn)換為溫度值后與0.25進(jìn)行比較,若低于0.25,溫度寄存器的最低位就置0;若高于0.25,最低位就置1;若高于0.75時(shí),溫度寄存器的最低位就進(jìn)位然后置0。這樣,經(jīng)過比較后所得的溫度寄存器的值就是最終讀取的溫度值了,其最后位代表0.5,四舍五入最大量化誤差為1/2LSB,即0.25。溫度寄存器中的溫度值以9位數(shù)據(jù)格式表示,最高位為符號(hào)位,其余8位以二進(jìn)制補(bǔ)碼形式表示溫度值。測(cè)溫結(jié)束時(shí),這9位數(shù)據(jù)轉(zhuǎn)存到暫存存儲(chǔ)器的前兩個(gè)字節(jié)中,符號(hào)位占用第一字節(jié),8位溫度數(shù)據(jù)占據(jù)第二字節(jié)。1 初始化單總線上的所有處理均從初始化序列開始。初始化序列包括總線主機(jī)發(fā)出一復(fù)位脈沖,接著由從屬器件送出存在脈沖。存在脈沖讓總線控制器知道DS1820 在總線上且已準(zhǔn)備好操作。2ROM操作命令一旦總線主機(jī)檢測(cè)到從屬器件的存在,它便可以發(fā)出器件ROM操作命令之一。所有ROM操作命令均為8位長。這些命令列表如下:Read ROM(讀ROM)33h此命令允許總線主機(jī)讀DS18B20的8位產(chǎn)品系列編碼,唯一的48位序列號(hào),以及8位的CRC。此命令只能在總線上僅有一個(gè)DS18B20的情況下可以使用。如果總線上存在多于一個(gè)的從屬器件,那么當(dāng)所有從片企圖同時(shí)發(fā)送時(shí)將發(fā)生數(shù)據(jù)沖突的現(xiàn)象(漏極開路會(huì)產(chǎn)生線與的結(jié)果)。3存儲(chǔ)器操作命令 Write Scratchpad(寫暫存存儲(chǔ)器)4Eh這個(gè)命令向DS18B20的暫存器中寫入數(shù)據(jù),開始位置在地址2。接下來寫入的兩個(gè)字節(jié)將被存到暫存器中的地址位置2和3??梢栽谌魏螘r(shí)刻發(fā)出復(fù)位命令來中止寫入。Read Scratchpad(讀暫存存儲(chǔ)器)BEh這個(gè)命令讀取暫存器的內(nèi)容。讀取將從字節(jié)0開始,一直進(jìn)行下去,直到第9(字節(jié)8,CRC)字節(jié)讀完。如果不想讀完所有字節(jié),控制器可以在任何時(shí)間發(fā)出復(fù)位命令來中止讀取。4處理數(shù)據(jù)高速暫存存儲(chǔ)器(RAM)由9個(gè)字節(jié)組成,包含了8個(gè)連續(xù)字節(jié),前兩個(gè)字節(jié)是測(cè)得的是溫度信息,第一個(gè)字節(jié)的內(nèi)容是溫度的低八位,第二個(gè)字節(jié)是溫度的高八位。第三個(gè)和第四個(gè)字節(jié)是溫度高限TH、溫度低限TL暫存區(qū),第五個(gè)字節(jié)是配置寄存器暫存區(qū),第6、7、8字節(jié)是系統(tǒng)保留所用,就相當(dāng)于DS18B20的運(yùn)算內(nèi)存,第九個(gè)字節(jié)是冗余檢驗(yàn)字節(jié)。其分配如表2所示。寄存器內(nèi)容字節(jié)地址溫度值低位(LS Byte)溫度值高位(MS Byte)高溫限值(TH)低溫限值(TL)配置寄存器保留保留保留CRC校驗(yàn)值0123456782.3 USB接口芯片部分要實(shí)現(xiàn) USB 設(shè)備與計(jì)算機(jī)接口,通常的做法有兩種:一是使用 USB 接口芯片通過微處理器,或是使用帶微處理器的USB接口芯片實(shí)現(xiàn)與 PC機(jī)的接口。二是將 USB core 做進(jìn)FPGA芯片中實(shí)現(xiàn)與PC的接口。 目前,市場(chǎng)上供應(yīng)的 USB 控制器主要有兩種:一種是帶 USB接口的單片機(jī),如 CYPRESS 的 EZ-USB 系列;另一種就是純粹的USB接口芯片,僅處理 USB 通信,如PHILIPS的 PDIUSBD12,National Semiconductor 的 USB N9604等。選擇帶USB接口的單片機(jī)的最大好處在于開發(fā)者對(duì)系統(tǒng)結(jié)構(gòu)和指令集非常熟悉,開發(fā)工具簡(jiǎn)單,缺點(diǎn)是靈活性不夠高,開發(fā)工具與原來的單片機(jī)開發(fā)工具不兼容,開發(fā)成本較大。對(duì)于簡(jiǎn)單或低成本系統(tǒng),其價(jià)格也是在實(shí)際選擇過程中需要考慮的因素。純粹的 USB 接口芯片僅處理 USB 通信,必須有一個(gè)外部微處理器來進(jìn)行協(xié)議處理和數(shù)據(jù)交換。典型產(chǎn)品有 Philips 公司的 PDIUSBD12(并行接口) 、ISP1581(USB2.0), NS 公司的 USBN9603/ 9604(并行接口), NetChip公司的 NET2888等。這種USB接口芯片的主要特點(diǎn)是價(jià)格便宜、接口方便、可靠性高,系統(tǒng)組成靈活,可根據(jù)不同的系統(tǒng)需求,搭配不同的 MCU,具有較高的性能價(jià)格比。尤其適合于產(chǎn)品的改型設(shè)計(jì)(硬件上僅需對(duì)并行總線和中斷進(jìn)行改動(dòng), 軟件則需要增加微處理器的USB中斷處理和數(shù)據(jù)交換程序、PC 機(jī)的 USB 接口通信程序,無需對(duì)原有產(chǎn)品系統(tǒng)結(jié)構(gòu)作很大的改動(dòng)) 。但因?yàn)?USB 控制器是通過串行口或并行口與 MCU 連接,在傳輸速度方面不如集成了 MCU 的控制芯片。 2.3.1 PDIUSBD12 USB芯片簡(jiǎn)單介PDIUSBD12 是一款性價(jià)比很高的USB器件。它通常用作微控制器系統(tǒng)中實(shí)現(xiàn)與微控制器進(jìn)行通信的高速通用并行接口。它還支持本地的DMA傳輸。這種實(shí)現(xiàn)USB接口的標(biāo)準(zhǔn)組件使得設(shè)計(jì)者可以在各種不同類型為控制其中選擇出最合適的微控制器,這種靈活性減小了開發(fā)時(shí)間、風(fēng)險(xiǎn)以及費(fèi)用(通過使用已有的結(jié)構(gòu)和減少固件上的投資),從而用最快捷的方法實(shí)現(xiàn)最經(jīng)濟(jì)的USB外設(shè)的解決方案。PDIUSBD12完全符合USB1.1版的規(guī)范。它還符合大多數(shù)器件的分類規(guī)格:成像類、海量存儲(chǔ)器件、通信器件、打印設(shè)備以及人機(jī)接口設(shè)備。同樣地,PDIUSBD12理想地適用于許多外設(shè),例如:打印機(jī)、掃描儀、外部的存儲(chǔ)設(shè)備(Zip驅(qū)動(dòng)器)和數(shù)碼相機(jī)等等。它使得當(dāng)前使用SCSI的系統(tǒng)可以立即降低成本。PDIUSBD12所具有的低掛起功耗連同LazyClock輸出可以滿足使用ACPI、OnNOW和USB電源管理的要求。低的操作功耗可以應(yīng)用于使用總線供電的外設(shè)。2.3.2 PDIUSBD12的引腳分布及其功能1PDIUSBD12的引腳分布圖2.4 PDSIUBD12引腳分布圖2PDIUSBD12的引腳功能表4PDSIUBD12引腳功能管腳符號(hào)類型功能描述1 DATAIO2 雙向數(shù)據(jù)位02 DATA IO2 雙向數(shù)據(jù)位13 DATA IO2 雙向數(shù)據(jù)位24 DATA IO2 雙向數(shù)據(jù)位35 GND P 地6 DATA IO2 雙向數(shù)據(jù)位47 DATA IO2 雙向數(shù)據(jù)位58 DATA IO2 雙向數(shù)據(jù)位69 DATA I02 雙向數(shù)據(jù)位710 ALE I地址鎖存功能。在多路地址/數(shù)據(jù)總線中,下降沿關(guān)閉地址信息鎖存。將其固定為低電平用于單地址/數(shù)據(jù)總線配置。11 CS_N I 片選(低有效)12 SUSPEND I,OD4 器件處于掛起狀態(tài)13 CLKOUT O2 可編程時(shí)鐘輸出14 INT_N OD4 中斷(低有效)15 RD_N I 讀選通(低有效)16 WR_N I 寫選通(低有效)17 DMREQ O4 DMA請(qǐng)求18 DMACK_N I DMA應(yīng)答(低有效)19 EOT_N IDMA傳輸結(jié)束(低有效),僅當(dāng)腳18和腳15或腳16一起激活時(shí)才有效。20 RESET_N I復(fù)位(低有效且不同步)片內(nèi)上電復(fù)位電路,可固定接VCC21GL_N OD8GoodLinkLED指示器(低有效)22XTAL1 I 晶振連接端1(6MHZ)23XTAL2 O晶振連接端2(6MHZ),如果采用外部時(shí)鐘信號(hào)取代晶振,可連接XTAL1,XTAL2應(yīng)當(dāng)懸空。24VCC P電源電壓(4.0-5.5V),要使器件都工作在3.3v,對(duì)VCC和Vout3.3都提供3.3V電壓25D- A USBD-數(shù)據(jù)線26D+ A USBD+數(shù)據(jù)線27VOUT3.3 P 3.3V調(diào)整輸出28 A0 I地址位。A0=1選擇命令指令,A0=0選擇數(shù)據(jù)。該位在多路地址/數(shù)據(jù)總線配置時(shí)可忽略,應(yīng)將其接高電平。注: O2:2mA驅(qū)動(dòng)輸出 OD4:4mA驅(qū)動(dòng)開漏輸出 OD8:8mA驅(qū)動(dòng)開漏輸出 IO2:4mA輸出2.3.3PDIUSBD12外圍電路及其與AT89C52之間的連線圖1PDSIUBD12外圍電路圖2.5PDSIUBD12外圍電路2PDIUSBD12與AT89C52的連線圖圖2.6PDIUSBD12與AT89C52的連線圖PDIUSBD12采用SO28或TSSOP28封裝,在本設(shè)計(jì)中D12采用的是SO28封裝。第3章 上位機(jī)軟件編程 在設(shè)備硬件和單片機(jī)固件調(diào)試通過之后,主機(jī)就能夠正確識(shí)別設(shè)備了,但主機(jī)與USB設(shè)備的信息交互是通過軟件來實(shí)現(xiàn)的。主機(jī)軟件開發(fā)在本系統(tǒng)中是設(shè)計(jì)的難點(diǎn)。USB主機(jī)系統(tǒng)軟件開發(fā)分為兩部分:主機(jī)操作系統(tǒng)上的客戶驅(qū)動(dòng)程序以及主機(jī)應(yīng)用程序。設(shè)備驅(qū)動(dòng)程序是提供連接到計(jì)算機(jī)的硬件的軟件接口,它是操作系統(tǒng)的一個(gè)信任部分,通過在應(yīng)用層和固件專用代碼之間的轉(zhuǎn)換來完成它的任務(wù)。用戶應(yīng)用程序一般通過使用一套操作系統(tǒng)支持的函數(shù)的方式訪問硬件,而不必考慮如何控制硬完整的上位機(jī)程序代碼見附錄1。以下將介紹各部分程序的實(shí)現(xiàn):3.1使用VisualStudio2005實(shí)現(xiàn)溫度數(shù)據(jù)的顯示3.1.1用VisualStudio2005創(chuàng)建溫度顯示窗體VisualStudio2005是一個(gè)程序開發(fā)平臺(tái),先在電腦中新建一個(gè)文件夾,命名為“溫度顯示”,在打開VisualStudio2005,選擇創(chuàng)建項(xiàng)目,選擇的項(xiàng)目類型為Windows應(yīng)用程序,將名稱改為“TextTemperature”并將其存放在之前建立的文件夾內(nèi),方便查找。然后進(jìn)入界面設(shè)計(jì),即設(shè)計(jì)溫度顯示窗體Form1。將Form1窗體拉伸至合適的大小,在界面的左側(cè)“工具箱”中選擇所需控件單擊就可將其放在Form1窗體的合適位置,右鍵單擊窗體中的控件可對(duì)其屬性進(jìn)行更改。在本設(shè)計(jì)中使用的控件有3個(gè)Label和兩個(gè)Button。其屬性設(shè)置如下表所示:表5各控件屬性表控件TextFontSizeLabel1溫度:宋體初號(hào)192,56Label20宋體初號(hào)192,56Label3宋體初號(hào)192,56Button1開始宋體9pt75,23Button2停止宋體9pt75,23在窗體設(shè)計(jì)界面中雙擊個(gè)控件可對(duì)其進(jìn)行編程,從而實(shí)現(xiàn)對(duì)溫度采集的控制及顯示。窗體設(shè)計(jì)程序代碼見附錄A。3.1.2軟件編程思路本設(shè)計(jì)主要是應(yīng)用VisualStudio2005這個(gè)程序開發(fā)平臺(tái)編輯程序?qū)崿F(xiàn)對(duì)下位機(jī)采集到的溫度進(jìn)行顯示。如圖7所示的溫度顯示窗體,本設(shè)計(jì)所要實(shí)現(xiàn)的就是在此程序運(yùn)行過程中,單擊窗體的“開始”按鈕,開始采集并在Label2控件上顯示變化的溫度值,而單擊“停止”按鈕后,溫度值又歸零。因?yàn)樵谡麄€(gè)程序運(yùn)行過程中只要求用“開始”和“停止”按鈕來控制Label2控件所顯示的溫度值,所以我們只需對(duì)這三個(gè)控件進(jìn)行編程以實(shí)現(xiàn)本設(shè)計(jì)所要完成的任務(wù)。3.2驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序是一個(gè)包含了許多操作系統(tǒng)可調(diào)用例程的軟件容器,是保證用戶應(yīng)用程序軟件訪問設(shè)備硬件的程序軟件,它的任務(wù)是在應(yīng)用層和硬件控制代碼之間進(jìn)行轉(zhuǎn)換操作。在windows中,驅(qū)動(dòng)程序就是一個(gè)文件(*.Sys),它可以打開設(shè)備的一個(gè)句柄,然后應(yīng)用程序可以在設(shè)備句柄最后關(guān)閉之前向驅(qū)動(dòng)程序發(fā)出讀寫請(qǐng)求。微軟極力推崇WDM(windowsDriverModel)作為驅(qū)動(dòng)程序的開發(fā)模型,而且在win2000及其以后的系統(tǒng)中,不再支持其它類型的驅(qū)動(dòng)程序。因此本溫度采集系統(tǒng)的驅(qū)動(dòng)程序部分采用WDM模型開發(fā)。3.2.1WDM驅(qū)動(dòng)程序WDM驅(qū)動(dòng)程序是Windows2000操作系統(tǒng)重要的組成部分,它的正常工作需要有Windows2000其它內(nèi)核組件的支持,同時(shí)大部分的內(nèi)核組件也必須同WDM驅(qū)動(dòng)程序交互來完成它們的功能。由于WDM驅(qū)動(dòng)程序的標(biāo)準(zhǔn)應(yīng)用平臺(tái)是Windows2000,是內(nèi)核的重要組件之一并與其它內(nèi)核組件有相當(dāng)多的關(guān)聯(lián)。3.2.2驅(qū)動(dòng)程序開發(fā)工具目前,市場(chǎng)上存在多種開發(fā)WDM設(shè)備驅(qū)動(dòng)程序的工具。常用的有Microsoft提供的WindowsDDK,NuMega公司的DriverStudio和Jungo公司的WinDriver等。其中: (1)DDK是最基本的,也是最原始的驅(qū)動(dòng)開發(fā)工具。對(duì)應(yīng)不同的操作系統(tǒng)有DDK98和DDK2000兩種,分別用來開發(fā)Windows98和Windows2000下的驅(qū)動(dòng)程序。使用DDK開發(fā)過程靈活,開發(fā)出的驅(qū)動(dòng)程序的代碼效率高,與操作系統(tǒng)結(jié)合好43。但是用DDK開發(fā),要對(duì)整個(gè)體系結(jié)構(gòu)有很好的理解和把握,要求開發(fā)者閱讀大量的DDK文檔,深入了解操作系統(tǒng)的內(nèi)核工作方式,而且開發(fā)過程大部分場(chǎng)合都直接使用匯編語言編程,一般來說難度太大,因此它只適于專業(yè)的驅(qū)動(dòng)程序開發(fā)人員,對(duì)于一般硬件開發(fā)人員將要很長的周期。 (2)DriverStudio是一套用來簡(jiǎn)化微軟WINDOWS平臺(tái)下設(shè)備驅(qū)動(dòng)程序的開發(fā)包。它的Driverworks用來開發(fā)WDM設(shè)備驅(qū)動(dòng)程序。它還包含有一個(gè)功能強(qiáng)大內(nèi)核模式調(diào)試器SoftICE。這類工具一般以源代碼和庫函數(shù)調(diào)用的形式提供給開發(fā)者許多現(xiàn)成的設(shè)備底層驅(qū)動(dòng)支持,開發(fā)者只需要調(diào)用工具中的預(yù)定義類和底層驅(qū)動(dòng)接口就可以方便地生成符合用戶要求的完整驅(qū)動(dòng)程序。使用這類工具大大減小開發(fā)者的工作量和難度,縮短了開發(fā)周期,但驅(qū)動(dòng)程序不如使用DDK靈活,而且由于封裝的問題,可能會(huì)帶來一些bug,有可能導(dǎo)致項(xiàng)目的失敗。 (3)winDriver從開發(fā)驅(qū)動(dòng)的角度講,幾乎沒有難度。但是只能開發(fā)硬件相關(guān)的驅(qū)動(dòng),事實(shí)上我們只是定制和調(diào)用它提供的通用程序而己,工作效率不是很高。但開發(fā)花費(fèi)的時(shí)間很少,是上面的幾乃至幾十分之一。為了對(duì)Windows底層機(jī)制有更好的了解,同時(shí)也為了使溫度采集系統(tǒng)的驅(qū)動(dòng)程序有更高的效率,我們選擇了采用VC+DDK的方法來開發(fā)驅(qū)動(dòng)程序。3.2.3驅(qū)動(dòng)程序的功能模塊一個(gè)WDM驅(qū)動(dòng)程序的功能模塊大體上可以分為以下幾個(gè)組成部分 (1)初始化。 (2)創(chuàng)建和刪除設(shè)備。 (3)處理Win32程序打開和關(guān)閉文件句柄的要求。 (4)處理Win32的輸入/輸出(I/O)請(qǐng)求。 (5)實(shí)現(xiàn)對(duì)設(shè)備的串行化訪問。 (6)訪問硬件。 (7)取消I/O請(qǐng)求。 (8)超時(shí)I/O請(qǐng)求。 (9)調(diào)用其它驅(qū)動(dòng)程序。 (10)處理電源管理請(qǐng)求。 (11)處理Windows管理診斷(WMI)向系統(tǒng)管理員報(bào)告。(12)處理一個(gè)可熱插拔的設(shè)備被加入或刪除的情況。WDM驅(qū)動(dòng)程序有兩個(gè)主要的初始化入口點(diǎn):DrvierEntry和AddDevice例程。DrvierEntry注冊(cè)其它回調(diào)例程的。在運(yùn)行過程中,內(nèi)核會(huì)調(diào)用不同的回調(diào)例程來完成不同的任務(wù)。下面將著重介紹幾個(gè)基本的組成部分。3.3驅(qū)動(dòng)程序的實(shí)現(xiàn)3.3.1驅(qū)動(dòng)程序入口點(diǎn)和回調(diào)程序WDM驅(qū)動(dòng)程序有一個(gè)主要的初始化入口點(diǎn),即一個(gè)必須稱為DriverEntry的例程。它有一個(gè)標(biāo)準(zhǔn)的函數(shù)原型。當(dāng)WDM驅(qū)動(dòng)程序被裝入時(shí),內(nèi)核調(diào)用DriverEntry例程。 驅(qū)動(dòng)程序的DriverEntry例程必須設(shè)置一系列的回調(diào)例程來處理IRP。每一個(gè)回調(diào)例程都有一個(gè)標(biāo)準(zhǔn)的函數(shù)原型。內(nèi)核會(huì)在合適的環(huán)境下調(diào)用這個(gè)例程。程序代碼見附錄C。3.3.2即插即用的實(shí)現(xiàn)即插即用(PNP)是WDM驅(qū)動(dòng)程序所支持的一種新的特性。USB正是由于即插即用的性能,才使他使用起來異常方便。完全地支持即插即用是每一個(gè)WDM驅(qū)動(dòng)程序的目標(biāo)。對(duì)于一般的驅(qū)動(dòng)程序來說,所謂的即插即用完全是由AddDevice例程和一個(gè)IRP_MJ_PNP的主功能代碼來實(shí)現(xiàn)的。 當(dāng)一個(gè)新的即插即用設(shè)備被添加到系統(tǒng)時(shí),內(nèi)核PNP管理器沿設(shè)備棧向上依次調(diào)用每個(gè)驅(qū)動(dòng)程序的AddDevice函數(shù),在本設(shè)計(jì)的USB功能驅(qū)動(dòng)中,由PnpAddDevice實(shí)現(xiàn)。 PnpAddDevice例程的工作是創(chuàng)建和初始化一個(gè)設(shè)備對(duì)象供當(dāng)前驅(qū)動(dòng)程序使用。同時(shí)PnpAddDevice例程通過調(diào)用IoRegisterDeviceInterface為驅(qū)動(dòng)程序建立一個(gè)設(shè)備接口,并通過調(diào)用IoAttachDeviceToDeviceStack例程把該對(duì)象連接到設(shè)備棧。PnpAddDevice例程被調(diào)用后,PNP管理器使用PnPIRP發(fā)送消息,例程D12_Pnp實(shí)現(xiàn)了IRP_MJ_PNP消息的處理過程,其通過判別常用次功能代碼來執(zhí)行不同的PnP操作。 PnpAddDevice的實(shí)現(xiàn)及被調(diào)用后的消息處理過程的具體實(shí)現(xiàn)代碼見附錄D。第4章 硬件部分程序代碼4.1驅(qū)動(dòng)程序的安裝及INF文件 當(dāng)windows發(fā)現(xiàn)新的設(shè)備時(shí)(在系統(tǒng)啟動(dòng)時(shí)、在安裝熱插拔設(shè)備時(shí)、或者在從控制面板安裝新設(shè)備時(shí)),就調(diào)用windows的“添加新設(shè)備向?qū)А眻?zhí)行。這個(gè)向?qū)Ь蛼呙杷锌捎玫腎NF文件,試圖找到合適的驅(qū)動(dòng)程序。至于如何找到想要的INF文件,這就需要前面敘述的硬件ID號(hào),即廠商號(hào)VID和產(chǎn)品號(hào)PID,VID和PID都是要寫入固件程序中的。這里使用的VID是0471(PHILIPS公司的設(shè)備ID)、PID是0222。 選擇一個(gè)設(shè)備的規(guī)則是相當(dāng)復(fù)雜的,Windows首先選擇硬件ID匹配的設(shè)備的驅(qū)動(dòng)程序,否則它選擇其兼容ID與設(shè)備的兼容功最佳匹配的驅(qū)動(dòng)程序,或者提示用戶選擇驅(qū)動(dòng)程序INF文件。如果不能發(fā)現(xiàn)合適的驅(qū)動(dòng)程序,就提示用戶插入驅(qū)程序盤。下面就來介紹一下INF的相關(guān)內(nèi)容。 INF是DeviceINFormationFile的英文縮寫,是Microsoft公司為硬件設(shè)備制造商發(fā)布其驅(qū)動(dòng)程序推出的一種文件格式,INF文件中包含硬件設(shè)備的信息或腳本以控制硬件操作。在INF文件中指明了硬件驅(qū)動(dòng)該如何安裝到系統(tǒng)中,源文件在哪里、安裝到哪一個(gè)文件夾中、怎樣在注冊(cè)表中加入自身相關(guān)信息等等。它由節(jié)組成,每一節(jié)從方括號(hào)中的節(jié)名稱開始,后面是節(jié)內(nèi)容。節(jié)的順序可以是任意的。具體內(nèi)容如表5所示。 表5INF文件常用的節(jié)節(jié) 項(xiàng) 值描述Signature $Windowsnt$ 、 $Windows95$、$Chicago$ Provider INF文件創(chuàng)建者 Version Class 系統(tǒng)定義的一個(gè)類名字(詳見DDK), 或者是用戶指定的新的類名字 ClassGuid 匹配的類 GUID DriverVer Mm/dd/yyyy,a.b.c.dStrings %string%=值 指定的一個(gè)字符串SourceDisksNames 對(duì)于每個(gè)發(fā)行軟盤或 CD-ROM,指定它的描述和可能的打文件和目錄 SourceDisksFiles 指定文件名、源磁盤 ID 和可選的子目錄和文件大小。如果所有文件都在根目錄中,這個(gè)節(jié)可以是空的 Manufacturer %manufacturer_name 指定廠商名和對(duì)應(yīng)的models節(jié)的% = modelModels 指定產(chǎn)品名稱、對(duì)應(yīng)的 install 節(jié)的名稱、硬件 ID 和 0 個(gè)或更多個(gè)兼容 ID Copyfiles=filename|filelist 指定要復(fù)制的文件、或列出這些文件的 f ilelist 節(jié)的名稱install AddReg=addreg 指定 addreg節(jié)的名稱 ProfileItems 列出指定要添加到“開始”菜單的項(xiàng) allreg 添加新的鍵和值節(jié)項(xiàng) 值描述VersionStringsSourceDisksNamesSourceDisksFilesManufacturerModelsInstallallregSignatureProviderClassClassguidDriverVer%string%=值對(duì)于每個(gè)發(fā)行軟盤或 CD-ROM%manufacturer_name% = modelAddReg=addregProfileItems添加新的鍵和值$Windowsnt$ 、 $Windows95$、$Chicago$INF文件創(chuàng)建者系統(tǒng)定義的一個(gè)類名字(詳見DDK), 或者是用戶指定的新的類名匹配的類 GUID字Mm/dd/yyyy,a.b.c.d指定的一個(gè)字符串指定它的描述和可能的打文件和目錄指定文件名、源磁盤 ID 和可選的子目錄和文件大小。如果所有文件都在根目錄中,這個(gè)節(jié)可以是空的指定廠商名和對(duì)應(yīng)的models節(jié)的名稱指定產(chǎn)品名稱、對(duì)應(yīng)的 install 節(jié)的名稱、硬件 ID 和 0 個(gè)或更多個(gè)兼容 IDCopyfiles=filename|filelist 指定要復(fù)制的文件、或列出這些文件的 filelist 節(jié)的名稱指定 addreg節(jié)的名稱ProfileItems 列出指定要添加到“開始”菜單的項(xiàng) 4.2應(yīng)用程序 用戶應(yīng)用程序是系統(tǒng)與用戶的接口,它通過通用驅(qū)動(dòng)程序完成對(duì)USB設(shè)備的控制和通信。在開發(fā)應(yīng)用程序時(shí),首先要建立與USB設(shè)備的連接,然后才能實(shí)施數(shù)據(jù)的傳輸。用戶程序首先必須查找設(shè)備,打開設(shè)備的句柄,然后進(jìn)行讀寫和控制操作,最后是關(guān)閉設(shè)備句柄。 我們已經(jīng)知道,Windows2000是分態(tài)的操作系統(tǒng),用戶應(yīng)用程序運(yùn)行在用戶態(tài)下,其行為受到操作系統(tǒng)嚴(yán)格限制,防止其對(duì)其它應(yīng)用和系統(tǒng)代碼的破壞。因此,應(yīng)用程序能調(diào)用Win32子系統(tǒng)提供的API(Win32子系統(tǒng)模塊中的服務(wù)代碼)來實(shí)現(xiàn)與設(shè)備通訊。當(dāng)應(yīng)用程序需要讀取設(shè)備數(shù)據(jù)時(shí),它就調(diào)用Win32API函數(shù),Win32子系統(tǒng)模塊通過調(diào)用平臺(tái)相關(guān)的系統(tǒng)服務(wù)接口實(shí)現(xiàn)該API,而平臺(tái)相關(guān)的系統(tǒng)服務(wù)將調(diào)用內(nèi)核模式支持例程。 在WIN32系統(tǒng)中,把每一個(gè)程序都抽象為文件,此時(shí)的應(yīng)用程序只需要通過幾條簡(jiǎn)單的文件操作API函數(shù),既可以實(shí)現(xiàn)與驅(qū)動(dòng)程序中某個(gè)設(shè)備通信,一個(gè)驅(qū)動(dòng)程序可以驅(qū)動(dòng)多個(gè)設(shè)備。并且此驅(qū)動(dòng)程序可能為WINDOWS系統(tǒng)中己有的,也可能為用戶安裝的。在Windows中,應(yīng)用程序?qū)崿F(xiàn)與WDM通信的過程是:應(yīng)用程序先用CreateFile函數(shù)打開設(shè)備;然后用DeviceIoControl與WDM進(jìn)行通信,通信方式包括從WDM中讀數(shù)據(jù)和寫數(shù)據(jù)給WDM兩種情況,即用ReadFile函數(shù)從WDM中讀取數(shù)據(jù)或用WriteFile函數(shù)將數(shù)據(jù)寫入WDM;要退出應(yīng)用程序時(shí),用CloseHandle函數(shù)關(guān)閉設(shè)備。這將產(chǎn)生對(duì)應(yīng)于此設(shè)備對(duì)象的相應(yīng)IRP。這種關(guān)系如表6所示。表6WIN32函數(shù)對(duì)應(yīng)的IRP主功能代碼WIN32函數(shù)IR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 含油銅軸承采購合同協(xié)議
- 商店拍攝合同協(xié)議
- 2025二手房買賣合同范本2
- 員工配車協(xié)議書模板
- 櫻桃樹大棚承包合同協(xié)議
- 售賣桁架導(dǎo)軌合同協(xié)議
- 微信托管運(yùn)營合同協(xié)議
- 殘疾人信托合同協(xié)議
- 比特幣委托管理合同協(xié)議
- 2025金融咨詢合同范本
- 小學(xué)語文教學(xué):深度融入過程性評(píng)價(jià)
- 唐山2025年唐山市市直事業(yè)單位招聘277人筆試歷年參考題庫附帶答案詳解
- 血液透析室的管理規(guī)范
- 豬偽狂犬病凈化方案
- 湖北省第十屆湖北省高三(4月)調(diào)研模擬考試化學(xué)試卷及答案
- 【電動(dòng)汽車兩檔AMT自動(dòng)變速器傳動(dòng)結(jié)構(gòu)計(jì)算設(shè)計(jì)9800字(論文)】
- 演出經(jīng)紀(jì)人員資格必考題含答案2025
- 四年級(jí)上冊(cè)信息技術(shù)教案-《龜兔賽跑》教學(xué)設(shè)計(jì)+說課稿-人教(新版) (2份打包)
- X中學(xué)2024年初中理化生實(shí)驗(yàn)操作考試方案
- 肺癌的手術(shù)治療方案
- 醫(yī)院醫(yī)用耗材臨床應(yīng)用分級(jí)管理制度2024年
評(píng)論
0/150
提交評(píng)論