基于ARM與大容量NANDFLASH的GNSS數據采集系統設計與實現_第1頁
基于ARM與大容量NANDFLASH的GNSS數據采集系統設計與實現_第2頁
基于ARM與大容量NANDFLASH的GNSS數據采集系統設計與實現_第3頁
基于ARM與大容量NANDFLASH的GNSS數據采集系統設計與實現_第4頁
基于ARM與大容量NANDFLASH的GNSS數據采集系統設計與實現_第5頁
已閱讀5頁,還剩44頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、編號: 畢業設計說明書題 目:基于arm與大容量nandflash的gnss數據采集系統設計與實現 院 (系): 專 業: 學生姓名: 學 號: 指導教師: 職 稱: 題目類型: 理論研究 實驗研究 工程設計 工程技術研究 軟件開發2010年 5月 14日 xxx大學畢業設計(論文)報告用紙 第 4 頁 共 4 頁摘 要嵌入式系統是將先進的計算機技術、半導體技術和電子技術以及各個行業的具體應用相結合后的產物。它可以根據應用需求對軟硬件進行適當裁剪,以滿足應用系統對功能、可靠性、成本、體積等的需求。作為一種新興的嵌入式risc微處理器,arm微處理器目前已經成為嵌入式系統中應用最為廣泛的微處理器

2、。它支持thumb(16位)/arm(32位)雙指令集,能很好的兼容8位/16位器件,具有小體積、高性能、低成本、低功耗等特點。gps定位導航技術與計算機技術的融合在近幾年來現代信息通信領域內發展迅速。本文設計開發了一款基于arm處理器與gps接收模塊的gnss數據采集系統。本系統是gps定位技術與嵌入式技術合起來電子定位系統。 本文首先論述了系統的工作原理,分析了如何實現基于arm處理器定位數據采集系統的設計方案。在此基礎上,構建了滿足數據采集系統功能需求的軟、硬件平臺,以及軟件平臺中數據采集、數據處理、數據存儲、文件系統的制作以及上位機功能模塊的組織結構等。其次,設計實現了gps模塊與ar

3、m處理器的通信功能、人機交互的控制功能。各模塊的設計包括接口驅動程序和應用程序兩部分。通信功能模塊中,gps模塊實時接收gps定位衛星數據,并通過rs-232接口向處理器傳輸數據;處理器處理數據并進行存儲;人機交互的功能模塊中,實現了在lcd上顯示基本定位信息。 最后,測試了系統各模塊的功能,給出了系統的實現結果,根據測試結果分析了系統設計中的不足,并提出了對系統未來改進目標的設想。本系統采用的是現成的硬件平臺,所以要做的工作主要是軟件編程方面。關鍵字:arm;gps;str710;nand flashabstractembedded system is an special outcome

4、combined by advanced calculator technique, semi-conductor technique and electronics technique. it can prune software and hardware flexiblely according to the application required. so far, it has been extensively applied in social life.as a kind of 16/32 bits risc microprocessor, the microprocessor o

5、f arm has high performance, low cost and low power. so it has become one of the most extensively used embedded microprocessors.gps positioning technology and the computer technology develope rapidly in the field of modern information and communication in recent years. this paper designes a gnss data

6、 acquisition system based on an arm processor and a gps receiver. systems environment of development is an hardware platform which based on an arm microprocessor. it is an electronic positioning systems.which combines with the gps positioning technology and the embedded technology.the main contents

7、of the thesis are follows:1.the basic principle of the system are analyzed and studies how to implement an arm processor-based positioning data acquisition system. on this basis, establish a data collection system to meet the functional requirements of software and hardware platforms, including the

8、hardware platform composed of modules and connections, and software platform data acquisition, data processing, data storage, file system and pc production modules organization structure. 2. designing and implementing the gps module and the arm processor communication function, interactive control f

9、unctions. the design of each functional module interfaces and peripherals including two parts of the driver, the application. in communication module, gps receives real-time gps positioning satellite data, and transfer data to the processor through rs-232 interfaces ; processor processing data and s

10、torage; human-computer interaction function module, the lcd displays basic positioning and navigation datas 3. testing the functions of each module, and gives the results, then propose future improvements to the system goal of vision according to test results of the system. the system uses the exist

