通信原理課程設計基于VHDL的HDB3碼實現(xiàn)_第1頁
通信原理課程設計基于VHDL的HDB3碼實現(xiàn)_第2頁
通信原理課程設計基于VHDL的HDB3碼實現(xiàn)_第3頁
通信原理課程設計基于VHDL的HDB3碼實現(xiàn)_第4頁
通信原理課程設計基于VHDL的HDB3碼實現(xiàn)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、通信原理課程設計報告 題 目 基于vhdl的hdb3碼實現(xiàn) 學院(部) 電子信息工程學院 專 業(yè) 通信工程(本) 學生姓名 * 學 號 2008* 年級 2008 指導教師 * 職稱 講師 二o一0年 十二 月目 錄摘 要2第一章 eda輔助設計工具的介紹31.1 fpga的介紹31.2 vhdl語言和quartus3 1.2.1 vhdl語言3 1.2.2 eda工具quartus3第二章 hdb3碼編碼器的建模與實現(xiàn)52.1 hdb3碼編碼規(guī)則52.2 基于vhdl的編碼器的建模及實現(xiàn)6 2.2.1 編碼器的vhdl建模及難點分析6 2.2.2 基于vhdl編碼器的實現(xiàn)72.3編碼中單/雙

2、極性轉(zhuǎn)換的實現(xiàn)11 2.3.1單/雙極性轉(zhuǎn)換的流程圖11 2.3.2單/雙極性變換的vhdl實現(xiàn)132.4 hdb3碼編碼器的波形仿真及分析14結(jié)論與心得16參考文獻17附 錄 hdb3碼編碼器完整源程序18 摘 要 本文以fpga為硬件平臺,基于eda工具quartus為軟件平臺上對hdb3編碼進行實現(xiàn)。通過本課程設計對eda工具軟件quartus有一個初步的認識,并熟悉其基本的編譯仿真等功能。由于在eda的軟件平臺quartus上不能處理雙極性的信號,因此對hdb3碼的編碼采用雙相碼代替原代碼,編碼部分分為加v、加b以及單/雙極性變換三個部分;quartus的平臺上對輸入的碼元進行編碼、系

3、統(tǒng)仿真,驗證了hdb3碼的編碼的正確性。關鍵詞:hdb3;vhdl;編碼;quartus第一章 eda輔助設計工具的介紹1.1 fpga的介紹 fpga是20世紀80年代中期,美國altera公司推出一種現(xiàn)場可編程門陣列,其結(jié)構主要分為三部分:可編程邏輯單元,可編程輸入輸出單元和可編程連線部分。fpga器件采用邏輯單元陣列結(jié)構和靜態(tài)隨機存取存儲器工藝,設計靈活,集成度高,可利用計算機輔助設計,繪出實現(xiàn)用戶邏輯原理圖、用硬件描述語言等方式設計輸入;然后經(jīng)一系列轉(zhuǎn)換程序、自動布局布線、模擬仿真的過程;最后生成配置fpga器件的數(shù)據(jù)文件,對fpga器件初始化。這樣實現(xiàn)了滿足用戶要求的專用集成電路,真

4、正達到了用戶自行設計、自行研制和自行生產(chǎn)集成電路的目的。概括來說,fpga器件具有下列優(yōu)點:高密度、高效率、系列化、標準化、小型化、多功能、低功耗、低成本、設計靈活方便,可無限次反復編程,并可現(xiàn)場模擬調(diào)試驗證。使得使用fpga器件,一般可在幾天到幾周內(nèi)完成一個電子系統(tǒng)的設計和制作,可以縮短研制周期,達到快速上市和進一步降低成本要求。1.2 vhdl語言和quartus1.2.1 vhdl語言常用的硬件描述性語言有vhdl和abel語言。vhdl語言起源于美國國防部的vhsic,vhdl是一種高級描述語言,適用于行為級的描述。vhdl語言具有以下的優(yōu)點:1 計方法靈活、支持廣泛 vhdl語言可以

