基于USB總線和89C51單片機的數(shù)據(jù)采集設(shè)計_第1頁
基于USB總線和89C51單片機的數(shù)據(jù)采集設(shè)計_第2頁
基于USB總線和89C51單片機的數(shù)據(jù)采集設(shè)計_第3頁
基于USB總線和89C51單片機的數(shù)據(jù)采集設(shè)計_第4頁
基于USB總線和89C51單片機的數(shù)據(jù)采集設(shè)計_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、論文題目:基于usb總線和89c51單片機的數(shù)據(jù)采集系統(tǒng)設(shè)計學生姓名:所在院系:機電學院所學專業(yè):應用電子技術(shù)教育導師姓名:完成時間:摘 要本文介紹了基于usb總線的數(shù)據(jù)采集設(shè)備的開發(fā)法,包括數(shù)據(jù)采集硬件設(shè)計、usb總線的硬件設(shè)計,同時也簡單的介紹了設(shè)備固件設(shè)計、基于usb的遠程數(shù)據(jù)采集。89c51通過對多路采集模塊進行控制,選出一路通道的數(shù)據(jù)寄存在單片機,再通過usb芯片將89c51采集到的數(shù)據(jù)上傳給上位機。關(guān)鍵詞:數(shù)據(jù)采集,89c51,通用串行總線based on the usb bus and 89c51 single-chip data acquisition system desig

2、nabstract this paper introduces the acquisition based on usb bus-based data acquisition, including the data acquisition hardware design and usb bus of the hardware design. also introduces usb-based remote data acquisition system and firmware design. 89c51 selects the way data storage channel in the

3、single-chip by controlling multi-channel module, and then the data collected by 89c51 upload to the host computer. through the usb chipskey word: data acquisition, 89c51 single-chip, universal serial bus目 錄1 引言12 總體方案設(shè)計12.1 設(shè)計思路12.2 設(shè)計方框圖13 數(shù)據(jù)采集設(shè)計23.1 模擬信號的多路選擇23.2 多路開關(guān)原理23.3 a/d轉(zhuǎn)換介紹33.3.1 分辨率33.3.2

4、 誤差和精度43.3.3 轉(zhuǎn)換速率43.3.4 a/d轉(zhuǎn)換的方法43.4 數(shù)據(jù)采樣電路44 單片機介紹64.1 單片機的基本組成64.2 單片機引腳及功能65 usb接口電路設(shè)計75.1 usb芯片內(nèi)部結(jié)構(gòu)85.1.1 端點085.1.2 端點195.1.3 端點295.1.4 外部固件參考流程95.2 usb芯片與單片機的接口電路105.3 usb設(shè)備驅(qū)動程序設(shè)計116 應用程序設(shè)計127 設(shè)備固件設(shè)計138 遠程數(shù)據(jù)采集系統(tǒng)設(shè)計149 結(jié)束語15致謝15參考文獻15附錄一 整體電路圖17附錄二 ch375芯片管腳18附錄三 程序清單191 引言在工業(yè)生產(chǎn)和科學技術(shù)研究過程中,常常需要對各種

5、數(shù)據(jù)進行采集,現(xiàn)在常用的數(shù)據(jù)采集方式是在pc機或工控機內(nèi)部安裝數(shù)據(jù)采集卡,如a/d卡、rs-422卡及rs-485卡。采集卡不僅安裝麻煩,易受機箱內(nèi)其他電路的干擾,而且由于受計算機插槽數(shù)量和地址、中斷資源的限制,不可能掛接很多設(shè)備。本設(shè)計利用通用串行總線(universal serial bus,簡稱usb) 設(shè)計了基于usb總線的數(shù)據(jù)采集設(shè)備很好地解決以上這些沖突。2 總體方案設(shè)計2.1 設(shè)計思路 本設(shè)計主要包括三部分:數(shù)據(jù)采集設(shè)計部分,單片機控制部分和usb設(shè)計部分。數(shù)據(jù)采集由多路模擬開關(guān)、濾波采樣保持、隔離放大、a/d轉(zhuǎn)換、光電隔離器組成。單片機采用at89c51。usb電路主要采用ch

6、375芯片。單片機再從地址寄存器中發(fā)出地址控制信號經(jīng)光耦控制多路模擬開關(guān)。多路模擬模擬開關(guān)根據(jù)地址控制信號選擇一路信號進行濾波、放大、a/d轉(zhuǎn)換后送至單片機的移位寄存器。移位寄存器將采集到得數(shù)據(jù)轉(zhuǎn)換為8位并行是傳送到usb芯片的數(shù)據(jù)緩沖區(qū)中;一旦數(shù)據(jù)緩沖區(qū)存滿,usb芯片自動將數(shù)據(jù)打包即時請求讀入數(shù)據(jù),然后89c51系統(tǒng)將數(shù)據(jù)從數(shù)據(jù)緩沖區(qū)中讀出,由收發(fā)器通過數(shù)據(jù)線(d+、d-)送至主機。2.2 設(shè)計方框圖光 電 隔 離 器多 路 模 擬 開 關(guān)單 片 機usb 電 路上 位 機濾 波 采 樣隔 離 放 大a/d 轉(zhuǎn) 換 圖1 設(shè)計方框圖3 數(shù)據(jù)采集設(shè)計3.1 模擬信號的多路選擇32路模擬電壓信

7、號(如1-5v)送往多路模擬開關(guān)組成的模擬數(shù)據(jù)選擇器,選擇控制信號決定其中1路模擬信號經(jīng)濾波、隔離放大、a/d轉(zhuǎn)換,變?yōu)閙位十進制數(shù)據(jù),存到單片機的移位寄存器中移位寄存器,單片機再將采集到得數(shù)據(jù)轉(zhuǎn)換為8位并行數(shù)據(jù)由usb接口電路送到上位機。當?shù)刂肪€為8位是,最多可達2的8次方256路。如不采用數(shù)據(jù)選擇方案,則所需的隔離放大器、a/d轉(zhuǎn)換器也將多達256個4。3.2 多路開關(guān)原理多路開關(guān)是切換數(shù)字信號和模擬信號的器件,也稱多路轉(zhuǎn)換器或多路復用器,記為mux,能切換數(shù)字信號的多路開關(guān)也稱數(shù)據(jù)選擇和數(shù)據(jù)分配器;能切換模擬信號的多路開關(guān)也稱多路模擬開關(guān),模擬開關(guān)同時也能切換數(shù)字信號。早期的多路開關(guān)曾采

