基于FPGA的圖像采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于FPGA的圖像采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于FPGA的圖像采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于FPGA的圖像采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于FPGA的圖像采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(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)介

基于FPGA的圖像采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)摘要現(xiàn)在是科技迅速發(fā)展的年代,數(shù)字圖像處理技術(shù)在這個(gè)年代中得到了迅猛的發(fā)展并在各行各業(yè)得到了廣泛的應(yīng)用??删幊踢壿嬈骷?FPGA)憑借其較低的開發(fā)成本、較高的并行處理速度、較大的靈活性及其較短的開發(fā)周期等特點(diǎn),在圖像處理系統(tǒng)中有獨(dú)特的優(yōu)勢(shì)。針對(duì)視頻圖像采集的可靠性和實(shí)時(shí)性,本設(shè)計(jì)采用Altera公司生產(chǎn)的CycloneⅡEP2C8Q208C8NK芯片,先由CCD圖像傳感器采集模擬信號(hào),在經(jīng)過(guò)芯片TVP5150將模擬量轉(zhuǎn)換為標(biāo)準(zhǔn)的YUV4:2:2的數(shù)據(jù)信號(hào),把數(shù)據(jù)信號(hào)輸入到FPGA芯片中并在其中將該數(shù)據(jù)轉(zhuǎn)換到RGB色域后在輸出到ADV7123芯片進(jìn)行D/A轉(zhuǎn)換,最后經(jīng)過(guò)VGA接口電路把處理過(guò)的圖像呈現(xiàn)在顯示屏上。經(jīng)過(guò)相關(guān)的調(diào)試工作,系統(tǒng)通用性比較好,并且移動(dòng)性能也不錯(cuò)。該系統(tǒng)的軟件部分采用自頂向下的設(shè)計(jì)方法,模塊化設(shè)計(jì)思想,硬件語(yǔ)言編程,只修改源程序,不必更改硬件電路,就可實(shí)現(xiàn)在線編程,實(shí)時(shí)控制,從而有效地減少系統(tǒng)的體積,不但增加了系統(tǒng)可靠性,降低研制成本,并且能夠?qū)刂七壿嬤M(jìn)行修改升級(jí),十分靈活。該系統(tǒng)包括三個(gè)功能模塊:圖像采集模塊、圖像處理模塊、圖像顯示模塊。關(guān)鍵詞:FPGA;TVP5150;RGB色域;ADV7123芯片ImageacquisitionsystembasedonFPGAdesignandimplementationAbstractItistherapiddevelopmentofscienceandtechnology,digitalimageprocessingtechnologyhasbeenrapiddevelopmentinthiseraandhasbeenwidelyusedinallwalksoflife,andthematurityofFPGAtechnologyhaschangedthecommonlyusedparallelcomputerordigitalsignalprocessor(DSP),aspecialintegratedcircuit(ASIC)astheembeddedprocessorusage.Programmablelogicdevice(FPGA)withitslowcost,highparallelprocessingspeed,flexibilityandshortdevelopmentcycleandothercharacteristics,hasitsuniqueadvantagesinimageprocessingsystem.Theprojectdemand,thispaperpresentsasolutionofimageacquisitionandprocessingsystembasedonFPGA,andtheuseoflowcostandhighperformanceofAlteracompany'sCyclonelIseriesFPGAEP2C8Q208C8Nasthecore,designanddevelopmentofintegratedsystemofhardwareandsoftwareofimageacquisitionandprocessing.Inviewofthereliabilityofvideoimageacquisitionandreal-timeperformance,thispaperdescribeshowtoFPGAforvideoacquisitionsystemcontrol.UsingCycloneⅡEP2C8Q208C8NKchipproducedbyAlteracompany,isresponsibleforreceivingandprocessingvideodatafromtheTVP5150decoding,convertsthedataintoRGBcolorgamutintheoutputtotheADV7123chip.Afterdebugging,thesystembettergenerality,andmobileperformanceisalsogood.Keywords:FPGA;TVP5150;RGBcolorgamut;ADV7123chip目錄1前言 11.1課題背景與意義 11.2研究的現(xiàn)狀及特點(diǎn) 21.3研究的主要內(nèi)容 22圖像采集系統(tǒng)的硬件電路設(shè)計(jì) 32.1采集系統(tǒng)硬件的總體設(shè)計(jì) 32.2FPGA核心模塊 52.3外圍電路 62.4圖像采集電路 7圖像傳感器 7A/D轉(zhuǎn)換電路 82.5圖像顯示電路 83圖像采集系統(tǒng)的軟件設(shè)計(jì) 113.1系統(tǒng)的設(shè)計(jì)環(huán)境 113.2設(shè)計(jì)的主要流程 123.3設(shè)計(jì)內(nèi)部數(shù)據(jù)量的變換 13IIC數(shù)據(jù)總線 134調(diào)試 17參考文獻(xiàn) 18致謝 19附錄 201前言1.1課題背景與意義隨著多媒體技術(shù)在各個(gè)應(yīng)用領(lǐng)域不斷普及,用戶會(huì)不斷要求新產(chǎn)品具有更大的圖像容量、更高的圖像質(zhì)量和更快的圖像處理速度,這為圖像的存儲(chǔ)和處理提出了更高的要求。在數(shù)字圖像處理可視電話通信、數(shù)字電視等應(yīng)用中,遇到的首要難題就是數(shù)據(jù)量過(guò)大,導(dǎo)致圖像傳輸和存儲(chǔ)成問(wèn)題?,F(xiàn)場(chǎng)可編程門陣列(FPGA),與傳統(tǒng)邏輯電路和門陣列相比FPGA具有不同的結(jié)構(gòu)它增強(qiáng)了電路設(shè)計(jì)的靈活性。不但降低了開發(fā)成本,而且也減小了設(shè)計(jì)風(fēng)險(xiǎn),并且充分挖掘圖像處理算法中的并行性,在較低主頻下能獲得可觀的執(zhí)行速度。因此,在信號(hào)處理方面得到了廣泛的應(yīng)用。FPGA作為系統(tǒng)以及圖像采集處理板卡的核心器件,外圍器件的電路和功能已經(jīng)得到盡可能的簡(jiǎn)化,許多外圍的功能器件的接口都不需要單獨(dú)的接口芯片來(lái)完成,均由FPGA來(lái)實(shí)現(xiàn).整個(gè)系統(tǒng)中僅僅需要FPGA以及FPGA配置芯片、SDRAM、PCI接口芯片三個(gè)主要的芯片,整體上看提高了電路的穩(wěn)定性,而且其先進(jìn)的開發(fā)工具使整個(gè)系統(tǒng)的設(shè)計(jì)調(diào)試周期大大縮短。因此FPGA內(nèi)部邏輯設(shè)計(jì)就成為圖像采集處理系統(tǒng)設(shè)計(jì)的核心和關(guān)鍵。1.2研究的現(xiàn)狀及特點(diǎn)20世紀(jì)20年代,圖像處理首次得到應(yīng)用。20世紀(jì)60年代中期,隨電子計(jì)算機(jī)的發(fā)展得到普遍應(yīng)用。60年代末,圖像處理技術(shù)不斷完善,逐漸成為一個(gè)新興的學(xué)科。利用數(shù)字圖像處理主要是為了修改圖形,改善圖像質(zhì)量,或是從圖像中提起有效信息,還有利用數(shù)字圖像處理可以對(duì)圖像進(jìn)行體積壓縮,便于傳輸和保存。數(shù)字圖像處理主要研究以下內(nèi)容:傅立葉變換、小波變換等各種圖像變換;對(duì)圖像進(jìn)行編碼和壓縮;采用各種方法對(duì)圖像進(jìn)行復(fù)原和增強(qiáng);對(duì)圖像進(jìn)行分割、描述和識(shí)別等。隨著技術(shù)的發(fā)展,數(shù)字圖像處理主要應(yīng)用于通訊技術(shù)、宇宙探索遙感技術(shù)和生物工程等領(lǐng)域。數(shù)字圖像處理因易于實(shí)現(xiàn)非線性處理,處理程序和處理參數(shù)可變,故是一項(xiàng)通用性強(qiáng)、精度高、處理方法靈活、信息保存、傳送可靠的圖像處理技術(shù)。主要用于圖像變換、量測(cè)、模式識(shí)別、模擬以及圖像產(chǎn)生,并廣泛應(yīng)用在遙感、宇宙觀測(cè)、影像醫(yī)學(xué)、通信、刑偵及多種工業(yè)領(lǐng)域[1]。而在對(duì)圖像處理這一技術(shù)上FPGA具有以下幾種特點(diǎn):(1):高性能,可以在一片F(xiàn)PGA中完成多種處理功能(2):靈活性高使產(chǎn)品快速面市,方便產(chǎn)品跟新,滿足不斷發(fā)展的需求(3):低開發(fā)成本并且結(jié)構(gòu)化容易操作(4):不會(huì)過(guò)時(shí),其擁有非常廣泛的客戶基礎(chǔ),而且FPGA可以很容易的從一個(gè)工作節(jié)點(diǎn)移植到下一個(gè)工作節(jié)點(diǎn)。1.3研究的主要內(nèi)容先利用CCD圖像傳感器采集圖像模擬量輸入給TVP5150芯片,再利用Altera公司的CyclonelI系列FPGAEP2C8Q208C8N芯片,負(fù)責(zé)接受和處理來(lái)自TVP5150解碼后的視頻數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)換到RGB色域后在輸出到ADV7123芯片再傳輸?shù)揭壕э@示器。在系統(tǒng)設(shè)計(jì)過(guò)程中需要研究以下問(wèn)題:(1):制定圖像采集系統(tǒng)的整體的設(shè)計(jì)方案.。(2):設(shè)計(jì)圖像采集模塊,圖像處理模塊,圖像顯示模塊,和FPGA主控制模塊。(3):程序的編譯與仿真,通過(guò)對(duì)程序的編譯與仿真實(shí)現(xiàn)了對(duì)FPGA芯片控制,將數(shù)據(jù)轉(zhuǎn)換到RGB色域后輸出。系統(tǒng)設(shè)計(jì)過(guò)程中主要通過(guò)Quartus9.1的開發(fā)環(huán)境編譯系統(tǒng)的程序,然后使用下載軟件將程序下載到單片機(jī)運(yùn)行,通過(guò)運(yùn)行情況修改程序再進(jìn)行調(diào)試。調(diào)試的是從單個(gè)模塊開始,然后進(jìn)行綜合調(diào)試至系統(tǒng)功能的實(shí)現(xiàn)。2圖像采集系統(tǒng)的硬件電路設(shè)計(jì)2.1采集系統(tǒng)硬件的總體設(shè)計(jì)如圖2-1所示:該系統(tǒng)包括幾個(gè)功能模塊:圖像采集模塊、圖像處理模塊、圖像顯示模塊。其中圖像采集模塊主要由外接攝像頭和TVP5150解碼芯片組成,完成視頻信號(hào)的采集和硬件解碼能,并以ITU-656標(biāo)準(zhǔn)輸出YUV4:2:2信號(hào);圖像處理模塊選用的FPGA是Altera公司生產(chǎn)的CycloneⅡEP2C8Q208C8N芯片構(gòu)成,完成系統(tǒng)控制,視頻信號(hào)的采集以及后續(xù)處理等工作;圖像顯示模塊主要由ADV7123芯片、VGA接口和CRT顯示器等組成,主要完成視頻信號(hào)的數(shù)模轉(zhuǎn)換,輸出并顯示視頻信號(hào)。CCD攝像頭CCD攝像頭AD轉(zhuǎn)換及視頻解碼FPGA解碼色域轉(zhuǎn)換控制A/D芯片控制D/A芯片控制VGA輸出D/A轉(zhuǎn)換VGA接口CRT顯示圖2-1圖像采集系統(tǒng)的硬件總體設(shè)計(jì)在圖2-1所示視頻圖像的采集與處理過(guò)程中,F(xiàn)PGA作為整個(gè)系統(tǒng)的控制與處理核心,主要是通過(guò)該芯片的I/O管腳來(lái)控制數(shù)據(jù)采集芯片TVP5150和高速D/A轉(zhuǎn)換芯片ADV7123,并且負(fù)責(zé)接受和處理來(lái)自TVP5150解碼后的視頻數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)換到RGB色域后輸出到ADV7123芯片。實(shí)物如圖2-2所示:圖2-2硬件實(shí)物2.2FPGA核心模塊在充分考慮性價(jià)比和設(shè)計(jì)功能的基礎(chǔ)上,決定采用Altera公司CycloneII系列的FPGA,它是Altera公司最新一代SRAMI藝、中等規(guī)模的低成本FPGA,與Stratix結(jié)構(gòu)類似,是目前的主流產(chǎn)品。它支持各種單端I/O標(biāo)準(zhǔn)(如LVlvrL、LVCOS、和SSTL.2/3),通過(guò)LVDS和RSDS標(biāo)準(zhǔn)提供多達(dá)227個(gè)通道的差分I/O支持,LVDS通道高達(dá)640Mbps。它具有生成時(shí)鐘鎖相環(huán)以及DDR、SDR和快速RAM(FCRAM)存儲(chǔ)器所需的專用雙數(shù)據(jù)率(DDR)接口等。它完全支持Altera公司的NiosII處理器,支持通過(guò)SOPC(可編程片上系統(tǒng))軟件對(duì)這個(gè)系列的芯片進(jìn)行專門優(yōu)化,使其性能得到進(jìn)一步提高。其芯片如圖2-3所示:

