嵌入式系統(tǒng)實(shí)踐實(shí)驗(yàn)報(bào)告-USB接口_第1頁(yè)
嵌入式系統(tǒng)實(shí)踐實(shí)驗(yàn)報(bào)告-USB接口_第2頁(yè)
嵌入式系統(tǒng)實(shí)踐實(shí)驗(yàn)報(bào)告-USB接口_第3頁(yè)
嵌入式系統(tǒng)實(shí)踐實(shí)驗(yàn)報(bào)告-USB接口_第4頁(yè)
嵌入式系統(tǒng)實(shí)踐實(shí)驗(yàn)報(bào)告-USB接口_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第?次實(shí)驗(yàn)實(shí)驗(yàn)名稱 學(xué)號(hào)姓名第1頁(yè)共17頁(yè)計(jì)算機(jī)科學(xué)技術(shù)系上機(jī)實(shí)踐報(bào)告課程名稱:嵌入式系統(tǒng)實(shí)踐年級(jí):上機(jī)實(shí)踐成績(jī):指導(dǎo)教師:姓名:創(chuàng)新實(shí)踐成績(jī):上機(jī)實(shí)踐名稱:USB接口學(xué)號(hào):上機(jī)實(shí)踐日期:上機(jī)實(shí)踐編號(hào):No.10組號(hào)上機(jī)實(shí)踐時(shí)間:實(shí)驗(yàn)?zāi)康?、了解USB接口基本原理;2、掌握通過(guò)USB接口與PC通訊的編程技術(shù)。實(shí)驗(yàn)設(shè)備硬件:EmbestEduKit-III實(shí)驗(yàn)平臺(tái),EmbestARM標(biāo)準(zhǔn)/增強(qiáng)型仿真器套件,PC機(jī)。軟件:EmbestIDEProARM集成開發(fā)環(huán)境,Windows98/2000/NT/XP。實(shí)驗(yàn)內(nèi)容編寫USB通信程序,基于已有的USB驅(qū)動(dòng)程序接口,完成與PC端的USB測(cè)試程序之間數(shù)據(jù)接收與發(fā)送實(shí)驗(yàn)原理1.USB基礎(chǔ)?定義通用串行總線協(xié)議USB(UniversalSerialBus)是由Intel、Compaq、Microsoft等公司聯(lián)合提出的一種新的串行總線標(biāo)準(zhǔn),主要用于PC機(jī)與外圍設(shè)備的互聯(lián)。1994年11月發(fā)布第一個(gè)草案,1996年2月發(fā)布第一個(gè)規(guī)范版本1.0,2000年4月發(fā)布高速模式版本2.0,對(duì)應(yīng)的設(shè)備傳輸速度也從1.5Mb/s的低速和12Mb/s的全速提高到如今的480Mb/s的高速。其主要特點(diǎn)是:支持即插即用。允許外設(shè)在主機(jī)和其它外設(shè)工作時(shí)進(jìn)行連接配置使用及移除。傳輸速度快。USB支持三種設(shè)備傳輸速率:低速設(shè)備1.5Mb/s、中速設(shè)備12Mb/s和高速設(shè)備480Mb/s。連接方便。USB可以通過(guò)串行連接或者使用集線器Hub連接127個(gè)USB設(shè)備,從而以一個(gè)串行通道取代PC上其他I/O端口如串行口、并行口等,使PC與外設(shè)之間的連接更容易。獨(dú)立供電。USB接口提供了內(nèi)置電源。低成本。USB使用一個(gè)4針插頭作為標(biāo)準(zhǔn)插頭,通過(guò)這個(gè)標(biāo)準(zhǔn)插頭,采用菊花鏈形式可以把多達(dá)127個(gè)的USB外設(shè)連接起來(lái),所有的外設(shè)通過(guò)協(xié)議來(lái)共享USB的帶寬。?組成USB規(guī)范中將USB分為五個(gè)部分:控制器、控制器驅(qū)動(dòng)程序、USB芯片驅(qū)動(dòng)程序、USB設(shè)備以及針對(duì)不同USB設(shè)備的客戶驅(qū)動(dòng)程序??刂破鳎℉ostController),主要負(fù)責(zé)執(zhí)行由控制器驅(qū)動(dòng)程序發(fā)出的命令,如位于PC主板的USB控制芯片??刂破黩?qū)動(dòng)程序(HostControllerDriver),在控制器與USB設(shè)備之間建立通信信道,一般由操作系統(tǒng)或控制器廠商提供。USB芯片驅(qū)動(dòng)程序(USBDriver),提供對(duì)USB芯片的支持,設(shè)備上的固件(Firmware)。USB設(shè)備(USBDevice),包括與PC相連的USB外圍設(shè)備。設(shè)備驅(qū)動(dòng)程序(ClientDriverSoftware),驅(qū)動(dòng)USB設(shè)備的程序,一般由USB設(shè)備制造商提供。?傳輸方式針對(duì)設(shè)備對(duì)系統(tǒng)資源需求的不同,在USB規(guī)范中規(guī)定了四種不同的數(shù)據(jù)傳輸方式:同步傳輸(Isochronous),該方式用來(lái)聯(lián)接需要連續(xù)傳輸數(shù)據(jù),且對(duì)數(shù)據(jù)的正確性要求不高而對(duì)時(shí)間極為敏感的外部設(shè)備,如麥克風(fēng)、嗽叭以及電話等。同步傳輸方式以固定的傳輸速率,連續(xù)不斷地在主機(jī)與USB設(shè)備之間傳輸數(shù)據(jù),在傳送數(shù)據(jù)發(fā)生錯(cuò)誤時(shí),USB并不處理這些錯(cuò)誤,而是繼續(xù)傳送新的數(shù)據(jù)。同步傳輸方式的發(fā)送方和接收方都必須保證傳輸速率的匹配,不然會(huì)造成數(shù)據(jù)的丟失。中斷傳輸(Interrupt),該方式用來(lái)傳送數(shù)據(jù)量較小,但需要及時(shí)處理,以達(dá)到實(shí)時(shí)效果的設(shè)備,此方式主要用在偶然需要少量數(shù)據(jù)通信,但服務(wù)時(shí)間受限制的鍵盤、鼠標(biāo)以及操縱桿等設(shè)備上。控制傳輸(Control),該方式用來(lái)處理主機(jī)到USB設(shè)備的數(shù)據(jù)傳輸,包括設(shè)備控制指令、設(shè)備狀態(tài)查詢及確認(rèn)命令,當(dāng)USB設(shè)備收到這些數(shù)據(jù)和命令后,將依據(jù)先進(jìn)先出的原則處理到達(dá)的數(shù)據(jù)。主要用于主機(jī)把命令傳給設(shè)備、及設(shè)備把狀態(tài)返回給主機(jī)。任何一個(gè)USB設(shè)備都必須支持一個(gè)與控制類型相對(duì)應(yīng)的端點(diǎn)0。批量傳輸(Bulk),該方式不能保證傳輸?shù)乃俾?,但可保證數(shù)據(jù)的可靠性,當(dāng)出現(xiàn)錯(cuò)誤時(shí),會(huì)要求發(fā)送方重發(fā)。通常打印機(jī)、掃描儀和數(shù)字相機(jī)以這種方式與主機(jī)聯(lián)接。?關(guān)鍵定義USB主機(jī)(Host)USB主機(jī)控制總線上所有的USB設(shè)備和所有集線器的數(shù)據(jù)通信過(guò)程,一個(gè)USB系統(tǒng)中只有一個(gè)USB主機(jī),USB主機(jī)檢測(cè)USB設(shè)備的連接和斷開、管理主機(jī)和設(shè)備之間的標(biāo)準(zhǔn)控制管道、管理主機(jī)和設(shè)備之間的數(shù)據(jù)流、收集設(shè)備的狀態(tài)和統(tǒng)計(jì)總線的活動(dòng)、控制和管理主機(jī)控制器與設(shè)備之間的電氣接口,每一毫秒產(chǎn)生一幀數(shù)據(jù),同時(shí)對(duì)總線上的錯(cuò)誤進(jìn)行管理和恢復(fù)。USB設(shè)備(Device)通過(guò)總線與USB主機(jī)相連的稱為USB設(shè)備。USB設(shè)備接收USB總線上的所有數(shù)據(jù)包,根據(jù)數(shù)據(jù)包的地址域來(lái)判斷是否接收;接收后通過(guò)響應(yīng)USB主機(jī)的數(shù)據(jù)包與USB主機(jī)進(jìn)行數(shù)據(jù)傳輸。端點(diǎn)(Endpoint)端點(diǎn)是位于USB設(shè)備中與USB主機(jī)進(jìn)行通信的基本單元。每個(gè)設(shè)備允許有多個(gè)端點(diǎn),主機(jī)只能通過(guò)端點(diǎn)與設(shè)備進(jìn)行通訊,各個(gè)端點(diǎn)由設(shè)備地址和端點(diǎn)號(hào)確定在USB系統(tǒng)中唯一的地址。每個(gè)端點(diǎn)都包含一些屬性:傳輸方式、總線訪問(wèn)頻率、帶寬、端點(diǎn)號(hào)、數(shù)據(jù)包的最大容量等。除控制端點(diǎn)0外的其他端點(diǎn)必須在設(shè)備配置后才能生效,控制端點(diǎn)0通常用于設(shè)備初始化參數(shù)。USB芯片中,每個(gè)端點(diǎn)實(shí)際上就是一個(gè)一定大小的數(shù)據(jù)緩沖區(qū)。管道(Pipe)管道是USB設(shè)備和USB主機(jī)之間數(shù)據(jù)通信的邏輯通道,一個(gè)USB管道對(duì)應(yīng)一個(gè)設(shè)備端點(diǎn),各端點(diǎn)通過(guò)自己的管道與主機(jī)通信。所有設(shè)備都支持對(duì)應(yīng)端點(diǎn)0的控制管道,通過(guò)控制管道主機(jī)可以獲取USB設(shè)備的信息,包括:設(shè)備類型、電源管理、配置、端點(diǎn)描述等。2.USB設(shè)備開發(fā)USB設(shè)備開發(fā)包括硬件電路設(shè)計(jì)和軟件設(shè)計(jì)二部分內(nèi)容,其中軟件部分又包括USB芯片驅(qū)動(dòng)程序和應(yīng)用程序二部分。USB設(shè)備在硬件上通過(guò)USB芯片實(shí)現(xiàn),USB芯片負(fù)責(zé):管理和實(shí)現(xiàn)USB物理層差分信號(hào);通過(guò)配置和管理寄存器初始化設(shè)備。提供連接的端點(diǎn);電源管理;通過(guò)寄存器管理端點(diǎn);USB芯片驅(qū)動(dòng)程序基于以上硬件資源實(shí)現(xiàn)USB的功能。USB芯片提供多個(gè)標(biāo)準(zhǔn)的端點(diǎn),每個(gè)端點(diǎn)都支持單一的總線傳輸方式。端點(diǎn)0支持控制傳輸,其他端點(diǎn)支持同步傳輸、批量傳輸或中斷傳輸中的任意一種。管理和使用這些端點(diǎn),實(shí)際上就是通過(guò)操作相應(yīng)的控制寄存器、狀態(tài)寄存器、中斷寄存器和數(shù)據(jù)寄存器來(lái)實(shí)現(xiàn)。其中,控制寄存器用于設(shè)置端點(diǎn)的工作模式、啟用端點(diǎn)的功能等;狀態(tài)寄存器用于查詢端點(diǎn)的當(dāng)前狀態(tài);中斷寄存器則用于設(shè)置端點(diǎn)的中斷觸發(fā)和響應(yīng)功能;數(shù)據(jù)寄存器則是設(shè)備與主機(jī)交換數(shù)據(jù)用的緩沖區(qū)。?電路設(shè)計(jì)原理EmbestEduKit-IIIUSB接口模塊采用美國(guó)國(guó)家半導(dǎo)體公司的USBN9603USB控制器,該控制器是全速USB節(jié)點(diǎn)器件,完全兼容USB1.0,USB1.1通信規(guī)范。USBN9603/4-28M芯片引腳圖如下:USBN9603與MCU的接口模式分為兩種:?8位并行總線模式(ParallelInterface),使用并行總線方式時(shí)又可選擇復(fù)用(Multiplexed)或非復(fù)用(Non-Multiplexed)模式,其中地址/數(shù)據(jù)線的復(fù)用方式電路設(shè)計(jì)稍顯復(fù)雜。?微總線模式(MICROWIREinterface)。以上模式的選擇由管腳MODE0,MODE1決定。在使用復(fù)用的8位并行總線模式下,USBN9603支持與MCU之間的增強(qiáng)型DMA方式傳輸,使用DMA方式傳輸使MCU和USBN9603之間交換數(shù)據(jù)的速度成倍提高,最終可以顯著提高PC與USB的通訊速度。USBN9603在EmbestEduKit-III評(píng)估板與CPU連接圖如下:EduKit-III的電路設(shè)計(jì)中采用的是非復(fù)用的8位并行總線模式,該模式中沒(méi)有使用DMA方式,因此DACK接高電平。CPU通過(guò)譯碼器生成的片選信號(hào)CS1對(duì)USB控制器進(jìn)行選通,USBN9603通過(guò)EXINT1對(duì)CPU發(fā)出中斷請(qǐng)求。設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)USB讀寫EmbestEduKit-III的USB控制器USBN9603用戶寄存器有兩個(gè),分別為只寫的內(nèi)部地址寄存器,與可讀寫的數(shù)據(jù)寄存器,內(nèi)部地址寄存器的地址為0x02000002,數(shù)據(jù)寄存器地址為0x02000000。對(duì)USB控制器進(jìn)行讀操作(包括讀USB內(nèi)部寄存器及數(shù)據(jù))時(shí),第一步是設(shè)置USB6bits寬的內(nèi)部地址寄存器,指明將要從USB某個(gè)內(nèi)部地址讀一個(gè)字節(jié),第二步是從數(shù)據(jù)寄存器讀出8bits寬的數(shù)據(jù)。對(duì)USB進(jìn)行寫操作類似讀操作,第一步同樣是設(shè)置USB的內(nèi)部地址寄存器,指明將要寫一個(gè)字節(jié)數(shù)據(jù)到USB內(nèi)部某個(gè)地址中去。USB中斷EmbestEduKit-III的USB控制器中斷請(qǐng)求引腳連接S3C44B0X外部中斷引腳EXINT1,對(duì)應(yīng)的中斷向量為1,初始化USB中斷的步驟是:使EINT1中斷使能。安裝USB中斷服程序入口到中斷向量中去。初始化IO端口G組控制器PCONG,PUPG指明EXINT1是作為中斷輸入引腳使用。設(shè)置外部中斷寄存器EXTINT,指明觸發(fā)中斷方式。初始化USB初始化USB需要使用USB讀寫函數(shù)對(duì)USB控制器內(nèi)部的控制寄存器進(jìn)行設(shè)置。需要設(shè)置的USB控制寄存器如下:首先,通過(guò)設(shè)置主控制寄存器MCNTRL軟件復(fù)位位(SRST),復(fù)位USB控制器。設(shè)置主控制寄存器MCNTRL,電壓調(diào)整位(VGE),及中斷輸出(INTOC)位,以禁止中斷輸出。寫時(shí)鐘寄存器CCONF,設(shè)置USB控制器工作頻率。初始化功能地址寄存器FAR(FunctionAddressRegister),及EPC0寄存器(Endpoint0ControlRegister),端點(diǎn)號(hào)0為雙向端點(diǎn),作控制使用。設(shè)置中斷掩碼寄存器,有主掩碼寄存器(MAMSK),無(wú)應(yīng)答事件寄存器(NAKMSK),發(fā)送事件寄存器(TXMSK),接收事件寄存器(RXMSK),Alternate事件寄存器(ALTMSK)。最后允許USB控制器中信號(hào)輸出,使控制器附加到USB總線上。USB中斷服務(wù)例程中斷服務(wù)程序處理USB控制器產(chǎn)生的中斷,它將數(shù)據(jù)從USB內(nèi)部FIFO讀出,并建立正確的事件標(biāo)志,以通知主循環(huán)程序處理?;静襟E如下:從主事件寄存器(MAEV)讀出產(chǎn)生中斷的事件。根據(jù)主事件寄存器某位狀態(tài)判別事件,接著讀取相應(yīng)的事件寄存器:接收事件寄存器(RXEV),或發(fā)送事件寄存器(TXEV),或無(wú)應(yīng)答事件寄存器(NAKEV),或Alternate事件寄存器(ALTEV)。進(jìn)一步判別事件寄存器的某位狀態(tài),根據(jù)具體事件,分別做相應(yīng)的操作。通道0(端點(diǎn)0)用于控制傳輸,在驅(qū)動(dòng)程序中調(diào)用rxevent0(),txevent0()處理端點(diǎn)0的事件。通道1中由Txevent1()處理端點(diǎn)1(單向發(fā)送)的事件,rxevent1()處理端點(diǎn)2(單向接收)的事件。通道2中由Txevent2()處理端點(diǎn)3(單向發(fā)送)的事件,rxevent2()處理端點(diǎn)4(單向接收)的事件。通道3中由Txevent3()處理端點(diǎn)5的事件,rxevent3()處理端點(diǎn)6的事件。實(shí)驗(yàn)步驟1)拷貝光盤CD1\Software\EduKit44b0文件夾到EmbestIDE\Examples\Samsung\目錄下;2)實(shí)驗(yàn)環(huán)境準(zhǔn)備。使用USB連接線連接EduKit-III的USB接口和PC主機(jī)的USB接口;通過(guò)Embest仿真器連接PC主機(jī)并行口和目標(biāo)板JTAG接口。3)編譯、鏈接、運(yùn)行USB例程。使用EmbestIDE打開USB_Test\USB_Test.pjf工作區(qū),直接編譯鏈接輸出可執(zhí)行文件USB_Test.elf,下載到EduKit-III上運(yùn)行。4)安裝USB設(shè)備驅(qū)動(dòng)程序。運(yùn)行USB例程后,Windows彈出發(fā)現(xiàn)新硬件的提示對(duì)話框,按照安裝向?qū)О惭b驅(qū)動(dòng)程序EmbestEduKit-IIIUSBDriver,驅(qū)動(dòng)程序安裝文件位于USB_Test\Driver目錄。5)運(yùn)行USB數(shù)據(jù)傳送演示軟件。運(yùn)行位于USB_Test目錄下demo.exe,出現(xiàn)如下窗口:6)發(fā)送和接收數(shù)據(jù)。在傳送數(shù)據(jù)窗口里輸入要發(fā)送的數(shù)據(jù),點(diǎn)發(fā)送按鈕,在接收數(shù)據(jù)窗口里,顯示目標(biāo)板USB控制器返回的數(shù)據(jù)。7)在PC機(jī)上觀察超級(jí)終端程序主窗口,可以看到如下界面:六、調(diào)試過(guò)程、結(jié)果和分析使用USB連接線連接USB接口和主機(jī)的USB接口,打開實(shí)驗(yàn)例程調(diào)試運(yùn)行,出現(xiàn)安裝USB驅(qū)動(dòng)程序的提示對(duì)話框,按照安裝向?qū)О惭b,選擇高級(jí)選項(xiàng),再選擇驅(qū)動(dòng)程序安裝文件的路徑即可。之后運(yùn)行demo.exe,在發(fā)送數(shù)據(jù)窗口編輯發(fā)送內(nèi)容,發(fā)送,接收數(shù)據(jù)窗口即顯示USB傳輸內(nèi)容,并與編輯發(fā)送的呢內(nèi)容相同。七、總結(jié)本次實(shí)驗(yàn)無(wú)其他習(xí)題要求,按照教材例程一步步運(yùn)行,觀察實(shí)驗(yàn)結(jié)果,熟悉步驟,無(wú)須對(duì)程序進(jìn)行改動(dòng),因此完成得非常順利,也沒(méi)有遇到特殊的問(wèn)題。八、附件/********************************************************************************************name:write_usb*func:writes9603controls/conditions/dataregister*para:addrregisteraddress*datdata*******************************************************************************************/voidwrite_usb(unsignedcharaddr,unsignedchardat){(*(volatileunsignedchar*)0x02000002)=addr;(*(volatileunsignedchar*)0x02000000)=dat;}/********************************************************************************************name:read_usb*func:reads9603controls/conditions/dataregister*para:addrregisteraddress*ret:data*******************************************************************************************/unsignedcharread_usb(unsignedcharaddr){(*(volatileunsignedchar*)0x02000002)=addr;return(*(volatileunsignedchar*)0x02000000);}/********************************************************************************************name:Isr_Init*func:Theseveranceinitialization,installstheUSBseveranceservicefunction*******************************************************************************************/voidIsr_Init(void){rINTMOD&=~BIT_EINT1;//EINT1interruptrINTMSK&=~BIT_GLOBAL;//GLOBALvalidpISR_EINT1=(int)__Eint1Isr;rPCONG=rPCONG|(3<<2);rPUPG=rPUPG&0xFD;rEXTINT=0x00;rINTMSK=rINTMSK|BIT_EINT1;}/********************************************************************************************name:Init_9603*func:theinitializationUSBN9603,initialization9603interiorregisters,attach9063toarriveonUSBHUB********************************************************************************************/voidInit_9603(void){status_GETDESC=0;usb_cfg=0;//giveasoftreset,thensetintstopushpull,activehiorlowrite_usb(MCNTRL,SRST);while(read_usb(MCNTRL)&SRST);write_usb(MCNTRL,VGE+INT_H_P);//initializetheclockgeneratorwrite_usb(CCONF,CODIS+0x0c);//setdefaultaddress,enableEP0onlywrite_usb(FAR,AD_EN+0);//FAR=FUNCTIONADDRESSREGISTERwrite_usb(EPC0,0x00);//setupinterruptmaskswrite_usb(NAKMSK,NAK_O0);//NAKevntswrite_usb(TXMSK,TXFIFO0+TXFIFO1+TXFIFO2+TXFIFO3);//TXeventswrite_usb(RXMSK,RXFIFO0+RXFIFO1+RXFIFO2+RXFIFO3);//RXeventswrite_usb(ALTMSK,SD3+RESET_A);//ALTevntswrite_usb(MAMSK,INTR_E+RX_EV+NAK+TX_EV+ALT);//enablethereceiverandgooperationalFLUSHTX0;//flushTX0anddisablewrite_usb(RXC0,RX_EN);//enablethereceiverwrite_usb(NFSR,OPR_ST);//gooperationalwrite_usb(MCNTRL,VGE+INT_L_P+NAT);//setNODEATTACHdelay(100);}/********************************************************************************************name:Eint0Isr*func:TheUSBinterruptserviceisr,processestheUSBseverance,disposestheequipment,transmitsthedata*******************************************************************************************/voidEint0Isr(void){rINTMSK=rINTMSK|BIT_EINT0;rI_ISPC=BIT_EINT0;evnt=read_usb(MAEV);//checktheeventsif(evnt&RX_EV){evnt=read_usb(RXEV);//checktheRXeventsif(evnt&RXFIFO0)rxevent_0();//endpoint0elseif(evnt&RXFIFO1)rxevent_1();//endpoint2elseif(evnt&RXFIFO2)rxevent_2();//endpoint4elseif(evnt&RXFIFO3)rxevent_3();//endpoint6}elseif(evnt&TX_EV){evnt=read_usb(TXEV);//checktheTXeventsif(evnt&TXFIFO0)txevent_0();//endpoint0elseif(evnt&TXFIFO1)txevent_1();//endpoint1elseif(evnt&TXFIFO2)txevent_2();//endpoint3elseif(evnt&TXFIFO3)txevent_3();//endpoint5}elseif(evnt&ALT)usb_alt();//alternateevent?//NAKscancomesofastandfurious(especiallywithOHCIhosts)//thattheyMUSThavealowerprioritythantheotherevents.If//theydidnot,theothereventscouldgetstarvedout.elseif(evnt&NAK){evnt=read_usb(NAKEV);//checktheNAKeventsif(evnt&NAK_O0)nak0();elseif(evnt&NAK_O1)onak1();elseif(evnt&NAK_O2)onak2();elseif(evnt&NAK_I3)inak3();}rINTMSK=rINTMSK&(~BIT_EINT0);}/********************************************************************************************name:txevent_3*func:ThissubroutinehandlesTXeventsforFIFO3(endpoint6)******************************************************************************************/voidtxevent_3(void){txstat=read_usb(TXS3);//gettransmitterstatusif(txstat&ACK_STAT){//previousdatapacketfromcurrentepwasreceived

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論