5、支持自頂至下的設計方法,而且還支持同步電路、異步電路、fpga設計。其范圍之廣是其它方法所不能比擬的。目前大多數(shù)eda工具幾乎都支持vhdl語言。這給vhdl語言進一步推廣和應用創(chuàng)造了良好的環(huán)境。2 統(tǒng)硬件描述能力強 vhdl語言具有多層次描述系統(tǒng)硬件功能的能力,可以從系統(tǒng)的框圖直接到門級電路。1.2.2 eda工具quartusquartus軟件是美國altera公司為sopc(系統(tǒng)級可編程芯片) 提供最全面的設計平臺。它具有比起其他的編譯軟件,具有以下的優(yōu)點:開放的界面quartus ii軟件可與其它eda廠家的設計輸入、綜合、驗證工具相連接。設計人員可使用altera或標準eda設計輸入

6、工具建立電路設計,使用quartusii編譯器對altera的器件進行編譯,然后使用altera或其他標準eda驗證工具進行驗證。quartus ii系統(tǒng)的核心編譯器支持altera公司的flex10k, flex6000, max7000等可編程邏輯器件系列,除了max+plus ii以外惟一真正與結(jié)構無關的可編程邏輯設計環(huán)境。quartus的編譯器還提供了強大的邏輯綜合與優(yōu)化功能,使設計人員能比較容易地將其設計集成到可編程邏輯器件中。2.接受高級描述語言quartus ii接受多種硬件描述語言,包括vhdl、ahdl、c、c+等語言。3.良好的人機界面quartus具有比max+plus更

7、加人性化的人機界面,方便工程人員的操作?;谏鲜龅奶攸c,本文采用quartus軟件對hdb3編、譯碼的仿真驗證。第二章 hdb3碼編碼器的建模與實現(xiàn)2.1 hdb3碼編碼規(guī)則在現(xiàn)實的通信系統(tǒng)中,為了滿足基帶傳輸?shù)囊?,單極性脈沖序列必須經(jīng)過適當?shù)幕鶐Ь幋a,以保證傳輸碼型中無直流分量,有一定的自檢能力和適應不同信源的統(tǒng)計特性的能力。在基帶傳輸中,常用的碼型有ami碼、hdb3碼等。其中,ami碼是將輸入單極性波形的所有正脈沖變?yōu)檫m合于在信道傳輸?shù)恼摌O性交替的脈沖,而hdb3碼則是在ami碼基礎上改進的一種雙極性歸零碼,它除具有ami碼功率譜中無直流分量,可進行差錯自檢等優(yōu)點外,還克服了ami碼

8、當信息中出現(xiàn)連“0” 碼時定時提取困難的缺點,同時hdb3碼占用頻帶較窄。因此要了解hdb3碼的編碼規(guī)則,首先要知道ami碼的構成規(guī)則,ami碼就是把單極性脈沖序列中相鄰的“1”碼(即正脈沖)變?yōu)闃O性交替的正、負脈沖。將“0”碼保持不變,把“1”碼變?yōu)?1、-1交替的脈沖。如:表2.1 hdb3碼編碼規(guī)則代碼串1001101111100010 10 ami+1000010000+110000+10加v+1000+v1000v+11000v+10加b+1000+v1000v+11+b00v+10hdb3+1000+110001+11+1001+10hdb3碼是一種ami碼的改進型,它的編碼過程為

9、:沒有4個或4個連“0”串時,hdb3編碼規(guī)律與ami碼相同,即“1”碼變?yōu)椤?1”、 “-1”交替脈沖。當代碼序列中出現(xiàn)4個或4個以上連“0”串時,則將每4個連“0”小段即“0000”的第4個0變換成與前一非“0”符號(+1或-1)同極性的符號,用破壞符號v表示(即+1記為+v,-1記為-v)。為了使附加v符號后的序列不破壞“極性交替反轉(zhuǎn)”造成的無直流特性,還必須保證相鄰v符號也應極性交替。這一點,當相鄰v符號之間有奇數(shù)個非0符號時,則是能得到保證,當有偶數(shù)個非0符號時,則就得不到保證,這時再將該小段的第一個0變換成+b或-b,b符號的極性與前一非0符號的極性相反,并讓后面的非0符號從v符號