8、用繼電器,但它有速度慢、體積大、噪聲大、使用壽命短等缺點?,F(xiàn)在的數(shù)據(jù)采用電路中多采用集成的多路開關(guān),典型的多路開關(guān)有4雙通道多路開關(guān)、單8通道多路開關(guān)、雙8通道多路開關(guān)、單16通道多路開關(guān)等。其中單8通道多路開關(guān)典型的產(chǎn)品型號為cd4051,但由于它們是早期標準cmos產(chǎn)品,性能已經(jīng)不能滿足控制系統(tǒng)的許多要求。ad公司的adg658/659是cd4051/cd4052的改進型?,F(xiàn)已adg658/adg659為例介紹其機構(gòu)和功能,adg658/adg659引腳圖如圖2所示,其功能見表1。 圖2 adg658/adg65引腳圖表1 adg658功能表a2a1a0en/輸出dxxx1與輸入斷開000

9、0s10010s20100s30110s41000s51010s61100s71110s8adg658有一個使能端en/和三個選擇/分配控制端a2、a1、a0,s1-s8和d分別為多路開關(guān)引出端,s1-s8既可作輸出,也可做輸入。s1-s8做輸入時,d做輸出。當把adg658視為8選1數(shù)據(jù)選擇器時,a2、a1、a0為選擇控制端,s1-s8做輸出,d為輸入:當把adg658視為1至8數(shù)據(jù)分配器時,a2、a1、a0為分配控制端,使能端en/=1是,s1-s8與d之間斷開。en/和a2、a1、a0為邏輯信號輸入端,s1-s8與d之間可傳邏輯信號4。表2 adg659功能表a1a0en/輸出da輸出d

10、bxx1與輸入斷開與輸入斷開000s1as1b010s2as2b100s3as3b110s4as4badg659有一個使能端en/和兩個選擇分配控制端a1、a0,s1a-s4a和da、s1b-s4b和db分別構(gòu)成4:1mux,它同時受en、a1、a0控制。3.3 a/d轉(zhuǎn)換介紹 3.3.1 分辨率分辨率是用來表示adc對于輸入模擬信號的分辨能力,也即adc輸出的數(shù)字編碼能反映多么微小的模擬信號變化。adc轉(zhuǎn)換器的分辨率定義為滿量程電壓于在最小有效值之比值。例如,具有12位分辨率的adc能夠分辨出滿量程的1/4096,對于10v的滿量程能夠分辨輸入模擬量電壓變化的最小值約為1.5mv.對3位半a

11、/d轉(zhuǎn)換器,滿量程數(shù)據(jù)位1999,其分辨率為1/1999。顯然adc數(shù)字編碼的位數(shù)越多,其分辨率越高8。3.3.2 誤差和精度誤差包括量化誤差、偏離誤差、線性度登。量化誤差是由于adc的有限分辨率所引起的誤差。偏離誤差時指輸入信號為0是輸出信號不為0的值,所以有時也稱零值誤差。線性度有時也稱非線性度,它是指adc實際的輸入/輸出特性曲線與理想直線的最大偏差。精度通常也稱轉(zhuǎn)換精度,有絕對精度和相對精度之分。絕對精度是指為例產(chǎn)生某的數(shù)字碼,所對應得模擬信號值與實際值之差的最大值,它包括所有的誤差。相對精度是絕對精度與滿量程輸入信號的百分比。它通常不包括能夠被用戶消除的誤差。對于線性編碼的adc,相

12、對精度就是非線性度,其值為加減1/2lsb.精度通常與分辨率密切相關(guān),高精度的前提必須有高分辨率,當然單有高分辨率還不一定就可達到高精度。3.3.3 轉(zhuǎn)換速率adc的轉(zhuǎn)換速率就是能夠重復進行數(shù)據(jù)轉(zhuǎn)換的速度,即每秒轉(zhuǎn)換的次數(shù)。有時也用完成的一次a/d轉(zhuǎn)換所需要的時間來表示,稱為轉(zhuǎn)換時間。轉(zhuǎn)換時間也就是轉(zhuǎn)換速度的倒數(shù)。不同轉(zhuǎn)換方式的adc其轉(zhuǎn)換速率有很大不同。低的只有1次/秒,高的可達百萬次/秒。3.3.4 a/d轉(zhuǎn)換的方法a/d轉(zhuǎn)換的實現(xiàn)方法有多種,隨著大規(guī)模集成電子技術(shù)的飛速發(fā)展,新型設(shè)計思想的a/d轉(zhuǎn)換器就不斷涌現(xiàn)。不同方法實現(xiàn)的a/d轉(zhuǎn)換器也就使用于不同的場合。比如說并行式adc它的特點就

13、是轉(zhuǎn)換速度最快但是分辨率不高,適合高頻采樣的場合;逐次比較式adc它的轉(zhuǎn)換速度高,轉(zhuǎn)換分辨率比較高,速度和分辨率能滿足大部分要求,但常態(tài)干擾的抑制能力較差。適用于溫度、壓力、流量、語音、電量等信號的采集。3.4 數(shù)據(jù)采樣電路圖3給出的是1個利用4片adg658和1片adc0831組成的32路數(shù)據(jù)采樣電路。32路模擬量輸入的為毫伏級電壓,經(jīng)多路開關(guān)選取其中1路信號,送至rc濾波電路,再經(jīng)高精度運放op-07放大然后送至adc0831進行a/d轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)據(jù)以串行輸出。放大器的增益電壓約為100,adc0831的ref基準電壓為2.5v,由max6034_25提供,因而可測量輸入信號的電壓范圍