11、ing hardware platform, so the main work to be done in software programming.key words: arm;gps;str710;nand flash目 錄引言11 系統概述12 硬件模塊介紹22.1 gps oem 板22.2 微控制器32.3 外部存儲器42.4 lcm42.5 電源穩壓器53 軟件方案論證53.1 開發平臺選擇53.2 文件系統選擇63.3 通信方式選擇64 軟件設計64.1 下位機軟件設計64.1.1串口驅動模塊74.1.2 nand flash模塊94.1.3文件管理模塊144.1.4顯示模塊22

12、4.1.5上-下機命令處理模塊234.1.6 gps數據解析模塊234.2 上位機軟件設計254.2.1開發環境264.2.1串口編程方案264.2.2工作流程274.2.3命令發送模塊284.2.4數據接收模塊284.2.5文件接收與處理模塊285 軟件調試285.1 串口模塊調試285.2 液晶顯示模塊295.3 nand flash 驅動程序調試305.4 下-上位機通信接口調試305.5 上位機調試315.6 綜合調試316 測試結果分析317 結論33謝 辭34參考文獻35附 錄36 xxx大學畢業設計(論文)報告用紙 第44頁 共43頁 引言嵌入式系統的開發已經進入32位時代,當前

13、數字信息技術和網絡技術高速發展,嵌入式系統己經廣泛地滲透到科學研究、交通運輸、工程設計、軍事技術、消費類電子產品以及人們的日常生活等方面中。全球定位系統(gps)的出現對人類活動產生極大影響,具有極高的應用價值。它從根本上解決了人類在地球上的導航和定位問題,可以滿足各種不同用戶的需要。將嵌入式系統與gps的結合,必將得到廣泛的應用,而且具有較高的實用價值。全球定位系統(global positioning system, gps)是美國國防部為了滿足軍事部門對海上、陸地和空中設施進行高精度導航和定位的要求而建立的新一代衛星導航系統。是美國繼阿波羅登月和航天飛機之后的第三大空間工程. 該系統從1

14、973年開始設計研制,在經過了方案論證、系統試驗后,于1989年開始發射工作衛星,1993年全部建成并投入使用。gps系統的組成可分為:()空間衛星星座部分()地面監控部分()用戶設備部分。前兩部分是用進行定位的基礎,用戶只有借助于用戶設備才可達到定位的目的。 本文深入探討如何實現基于arm 和大容量nand flash 的gnss數據采集系統。首先介紹了系統概況,包括硬件開發平臺選型和軟件方案論證;接著詳細分析了各硬件模塊的驅動程序開發;下位機中數據采集、處理、存儲和上位機中數據的處理;最后進行了總結并提出改進意見。1 系統概述gnss(global navigation satellite

15、 system)數據采集系統主要包括gps模塊、微處理器模塊、nand flash存儲模塊、顯示模塊等。系統結構圖1.1所示:圖1.1 系統結構框圖其中gps模塊主要負責數據的接收,微處理器模塊負責數據的處理,存儲模塊負責gps數據的存儲,顯示模塊負責顯示gps定位信息,鍵盤模塊負責設定gps參數。系統的工作原理大致為:gps模塊通過串口向主機模塊發送接收到的gps數據,系統解析收到的gps數據,并將解析后的數據以一定的格式顯示在液晶模塊12864上;同時系統以特定的文件格式存儲接收到的gps數據。上位機軟件可以下載存儲在下位機里面的gps數據文件以便做進一步的分析和研究。系統設計中采用的硬件

16、平臺包括gps主板和系統板,這兩塊板都是采用現成的開發板,因此所要做工作就是軟件編程。2 硬件模塊介紹2.1 gps oem 板由于gps oem 板是gnss數據采集系統的必需模塊,是后續所有工作的前提和基礎,因此gps oem 板的正確選型十分重要。對于gps oem板的選型考慮的主要是通道數,精度和價格。目前市場上的gps的品牌和種類很多,但大多數為代工生產,核心技術掌握在國外少數廠家手中。本系統采用的是csi-hc12a,即新月-hc12a。新月hc12a是合眾思壯公司在2006年正式推出的一款gps oem 模塊。該模塊是一款12通道接收機,采用了最新的asic芯片和coast等專利