10、開始再交替變換。2.2 基于vhdl的編碼器的建模及實現(xiàn)2.2.1 編碼器的vhdl建模及難點分析從編碼規(guī)則來分析,hdb3碼的編碼器的設計的難點是在于如何判決是否應該添加符號“b”在實際的電路中,可以考慮用寄存器的方法,首先把信碼寄存在寄存器里,同時設置一個計數(shù)器計算兩個“v”之間“1”的個數(shù),經(jīng)過4個碼元時間后,有一個判偶電路來給寄存器發(fā)送是否添加符號“b”的判決信號,從而實現(xiàn)添加符號“b”功能。為了減少資源的消耗和電路的復雜度,在對信號進行hdb3碼編碼時,先依據(jù)hdb3碼的編碼規(guī)則進行添加破壞符號“v”然后進行添加符號“b”操作,最后才進行單極性信號變成雙極性信號的轉(zhuǎn)換。hdb3碼的編

11、碼模型如圖2.1所示。添加破壞節(jié)v添加符號b單/雙極變換換數(shù)據(jù)輸入 hdb3碼圖 2.1 hdb3碼編碼器模型如圖所示:整個hdb3碼的編碼器包括3個功能部分:添加破壞節(jié)“v”、添加符號“b”和單極性碼轉(zhuǎn)變成雙極性碼,各部分之間采用同步時鐘作用。 不過,信號處理的順序不能像編碼規(guī)則那樣:首先把代碼串變換成為ami碼,完成添加破壞節(jié)“v”、符號“b”工作之后,其后的“+1”和“-1”的極性還要依據(jù)編碼規(guī)則的規(guī)定變換。這樣做需要大量的寄存器,同時電路結(jié)構也變得復雜。因此本設計在此處把信號處理的順序變換一下:首先完成添加破壞符號“v”工作,接著執(zhí)行添加符號“b”功能,最后實現(xiàn)單極性變雙極性的信號輸出

12、。這樣做的好處是輸入進來的信號和添加破壞符號“v”、添加符號“b”功能電路中處理的信號都是單極性信號,且需要的寄存器的數(shù)目可以很少。另外,如何準備識別電路中的“1”、“v”和“b”,這也是一個難點,因為“v”和“b”符號是人為標識的符號,但在電路中最終的表示形式還是邏輯電平“1”,同時quartus軟件也不能像hdb3碼的編碼規(guī)則那樣把代碼串變換成ami碼,這是因為quartus軟件不能處理帶負號的信號,因此在軟件中本設計還是利用雙相碼來表示。雙相碼的編碼規(guī)則如下:對每個二進制代碼分別利用兩個不同相位的二進制代碼去取代。例如:表2.2 雙相碼的編碼規(guī)則信息序列11001100111雙相碼101

13、00101101001011010102.2.2 基于vhdl編碼器的實現(xiàn)1. 添加破壞符號“v”的實現(xiàn)添加破壞符號“v”模塊的功能實際上就是對消息代碼里的四個連0串的檢測,即當出現(xiàn)四個連0串的時候,把第四個“0”變換成符號“v”(“v”可以是邏輯電平“1”),而在其他的情況下,則保持消息代碼的原樣輸出,同時為了區(qū)別代碼“1”、 “v”和“0”,在添加破壞符號“v”時,用“11”標識符號“v”,用“01”標識符號“1”,用“00”標識符號“0”。如表2.3所示:表2.3 標識符代替代碼規(guī)則代碼01v標識符000111因此,添加破壞符號“v”的設計思想如下:首先判斷輸入的代碼是什么,如果輸入的符

14、號是“0”碼,則接著判斷這是第幾個“0”碼,如果是第四個“0”碼,則把這個“0”碼變換成“v”碼。在其他的情況下,讓原碼照常輸出。程序流程圖如圖2.2所示:其中: count0是作為連0的計數(shù)器。 count0_s是四個連“0”狀態(tài)寄存器。1表示遇到四個連0,0表示未遇到四個連0的狀態(tài)。開始codein_v=0? ncount0=0count0_s=0countout_v=“01” ycount0_s=0countout_v=“00”count0= count0+1count0=3? n ycount0=0count0_s=1countout_v=“11” 結(jié)束圖2.2 添加破壞符號“v”符號