14、為2.5v/100=25mv.假定輸入信號來自k分度號熱電偶,在輸出電勢為0-25mv時,對應的測量溫度為0c-600c。該數(shù)據(jù)采用電路如應用于熱電偶的檢測,還有三點需要考慮,一是零點補償,二非線性校正,三是量程校正。零點補償電路可加在放大器之前,也可通過其他傳感器測量冷端溫度,然后通過軟件補償。非線性校正一般可采用軟件方法,在精度要求不高的情況下,對k分度熱偶也可省略非線性校正。量程校正即對放大器增益的校正,通過電路中的電位器微調(diào)增益。如希望k分度熱電偶600c時的電勢24.902mv與輸出2.5v對應,則電壓增益應校正為2.5/0.24902=100.39另外可以通過對adc8031的re

15、f經(jīng)電阻衰減作為校正信號,從輸入通道中引入,通過軟件自動校準,但此時會減少1路輸入。圖3 32路數(shù)據(jù)采樣電路采樣電路控制信號通過光電隔離與單片機相連,輸入信號由p1.5-p1.0控制,p1.6和p1.7用于控制a/d轉(zhuǎn)換,a/d轉(zhuǎn)換結(jié)果由t1引入。4 單片機介紹4.1 單片機的基本組成89c51單片機包括一個:一個8位的80c51微處理器。片內(nèi)256字節(jié)數(shù)據(jù)存儲器ram/sfr,可以存放可以讀/寫的數(shù)據(jù),如運算的中間結(jié)果以及預顯示的數(shù)據(jù)等。片內(nèi)4kb程序存儲器flash rom,用以存放可以程序、一些原始數(shù)據(jù)和表格。4個8位并行i/o端口p0p3,每個端口既可以用作輸入,也可以用于輸出。兩個1

16、6位的定時器/計數(shù)器,每個定時器/計數(shù)器都可以設(shè)置成計數(shù)方式,用以對外部進行計數(shù),也可以設(shè)置成定時方式,并可以根據(jù)計數(shù)或定時的結(jié)果實現(xiàn)計算機控制。具有5個中斷源、兩個中斷優(yōu)先級的中斷控制系統(tǒng)。一個全雙工uart(通用異步接受發(fā)送器)的串行i/o口,用于實現(xiàn)單片機之間或單片機與pc機之間的串行通信。片內(nèi)振蕩器和時鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接,最高允許振蕩頻率為24mhz。89c51單片機與8051相比,具有節(jié)電工作方式,即休閑方式及掉電方式9。以上各個部分是用靜態(tài)邏輯來設(shè)計的,其工作頻率可下降到0hz,并提供兩種可用軟件來選擇省電方式空閑方式和掉電方式。在空閑方式中cpu停止工作,而

17、ram、定時器/計數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。此時的電流可降到大約為正常工作方式的15%。在掉電方式中,片內(nèi)振蕩器停止工作,由于時鐘被“凍結(jié)”,使一切功能都暫停,故只保存片內(nèi)ram中的內(nèi)容,直到下一次硬件復位為止。4.2 單片機引腳及功能 各個引腳及其功能:vcc(40腳):電源端,為+5v。vss(20腳): 接地端。xtal2(18腳):接外部晶體和微調(diào)電容的一端。在89c51片內(nèi)它是振蕩電路反向放大器的輸出端,振蕩電路的頻率就是晶體的固有頻率。若須采用外部時鐘電路,則該引腳懸空。要檢查89c51的振蕩電路是否正常工作,可用示波器查看xtal2端是否有脈沖信號輸出。xtal1(19腳

18、):接外部晶體和微調(diào)電容的另一端。在片內(nèi),它是振蕩電路反向放大器的輸入端。在采用外部時鐘時,該引腳輸入外部時鐘脈沖。rst(9腳):rst是復位信號輸入端,高電平有效。定時器t0(3.4)和定時器t1(3.5)是兩個16位的定時器/計數(shù)器,都具有定時和事件計數(shù)功能,可用于定時控制、延時、對外部事件計數(shù)和檢查等場合。p1:p1口是一帶有內(nèi)部上拉電阻的8位雙向i/o口。p1口的輸出緩沖能接受或輸出4個ttl邏輯門電路。當對p1口寫1時,它們被內(nèi)部的上拉電阻拉升為高電平,此時可以作為輸入端使用。當作為輸入端使用時,p1口因為內(nèi)部存在上拉電阻,所以當外部被拉低時會輸出一個低電流(iil)。p2:p2是

19、一帶有內(nèi)部上拉電阻的8位雙向的i/o端口。p2口的輸出緩沖能驅(qū)動4個ttl邏輯門電路。當向p2口寫1時,通過內(nèi)部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(iil)。p2口在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如movx dptr)時,p2口送出高8位地址數(shù)據(jù)。在這種情況下,p2口使用強大的內(nèi)部上拉電阻功能當輸出1時。當利用8位地址線訪問外部數(shù)據(jù)存儲器時(例movx r1),p2口輸出特殊功能寄存器的內(nèi)容。當eprom編程或校驗時,p2口同時接收高8位地址和一些控制信號。p3口:p3是一帶有內(nèi)部上拉電阻的8位

20、雙向的i/o端口。p3口的輸出緩沖能驅(qū)動4個ttl邏輯門電路。當向p3口寫1時,通過內(nèi)部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(iil)。p3口同時具有的多種特殊功能,具體如下表所示:表3 p3口的第二功能端口引腳第二功能p3.0rxd (串行輸入口)p3.1txd(串行輸出口)p3.2 (外部中斷0) p3.3(外部中斷1)p3.4t0(定時器0)p3.5t1(定時器1)p3.6 (外部數(shù)據(jù)存儲器寫選通)p3.7 (外部數(shù)據(jù)存儲器讀選通)5 usb接口電路設(shè)計usb接口芯片采用南京沁恒公司的一種專用芯片hc375。全

21、速設(shè)備接口,兼容usb v1.1即插即用,外圍元器件只需要晶體和電容。提供一對主端點和一對輔助端點,支持控制傳輸、批量傳輸、中斷傳輸。具有省事的內(nèi)置固件模式和靈活的外部固件模式。內(nèi)置固件模式下屏蔽了相的關(guān)usb 協(xié)議,自動完成標準的usb 枚舉配置過程,完全不需要本地端控制器作任何處理,簡化了單片機的固件編程。支持5v 電源電壓和3.3v 電源電壓,ch375 芯片還支持低功耗模式。ch375芯片是ch372芯片的升級版,ch375在ch372基礎(chǔ)上增加了usb主機方式和串口通訊方式等功能,所以硬件功能更多,但是其它功能完全兼容ch372,可以直接使用ch375 的wdm 驅(qū)動程序和dll 動

