課程設(shè)計(jì)(論文)-基于VHDL的HDB3編譯碼器的設(shè)計(jì)1.doc_第1頁(yè)
課程設(shè)計(jì)(論文)-基于VHDL的HDB3編譯碼器的設(shè)計(jì)1.doc_第2頁(yè)
課程設(shè)計(jì)(論文)-基于VHDL的HDB3編譯碼器的設(shè)計(jì)1.doc_第3頁(yè)
課程設(shè)計(jì)(論文)-基于VHDL的HDB3編譯碼器的設(shè)計(jì)1.doc_第4頁(yè)
課程設(shè)計(jì)(論文)-基于VHDL的HDB3編譯碼器的設(shè)計(jì)1.doc_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于vhdl的hdb3編譯碼器的設(shè)計(jì) 專(zhuān)業(yè): 姓名: 班級(jí): 學(xué)號(hào): 2011-12 目錄一、設(shè)計(jì)課題:2二、設(shè)計(jì)任務(wù)及要求:2三、使用設(shè)備2四、設(shè)計(jì)時(shí)間安排:2五、基本原理2六、hdb3碼的編、譯碼器的建模與實(shí)現(xiàn)36.1 hdb3碼的編碼規(guī)則36.2 基于vhdl的編碼器的建模及實(shí)現(xiàn)3 6.2.1 插v模塊的實(shí)現(xiàn)4 6.2.2插b模塊的實(shí)現(xiàn)5 6.2.3 編碼中單/雙極性轉(zhuǎn)換的實(shí)現(xiàn)8 6.2.4 單/雙極性轉(zhuǎn)換的硬件實(shí)現(xiàn)9 6.2.5 hdb3碼的編碼器仿真波形106.3 基于vhdl的譯碼器的建模及實(shí)現(xiàn)11 6.3.1 v碼檢測(cè)模塊11 6.3.2 扣v扣b模塊12 6.3.3 hdb3碼的譯碼器仿真波形13七、參考文獻(xiàn)13八、附錄138.1 附錄一 hdb3碼編碼器程序138.2 附錄二 hdb3碼譯碼器程序16一、設(shè)計(jì)課題:基于vhdl的hdb3編譯碼器的設(shè)計(jì)二、設(shè)計(jì)任務(wù)及要求:1用vhdl進(jìn)行hdb3編譯碼器的建模與設(shè)計(jì),完成程序設(shè)計(jì)、波形仿真與 下載測(cè)試。2. 正確實(shí)現(xiàn)hdb3編譯碼(雙極性電平可用二進(jìn)制代碼表示)。3. 碼元速率可調(diào)。(選做)三、使用設(shè)備計(jì)算機(jī)、eda軟件、eda實(shí)驗(yàn)箱。四、設(shè)計(jì)時(shí)間安排: 分析課題,完成編譯碼器的vhdl建模(16周周四周五);編碼器的vhdl編程與仿真(17周周一至周三)譯碼器的vhdl編程與仿真(17周周四周五,18周周一)整體下載及測(cè)試(18周周二)。設(shè)計(jì)總結(jié)及報(bào)告(18周周三)。五、基本原理1、hdb3碼是數(shù)字基帶傳輸中常用的碼型,具有無(wú)直流分量,低頻成分少, 在有長(zhǎng)連0串時(shí)也能提取同步信號(hào),缺點(diǎn)是編譯碼電路較復(fù)雜。 2、利用vhdl進(jìn)行hdb3編譯碼器的建模與設(shè)計(jì),并通過(guò)cpld/fpga來(lái)實(shí)現(xiàn), 能較好簡(jiǎn)化電路設(shè)計(jì)。六、hdb3碼的編、譯碼器的建模與實(shí)現(xiàn) 6.1 hdb3碼的編碼規(guī)則 hdb3碼是ami碼的改進(jìn)型,稱(chēng)為三階高密度雙極性碼,它克服了ami碼的長(zhǎng)連0串現(xiàn)象。hdb3碼的編碼規(guī)則為先檢查消息代碼(二進(jìn)制)的連0串,若沒(méi)有4個(gè)或4個(gè)以上連0串,則按照ami碼的編碼規(guī)則對(duì)消息代碼進(jìn)行編碼;若出現(xiàn)4個(gè)或4個(gè)以上連0串,則將每4個(gè)連0小段的第4個(gè)0變換成與前一非0符號(hào)(+1或-1)同極性的v符號(hào),同時(shí)保證相鄰v符號(hào)的極性交替(即+1記為+v,-1記為-v);接著檢查相鄰v符號(hào)間非0符號(hào)的個(gè)數(shù)是否為偶數(shù),若為偶,則將當(dāng)前的v符號(hào)的前一非0符號(hào)后的第1個(gè)0變?yōu)?b或-b符號(hào),且b的極性與前一非0符號(hào)的極性相反,并使后面的非0符號(hào)從v符號(hào)開(kāi)始再交替變化。 6.2 基于vhdl的編碼器的建模及實(shí)現(xiàn)對(duì)信號(hào)進(jìn)行hdb3碼編碼時(shí),先依據(jù)hdb3碼的編碼規(guī)則進(jìn)行添加破壞符號(hào)“v”然后進(jìn)行添加符號(hào)“b”操作,最后才進(jìn)行單極性信號(hào)變成雙極性信號(hào)的轉(zhuǎn)換。hdb3碼的編碼模型如圖3.1所示。圖 6.1 hdb3碼編碼器模型如上圖:整個(gè)hdb3碼的編碼器包括3個(gè)功能部分:添加破壞符號(hào)“v”、添加符號(hào)“b”和單極性碼轉(zhuǎn)變成雙極性碼。信號(hào)處理的順序不能像編碼規(guī)則那樣:首先把代碼串變換成為ami碼,完成添加破壞符號(hào)“v”、添加符號(hào)“b”工作之后,其后的“+1”和“-1”的極性還要依據(jù)編碼規(guī)則的規(guī)定變換。這樣做需要大量的寄存器,同時(shí)電路結(jié)構(gòu)也變得復(fù)雜。因此本設(shè)計(jì)在此處把信號(hào)處理的順序變換一下:首先完成添加破壞符號(hào)“v”工作,接著執(zhí)行添加符號(hào)“b”功能,最后實(shí)現(xiàn)單極性變雙極性的信號(hào)輸出。這樣做的好處是輸入進(jìn)來(lái)的信號(hào)和添加破壞符號(hào)“v”、添加符號(hào)“b”功能電路中處理的信號(hào)都是單極性信號(hào),且需要的寄存器的數(shù)目可以很少。另外,如何準(zhǔn)備識(shí)別電路中的“1”、“v”和“b”,這也是一個(gè)難點(diǎn),因?yàn)椤皏”和“b”符號(hào)是人為標(biāo)識(shí)的符號(hào),但在電路中最終的表示形式還是邏輯電平“1”,同時(shí)quartus軟件也不能像hdb3碼的編碼規(guī)則那樣把代碼串變換成ami碼,這是因?yàn)閝uartus軟件不能處理帶負(fù)號(hào)的信號(hào),因此在軟件中本設(shè)計(jì)還是利用雙相碼來(lái)表示。雙相碼的編碼規(guī)則如下:對(duì)每個(gè)二進(jìn)制代碼分別利用兩個(gè)不同相位的二進(jìn)制代碼去取代。例如:信息序列:110010雙相碼: 010100000100 6.2.1 插v模塊的實(shí)現(xiàn) 添加破壞符號(hào)“v”模塊的功能實(shí)際上就是對(duì)消息代碼里的四個(gè)連0串的檢測(cè),即當(dāng)出現(xiàn)四個(gè)連0串的時(shí)候,把第四個(gè)“0”變換成符號(hào)“v”(“v”可以是邏輯電平“1”),而在其他的情況下,則保持消息代碼的原樣輸出,同時(shí)為了區(qū)別代碼“1”、 “v”和“0”,在添加破壞符號(hào)“v”時(shí),用“11”標(biāo)識(shí)符號(hào)“v”,用“01”標(biāo)識(shí)符號(hào)“1”,用“00”標(biāo)識(shí)符號(hào)“0”。因此,添加破壞符號(hào)“v”的設(shè)計(jì)思想如下:首先判斷輸入的代碼是什么,如果輸入的符號(hào)是“0”碼,則接著判斷這是第幾個(gè)“0”碼,如果是第四個(gè)“0”碼,則把這個(gè)“0”碼變換成“v”碼。在其他的情況下,讓原碼照常輸 圖6.2插v符號(hào)的流程圖出。程序流程圖如圖6.2所示: 根據(jù)圖6.2的思想,完成hdb3碼編碼的程序?qū)崿F(xiàn)添加破壞符號(hào)“v”功能的程序,以下給出實(shí)現(xiàn)添加破壞符號(hào)“v”功能的關(guān)鍵代碼,具體程序見(jiàn)附錄一 add_v:process(clk,clr) -插入v符號(hào)進(jìn)程 begin if(rising_edge(clk) then if(clr=1) then codeoutv=00; -用00代表0 count0 codeoutv=01; -用01代表1 count0 if(count0=3)then -當(dāng)有4個(gè)連續(xù)0時(shí)插入v codeoutv=11; -用11代表v count0=0; else count0=count0+1; codeoutv codeoutv=00; count0=count0; end case; end if; end if; end process add_v;這個(gè)程序設(shè)計(jì)了一個(gè)計(jì)算器(count0),用來(lái)作為應(yīng)插v符號(hào)的標(biāo)志。在進(jìn)程(process)中,通過(guò)條件控制開(kāi)關(guān)(case語(yǔ)句)完成插v功能。這里使用了一個(gè)技巧來(lái)實(shí)現(xiàn)流程的控制,即再選擇語(yǔ)句(case語(yǔ)句)中嵌套了條件判斷語(yǔ)句(if語(yǔ)句)來(lái)控制雙重條件判斷的執(zhí)行結(jié)果。假設(shè)輸入一串代碼,根據(jù)設(shè)計(jì)思想,輸入代碼與插入v符號(hào)之后的關(guān)系如下:6.2.2插b模塊的實(shí)現(xiàn)插“b”模塊的功能是為了保證附加“v”符號(hào)后的序列不破壞“極性交替反轉(zhuǎn)”造成的無(wú)直流特性,即當(dāng)相鄰“v”符號(hào)之間有偶數(shù)個(gè)非0符號(hào)的時(shí)候,把后一小段的第一個(gè)“0”變換成一個(gè)非破壞符號(hào)“b”符號(hào)。如圖6.3為實(shí)現(xiàn)插b符號(hào)的流程圖。 圖6.3 插b符號(hào)流程圖 上圖中插b模塊式這個(gè)設(shè)計(jì)遇到的一個(gè)難點(diǎn),因?yàn)樗婕暗揭粋€(gè)由現(xiàn)在事件的狀態(tài)決定過(guò)去事件狀態(tài)的問(wèn)題。其次還有如何確定是1,還是v的問(wèn)題。重下列程序中可以看到我們是如何解決這一難題的。 以下給出添加符號(hào)“b”模塊的部分程序,完整的程序見(jiàn)附錄一。 s0(0)=codeoutv(0); s1(0)=codeoutv(1); ds11: dff port map(s1(0),clk,s1(1);-調(diào)用庫(kù)中的d觸發(fā)器來(lái)實(shí)現(xiàn)延遲作用 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); bclk: clkb=not clk; add_b:process(clkb) -插入符號(hào)b進(jìn)程 begin if(rising_edge(clkb) then if(codeoutv=11) then if(firstv=0) then count1=0; firstv=1; s1(4)=s1(3); s0(4)=s0(3); else if(count1=0) then -用10代表b s1(4)=1; s0(4)=0; count1=0; else s1(4)=s1(3); s0(4)=s0(3); count1=0; end if; end if; elsif(codeoutv=01) then count1=count1+1; s1(4)=s1(3); s0(4)=s0(3); else s1(4)=s1(3); s0(4)=s0(3); count1=count1; end if; end if; end process add_b; codeoutb=s1(4)&s0(4);處理難點(diǎn)的思路是:首先把碼元(經(jīng)插v處理過(guò)的)放入一個(gè)4位的移位寄存器里,再同步時(shí)鐘的作用下,同時(shí)進(jìn)行是否插b的判決,等到碼元重移位寄存器里出來(lái)的時(shí)候,就可以決定是應(yīng)該變換成b符號(hào),還是照原碼輸出。因此,再程序的結(jié)果中進(jìn)行元件聲明(component declaration),調(diào)用庫(kù)里的d觸發(fā)器來(lái)實(shí)現(xiàn)延遲作用。為了使程序更清晰,用了元件例化語(yǔ)句(compoment instantiation),來(lái)說(shuō)明信號(hào)的流向。要進(jìn)行插b判決,首先要知道哪一個(gè)是v,從前面的程序中了解到,v已經(jīng)用11代替,1用01取代,從這里就表現(xiàn)出采用雙相碼的優(yōu)點(diǎn),它輕易地解決了v和1的差別。根據(jù)這個(gè)設(shè)計(jì)思想,輸入代碼與插b后的代碼關(guān)系如下:6.2.3 編碼中單/雙極性轉(zhuǎn)換的實(shí)現(xiàn)根據(jù)hdb3碼的編碼規(guī)則,可知 “v”的極性是正負(fù)交替變換的,而余下的“1”和“b”看成為一體且是正負(fù)交替變換的,同時(shí)滿足“v”的極性與前面的非零碼極性一致。由此把“1”和“b”看成一組,而“v”單獨(dú)作為一組來(lái)做正負(fù)交替變換。流程圖如圖6.4所示。 圖6.4 單/雙極性轉(zhuǎn)換流程圖程序如下: output:process(clk) -單極性變雙極性進(jìn)程 begin if(rising_edge(clk) then if(codeoutb=01)or(codeoutb=10)then -1 or b if(flag1b=1) then codeout=11; flag1b=0; else codeout=01; flag1b=1; end if; elsif(codeoutb=11) then -v if(flag1b=1) then codeout=01; else codeout=11; end if; else codeout=00; flag1b=flag1b; end if; end if;6.2.4 單/雙極性轉(zhuǎn)換的硬件實(shí)現(xiàn)以上程序輸出結(jié)果并不是+1、-1、0的多電平變化波形,而是單極性雙電平信號(hào)。事實(shí)上,以上程序輸出的是給單/雙極性轉(zhuǎn)換的硬件電路地址信號(hào)。利用一個(gè)四選一的數(shù)據(jù)選擇器cd74hc4052(圖6.5),可以再輸出端得到符合規(guī)則的+1、-1、0變化波形。(選擇器特性如表6.1所示) 圖6.5 cd74hc4052引腳圖表6.1 cd74hc4052的da轉(zhuǎn)換特性圖6.2.5 hdb3碼的編碼器仿真波形6.3 基于vhdl的譯碼器的建模及實(shí)現(xiàn)根據(jù)hdb3碼的編碼規(guī)則,v脈沖的極性必然和前面非0脈沖的極性一致。而當(dāng)無(wú)v脈沖時(shí),hdb3碼的脈沖是“+1”和“-1”交替變換出現(xiàn)的。而當(dāng)連續(xù)出現(xiàn)兩個(gè)“+1”或“-1”時(shí),若無(wú)誤碼時(shí),則可知后一個(gè)一定是v脈沖。因而可從所接收的信碼中找到v碼,然后根據(jù)加取代節(jié)的原則,在v碼前面的三位代碼必然是取代碼,在譯碼時(shí),需要全部復(fù)原為四個(gè)連“0”。只要找到v碼,不管v碼前面兩個(gè)碼元是“0”碼,還是3個(gè)“0”碼,只要把它們一律清零,就完成了扣v和扣b的功能,進(jìn)而得到原來(lái)的二元信碼序列。因此可實(shí)現(xiàn)hdb3碼譯碼的模型如圖6.6所示:圖6.6 hdb3碼譯碼器模型如圖6.6所示,雙/單極性變換電路由兩個(gè)正負(fù)整流電路組成。正整流電路提取正電平碼部分,負(fù)整流電路提取負(fù)電平部分。v碼檢測(cè)電路包括+v碼檢測(cè)和-v碼檢測(cè)兩部分。根據(jù)編碼規(guī)則,v脈沖必然是同極性脈沖。當(dāng)無(wú)v脈沖時(shí),傳號(hào)脈沖+1和-1交替出現(xiàn)。當(dāng)連續(xù)出現(xiàn)兩個(gè)+1或-1是,若無(wú)誤碼,則后一個(gè)一定是v脈沖。時(shí)鐘提取電路用于提取同步時(shí)鐘??踲扣b電路再v脈沖和同步時(shí)鐘的控制下,完成扣v扣b的功能。由于雙/單極性變換電路涉及到雙極性信號(hào),無(wú)法在fpga中實(shí)現(xiàn),需加外圍硬件電路。6.3.1 v碼檢測(cè)模塊 1)+v碼檢測(cè) 設(shè)從正整流電路輸出的信號(hào)為+b,從負(fù)整流電路輸出的信號(hào)為b。+v碼檢模塊-b的控制下,對(duì)輸入的+b進(jìn)行檢測(cè)。當(dāng)+b的上升沿到來(lái)時(shí),對(duì)輸入的+b脈沖進(jìn)行計(jì)數(shù),當(dāng)計(jì)數(shù)值等于2時(shí),輸出一個(gè)脈沖作為+v脈沖,同時(shí)計(jì)數(shù)器清零,而且在計(jì)數(shù)期間,一旦有-b信號(hào)為1電平時(shí),立即對(duì)計(jì)算器清零,計(jì)算器從新重零開(kāi)始計(jì)數(shù)。這是因?yàn)樵趦蓚€(gè)+b脈沖之間存在-b脈沖再hdb3碼中,是真正同極性的,于是就可以判定第二個(gè)+b脈沖實(shí)際上是+v碼,達(dá)到檢測(cè)+v碼的目的。如圖6.7 圖6.7 +v碼檢測(cè)模型2)-v碼檢測(cè)-v碼檢測(cè)原理同+v碼檢測(cè)原理相似。如圖6.8 圖6.8 -v碼檢測(cè)模型6.3.2 扣v扣b模塊用v碼檢測(cè)模塊所檢測(cè)出的v碼信號(hào),去控制一個(gè)移位寄存器,若未碰到v脈沖,則整流輸出合成信號(hào)再時(shí)鐘的節(jié)拍下,順利通過(guò)移位寄存器,當(dāng)碰到有v脈沖時(shí),該v脈沖講使移位寄存器清零??紤]到四個(gè)連0,即v脈沖及其前面的三個(gè)碼元應(yīng)為0碼,所以,可設(shè)置四位的移位寄存器,當(dāng)v碼清零時(shí),同時(shí)將移位寄存器中的四位碼全變?yōu)?。不管是否有b脈沖,在此模塊中,一并清零,因而無(wú)需另設(shè)扣b電路。另外移位四位寄存器起到延時(shí)四位時(shí)鐘周期的作用,以使所檢測(cè)出的v脈沖與信號(hào)流中的v脈沖位置對(duì)齊,保證清零的準(zhǔn)確性??踲扣b模塊的框圖如圖6.9. 圖6.9 扣v扣b模塊 譯碼器程序見(jiàn)附錄二6.3.3 hdb3碼的譯碼器仿真波形七、參考文獻(xiàn) 1.eda技術(shù)實(shí)用教程潘松 科學(xué)出版社 2.基于cpld/fpga的數(shù)字通信系統(tǒng)建模與設(shè)計(jì)段吉海電子工業(yè)出版社八、附錄 8.1 附錄一 hdb3碼編碼器程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity hdb3 isport(codein: in std_logic; clk : in std_logic;clr : in std_logic; hdb3 : out std_logic_vector(1 downto 0); codeout1: out std_logic;codeout2:out std_logic);end hdb3;architecture rtl of hdb3 issignal codeout: std_logic_vector(1 downto 0);signal count0 : integer:=0;signal codeoutv: std_logic_vector(1 downto 0);signal s0 : std_logic_vector(4 downto 0):=00000;signal s1 : std_logic_vector(4 downto 0):=00000;signal clkb : std_logic;signal count1 : integer range 1 downto 0;signal codeoutb: std_logic_vector(1 downto 0);signal flagv : integer range 1 downto 0;signal firstv : integer range 0 to 1;signal flag1b : integer range 1 downto 0;component dff -調(diào)用元件dff port (d : in std_logic; clk : in std_logic; q : out std_logic);end component;begin add_v:process(clk,clr) -插入v符號(hào)進(jìn)程 begin if(rising_edge(clk) then if(clr=1) then codeoutv=00; -用00代表0 count0 codeoutv=01; -用01代表1 count0 if(count0=3)then -當(dāng)有4個(gè)連續(xù)0時(shí)插入v codeoutv=11; -用11代表v count0=0; else count0=count0+1; codeoutv codeoutv=00; count0=count0; 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); -調(diào)用庫(kù)中的d觸發(fā)器來(lái)實(shí)現(xiàn)延遲作用 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); bclk: clkb=not clk; add_b:process(clkb) -插入符號(hào)b進(jìn)程 begin if(rising_edge(clkb) then if(codeoutv=11) then if(firstv=0) then count1=0; firstv=1; s1(4)=s1(3); s0(4)=s0(3); else if(count1=0) then -用10代表b s1(4)=1; s0(4)=0; count1=0; else s1(4)=s1(3); s0(4)=s0(3); count1=0; end if; end if; elsif(codeoutv=01) then count1=count1+1; s1(4)=s1(3); s0(4)=s0(3); else s1(4)=s1(3); s0(4)=s0(3); count1=count1; end if; end if; end process add_b; codeoutb=s1(4)&s0(4); output:process(clk) -單極性變雙極性進(jìn)程 begin if(rising_edge(clk) then if(codeoutb=01)or(codeoutb=10)then -1 or b if(flag1b=1) then codeout=11; flag1b=0; else codeout=01; flag1b=1; end if; elsif(codeoutb=11) then -v if(flag1b=1) then codeout=01; else codeout=11; end if; else codeout=00; flag1b=flag1b; end if; end if;hdb3=codeout; end process output; end rtl; 8.2 附錄二 hdb3碼譯碼器程序library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity hdb3_decode is port(out0:in std_logic; out1:in std_logic; cl

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論