17、軟件算法,同時具有20he的原始數據、定位數據更新率,信標接收功能,差分基準站/移動站,l-dif,e-dif,1pps/event marker 等多種功能,代表了當前gps行業的最新技術趨勢。該板的性能指標如下:單頻12通道;l1載波輸出;waas功能;原始數據更新率:20hz;定位數據更新率:20hz;數據接口:3個全雙工3.3v cmos; 1個usb接口;支持數據格式:nmea 0183; slx binary; rtcm sc-104; 自有差分格式(l-dif);定位精度:單機:2.5米 (2drms)dgps:0.5米(2drms)l-dif:0.2米(2drms)e-dif:

18、1.0米(2drms,30分鐘)冷啟動時間:60秒熱啟動時間:20秒最大速度:515米/秒最大高度:18,288米2.2 微控制器微控制器是控制的核心,微控制器選型的好壞直接影響了硬件設計、制作和軟件編程的難度。本系統采用的微控制器是意法半導體arm7系列中的16/32位risc處理器str710fz2t6芯片,該芯片強大的實時處理能力和豐富的外圍接口非常適合嵌入式系統的開發,本系統正是基于該芯片的這些特點面設計的。str710fz2t6是片上集成flash和ram的微控制器系列。它基于高性能的arm7tdmi內核,擁有豐富的外設和的i/o功能;擁有非復用的16位數據和24位地址總線,可以支持

19、4個16mb的外部存儲器段。str710fz2t6是完全針對當今嵌入式系統的新需求而設計,并且成本極低。它擁有豐富的flash,ram等片上存儲資源,集成了當今最大的外設集合,被設計成多種不同的封裝,并提供完整,高效的開發工具和庫函數,幫助嵌入式工程師縮短系統開發時間。該處理器的特點如下:可選的外部存儲器str710f(144腳)擁有非復用的16位數據和24位地址總線,可以支持4個16m的外部存儲器段(bank)。為了支持多種存儲器類型(flash, eprom, rom, sram等)來存儲代碼和數據,用戶可以對每個外部存儲器段(bank)分別設置它們的等待狀態。靈活的電源管理為了減小功耗,

20、用戶可以根據系統當前情況,通過編程配置str71x系列微控制器進入slow、wait for interrupt、stop或者standby等模式。can接口str710f和str712f 片上集成can控制器模塊。can模塊提供can 2.0 接口,其位傳輸率可達到1m波特率。usb接口str710f和str711f集成片上usb device控制器,支持全速(12mb/s)usb2.0接口,能提供16個雙向端點(endpoint)和32個單向端點,支持批量傳輸及usb掛起/喚醒(suspend/resume)功能。標準定時器4個定時器,每個定時器有一個帶有7位預分頻比例因子的16位計數器,

21、至多兩個輸入捕獲、輸出比較功能,一個脈沖計數功能及一個帶可選頻率的pwm通道。實時時鐘(rtc)實時時鐘提供一組連續運行的計數器,這些計數器由低功耗的32khz的振蕩器驅動。rtc可作為通用的基準時間(timebase)使用,也可用于時鐘、日歷或報警。當str71x在standby模式下,rtc可以繼續工作,此時,rtc由低功耗電源穩壓器供電,32khz振蕩器驅動。異步串行接口(uart)4個uart允許實現與外部設備的全雙工異步通信,其接收rx和發送tx的數據傳輸率可單獨編程設置,最高可達625kb/s。hdlc接口高級數據鏈路控制器(hdlc)支持全雙工操作和nrz、nrzi、fm0或ma

22、nchester協議。內部含一個8位的波特率生成器。a/d轉換器該模擬/數字轉換器,能在單次(single-shot)模式或持續轉換模式下實現單通道或4通道的轉換。采樣率為0.5khz(在單通道模式下1khz)的情況下,分辨率可達12位。采樣電壓范圍為02.5v。看門狗定時器16位的看門狗定時器,用于保護應用程序,防止硬件或軟件錯誤,通過產生復位信號確保成功復位。i/o端口48個輸入/輸出端口可編程設置為輸入或輸出。外部中斷最多有14個外部中斷可被用戶使用,或利用這些外部中斷將系統從stop模式喚醒下載接口為jtag接口,不僅方便程序的下載而且也有助于系統的調試。2.3 外部存儲器外部存儲器主