22、態(tài)鏈接庫。采用ssop-20 封裝其功管腳能見附錄二。5.1 usb芯片內(nèi)部結(jié)構(gòu)該芯片ch375 芯片內(nèi)部集成了pll 倍頻器、usb 接口sie、數(shù)據(jù)緩沖區(qū)、被動并行接口、命令解釋器、通用的固件程序等主要部件。pll 倍頻器用于將外部輸入的12mhz 時鐘倍頻到48mhz,作為usb 接口sie 時鐘。usb 接口sie 用于完成物理的usb 數(shù)據(jù)接收和發(fā)送,自動處理位跟蹤和同步、nrzi 編碼和解碼、位填充、并行數(shù)據(jù)與串行數(shù)據(jù)之間的轉(zhuǎn)換、crc 數(shù)據(jù)校驗、事務(wù)握手、出錯重試、usb 總線狀態(tài)檢測等。數(shù)據(jù)緩沖區(qū)用于緩沖usb 接口sie 收發(fā)的數(shù)據(jù)。被動并行接口用于與外部單片機交換數(shù)據(jù)。命令

23、解釋器用于分析并執(zhí)行外部單片機提交的各種命令。通用的固件程序用于自動處理usb 默認端點0 的各種標準事務(wù)等。ch375芯片內(nèi)部物理端點:5.1.1 端點0端點0 的接收緩沖區(qū)和發(fā)送緩沖區(qū)各是8個字節(jié)。setup事務(wù)和out 事務(wù)使用同一個接收緩沖區(qū),但是使用不同的事務(wù)應答方式。當ch375成功完成端點0的setup 事務(wù)后,ch375將自動設(shè)置端點0 的接收器和發(fā)送器的同步觸發(fā)標志為1,然后才以中斷方式通知外部單片機讀取setup 數(shù)據(jù)并處理。當ch375成功完成端點0的out事務(wù)后,ch375將自動觸發(fā)端點0的接收器的同步觸發(fā)標志,由0 觸發(fā)為1,由1 觸發(fā)為0。當ch375 成功完成端點

24、0的in事務(wù)后,ch375將自動觸發(fā)端點0 的發(fā)送器的同步觸發(fā)標志,由0觸發(fā)為1,由1 觸發(fā)為0。對于控制讀操作,由于ch375完成setup 事務(wù)后自動設(shè)置同步觸發(fā)標志為1,所以默認情況下ch375發(fā)送的第一組數(shù)據(jù)是data1,接著是data0,然后是data1,以此類推。一般情況下,外部單片機只需要準備好數(shù)據(jù)并發(fā)送,不必考慮同步觸發(fā)標志。由于ch375在完成端點0的out事務(wù)時不分析同步觸發(fā)標志,不管數(shù)據(jù)是否同步都會以中斷方式通知外部單片機,所以對于控制寫操作,單片機可以通過get_toggle 命令確定當前out 事務(wù)是否同步再作處理。set_endp2命令對setup的事務(wù)響應方式?jīng)]有

25、影響。如果沒有釋放usb緩沖區(qū),則端點0 的接收器對setup 事務(wù)返回nak,如果已經(jīng)釋放usb 緩沖區(qū),那么返回ack。如果在set_endp3 命令之后執(zhí)行wr_usb_data3 命令,那么端點0 的發(fā)送器自動將事務(wù)響應方式設(shè)置為對in 事務(wù)返回data,數(shù)據(jù)長度根據(jù)wr_usb_data3 命令確定。如果在wr_usb_data3 命令之后執(zhí)行set_endp3 命令,那么端點0 的發(fā)送器將保持數(shù)據(jù)不變,但是按set_endp3命令設(shè)定的事務(wù)響應方式處理事務(wù),如果設(shè)定的事務(wù)響應方式為對in返回data,那么發(fā)送長度將由set_endp3 命令重新確定。5.1.2 端點1端點1的接收緩

26、沖區(qū)和發(fā)送緩沖區(qū)各是8個字節(jié)。當ch375成功完成端點1的out事務(wù)后,ch375將自動觸發(fā)端點1的接收器的同步觸發(fā)標志,由0 觸發(fā)為1,由1觸發(fā)為0。當ch375成功完成端點1的in事務(wù)后,ch375將自動觸發(fā)端點1的發(fā)送器的同步觸發(fā)標志,由0觸發(fā)為1,由1 觸發(fā)為0。ch375在完成端點1的out 事務(wù)時自動分析同步觸發(fā)標志,如果數(shù)據(jù)不同步則不會以中斷方式通知外部單片機,外部單片機只會接收到數(shù)據(jù)同步的out 事務(wù)中斷。如果在set_endp5 命令之后執(zhí)行wr_usb_data5 命令,那么端點1 的發(fā)送器自動將事務(wù)響應方式設(shè)置為對in 事務(wù)返回data,數(shù)據(jù)長度根據(jù)wr_usb_data

27、5 命令確定。如果在wr_usb_data5 命令之后執(zhí)行set_endp5 命令,那么端點1 的發(fā)送器將保持數(shù)據(jù)不變,但是按set_endp5命令設(shè)定的事務(wù)響應方式處理事務(wù),如果設(shè)定的事務(wù)響應方式為對in返回data,那么發(fā)送長度將由set_endp5 命令重新確定。 5.1.3 端點2wr_usb_data命令,那么端點2 的發(fā)送器自動將事務(wù)響應方式設(shè)置為對in 事務(wù)返回data,數(shù)據(jù)長度根據(jù)wr_usb_data命令確定。如果在wr_usb_data命令之后執(zhí)行set_endp命令,那么端點2 的發(fā)送器將保持數(shù)據(jù)和長度不變,但是按set_endp命令設(shè)定的事務(wù)響應方式處理事務(wù)。端點2 的