15、流程圖根據(jù)圖2.2的思想,完成hdb3碼編碼的程序?qū)崿F(xiàn)添加破壞符號“v”功能的程序,以下給出實現(xiàn)添加破壞符號“v”功能的關鍵代碼,具體程序見附錄一。add_v: process(clk,clr) -添加破壞符號v程序 begin if(clkevent and clk=1)then if(clr=1)then codeoutv=00; count0codeoutv=01; -01表示1 count0 if(count0=3)then count0_s=1; codeoutv=11; count0=0; end process add_v; s0(0)=codeoutv(0); s1(0)=co

16、deoutv(1);信息序列: 10000100001100011添加破壞符號v后:0100000011010000001101010000000101此添加破壞符號“v”功能程序設計了一個計數(shù)器count0,用來作為應添加破壞符號“v”符號的標志。假設輸入某信息序列,根據(jù)設計思想,輸入代碼一添加破壞符號“v”后的關系如下:信息序列: 10000100001100011添加破壞符號v后:01000000110100000011010100000001012.添加符號“b”的實現(xiàn)根據(jù)hdb3碼的編碼規(guī)則可知:添加破壞符號“v”模塊的是為了保證附加“v”符號后的序列不破壞“極性交替反轉(zhuǎn)”造成的無直

17、流特性,即當相鄰“v”符號之間有偶數(shù)個非0符號的時候,把后一小段的第一個“0”變換成一個非破壞符號“b”符號。如圖2.3所示。其中: firstv作為前面是否出現(xiàn)“11”即符號“v”的標志位,其中0表示前面沒有出現(xiàn)v,1表示前面已經(jīng)出現(xiàn)過符號v。 count1作為記非0符號的奇偶數(shù),其中0表示為偶數(shù),1表示為奇數(shù)。 first_1遇1狀態(tài)寄存器,1表示前面遇到過1,0表示沒有遇到過。表2.4標識符代替代碼規(guī)則代碼01vb標識符00011110開始codeout_v=11codeout_v=00codeout_v=01firstv=0? ncount1=0?count1=0?first1=1?y

18、count0-s=1?count1=count1 n n n n結(jié)束codeout_b=s1(4)&s0(4)s1(4)=s1(3)s0(4)=s0(3)s1(4)=s1(3)s0(4)=s0(3)s1(4)=s1(3)s0(4)=s0(3)s1(4)=s1(3)s0(4)=s0(3)s1(4)=1s0(4)=0s1(4)=s1(3)s0(4)=s0(3)s1(4)=1s0(4)=0s1(4)=s1(3)s0(4)=s0(3)first1=1first1=1first1=1first1=1firstv=1count1=0count1=1count1=0count1=0count1=0count

19、1=0count1=0 y y y圖2.3 添加符號“b”符號流程圖如圖2.3所示可知,如何確定是“1”,還是“v”,是本課程設計所遇到的第一個難點。本程序處理難點的思路是:先把碼元(經(jīng)過添加破壞符號“v”處理過的)放入一個四位的移位寄存器中,在同步脈沖(時鐘信號)的作用下,同時進行是否添加符號“b”的判決,等到碼元從移位寄存器里出來的時候,就可以決定是應該變換成“b”符號,還是照原碼輸出。因此,在程序的結(jié)構中進行元件聲明,調(diào)用庫里的d觸發(fā)來實現(xiàn)延遲作用。為了使程序的流程更加清晰,用了四個元件例化語句dffx:dff port map(),來說明信號的流向。以下給出添加符號“b”模塊的部分程序