23、要用于存儲gps數據信息,對容量有一定的要求,不能太小。外擴的存儲器為nand型flash k9f2808uoc。k9f2808uoc是一個含有4m位備用容量的128m位flash存儲器,它的vcc為3.3v,其 nand單元為固態海量存儲器市場提供了最低成本的方案。528 字節的頁編程操作時間為 200us ,16k字節的塊擦除操作時間為 2ms。頁面的數據以每個字 50ns 的速度被讀出。i/o 管腳可用作地址線,數據輸入/輸出口以及命令輸入口。片內寫控制自動實現所有編程和擦除功能,包括脈沖的周期,內部校驗和數據冗余。主要需要寫操作的系統也可利用 k9f28xxu0c的100k可靠的編程/

24、擦除周期 通過提供實時描述算法得出的特性來實現。 2.4 lcm本系統采用的lcm是ym12864,ym12864i是一種圖形點陣液晶顯示器。 它主要采用動態驅動原理由行驅動控制器和列驅動器兩部分組成了128(列)64(行)的全點陣液晶顯示。此顯示器采用了cob的軟封裝方式,通過導電橡膠和壓框連接lcd,使其壽命長,連接可靠。由于本課題中只需要在lcd上顯示一些定位信息,比如時間,日期,經緯度等,因此對液晶的要求不高,ym12864完全滿足要求。2.5 電源穩壓器系統需要+5v、+3.3v兩組電源。其中5v電源需要的電流最大。整個電源包括整流濾波、+5v穩壓、+3.3開關穩壓、3部分組成。降壓

25、開關穩壓器采用的是降壓型dc/dc轉換器lt1976。這是一款高效的,適合本系統特點的電源穩壓器。特點如下:140oc 的最高結溫寬輸入范圍:3.3v 至 60v1.5a 峰值開關電流突發模式工作:靜態電流為 100ua低停機電流:iq rxbufr; /從接受緩沖區讀一個字節if(brbyte != %) pcdatapcdataindex+ = brbyte; /如果接收到的字符不是結束字符,放入緩沖區 else pcdatapcdataindex = 0; uart0-ier &= 0x0100;/禁止接受中斷 flag_pcdata = 1;當接收到一個完整的命令后,先暫時禁止串口0接

26、收中斷,等處理完這條命令后再打開串口0接收中斷。這樣能防止命令丟失或得到的命令不完整。串口1的中斷處理函數為void uart1_irqhandler(void),串口1是用于接收gps主板發來的數據,數據格式為:$gprmc,074529.82,a,2429.6717,n,11804.6973,e,12.623,32.122,010806,w,a*08具體代碼如下:void uart1_irqhandler(void) u8 brbyte; uart_bytereceive(uart1, &brbyte, 0xff); if(flag_showcommand = 1) uart_bytese

27、nd(uart0,&brbyte);/在上位機顯示命令反饋信息 if(brbyte != 0x0d)/數據是否為結束符,如果不是放入數據緩沖區 gpsdatagpsdataindex+ = brbyte; else /數據是結束符,在數據末尾添加回車、換行 uart1-ier &= 0x0100;/禁止接受中斷flag_end = 1; gpsdatagpsdataindex+ = 0x0d;/回車 gpsdatagpsdataindex = 0x0a;/換行 4.1.2 nand flash模塊系統中外擴的nand flash 用于存儲接收到gps數據。這部分主要做的工作就是nand fla

28、sh驅動程序的編寫。nand flash 的物理結構比較特殊,不同于nor flash位讀寫,nor flash具有sram的接口,有足夠的引腳來尋址,可以很容易的存取其內部的每一個字節。而nand flash是使用復雜的i/o口來串行存取數據。8個引腳用來傳送控制、地址和數據信息。nand的讀和寫單位為512byte的頁,擦寫單位為32頁的塊。k9f2808u0c存儲容量為132 mb,其中主數據區為128 mb,輔助數據區為4 mb,工作電壓為2.73.6 v,i/o端口寬度為8 b。片內寫控制自動實現編程和擦除所有功能,包括內部校驗、脈沖的周期和數據冗余。芯片的存儲空間是按照塊和頁的概念