28、接收緩沖區(qū)和發(fā)送緩沖區(qū)各是64 個字節(jié)。當ch375成功完成端點2的out事務(wù)后,ch375將自動觸發(fā)端點2的接收器的同步觸發(fā)標志,由0 觸發(fā)為1,由1 觸發(fā)為0。當ch375成功完成端點2的in事務(wù)后,ch375將自動觸發(fā)端點2 的發(fā)送器的同步觸發(fā)標志,由0觸發(fā)為1,由1 觸發(fā)為0。ch375在完成端點2的out 事務(wù)時自動分析同步觸發(fā)標志,如果數(shù)據(jù)不同步則不會以中斷方式通知外部單片機,外部單片機只會接收到數(shù)據(jù)同步的out 事務(wù)中斷。如果在set_endp7 命令之后執(zhí)行5.1.4 外部固件參考流程在ch375中提供了外部固件模式下的單片機源程序,下述流程供外部單片機處理usb標準設(shè)備請求時

29、參考。 單片機啟動后,首先初始化ch375為使用外部固件的usb設(shè)備方式,然后設(shè)置中斷。 當單片機收到中斷后,使用get_status命令獲取中斷狀態(tài),分析處理如下:(1)如果是端點2 或1的out成功,則使用rd_usb_data命令讀取數(shù)據(jù)再通知主程序處理。(2) 如果是端點2 或1的in成功,則使用unlock_usb命令釋放緩沖區(qū)再通知主程序繼續(xù)。(3)如果是端點0 的setup成功,則使用rd_usb_data命令讀取數(shù)據(jù),分析處理如下: 如果是usb請求clear_feature,那么根據(jù)請求中的feature以及端點號等分析處理,對于endpoint_halt,可以使用set_e

30、ndp 命令。 如果是usb請求get_descriptor,那么使用wr_usb_data3命令返回描述符5.2 usb芯片與單片機的接口電路ch375通過被動并行接口電路可以方便地掛接到89c51單片機的系統(tǒng)總線圖4 ch375的接口電路上,并且可以與多個外圍器件共存。并口信號線包括8位雙向數(shù)據(jù)總線d7-do、讀選通輸入rd、寫選通輸入wr、片選輸入cs、中斷輸出int及地址輸入線ao。ch375的rd和wr可以分別連接到單片機的讀選通輸出引腳和寫選通輸出引腳。int可以連接到單片機的中斷輸入引腳,中斷請求是低電平有效。當cs、rd及ao都為低電平時,ch375中的數(shù)據(jù)通過d7-do輸出;

31、當cs和wr以及ao都為低電平時,d7-do上的數(shù)據(jù)被寫入ch375;當cs、wr都為低電平而a1為高電平時,d7-do上的數(shù)據(jù)被作為命令碼寫入ch375。usb電路圖4在usb 電源供給線中串接保險電阻或者自恢復保險絲f1,一般500ma以下,最大1a。串聯(lián)電感l(wèi)1 限制峰值電流,感抗在47uh到200uh之間,直流電阻應該不超過3 歐姆,盡量小些。在usb 插座的電源上并聯(lián)獨立的儲能電容c16緩解電壓瞬時下降。在usb信號線d+和d-上串接共扼電感t1,減少信號干擾,在一些計算機的主板中可以見到。u13為p 監(jiān)控電路,為單片機和ch37x 提供可靠的上電復位。u12為esd 保護器件/瞬變

32、電壓抑制器件,內(nèi)部一般為高速二極管陣列,在頻繁帶電插拔usb 設(shè)備的應用中和靜電較強的環(huán)境下,建議使用此類器件保護ch37x的usb信號引腳,型號為ch412z 或者ch412a 或者nup4301mr6t1(引腳不同)等,注意不能選用內(nèi)有電阻的器件。ch412 能夠承受15kv的hbm 人體模型esd沖擊,具體設(shè)計可參考ch412 芯片手冊。如果不外加任何專用esd保護器件,ch37x也能夠承受4kv左右的hbm 沖擊,ch374 能夠承受8kv 左右的hbm 沖擊。電容c14 用于ch37x 電源退耦,實際電路還應該在u13 附近連接0.1uf 退耦電容。該圖適用于5v 電源電壓,如果vc

33、c 為3.3v,那么應該將ch375 的9 腳與28 腳短路。圖中x1 是頻率為12mhz 的石英晶體,需要兩個振蕩電容c11 和c12,也可以用12mhz 有源晶振。5.3 usb設(shè)備驅(qū)動程序設(shè)計usb系統(tǒng)驅(qū)動程序的設(shè)計是基于wdm(windows driver model 驅(qū)動程序模型)。wdm采用分層驅(qū)動程序模型,分為較高級的usb設(shè)備驅(qū)動程序和較低級的usb函數(shù)層。其中usb函數(shù)層由兩部分組成:較高級的通用串行總線模塊(usbd)和較低級的主控制器驅(qū)動程序模塊(hcd) 11。在上述usb分層模塊中,usb函數(shù)層由windows98提供,負責管理usb設(shè)備驅(qū)動程序和usb控制器之間的通

34、信,加載及卸載usb驅(qū)動程序,與usb設(shè)備通用端點(endpoint)建立通信來執(zhí)行設(shè)備配置、數(shù)據(jù)與usb協(xié)議框架和打包格式的雙向轉(zhuǎn)換任務(wù)。 目前windows98提供了多種 usb設(shè)備驅(qū)動程序,但并不針對數(shù)據(jù)采集設(shè)備,因此需用ddk開發(fā)工具設(shè)計專用的usb設(shè)備驅(qū)動程序。在本設(shè)計中由四個模塊實現(xiàn):初始化模塊、即插即用管理模塊、電源管理模塊以及i/o功能實現(xiàn)模塊12。 初始化模塊提供一個入口函數(shù)driverentry(),所有對各種irp(i/o request packet,irp請求包)的處理例程都在此入口函數(shù)中做出定義。即插即用管理模塊實現(xiàn)usb設(shè)備的熱拔插及動態(tài)配置。當硬件檢測到usb設(shè)

35、備接入時,windows98查找響應的驅(qū)動程序,并調(diào)用它的driverentry例程,pnp(即插即用)管理器調(diào)用驅(qū)動程序的adddevice例程,告訴它添加了一個設(shè)備;在此處理過程中,驅(qū)動程序收到一個設(shè)備啟動請求(irp_mn_start_device)的irp。同理,當要拔除時,pnp管理器會發(fā)出一個設(shè)備刪除請求(irp_mn_remove_device)的irp,由驅(qū)動程序進行處理。通過對這些pnp請求的處理,可支持設(shè)備的熱插拔和即插即用功能。電源管理模塊負責設(shè)備的掛起與喚醒。i/o功能實現(xiàn)模塊完成i/o請求的大部分工作。若應用程序想對設(shè)備進行i/o操作,它便使用windows api函