20、,完整的程序見附錄。ds11: dff port map(s1(0),clk,s1(1); ds01: dff port map(s0(0),clk,s0(1); ds12: dff port map(s1(1),clk,s1(2); ds02: dff port map(s0(1),clk,s0(2); ds13: dff port map(s1(2),clk,s1(3); ds03: dff port map(s0(2),clk,s0(3); -調(diào)元件dff,即d觸發(fā)器 bclk: clkb=not clk; add_b: process(clkb) begin if(clkbevent

21、and clkb=1)then if(codeoutv=11)then elsif(codeoutv=01)then if(count1=0)then first_1=1; count1=1; s1(4)=s1(3); s0(4)=s0(3); else s1(4)=s1(3); s0(4)=s0(3); end if; else count1=count1; s1(4)=s1(3); s0(4)=s0(3); end if;end if; end process add_b; codeoutb=s1(4)&s0(4);2.3編碼中單/雙極性轉(zhuǎn)換的實現(xiàn)2.3.1單/雙極性轉(zhuǎn)換的流程圖根據(jù)hdb

22、3碼的編碼規(guī)則,可知 “v”的極性是正負交替變換的,而余下的“1”和“b”本課程設計把其看成為一體且是正負交替變換的,同時滿足“v”的極性與前面的非零碼極性一致。由此本課程設計就把“1”和“b”看成一組,而“v”單獨作為一組來做正負交替變換。由此可得到程序流程圖如圖2.4、圖2.5、圖2.6所示。開始codeoutb=01 orcodeoutb=10接codeoutb=11和codeoutb=00flagob=2?flagob=1?flagob=0?n n n y y yflagov=2?flagov=1?flagov=0? n n y y y y yflagob=1flagob=2flago

23、b=1flagob=2flagob=1 codeout=01codeout=11codeout=01codeout=11codeout=01結(jié)束圖2.4 單雙極性變換控制的程序流程圖“01”和“10”部分接codeoutb=11和codeoutb=00codeoutb=11flagov=2?flagov=1?flagov=0?n n n y y yflagob=2?flagob=1?flagob=0?n n flagov=1flagov=2yy ycodeout=01codeout=11flagov=2flagov=1flagov=1codeout=11codeout=01codeout=01

24、結(jié)束圖2.5 單雙極性變換控制的程序流程圖“11”部分接codeoutb=11和codeoutb=00flagob=flagobflagov=flagovcode=00結(jié)束圖2.6單雙極性變換控制的程序流程圖“00”部分2.3.2單/雙極性變換的vhdl實現(xiàn)以下是部分實現(xiàn)單雙極性變換控制功能的關鍵代碼,具體程序見附錄。 if(clkevent and clk=1)then if(codeoutb=01) or (codeoutb=10)then -1/b if(flagob=0)then if(flagov=0)then codeout=01; flagob=1; elsif(flagov=1

25、)then codeout=11; flagob=2; elsif(flagov=2)then codeout=01; end if; elsif(flagob=1)then codeout=11; flagob=2; elsif(flagob=2)then codeout=01; flagob=1; -判01/10end if; elsif(codeoutb=11)then if(flagov=0)then elsif(flagov=1)then elsif(flagov=2)then codeout=01; flagov=1; -判v -flagov/flagob:0表示還未遇到v/b,1

26、表示遇到奇數(shù)個v/b,2表示遇到偶數(shù)個v/b else codeout=00; flagob=flagob;flagov=flagov; end if; end if; end process output;end architecture rtl;2.4 hdb3碼編碼器的波形仿真及分析圖2.7 輸入全 “0”時編碼輸出圖2.8 輸入全“1”時編碼輸出圖2.9 輸入“000000000000001000000”時編碼輸出圖2.10 輸入“100001000011000011000010” 時編碼輸出由仿真波形可以得出:codein: 11111111111111111111 codeout:

27、0111011101110111011101110111011101110111codein: 00000000000001000000codeout:01000001110000110100000100110000000110100codein: 100001000011000011000010codeout:010000000111000000110111010000011101110000110100結(jié)論與心得本課程設計采用fpga為硬件平臺,以美國altera公司的quartus為軟件平臺,根據(jù)hdb3碼的編譯碼原理,基于vhdl硬件描述性語言,采用“至頂向下”的方法來對hdb3碼進行

28、建模。此種設計方法就是把一個復雜的系統(tǒng)分成幾個部分,再把每部分劃分成若干子模塊,各模塊獨立進行設計,采用這種模塊化設計,有利于提高工作效率。同時在系統(tǒng)仿真校驗時,若發(fā)現(xiàn)不符合要求,只要查找出有問題的模塊,修改一次,則使該系統(tǒng)有問題的模塊得到更正,從而解決了由此模塊產(chǎn)生的系統(tǒng)錯誤。本課程設計采用以fpga為硬件平臺,基于vhdl語言對hdb3碼的編碼的實現(xiàn)具有如下的優(yōu)勢: 使用vhdl語言對hdb3碼的編碼,相對于采用硬件電路來實現(xiàn),可以對其采用模塊化的設計,簡化了系統(tǒng)設計的難度,降低了工程人員的工作強度。 可以在vhdl的軟件quartus上對hdb3碼的編碼代碼進行調(diào)試,正確后才下載到硬件平

29、臺上,節(jié)省了系統(tǒng)開發(fā)的成本。通過本次課程設計不僅對fpga的硬件描述語言有了進一步的認識和了解,而且認識并熟練掌握了quartus軟件的使用。本次課程設計從選題、規(guī)劃設計思路、設計模塊到仿真實現(xiàn)使我們對設計有了一個系統(tǒng)的概念,并規(guī)范了我們的設計思路。參考文獻1 樊昌信、張甫翎通信原理國防工業(yè)出版社,2005.52 譚會生、張昌凡eda技術及應用.西安科技大學出版社,200443 童詩白、華成英模擬電子技術基礎.高等教育出版社,200344 黃葆華 楊曉靜 牟華坤.通信原理.西安電子科技大學出版社.20075 潘松 黃繼業(yè)eda技術實用教程科學出版社20056 潘松 黃繼業(yè)eda技術與vhdl清

30、華大學出版社20098 王開軍,姜宇柏等.面向cpld/fpga的vhdl設計.北京:機械工業(yè)出版社,2007附錄 hdb3碼編碼器完整源程序-本程序在添加破壞符號v時用11表示v,00表示0,01表示1-添加符號b時用00表示0,01表示1,10表示b-最終輸出時是以11表示+1,00表示-1,10表示0library ieee;use ieee.std_logic_1164.all;entity enhdb3 is port(codein : in std_logic; clk : in std_logic; clr : in std_logic; codeout : out std_lo

31、gic_vector(1 downto 0);end entity enhdb3;architecture rtl of enhdb3 is signal codeoutv: std_logic_vector(1 downto 0); signal count0: integer:=0; signal s0: std_logic_vector(4 downto 0):=00000; signal count1: integer range 1 downto 0;-0表示在v之間有偶數(shù)個1,1表示在v之間有奇數(shù)個1 signal codeoutb: std_logic_vector(1 down

32、to 0); signal s1: std_logic_vector(4 downto 0):=00000; signal clkb: std_logic; signal s3: std_logic_vector(1 downto 0); signal flagob: integer range 2 downto 0; signal flagov: integer range 2 downto 0; signal firstv: integer range 1 downto 0; signal first_1: std_logic; signal count0_s:std_logic; com

33、ponent dff -調(diào)元件dff,即d觸發(fā)器 port(d: in std_logic; clk: in std_logic; q: out std_logic); end component dff; begin add_v: process(clk,clr) -添加破壞符號v程序begin if(clkevent and clk=1)then if(clr=1)then codeoutv=00; count0codeoutv=01; -01表示1 count0 if(count0=3)then count0_s=1; codeoutv=11; count0=0; else count0

34、_s=0; count0=count0+1; codeoutv codeoutv=00; count0=count0; count0_s=0; end case; end if; end if; end process add_v; s0(0)=codeoutv(0); s1(0)=codeoutv(1); ds11: dff port map(s1(0),clk,s1(1); ds01: dff port map(s0(0),clk,s0(1); ds12: dff port map(s1(1),clk,s1(2); ds02: dff port map(s0(1),clk,s0(2); d

35、s13: dff port map(s1(2),clk,s1(3); ds03: dff port map(s0(2),clk,s0(3); -調(diào)元件dff,即d觸發(fā)器bclk: clkb=not clk; add_b: process(clkb) begin if(clkbevent and clkb=1)then if(codeoutv=11)then if(firstv=0)then if(first_1=1)then count1=0; firstv=1; s1(4)=s1(3); s0(4)=s0(3); else if(count0_s=1)then firstv=1; s1(4)=1; s0(4)=0; count1=0; else count1=0; firstv=1; s1(4)=s1(3); s0(4)=s0(3); end if; end if; else if(count1=0)then-

溫馨提示

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

評論

0/150

提交評論