29、來組織的,一個芯片分為1 024個塊,每個塊有32頁,每一頁有528 b。528 b中分為512 b的數據區和16個字節的空閑區,空閑區用于存放ecc代碼、壞塊信息和文件系統相關代碼。一個528 b的數據寄存器作為數據緩沖單元,用來實現i/0緩沖和存儲器之間的數據傳輸。使用nand型flash的關鍵技術之一是存儲空間的管理。samsung公司的nand flash存儲器有一些初始無效塊(包含一個或多個壞位的存儲塊),制造商不保證這些塊的可靠性。nand flash容許成品中有壞塊存在,這是采用nand技術所特有的現象。壞塊的存在并不影響有效塊的性能。但是,系統級的設計必須能夠用地址映射把這些壞

30、塊屏蔽掉。芯片在出廠時,除保存壞塊信息的區域外,其他部分一律被擦除(值為0xff),對壞塊的讀操作是允許的,但不推薦進行寫和擦除操作,以免由于結構方面的原因使鄰近的塊也失效。系統設計時必須根據初始的壞塊信息識別出壞塊,并建立壞塊列表。進行寫或擦除操作時將欲操作塊的地址與壞塊地址表的地址相比較,若是壞塊則應跳過。為了提高存儲空間的效率,單個位數據錯誤引起的讀寫失敗都可以用ecc(校錯和糾錯)方法處理。芯片在使用過程中,可能有新壞塊的產生,為了系統的可靠性,必須對此情況加以考慮。在數據寫入或塊擦除操作后,如果讀狀態寄存器出現錯誤,則表示塊內有壞頁存在,也即表明此塊已壞,因為塊內壞頁的存在并不影響其

31、他頁的讀寫,這時可采用塊替換操作來把頁內有用數據轉移到其他空閑塊內,并把壞塊信息存入壞塊表中。主要實現的函數有 nand flash 的初始化、讀、寫和擦除4個函數,下面分別介紹。nand flash 的初始化函數主要是設置相關引腳的屬性和配置emi控制器,代碼如下:void nandflash_init(void) int id;gpio_config(gpio2, 0x0008, gpio_out_pp);/p2.3/cs3-cegpio_config(gpio2, 0x0020, gpio_out_pp);/p2.5/a21-clegpio_config(gpio2, 0x0010, g

32、pio_out_pp);/p2.4/a20-wpgpio_config(gpio2, 0x0040, gpio_out_pp);/p2.6/a22-aleemi_config(3, emi_enable |emi_waitstate(4)|emi_size_8);/使能bank3 插入5個等待周期,8位寬度nand flash 的讀函數void readpage(unsigned int block,unsigned int page,unsigned char *ppage)是讀取 nand flash 內的數據。三個參數分別為塊號、頁號和存放讀取數據的緩沖區,本函數是以頁為單位讀取的,讀取

33、流程圖如圖4.2所示:圖4.2 nand flash 讀操作流程圖函數代碼如下:void readpage(unsigned int block,unsigned int page,unsigned char *ppage)int k; page &= 0x1f;/取page的第五位,因為每塊有32頁,即用五位二進制表示 unsigned int blockpage = (block8) & 0xff;/塊地址for(k=0;k3;k+);/延時fc_data;/讀數據waitrb;/檢測當前狀態是否為忙for(k=0;k512;k+)*ppage+=nand_io; /讀512個字節wp(1

34、);/取消寫保護nand flash 的寫函數int writepage(unsigned int block, unsigned int page,unsigned char *ppage)以頁為單位寫數據。三個參數分別為塊號、頁號和要寫入數據的緩沖區,程序流程圖為圖4.3:圖4.3 nand flash 寫操作程序流程圖函數代碼如下:int writepage(unsigned int block,unsigned int page,unsigned char *ppage) u16 blockpage;u8 *source = ppage;unsigned int len = 512;p