36、數(shù),對win32子系統(tǒng)進行win32調(diào)用。此調(diào)用由i/o系統(tǒng)服務(wù)接收并通知i/o管理器,i/o管理器將此請求構(gòu)造成一個合適的i/o請求包(irp)并把它傳遞給usb設(shè)備驅(qū)動程序,usb設(shè)備驅(qū)動程序接收到這個irp以后,根據(jù)irp中包含的具體操作代碼,構(gòu)造相應的usb請求塊并把此urb(usb請求塊)放到一個新的irp中,然后把此irp傳遞到usb總線驅(qū)動程序,usb總線驅(qū)動程序根據(jù)irp中所含的urb執(zhí)行相應的操作(如從usb設(shè)備讀取數(shù)據(jù)等),并把操作結(jié)果通過irp返還給usb設(shè)備驅(qū)動程序。usb設(shè)備驅(qū)動程序接收到此irp后,將操作結(jié)果通過irp返還給i/o管理器,最后i/o管理器將此irp中

37、操作結(jié)果返還給應用程序,至此應用程序?qū)sb設(shè)備的一次i/o操作完成。6 應用程序設(shè)計用戶態(tài)的應用程序是數(shù)據(jù)采集系統(tǒng)的中心,其主要功能為:開啟或關(guān)閉usb設(shè)備、檢測usb設(shè)備、設(shè)置usb數(shù)據(jù)傳輸管道、設(shè)置a/d狀態(tài)和數(shù)據(jù)采集端口、實時從usb接口采集數(shù)據(jù)、并分析數(shù)據(jù)11。應用程序主流程圖如圖5所示。由于hc375提供的fifo不超過64字節(jié),當它存滿后,hc375自動將數(shù)據(jù)打包即時請求讀入數(shù)據(jù),由sie自動發(fā)送數(shù)據(jù)包。另外,當系統(tǒng)啟動a/d模塊后,便會創(chuàng)建兩個線程:采樣線程和存盤線程。采樣線程負責將采集據(jù)寫到應用程序提交的內(nèi)存;而存盤線程負責給應用程序發(fā)送存盤消息。當應用程序接收到此消息后,便

38、從它提交的內(nèi)存中讀取數(shù)據(jù)并存盤。此處需要注意的是采樣線程和存盤線程在讀寫應用程序提交的內(nèi)存時要保持同步。首先是要啟動usb設(shè)備,啟動usb設(shè)備成后功檢測usb設(shè)備。檢測usb成功后設(shè)置設(shè)備參數(shù),設(shè)置usb參數(shù)成功后啟動a/d模塊。啟動a/d模塊后等待數(shù)據(jù)請求上傳數(shù)據(jù)。上傳成功請求后看是否獲得了有效的數(shù)據(jù),如果沒有獲得有效數(shù)據(jù)就看下組數(shù)據(jù)有沒有準備就緒。如果下組數(shù)據(jù)已經(jīng)準備就緒,就回到請求上傳數(shù)據(jù)。如果獲得了有效的數(shù)據(jù),就把獲得的有效數(shù)據(jù)存儲。存儲后就等待下組數(shù)據(jù)準備就緒。如果下組數(shù)據(jù)已經(jīng)準備就緒再回到請求上傳數(shù)據(jù)如此循環(huán)上傳數(shù)據(jù)。啟動usb設(shè)備設(shè)置設(shè)備參數(shù)啟動a/d模塊請求上傳數(shù)據(jù)包存儲延遲至

39、下數(shù)據(jù)包就緒y 檢測usb設(shè)備獲得有效數(shù)據(jù)?報告數(shù)據(jù)丟失nny下組數(shù)據(jù)準備就緒? 圖5 應用程序主流程7 設(shè)備固件設(shè)計此處固件是指固化到89c51e2prom中的程序,其主要功能是: (1)控制a/d轉(zhuǎn)換器的采樣。(2)控制芯片ch375接受并處理usb驅(qū)動程序的請求及應用程序的控制指令?,F(xiàn)主要介紹89c51usbch375接受并處理usb驅(qū)動程序的請求及應用程序的控制指令?,F(xiàn)主要介紹89c51系統(tǒng)如何控制usb控制器(usbch375)與主機的通信12。89c51系統(tǒng)對usb控制器的操作是嚴格按照usb協(xié)議1.1進行的,按照usb協(xié)議1.1的規(guī)定,usb傳輸方式分為4種:控制傳輸,塊傳輸,同

40、步傳輸和中斷傳輸。在實際開發(fā)中使用了控制傳輸和塊傳輸??刂苽鬏斨饕脕硗瓿芍鳈C對設(shè)備的各種控制操作,也就是用來實現(xiàn)位于主機上的usb總線驅(qū)動程序(usbd.sys)以及編寫的功能驅(qū)動程序?qū)υO(shè)備的各種控制操作。塊傳輸主要用來完成主機和設(shè)備間的大批量數(shù)據(jù)傳輸以及對傳輸數(shù)據(jù)進行錯誤檢測(若發(fā)生錯誤,它支持“重傳”功能)。89c51系統(tǒng)控制usb控制器的工作過程可以簡單地概括為:當usb控制器從usb總線檢測到主機啟動的某一傳輸請求后,通過中斷方式將此請求通知89c51系統(tǒng),89c51系統(tǒng)通過訪問usb控制器的狀態(tài)寄存器和數(shù)據(jù)寄存器獲得與此次傳輸有關(guān)的各種參數(shù),并根據(jù)具體的傳輸參數(shù),對usb控制器的控