圖2-3核心芯片引腳圖2.3外圍電路外圍電路包括多種電路模塊例如電源電路模塊,晶振電路模塊,復(fù)位電路模塊等等。在眾多電路模塊中最重要的是電源模塊,電源模塊是整個(gè)系統(tǒng)的基礎(chǔ),它為其它各個(gè)硬件系統(tǒng)模塊提供其所需的工作電源。而且由于系統(tǒng)采用的芯片較多,需要電源模塊提供多種不同的電源信號(hào),例如為數(shù)字電路芯片提供數(shù)字電壓,而對(duì)模擬電力模塊提供模擬電壓,根據(jù)此要求電源模塊的設(shè)計(jì)就需要能夠輸出多種不同標(biāo)準(zhǔn)的電壓。所以采用AC/DC電源模塊,把交流220V轉(zhuǎn)換成5V直流電再采用轉(zhuǎn)換電路,轉(zhuǎn)變成系統(tǒng)需要的電源,如數(shù)字電壓1.2V、1.5V、2.5V、3.3V等,模擬電壓2.5V。其電源轉(zhuǎn)換電路如圖2-4所示:圖2-4電源電路圖2.4圖像采集電路圖像傳感器目前來(lái)講圖像傳感器可分為模擬視頻攝像頭和數(shù)字視頻攝像頭、彩色攝像頭和黑白攝像頭、CMOS圖像傳感器和CCD圖像傳感器。其中CCD圖像傳感器以及CMOS圖像傳感器是當(dāng)今常用的兩種模擬/數(shù)字圖像傳感器。在CCD與CMOS進(jìn)行對(duì)比基本上兩者都是利用矽感光二極體(photodiode)進(jìn)行光與電的轉(zhuǎn)換。光線越強(qiáng)、電力越強(qiáng);反之,光線越弱、電力也越弱的道理,將光影像轉(zhuǎn)換為電子數(shù)字信號(hào)。由于構(gòu)造上的基本差異,我們可以表列出兩者在性能上的表現(xiàn)之不同。CCD的特色在于充分保持信號(hào)在傳輸時(shí)不失真(專屬通道設(shè)計(jì)),透過(guò)每一個(gè)像素集合至單一放大器上再做統(tǒng)一處理,可以保持資料的完整性;CMOS的制程較簡(jiǎn)單,沒有專屬通道的設(shè)計(jì),因此必須先行放大再整合各個(gè)像素的資料。因此在本次實(shí)驗(yàn)中決定采用CCD圖像傳感器。如圖2-5所示:圖2-5CCD圖像傳感器2.4.2A/D轉(zhuǎn)換電路本設(shè)計(jì)采用的A/D轉(zhuǎn)換芯片是TVP5150芯片。此芯片采用四面32腳封裝。TVP5150是超低功耗,支持NTSC/PAL/SECAM等高格式的高性能視頻解碼器,它正常工作時(shí),功耗僅115MW。它可以接受兩路CVBS或一路S-VIDEO信號(hào),通過(guò)IIC總線設(shè)置其內(nèi)部寄存器,可以輸出8位4:2:2的ITUBT.656信號(hào)。TVP51510芯片采用14.13818MHZ晶振作為輸入時(shí)鐘,數(shù)字和模擬量均為1.8V,IO口電壓為3.3V;信號(hào)輸入有IP1A和IP1B兩路,并且都進(jìn)行阻抗匹配設(shè)計(jì),防止對(duì)輸入量信號(hào)的反射;YOUT【0:7】輸出8路YCbCr信號(hào),行場(chǎng)同步信號(hào)選擇引腳HSYNC和VSYNC輸出;SCLK引腳向DM644芯片輸出27MHZ時(shí)鐘信號(hào),用來(lái)同步采集。其電路如圖2-6所示:圖2-6A/D轉(zhuǎn)換電路2.5圖像顯示電路圖像顯示電路包括了D/A轉(zhuǎn)換電路和VGA接口電路。本實(shí)驗(yàn)采用的D/A轉(zhuǎn)換芯片是ADV7123芯片。ADV7123是三路高速、10位輸入的視頻DA轉(zhuǎn)換器,具有330MHz的最大采樣速度,與多種高精度的顯示系統(tǒng)兼容,包括RS2343A和RS2170,可以廣泛應(yīng)用于如HDTV、數(shù)字視頻系統(tǒng)(1600×1200@100Hz)、高分辨率的彩色圖片圖像處理、視頻信號(hào)再現(xiàn)等,因此能夠滿足我們多方面應(yīng)用需求。VGA接口是一種D型接口,上面共有15針孔,分成三排,每排五個(gè)。其中,除了2根NC(NotConnect)信號(hào)、3根顯示數(shù)據(jù)總線和5個(gè)GND信號(hào),比較重要的是3根RGB彩色分量信號(hào)和2根掃描同步信號(hào)HSYNC和VSYNC針。VGA接口中彩色分量采用RS343電平標(biāo)準(zhǔn)。其總體電路如圖2-7所示:圖2-7D/A轉(zhuǎn)換電路3圖像采集系統(tǒng)的軟件設(shè)計(jì)3.1系統(tǒng)的設(shè)計(jì)環(huán)境本次實(shí)驗(yàn)采用的是QuartusII9.1軟件提供的多平臺(tái)設(shè)計(jì)環(huán)境。Altera公司的QuartusII軟件提供了可編程片上系統(tǒng)設(shè)計(jì)的一個(gè)綜合開發(fā)環(huán)境,是進(jìn)行EDA設(shè)計(jì)的基礎(chǔ)工具。QuartusII集成開發(fā)環(huán)境包括以下內(nèi)容:系統(tǒng)級(jí)設(shè)計(jì),嵌入式軟件開發(fā),可編程邏輯器件(PLD)設(shè)計(jì),綜合,布局和布線,驗(yàn)證和仿真。QuartusII設(shè)計(jì)軟件根據(jù)設(shè)計(jì)者需要提供了一個(gè)完整的多平臺(tái)開發(fā)環(huán)境,它包含整個(gè)FPGA和CPLD設(shè)計(jì)階段的解決方案。與以往的EDA工具相比,它更適合于設(shè)計(jì)團(tuán)隊(duì)基于模塊的層次化設(shè)計(jì)方法。QuartusII軟件的典型設(shè)計(jì)流程一般可分為設(shè)計(jì)輸入、設(shè)計(jì)實(shí)現(xiàn)和器件編程三個(gè)設(shè)計(jì)步驟及相應(yīng)的功能仿真、時(shí)序仿真和器件測(cè)試三個(gè)設(shè)計(jì)驗(yàn)證過(guò)程:設(shè)計(jì)輸入:設(shè)計(jì)輸入有多種方式,目前最常用的有電路圖和硬件描述語(yǔ)言兩種。對(duì)于簡(jiǎn)單的設(shè)計(jì),可采用原理圖或ABEL語(yǔ)言設(shè)計(jì)。對(duì)于復(fù)雜的設(shè)計(jì),可使用原理圖或硬件描述語(yǔ)言(如VHDL,Verilog語(yǔ)言等),或兩者混用,采用層次化設(shè)計(jì)方法,分模塊、分層次地進(jìn)行描述。設(shè)計(jì)輸入軟件在設(shè)計(jì)輸入時(shí)會(huì)檢查語(yǔ)法錯(cuò)誤,產(chǎn)生網(wǎng)表文件,供設(shè)計(jì)實(shí)現(xiàn)和設(shè)計(jì)校驗(yàn)用。設(shè)計(jì)實(shí)現(xiàn):設(shè)計(jì)實(shí)現(xiàn)是指從設(shè)計(jì)輸入文件到位流文件的編譯過(guò)程。在該過(guò)程中,編譯軟件自動(dòng)地對(duì)設(shè)計(jì)文件進(jìn)行綜合、優(yōu)化并針對(duì)所選中的器件進(jìn)行映射、布局和布線,產(chǎn)生相應(yīng)的位流數(shù)據(jù)文件。器件編程:器件的編程也稱為器件的配置,就是將位流數(shù)據(jù)文件配置到相應(yīng)的FPGA器件中。FPGA器件的配置方式分為兩大類;主動(dòng)配置方式和被動(dòng)配置方式。主動(dòng)配置方式是由GAL器件引導(dǎo)配置操作過(guò)程,它控制著外部存儲(chǔ)器和初始化過(guò)程;而被動(dòng)配置是由外部機(jī)或控制器控制配置過(guò)程。設(shè)計(jì)校驗(yàn):對(duì)應(yīng)于功能仿真、時(shí)序仿真、器件測(cè)試組成的設(shè)計(jì)驗(yàn)證過(guò)程。功能仿真驗(yàn)證設(shè)計(jì)的邏輯功能。在設(shè)計(jì)輸入過(guò)程中,對(duì)部分功能或整個(gè)設(shè)計(jì)均可進(jìn)行功能仿真。時(shí)序仿真是在設(shè)計(jì)實(shí)現(xiàn)后,針對(duì)器件的布局、布線方案進(jìn)行的時(shí)延仿真,分析定時(shí)關(guān)系。器件測(cè)試是在器件編程后,通過(guò)實(shí)驗(yàn)或借助于測(cè)試工具,測(cè)試器件最終功能和性能指標(biāo)。開發(fā)環(huán)境如圖3-1所示:圖3-1Quartus開發(fā)環(huán)境3.2設(shè)計(jì)的主要流程本次實(shí)驗(yàn)其主要流程[7]如圖3-2所示:設(shè)計(jì)輸入設(shè)計(jì)輸入綜合適配時(shí)序分析仿真下載CCD攝像頭約束圖3-2設(shè)計(jì)流程圖具體設(shè)計(jì)步驟:一是設(shè)計(jì)輸入,可以原理圖輸入,也可以用VHDL語(yǔ)言輸入;輸入完成后,就綜合(其實(shí)綜合就是編譯,點(diǎn)擊COMPILE圖標(biāo)就可以了,軟件會(huì)自動(dòng)實(shí)現(xiàn)綜合過(guò)程);編譯成功后,就開始時(shí)序仿真,通過(guò)創(chuàng)建輸入信號(hào)波形(也就是激勵(lì)文件),自動(dòng)產(chǎn)生輸出波形,看輸出波形否和我們?cè)O(shè)計(jì)的一致,是否正確,正確的話,通過(guò)JTAG下載。3.3設(shè)計(jì)內(nèi)部數(shù)據(jù)量的變換根據(jù)視頻圖像采集系統(tǒng)軟件設(shè)計(jì)的功能可以推測(cè)出本實(shí)驗(yàn)包括的主要模塊有IIC_CONFIG模塊和TV_TO_VGA模塊。其中IIC_CONFIG模塊主要是用來(lái)通過(guò)給TVP5150賦值來(lái)控制TVP5150工作模式。TVP5150采用IIC總線接口配置,采用VerilogHDL硬件描述語(yǔ)言設(shè)計(jì)實(shí)現(xiàn),集成了一個(gè)視頻解碼器,能夠滿足高達(dá)6通道模擬視頻輸入,可以自動(dòng)檢測(cè)標(biāo)準(zhǔn)模擬基帶電視信號(hào),包括NTSC,PAL,SECAM視頻制式,轉(zhuǎn)換為符合CCIR601/CCIR656的4:2:2分量數(shù)字視頻數(shù)據(jù)。對(duì)TVP5150的配置,只需將數(shù)據(jù)寫入TVP5150的寄存器中,所以IIC控制器只需實(shí)現(xiàn)IIC的寫數(shù)據(jù)控制。整個(gè)功能由兩個(gè)模塊來(lái)完成,IIC_Controller模塊用來(lái)產(chǎn)生IIC總線規(guī)范的時(shí)序,IIC_Config模塊用來(lái)產(chǎn)生需要配置的寄存器的地址和配置參數(shù)[5]。TV_TO_VGA模塊主要包括ITU_R656解碼模塊、視頻圖像存儲(chǔ)模塊、YUV到RGB色域模塊,完成的功能包含視頻信號(hào)的采集、分配、存儲(chǔ)以及色度空間的轉(zhuǎn)換。ITU_R656解碼模塊對(duì)電視解碼器芯片TVP5150解碼得到的YCrCb(4:4:2)數(shù)據(jù)源在插值之后得到Y(jié)CrCb(4:4:4)信號(hào),同時(shí)生成13.5MHz的像素時(shí)鐘及消隱信號(hào)。其中雙端口線路緩沖器模塊和HSYNC×2模塊可以實(shí)現(xiàn)去交織操作,時(shí)鐘像素從13.5MHz變?yōu)?7MHz,HSYNC信號(hào)從31.4kHz降到15.7kHz。雙端口吸納路緩沖器模塊內(nèi)部使用一個(gè)1K字節(jié)長(zhǎng)的雙口SRAM將YCrCb數(shù)據(jù)量加倍。最終YCrCb2RGB模塊將YCrCb×2數(shù)據(jù)送到VGA顯示器上輸出,VGA時(shí)序發(fā)生器模塊用來(lái)生成單獨(dú)的VGA同步信號(hào)VGA_HS和VGA_VS,以便VGA顯示器顯示輸出數(shù)據(jù)[8]。IIC數(shù)據(jù)總線IIC總線是用于連接微控制器及外圍設(shè)備的。其主要特征有以下幾點(diǎn):(1):只要求兩條總線線路:一條串行數(shù)據(jù)線SDA,一條串行時(shí)鐘線SCL。(2):每個(gè)連接到總線的器件都可以通過(guò)唯一的地址和一直存在的簡(jiǎn)單的主機(jī)/從機(jī)關(guān)系軟件設(shè)定地址,主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接收器;(3):它是一個(gè)真正的多主機(jī)總線,如果兩個(gè)或更多主機(jī)同時(shí)初始化,數(shù)據(jù)傳輸可以通過(guò)沖突檢測(cè)和仲裁防止數(shù)據(jù)被破壞;(4):串行的8位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100kbit/s,快速模式下可達(dá)400kbit/s,高速模式下可達(dá)3.4Mbit/s;(5):連接到相同總線的IC數(shù)量只受到總線的最大電容400pF限制。而實(shí)現(xiàn)實(shí)現(xiàn)IIC總線通信協(xié)議主要有兩種方法:利用MCU對(duì)兩根I/O口線進(jìn)行軟件編程,模擬IIC總線的SCL和SDA時(shí)序要求;使用專用IIC總線控制核,但受其主機(jī)接口方式和時(shí)鐘頻率的限制,在有些場(chǎng)合應(yīng)用并不方便。本設(shè)計(jì)中用VHDL對(duì)FPGA的兩根I/O口進(jìn)行IIC總線控制核設(shè)計(jì)。IIC控制模塊的設(shè)計(jì)按照的是自頂而下的方法。其可分成三個(gè)模塊:12C_TOP模塊、IIC_CMD模塊、12C_CORE模塊。其大致結(jié)構(gòu)如圖3-3所示:IICIIC_TOP模塊IIC_CMD模塊IIC_CORE模塊CCD外部采集設(shè)備圖3-3IIC模塊內(nèi)部設(shè)計(jì)此圖中IIC_TOP是頂層控制模塊主要負(fù)責(zé)接受FPGA發(fā)來(lái)的控制信號(hào)、命令及數(shù)據(jù);發(fā)送由從設(shè)備讀出的數(shù)據(jù)和確認(rèn)位到FPGA;實(shí)現(xiàn)IIC控制核與FPGA的中斷通信機(jī)制;提供當(dāng)前IIC的工作狀態(tài);把FPGA發(fā)出的命令信號(hào)IIC_cmd模塊。IIC控制設(shè)計(jì)的核心工作是對(duì)IIC總線命令及時(shí)序的狀態(tài)發(fā)送到劃分。在控制核內(nèi)設(shè)置了兩個(gè)狀態(tài)機(jī),分別稱為命令狀態(tài)機(jī)和時(shí)序狀態(tài)機(jī),其中命令狀態(tài)機(jī)用于管理IIC總線具體的讀寫操作的命令狀態(tài)轉(zhuǎn)移過(guò)程;時(shí)序狀態(tài)機(jī)用于實(shí)現(xiàn)IIC總線上啟動(dòng)、停止、讀、寫、確認(rèn)等命令的具體時(shí)序關(guān)系。IIC的工作原理:IIC總線是由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在CPU與被控IC之間、IC與IC之間進(jìn)行雙向傳送,最高傳送速率100kbps。各種被控制電路均并聯(lián)在這條總線上,但就像電話機(jī)一樣只有撥通各自的號(hào)碼才能工作,所以每個(gè)電路和模塊都有唯一的地址,在信息的傳輸過(guò)程中,IIC總線上并接的每一模塊電路既是主控器(或被控器),又是發(fā)送器(或接收器),這取決于它所要完成的功能。CPU發(fā)出的控制信號(hào)分為地址碼和控制量?jī)刹糠?,地址碼用來(lái)選址,即接通需要控制的電路,確定控制的種類;控制量決定該調(diào)整的類別(如對(duì)比度、亮度等)及需要調(diào)整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨(dú)立,互不相關(guān)。IIC總線在傳送數(shù)據(jù)過(guò)程中共有三種類型信號(hào),它們分別是:開始信號(hào)、結(jié)束信號(hào)和應(yīng)答信號(hào)。開始信號(hào):SCL為高電平時(shí),SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。結(jié)束信號(hào):SCL為低電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。應(yīng)答信號(hào):接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個(gè)信號(hào)后,等待受控單元發(fā)出一個(gè)應(yīng)答信號(hào),CPU接收到應(yīng)答信號(hào)后,根據(jù)實(shí)際情況作出是否繼續(xù)傳遞信號(hào)的判斷。若未收到應(yīng)答信號(hào),由判斷為受控單元出現(xiàn)故障。IIC時(shí)序模塊的電平交換如圖3-4所示:圖3-4IIC時(shí)序模塊的電平交換目前有很多半導(dǎo)體集成電路上都集成了IIC接口。帶有IIC接口的單片機(jī)有:CYGNAL的C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲(chǔ)器、監(jiān)控芯片等也提供IIC接口。數(shù)據(jù)掃描程序水平線像素計(jì)數(shù):在計(jì)數(shù)過(guò)程中先給與一個(gè)信號(hào),如果是下降沿信號(hào)則像素計(jì)數(shù)器清零,如果不是則檢查是否為最后一行,如果是則像素計(jì)數(shù)器清零,不是的話開始計(jì)數(shù)。always@(posedgepixel_clockornegedge_reset_n)beginif(!reset_n)begin //寄存器清0 pixel_count<=11'h000; end elseif(pixel_count==(`H_TOTAL-1)) begin //最后一行 pixel_count<=11'h000; //寄存器清0 end else begin pixel_count<=pixel_count+1; end end創(chuàng)建水平同步脈沖:always@(posedgepixel_clockornegedgereset_n)begin if(!reset_n) begin hs<=1'b0; //計(jì)數(shù)器清0 end elseif(pixel_count==(`H_ACTIVE+`H_FRONT_PORCH-1)) begin //開始計(jì)數(shù) hs<=1'b1; end elseif(pixel_count==(`H_TOTAL-`H_BACK_PORCH-1)) begin //停止計(jì)數(shù) hs<=1'b0; end endIICC總線初始化:IIC模塊的初始化包括以下幾個(gè)方面:1.從機(jī)初始化(1)寫:IICA——設(shè)置從地址。(2)寫:IICC——使能IIC和中斷。(3)初始化若干所需RAM變量用于數(shù)據(jù)傳輸。2.主機(jī)初始化(1)寫:IICF——設(shè)置IIC波特率。(2)寫:IICC——使能IIC和中斷。(3)初始化若干所需的RAM變量用于數(shù)據(jù)傳輸。(4)寫:IICC——使能TX(這一位表征發(fā)送/接收)。(5)寫:IICC——使能MST(主模式)。(6)寫:IICD尋址從目標(biāo)(這個(gè)字節(jié)的最低一位將確定這次通信是主接收還是主發(fā)送)。IIC總線在圖像采集系統(tǒng)中初始化過(guò)程[14]如圖3-5所示:視頻設(shè)備開啟視頻設(shè)備開啟獲取設(shè)備信息和圖像信息初始化采集窗口、顏色模式、幀狀態(tài)捕捉視頻數(shù)據(jù)是否終止視頻采集關(guān)閉視頻設(shè)備結(jié)束開始圖像數(shù)據(jù)處理NY圖3-5IIC初始化過(guò)程圖4調(diào)試檢查硬件電路,測(cè)試電路板能否正常工作。若硬件電路沒有問(wèn)題的話,即可給電路板加電進(jìn)行測(cè)試,加載如見對(duì)軟件進(jìn)行測(cè)試。通過(guò)實(shí)驗(yàn)板上FPGA的對(duì)圖像解碼芯片TVP5150芯片以及ADV7123芯片進(jìn)行初始化,圖像數(shù)據(jù)由PAL制式的CCD攝像頭提供,由圖像解碼芯片TVP5150轉(zhuǎn)換成數(shù)字圖像后,采集到FPGA中相應(yīng)的處理過(guò)后再通過(guò)FPGA將數(shù)據(jù)發(fā)送給數(shù)模轉(zhuǎn)換芯片ADV7123,由ADV7123將數(shù)字信號(hào)轉(zhuǎn)換成模擬視頻信號(hào),通過(guò)VGA接口輸出到CRT顯示器上即可驗(yàn)證結(jié)果的正確與否。其結(jié)果如下:圖4-1圖像采集系統(tǒng)的調(diào)試結(jié)果參考文獻(xiàn) [1]劉煥軍,王耀南,段峰.機(jī)器視覺中的圖像采集技術(shù).電腦與信息技術(shù).2003年第1期[2]陸紹強(qiáng).FPGA將逐漸取代ASIC和ASSP.電子產(chǎn)品世界,2000.9[3]李玉山等.圖像采集及邊緣提取ASIC設(shè)計(jì).西安電子科技大學(xué)學(xué)報(bào),1995[4]李廣軍,孟憲元.可編程ASIC設(shè)計(jì)與應(yīng)用.成都,電子科技大學(xué)出版社,2000[5]宋萬(wàn)杰,羅豐,吳順君.CPLD技術(shù)[7]褚振勇,翁木云.FPGA設(shè)計(jì)與應(yīng)用.西安:西安點(diǎn)子科技大學(xué)出版社,2002[8]姚天任,江太輝.數(shù)字信號(hào)處理.武漢:華中理工大學(xué)出版社,1987[9]姚天任,孫洪.現(xiàn)代數(shù)字信號(hào)處理.武漢及其應(yīng)用.西安西安電子科技大學(xué)出版社,1999[10]章毓晉.圖像處理與分析.北京:清華大學(xué)出版社,1999[11]沈庭芝.數(shù)字圖像處理及模式識(shí)別.北京:北京理工大學(xué)出版社,1998[12]康華光.電子技術(shù)基礎(chǔ)模擬部分.北京:高等教育出版社,1979[13]沙吉樂(lè),曲興華,關(guān)紅彥等.基于FPGA技術(shù)的新型高速圖像采集[J].集成電路應(yīng)用,2000[14]劉煥軍,王耀南,段峰.機(jī)器視覺的圖像采集技術(shù).電腦信息與技術(shù),2003附錄IIC_controller.v///Copyright(c)2005byTerasicTechnologiesInc.//////Permission:////Terasicgrantspermissiontouseandmodifythiscodeforuse//insynthesisforallTerasicDevelopmentBoardsandAltreaDevelopment//KitsmadebyTerasic.Otheruseofthiscode,includingtheselling//,duplication,ormodificationofanyportionisstrictlyprohibited.////Disclaimer:////ThisVHDLorVerilogsourcecodeisintendedasadesignreference//whichillustrateshowthesetypesoffunctionscanbeimplemented.//Itistheuser'sresponsibilitytoverifytheirdesignfor//consistencyandfunctionalitythroughtheuseofformal//verificationmethods.Terasicprovidesnowarrantyregardingtheuse//orfunctionalityofthiscode. ////////TerasicTechnologiesInc//356Fu-ShinE.RdSec.1.JhuBei//HsinChuCounty//302//////////MajorFunctions:IICcontroller////////RevisionHistory:////Ver:|Author:|Mod.Date:|ChangesMade://V1.0:|JoeYang:|05/07/10:|InitialRevision//`timescale1ns/100psmoduleIIC_Controller( CLOCK, IIC_SCLK,//IICCLOCK IIC_SDAT,//IICDATA IIC_DATA,//DATA:[SLAVE_ADDR,SUB_ADDR,DATA] GO,//GOtransfor END,//ENDtransfor W_R,//W_R ACK,//ACK RESET, //TEST SD_COUNTER, SDO); inputCLOCK; input[23:0]IIC_DATA; inputGO; inputRESET; inputW_R; inoutIIC_SDAT; outputIIC_SCLK; outputEND; outputACK;//TEST output[5:0]SD_COUNTER; outputSDO;regSDO;regSCLK;regEND;reg[23:0]SD;reg[7:0]SD_COUNTER;regIIC_SCLK;//wireIIC_SCLK=SCLK|(((SD_COUNTER>=4)&(SD_COUNTER<=30))?~CLOCK:0);wireIIC_SDAT=SDO?1'bz:0;regACK1,ACK2,ACK3;wireACK=ACK1|ACK2|ACK3;//--IICCOUNTERalways@(negedgeRESETorposedgeCLOCK)beginif(!RESET)SD_COUNTER=8'b11111111;elsebeginif(GO==0) SD_COUNTER=8'd0; else if(SD_COUNTER<8'b11111111)SD_COUNTER=SD_COUNTER+1; endend//always@(negedgeRESETorposedgeCLOCK)beginif(!RESET)beginIIC_SCLK=1;SDO=1;ACK1=0;ACK2=0;ACK3=0;END=1;endelsecase(SD_COUNTER) 8'd0:beginACK1=1;ACK2=1;ACK3=1;END=0;SDO=1;IIC_SCLK=1;end //start 8'd1:beginSD= #1 IIC_DATA;SDO= #1 1;end 8'd2:beginSDO= #1 0; end //SLAVEADDR 8'd3 :beginIIC_SCLK= #1 0; end 8'd4 :beginSDO= #1 SD[23]; end 8'd5 :beginIIC_SCLK= #1 1; end 8'd6 :beginIIC_SCLK= #1 0; end 8'd7 :SDO= #1 SD[22]; 8'd8 :beginIIC_SCLK= #1 1; end 8'd9 :beginIIC_SCLK= #1 0; end 8'd10 :SDO= #1 SD[21]; 8'd11:beginIIC_SCLK= #1 1; end 8'd12:beginIIC_SCLK= #1 0; end 8'd13 :SDO= #1 SD[20]; 8'd14:beginIIC_SCLK= #1 1; end 8'd15:beginIIC_SCLK= #1 0; end 8'd16:SDO= #1 SD[19]; 8'd17:beginIIC_SCLK= #1 1; end 8'd18:beginIIC_SCLK= #1 0; end 8'd19:SDO= #1 SD[18]; 8'd20:beginIIC_SCLK= #1 1; end 8'd21:beginIIC_SCLK= #1 0; end 8'd22:SDO= #1 SD[17]; 8'd23:beginIIC_SCLK= #1 1; end 8'd24:beginIIC_SCLK= #1 0; end 8'd25:SDO= #1 SD[16]; 8'd26:beginIIC_SCLK= #1 1; end 8'd27:beginIIC_SCLK= #1 0; end 8'd28:beginSDO= #1 1'b1;end 8'd29 : ACK1= #1 IIC_SDAT; //ACK 8'd30:beginIIC_SCLK= #1 1; end 8'd31:beginIIC_SCLK= #1 0; end //SUBADDR 8'd32:begin SDO= #1 SD[15];end 8'd33:beginIIC_SCLK= #1 1; end 8'd34:beginIIC_SCLK= #1 0; end 8'd35:SDO= #1 SD[14]; 8'd36:beginIIC_SCLK= #1 1; end 8'd37:beginIIC_SCLK= #1 0; end 8'd38:SDO= #1 SD[13]; 8'd39:beginIIC_SCLK= #1 1; end 8'd40:beginIIC_SCLK= #1 0; end 8'd41:SDO= #1 SD[12]; 8'd42:beginIIC_SCLK= #1 1; end 8'd43:beginIIC_SCLK= #1 0; end 8'd44:SDO= #1 SD[11]; 8'd45:beginIIC_SCLK= #1 1; end 8'd46:beginIIC_SCLK= #1 0; end 8'd47:SDO= #1 SD[10]; 8'd48:beginIIC_SCLK= #1 1; end 8'd49:beginIIC_SCLK= #1 0; end 8'd50:SDO= #1 SD[9]; 8'd51:beginIIC_SCLK= #1 1; end 8'd52:beginIIC_SCLK= #1 0; end 8'd53:SDO= #1 SD[8]; 8'd54:beginIIC_SCLK= #1 1; end 8'd55:beginIIC_SCLK= #1 0; end 8'd56:beginSDO= #1 1'b1;end 8'd57: beginACK2= #1 IIC_SDAT;end//ACK 8'd58:beginIIC_SCLK= #1 1; end 8'd59:beginIIC_SCLK= #1 0; end //DATA 8'd60:begin SDO= #1 SD[7];end 8'd61:beginIIC_SCLK= #1 1; end 8'd62:beginIIC_SCLK= #1 0; end 8'd63:SDO= #1 SD[6]; 8'd64:beginIIC_SCLK= #1 1; end 8'd65:beginIIC_SCLK= #1 0; end 8'd66:SDO= #1 SD[5]; 8'd67:beginIIC_SCLK= #1 1; end 8'd68:beginIIC_SCLK= #1 0; end 8'd69:SDO= #1 SD[4]; 8'd70:beginIIC_SCLK= #1 1; end 8'd71:beginIIC_SCLK= #1 0; end 8'd72:SDO= #1 SD[3]; 8'd73:beginIIC_SCLK= #1 1; end 8'd74:beginIIC_SCLK= #1 0; end 8'd75:SDO= #1 SD[2]; 8'd76:beginIIC_SCLK= #1 1; end 8'd77:beginIIC_SCLK= #1 0; end 8'd78:SDO= #1 SD[1]; 8'd79:beginIIC_SCLK= #1 1; end 8'd80:beginIIC_SCLK= #1 0; end 8'd81:SDO= #1 SD[0]; 8'd82:beginIIC_SCLK= #1 1; end 8'd83:beginIIC_SCLK= #1 0; end 8'd84:beginSDO= #1 1'b1; end 8'd85: beginACK3= #1 IIC_SDAT; end//ACK 8'd86:beginIIC_SCLK= #1 1; end 8'd87:beginIIC_SCLK= #1 0; end //stop8'd88:begin SDO= #1 1'b0;end 8'd89: begin IIC_SCLK= #1 1'b1; end 8'd90:beginSDO= #1 1'b1;END= #1 1;end default:beginSDO= #1 1'b1; IIC_SCLK= #1 1'b1;endendcaseendendmoduleVGA.vinclude"svga_defines.v"moduleVGA(inputreset_n,inputpixel_clock,outputreghs,outputregvs,outputregblank,outputregDE,outputreg[23:0]rgb);reg[10:0]pixel_count;reg[10:0]line_count;regh_blank;regv_blank;regDE_d;//CREATETHEHORIZONTALLINEPIXELCOUNTERalways@(posedgepixel_clockornegedgereset_n)begin if(!reset_n) begin //onreset_nsetpixelcounterto0 pixel_count<=11'h000; end elseif(pixel_count==(`H_TOTAL-1)) begin //lastpixelintheline pixel_count<=11'h000; //reset_npixelcounter end else begin pixel_count<=pixel_count+1; end end//CREATETHEHORIZONTALSYNCHPULSEalways@(posedgepixel_clockornegedgereset_n)begin if(!reset_n) begin //onreset_n hs<=1'b0; //removeh_synch end elseif(pixel_count==(`H_ACTIVE+`H_FRONT_PORCH-1)) begin //startofh_synch hs<=1'b1; end elseif(pixel_count==(`H_TOTAL-`H_BACK_PORCH-1)) begin //endofh_synch hs<=1'b0; end end//CREATETHEVERTICALFRAMELINECOUNTERalways@(posedgepixel_clockornegedgereset_n)begin if(!reset_n) begin //onreset_nsetlinecounterto0 line_count<=10'h000; end elseif((line_count==(`V_TOTAL-1))&&(pixel_count==(`H_TOTAL-1))) begin //lastpixelinlastlineofframe line_count<=10'h000; //reset_nlinecounter end elseif((pixel_count==(`H_TOTAL-1))) begin //lastpixelbutnotlastline line_count<=line_count+1;//incrementlinecounter end end//CREATETHEVERTICALSYNCHPULSEalways@(posedgepixel_clockornegedgereset_n)begin if(!reset_n) begin //onreset_n vs=1'b0; //removev_synch end elseif((line_count==(`V_ACTIVE+`V_FRONT_PORCH-1)&& (pixel_count==`H_TOTAL-1))) begin //startofv_synch vs=1'b1; end elseif((line_count==(`V_TOTAL-`V_BACK_PORCH-1)) && (pixel_count==(`H_TOTAL-1))) begin //endofv_synch vs=1'b0; end end//CREATETHEVERTICALBLANKINGSIGNALalways@(posedgepixel_clockornegedgereset_n)begin if(!reset_n) begin //onreset DE<=1'b0; // DE_d<=1'b0; end else begin // DE_d<=!blank; DE<=DE_d; end end always@(posedgepixel_clockornegedgereset_n)begin if(!reset_n) begin //onreset h_blank<=1'b0; //removetheh_blank end elseif(pixel_count==(`H_ACTIVE-2))

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論