35、age &= 0x1f;/取page的第五位,因為每塊有32頁,即用五位二進制表示block &= 0x3ff;/限制塊地址在1024之內blockpage = (block8)&0x7f;/塊地址waitrb;/檢測當前狀態是否為忙fc_data;/寫數據while(len-)nand_io=*source+;fc_cmd;/使能命令鎖存nand_io = 0x10; /自動編程命令fc_cmd;/使能命令鎖存nand_io=0x70;waitrb;/檢測是否編程結束if(0x01&nand_io) /flash 編程失敗return 1;elsereturn 0; /flash 編程成功w

36、p(0);/使能寫保護fc_inactive;/禁止flashnand flash 的塊擦除函數int erase_cluster(unsigned int cluster),其中參數cluster為要擦除塊號,擦除是以塊為單位進行擦除的。程序流程圖如圖4.4所示:圖4.4 nand flash 擦除操作流程圖代碼如下:int erase_cluster(unsigned int cluster) unsigned int blockpage = (cluster8)&0xff;塊地址fc_cmd; /使能命令鎖存nand_io = 0xd0;/寫擦除命令d0hwaitrb;/ 檢測當前狀態是

37、否為忙fc_cmd;/使能命令鎖存nand_io = 0x70; fc_data;if (nand_io & 0x1) /擦除失敗fc_inactive; uart_stringsend(uart0,(u8*)$);return 1; else /擦除成功fc_inactive; uart_stringsend(uart0,(u8*)#);return 0;wp(0);/使能寫保護對于nand flash 的讀寫其實可以尋址到頁內的每一個字節,是通過三個地址即列地址、頁地址、和塊地址以及上下半頁地址實現的。只是實際讀寫時采用以頁為單位讀寫比較方便。4.1.3文件管理模塊在軟件方案論證中已經論述

38、,本系統的文件管理系統是根據本課題需求和硬件特點編寫的,沒有采用現有的文件系統,如fatfs,fat16,fat32,yaff2等。該文件系統的主要功能包括文件的flash格式化,文件系統的初始化,文件的創建,讀,寫,刪除等基本操作,但沒有實現目錄的創建功能。它主要分為3個模塊:驅動接口模塊,數據組織結構模塊,應用層模塊。 驅動接口模塊驅動接口模塊主要是由若干個nand flash 讀、寫、擦除等基本驅動函數組成,這些驅動函數已經在nand flash 模塊中分析過,這里不再累述。 數據組織結構模塊文件管理指的主要是以文件的形式管理nand flash 內部的數據信息。對于整個flash有個與

39、之對應的文件信息結構體,它包含文件的總數,文件的總容量,存儲介質的剩余空間和一個文件結構體數組。如下所示:typedef _packed struct u8 filenum;/文件總數 file fileindexfilecount;u32 allfilesize; /所有文件大小 單位byteu32 freesize;/剩余空間 單位bytefsinfo;其中的結構體數組file fileindexfilecount 中的每一個元素是一個具體的文件,file也是一種結構體類型,包括每個文件的大小,創建時間,起始頁地址,塊地址等如下:typedef _packed struct u32 fil

40、esize; /文件大小 單位bytetime filetime;/文件創建時間u16 block_begin; /起始塊地址 u16 block_end; /結束塊地址 u8 page_begin; /起始頁地址 u8 page_end;/結束頁地址file;其中的time是一個時間結構體,用來指定該文件的創建時間:typedef _packed struct u16 year;/年 u8 month;/月 u8 day; /日u8 hour;/小時 u8 minute;/分鐘 u8 second;/秒time;那么每次運行程序是怎么加載這些文件信息的呢?首先看一個文件系統的初始化函數u8

41、fs_init(void),該函數用來初始化文件系統,得到flash內部的文件信息,代碼如下:u8 fs_init(void) readpage(0,0,fsinfocache); nandfileinfo = (fsinfo*)fsinfocache; return 0;函數很簡單,但卻很有技巧性。readpage(0,0,fsinfocache)函數是從flash的第0塊,第0頁讀取上次程序運行時存儲的文件信息,不過讀取出來的信息是字符串格式的,怎樣將這些信息加載到fsinfo結構體中呢?先看fsinfocache,該變量是一個全局型字符串變量,它的大小和fsinfo結構體的大小相同,定義如下:u8 fsinfocachefsinfo_size;當上一次保存的文件信息讀入fsinfocache后

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論