41、制寄存器和數(shù)據(jù)寄存器進行相應的操作,以完成主機的傳輸請求。8 遠程數(shù)據(jù)采集系統(tǒng)設(shè)計傳輸距離是限制usb在工業(yè)現(xiàn)場應用的一個障礙,即使增加了中繼或hub,usb傳輸距離通常也不超過幾十米,這對工業(yè)現(xiàn)場而言顯然太短了?,F(xiàn)在工業(yè)現(xiàn)場有大量采用rs-485傳輸數(shù)據(jù)的采集設(shè)備,其優(yōu)點主要為傳輸距離可達到1200米以上,并且可以掛接多個設(shè)備,但傳輸速度慢,且需要板卡支持,安裝麻煩。但將rs-485與usb結(jié)合起來就可以優(yōu)勢互補,產(chǎn)生一種快速、可靠、低成本的遠程數(shù)據(jù)采集系統(tǒng)。設(shè)計這樣一個系統(tǒng)的關(guān)鍵設(shè)備是rs-485usb轉(zhuǎn)換器??梢圆捎胏h375+89c51+ max485實現(xiàn)這一功能,整個系統(tǒng)的基本思想是

42、:將傳感器采集到的模擬量數(shù)字化以后,利用rs-485協(xié)議將數(shù)據(jù)上傳,上述rs-485usb轉(zhuǎn)換器在主機端接收485的數(shù)據(jù)并通過usb接口傳輸至主機進行處理,而主機向usb發(fā)送數(shù)據(jù)時,數(shù)據(jù)通過rs-485usb轉(zhuǎn)換口轉(zhuǎn)換為485協(xié)議向遠端輸送,從而能夠?qū)崿F(xiàn)遠程數(shù)據(jù)的雙向傳輸。由于rs-485通信是一種半雙工通信,發(fā)送和接收共用同一物理信道。在任意時刻只允許一臺單機處于發(fā)送狀態(tài)。因此要求應答的單機必須在監(jiān)聽到總線上呼叫信號已經(jīng)發(fā)送完畢,并且沒有其它單機發(fā)出應答信號的情況下才能應答。半雙工通信對主機和從機的發(fā)送和接收時序有嚴格的要求。如果在時序上配合不好,就會發(fā)生總線沖突,使整個系統(tǒng)的通信癱瘓,無法

43、正常工作。要做到總線上的設(shè)備在時序上的嚴格配合,必須要遵從以下幾項原則。(1)復位時,主從機都應該處于接收狀態(tài) re和de端相連為低電平時從機處于接收狀態(tài),在上電復位時,由于硬件電路穩(wěn)定需要一定的時間并且單片機各端口復位后處于高電平狀態(tài),這樣就會使總線上各個分機處于發(fā)送狀態(tài),同時上電時各電路的不穩(wěn)定,可能向總線發(fā)送信息。因此,如果用一根口線作發(fā)送和接收控制信號,應該將口線反向后接入 max485的控制端,使上電時 max485處于接收狀態(tài)。(2) 制端re,e的信號要求在 rs-232、s-422等全雙工通訊過程中,發(fā)送和接收信號分別在不同的物理鏈路上傳輸,發(fā)送端始終為發(fā)送端,接收端始終為接收

44、端,不存在發(fā)送、接收控制信號切換問題。在 rs-485半雙工通信中,由于max485的發(fā)送和接收都由同一器件完成,并且發(fā)送和接收使用同一物理鏈路,必須對控制信號進行切換??刂菩盘柡螘r為高電平,何時為低電平一般以單片機的ti,ri信號作參考。發(fā)送時,檢測ti是否建立起來,當ti為高電平后關(guān)閉發(fā)送功能轉(zhuǎn)為接收功能;接收時,檢測ri是否建立起來,當ri為高電平接收完畢轉(zhuǎn)為發(fā)送功能。(3)發(fā)送控制信號在時序上的要求總線上所連接的各單機的發(fā)送控制信號在時序上完全隔開。了保證發(fā)送和接收信號的完整和正確,免總線上信號的碰撞,總線的使用權(quán)必須進行分配才能避免競爭,接到總線上的單機,發(fā)送控制信號在時間上要完全隔

45、離??傊?,送和接收控制信號應該足夠?qū)?,保證完整地接收一幀數(shù)據(jù),意兩個單機的發(fā)送控制信號在時間上完全分開,免總線爭端。9 結(jié)束語基于usb外設(shè)的應用目前在國內(nèi)外處于高速發(fā)展階段,利用usb進行數(shù)據(jù)采集在工業(yè)控制已得到成功應用,特別是隨著usb協(xié)議2.0的推出,數(shù)據(jù)傳輸速率高達480mbps,如此高的傳輸速率必將使usb在數(shù)據(jù)采集中的優(yōu)勢更加體現(xiàn)出來,同時會使其在更廣闊的領(lǐng)域得到更深層次的應用。致謝在本次畢業(yè)設(shè)計過程當中,指導老師以及同學們都給予了很大的幫助支持,指導老師嚴謹?shù)闹螌W態(tài)度和務(wù)實的求知精神給我留下了很深的印象,他們鼓勵我孜孜不倦,銳意進取,特別是在困難的時候,她有意識地培養(yǎng)我獨立思考和

46、解決問題的能力。俗話說“嚴師出高徒”,相信指導老師的嚴格要求,令我以后的工作和生活當中受益匪淺。在此,對他們所給予的指導和幫助表示最衷心的感謝。參考文獻1李朝青.單片機原理及接口技術(shù)m.北京:北京航空航天大學出版社,20052張念淮,江浩.usb總線接口開發(fā)指南m.北京:國防工業(yè)出版社,20023李朝青.pc機及單片機數(shù)據(jù)通信技術(shù)m.北京:北京航空航天出版社,20004徐大成,鄒麗新,丁建強.微型計算機控制技術(shù)及應用m.北京:高等教育出版社,2003 5胡大可,方路平.基于單片機8051的嵌入式開發(fā)指南m.北京:電子工業(yè)出版社, 20036康華光.電子技術(shù)基礎(chǔ)m. 北京:高等教育出版社,200

47、27張凱.mcs-51單片機綜合系統(tǒng)及其設(shè)計開發(fā)m.北京:科學出版社,19968馬明建.數(shù)據(jù)采集與處理技術(shù)m.西安:西安交通大學出版社,20059何立民.單片機與嵌入式系統(tǒng)應用m.北京:北京航空航天大學出版社,200310戴佳,苗龍,陳斌.51單片機應用系統(tǒng)開發(fā)典型事例j.北京:中國電力出版社,2005,8(5):495211張弘.usb接口設(shè)計m. 西安:西安電子科技大學出版社,2002.12許永和.8051單片機usb接口程序設(shè)計m.北京:北京航空航天大學出版社,200413趙負圖.數(shù)據(jù)采集與控制系統(tǒng)計算機測控技術(shù)j.北京:北京科學技術(shù)出版社,1987,28(3): 293214廖煥霖.

48、portal 99se原理圖設(shè)計者必讀j.北京:冶金工業(yè)出版,2000,19(8):636515劉迎春,葉湘濱.現(xiàn)代新型傳感器原理與應用j.北京:國防工業(yè)出版社,1998,14(6):8992 16zang tianhua.pca82c250 can controller interface data sheetj.philips semiconductor corporation,1997 , 2002,28(3):249252(in chinese)17馬忠梅.單片機的c語言應用程序設(shè)計m北京:北京航空航天大學出版社,200318曾祥富.電子技術(shù)基礎(chǔ)m.北京:高教出版社,199819王卓人

49、.ic卡的技術(shù)與應用j.北京:電子工業(yè)出版社,1999,36(3):242520李正軍.現(xiàn)場總線與工業(yè)以太網(wǎng)及其應用系統(tǒng)設(shè)計北京m.北京:人民郵電出版社,200621樹江模擬電子技術(shù)基礎(chǔ)m.北京:機械工業(yè)出版社,2004附錄一 整體電路圖附錄二 ch375芯片管腳引腳號引腳名稱類型引腳說明28vcc電源正電源輸入端,一、需要0.1uf電源退耦電容12,23gnd電源公共接地端,需要連接usb總線的地址9v3電源在3.3v電源電壓時連接vcc輸入外部電源,在5v電源點啊是外接容量0.01uf退耦電容13x1輸入晶體振蕩的輸入端,需要外接晶振及振蕩電容14x0輸出晶體振蕩的反相輸出端,需要外接晶振

50、及振蕩電容10ud+雙向三態(tài)usb總線的d+數(shù)據(jù)線,內(nèi)置可控的上拉電阻11ud-雙向三態(tài)usb總線的數(shù)據(jù)d-數(shù)據(jù)線22-15d7-d0雙向三態(tài)8位雙向數(shù)據(jù)總線,內(nèi)置上拉電阻4rd#輸入讀選通輸入,低電平有效,內(nèi)置上拉電阻3wr#輸入寫選通輸入,低電平有效,內(nèi)置上拉電阻27cs#輸入片選控制輸入,低電平有效,內(nèi)置上拉電阻1int#輸出中斷輸出端,低電平有效8a0輸入地址線輸入,區(qū)分命令口和數(shù)據(jù)口,內(nèi)置上拉電阻a0=1時可以寫命令a1=0時可以寫數(shù)據(jù)24act#輸出在內(nèi)置固件的usb設(shè)備方式下是usb設(shè)備配置完成狀態(tài)輸出,低電平有效。在usb主機方式下是usb設(shè)備連接狀態(tài)輸出,低電平有效。5txd

51、輸入輸出僅用于主機方式,設(shè)備只支持并口,在復位期間為輸入引腳,內(nèi)置上拉電阻,如果在復位幾件輸入低電平那么能并口,否則使能串口,復位完成后為串行數(shù)據(jù)輸出。6rxd輸入串行數(shù)據(jù)輸入,內(nèi)置上拉電阻2rsti輸入外部復位輸入,高電平有效,內(nèi)置下拉電阻25rst輸出電源上點復位和外部復位輸出,高電平有效26rst#輸出電源上點復位和外部復位輸出,低電平有效7nc空腳懸空附錄三 程序清單/*usb 1.1 slaver for ch375*單片機用89c51*/#include #include reg51.h#include ch375inc.h#define delay_start_value 1/*

52、 根據(jù)單片機的時鐘選擇延時初值 */#define my_usb_vendor_id 0x4348 /* 廠商id */#define my_usb_device_id 0x5537 /* 設(shè)備id */unsigned char recv_len;/* 剛接收到的數(shù)據(jù)的長度 */unsigned char idata recv_buffer ch375_max_data_len ;/* 數(shù)據(jù)緩沖區(qū),用于保存接收到的下傳數(shù)據(jù),長度為0到64字節(jié) */unsigned char idata *cmd_buf;unsigned char idata *ret_buf;typedef union _

53、request_packunsigned charbuffer8;structunsigned charbmreuesttype;/標準請求字unsigned charbrequest;/請求代碼unsigned intwvalue; /特性選擇高unsigned intwindx; /索引unsigned intwlength; /數(shù)據(jù)長度r; mrequest_packet, *mprequest_packet;/設(shè)備描述符unsigned charcode devdes=0x12 /描述符大小,0x01 /常數(shù)device,0x10 /usb規(guī)范版本信息,0x01,0x00 /類別碼,,

54、0x00 /子類別碼,0x37 /協(xié)議碼,0x08 /端點0的最大信息包大小,0x48 /廠商id,0x43,0x37 /產(chǎn)品id,0x55,0x00 /設(shè)備版本信息,0x01,0x00 /索引值,0x00,0x00,0x01 /可能配置的數(shù)目,0x00 /無意義,0x00,0x00,0x00,0x00,0x00;/配置描述符unsigned charcode condes= /配置描述符0x09 /描述符大小,0x02 /常數(shù)config,0x27 /此配置傳回所有數(shù)據(jù)大小,0x00 /,0x01 /接口數(shù),0x01 /配置值,0x00 /索引,0x80 /電源設(shè)置,0x40 /需要總線電源/接口描述符,0x09 /描述符大小,0x04 /常數(shù)interface,0x00 /識別碼,0x00 /代替數(shù)值,0x03 /支持的端點數(shù),0x08 /類別碼,0x08 /子類別碼,0x37 /協(xié)議碼,0x00 /索引/端點描述符,0x07 /描述符大小,0x05 /常數(shù)endpoint,0x82 /端點數(shù)目及方向,0x02 /支持的傳輸類型,0x40 /支持的最大信息包大小,0x00,0x00 /,0x07,0x05,0x02,0x02,0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論