DSP圖像采集與傳輸備課講稿_第1頁
DSP圖像采集與傳輸備課講稿_第2頁
DSP圖像采集與傳輸備課講稿_第3頁
DSP圖像采集與傳輸備課講稿_第4頁
DSP圖像采集與傳輸備課講稿_第5頁
已閱讀5頁,還剩169頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Good is good, but better carries it.精益求精,善益求善。DSP圖像采集與傳輸-DSP圖像采集與傳輸一、實(shí)驗(yàn)?zāi)康耐ㄟ^該實(shí)驗(yàn),掌握模擬圖像經(jīng)采集成為數(shù)字圖像的方法,以及數(shù)字圖像在該系統(tǒng)中的傳輸,掌握系統(tǒng)的資源及DSP系統(tǒng)各硬件資源的功能模塊的作用。1了解PAL和NSTC視頻格式。2掌握?qǐng)D像采集模塊和視頻解碼器TVP5150A的使用3.掌握?qǐng)D像顯示模塊和視頻編碼器SAA7121H的使用4.掌握利用DM642進(jìn)行圖像采集與顯示方法。二、實(shí)驗(yàn)原理1.數(shù)字圖像經(jīng)過數(shù)字化轉(zhuǎn)換并可以用數(shù)字表示、處理的圖像。由象素點(diǎn)組成,其中橫向的點(diǎn)數(shù)稱為水平分辨率,縱向的為垂直分辨率,一幅

2、完整的圖分為若干行,稱為一幀圖像。每個(gè)象素根據(jù)量化精度不同其取值也不同,例如取三個(gè)色彩分量均為8位二進(jìn)制數(shù)的RGB表示方法,用連續(xù)的三個(gè)8位二進(jìn)制數(shù)表示一個(gè)彩色點(diǎn),如(200,100,64)描述的點(diǎn)的紅色分量為200,綠色分量100,藍(lán)色分量64,其中每個(gè)分量的取值均為0255表示從最暗到最亮256個(gè)等級(jí)。靜態(tài)圖像可以通過連續(xù)播放產(chǎn)生動(dòng)態(tài)效果,25幀/秒或30幀/秒的幀速可產(chǎn)生較平滑的動(dòng)態(tài)顯示效果。2.色彩空間色彩空間(ColorSpace),又稱為色域空間,它表示的是一個(gè)圖像所能夠表現(xiàn)的色彩范圍。其模型是描述使用一組值(通常使用三個(gè)、四個(gè)值或者顏色成分)表示HYPERLINK/zh-cn/%

3、E9%A2%9C%E8%89%B2o顏色顏色方法的抽象數(shù)學(xué)模型。常用的色彩空間有兩種,即RGB和YUV色彩空間。其中RGB色彩空間通常為圖像采集和顯示設(shè)備采用,例如CCD、CMOS攝像頭,CRT監(jiān)視器等。因其色彩分量之間有較大的相關(guān)性,不適于做圖像處理。YCbCr是YUV色彩空間的使用最廣泛的一種色彩編碼,其中Y表示亮度,Cb表示藍(lán)色色差色差,Cr表示紅色色差。各色彩分量之間相關(guān)性小,適于進(jìn)行處理操作,通常為計(jì)算機(jī)設(shè)備采用。YCbCr采樣格式有4:4:4(完全取樣)、4:2:2(2:1水平采樣,沒有垂直下采樣)、4:2:0(2:1水平采樣,2:1垂直下采樣0、4:1:1(4:1水平取樣,沒有垂

4、直下采樣)。RGB和YCbCr色彩空間是可以相互轉(zhuǎn)換的。3視頻視頻是活動(dòng)圖像。每秒鐘播放的圖像的張數(shù)稱為幀,如PAL制式每秒鐘25幀,隔行掃描。當(dāng)每秒鐘播放的照片張數(shù)不足時(shí)會(huì)出現(xiàn)動(dòng)作不連貫現(xiàn)象。常見的電視信號(hào)制式是PAL(逐行倒相正交平衡調(diào)幅制)和NTSC(正交平衡調(diào)幅制),另外還有SECAM等。PAL電視標(biāo)準(zhǔn),每秒25幀,電視掃描線為625線,奇場在前,偶場在后,標(biāo)準(zhǔn)的數(shù)字化PAL電視標(biāo)準(zhǔn)分辨率為720 x576、24比特的色彩位。中國、歐洲等國家和地區(qū)大多采用PAL電視標(biāo)準(zhǔn)。NTSC電視標(biāo)準(zhǔn),每秒29.97幀(簡化為30幀),電視掃描線為525線,偶場在前,奇場在后,標(biāo)準(zhǔn)的數(shù)字化NTSC電

5、視標(biāo)準(zhǔn)分辨率為720 x486、24比特的色彩位。美、日等國家和地區(qū)采用NTSC電視標(biāo)準(zhǔn)。三、硬件連接SEED-VPM642圖像與視頻處理設(shè)備連接正確,計(jì)算機(jī)中CCS軟件和XDS510或XDS560驅(qū)動(dòng)安裝正確,就可以進(jìn)行圖像與視頻處理實(shí)驗(yàn)了。如圖7-1-1所示為SEED-VPM642圖像與視頻處理設(shè)備連線圖。實(shí)驗(yàn)箱連接按照以下步驟。(1)將SEED-VPM642板卡通過仿真器XDS510連接到計(jì)算機(jī)的USB口。(2)將實(shí)驗(yàn)箱的右下角的5V直流電源接線頭連接到板卡的電源端口。(3)將BNC轉(zhuǎn)接頭裝到Vout端口上。(4)將液晶顯示器支起,并將其電源接頭連接到一個(gè)12V直流電源端口。將攝像頭視頻

6、輸入頭連接到Vout上的BNC轉(zhuǎn)接頭上。(5)取出攝像頭并用三角架支好,將攝像頭連接到12V直流電源端口。(6)用BNC連接線連接攝像頭的VIDEOOUT和實(shí)驗(yàn)箱上的in,將實(shí)驗(yàn)箱電源連接到220V電源。(7)開啟電源,如連接正確,則電源端口右方的指示燈為亮,仿真器上指示燈也為亮。(8)如果液晶顯示屏不亮,請(qǐng)按其上的POWER鍵。圖7-1-1SEED-VPM642圖像與視頻處理設(shè)備連線圖四DSP圖像采集與PAL格式顯示程序設(shè)計(jì)在視頻采集與顯示任務(wù)中,程序首先將攝像頭捕捉到的視頻數(shù)據(jù)通過EDMA讀入FIFO中,然后再將數(shù)據(jù)從FIFO中讀到輸入數(shù)據(jù)緩沖區(qū),最后將輸入緩沖區(qū)的數(shù)據(jù)放入顯示緩沖區(qū),通過

7、液晶屏顯示。DSP圖像采集與PAL格式顯示程序設(shè)計(jì)流程框圖如圖7-1-2所示。圖7-1-2DSP圖像采集與處理的一般流程圖對(duì)DSP片上資源的使用,一般通過調(diào)用CSLAPI庫函數(shù)來完成的,CSL模塊是頂層API模塊,使用CSLAPI前必須調(diào)用此函數(shù)。下面是主程序用到的一些CSLAPI和函數(shù)。CSL_init():芯片運(yùn)行支持庫CSL初始化,使用CSLAPI前必須調(diào)用此函數(shù)。CHIP_config():調(diào)用CSL庫中CHIP模塊,向配置地址中寫設(shè)備配置值。CHIP模塊是駐留著指定芯片和芯片相關(guān)代碼,如器件的大小端、CPU和REVID等。EMIFA_Config():調(diào)用CSL庫中EMIFA模塊。外

8、設(shè)EMIFA的配置結(jié)構(gòu),初始化外設(shè)EMIFA的寄存器來初始化EMIFA。IRQ_setVecs()、IRQ_nmiEnable()、IRQ_globalEnable()、IRQ_map()、IRQ_map()、IRQ_reset()、IRQ_reset():調(diào)用CSL庫中IRQ模塊,初始化中斷向量表。I2C_Config():調(diào)用CSL庫中I2C模塊,動(dòng)態(tài)配置外設(shè)I2C,初始化外設(shè)I2C的寄存器。I2C_open():調(diào)用CSL庫中I2C模塊,打開一個(gè)I2C設(shè)備。DAT_open():調(diào)用CSL庫中DAT模塊,打開一個(gè)DMA或EDMA通道。DAT_copy():調(diào)用CSL庫中DAT模塊,使用D

9、MA或EDMA將數(shù)據(jù)從存儲(chǔ)器一個(gè)地方移到另一個(gè)地方。SEEDDM642_rset():讀CPLD寄存器值(函數(shù)體在seeddm642_cpld.c中)GPIO_RSET():初始化GPIO的輸出值(csl_stdinchal.h和csl_chiphal.h中預(yù)定義)_IIC_read():從I2C總線中讀(函數(shù)體在iic.c中)。_IIC_write():向I2C總線中寫(函數(shù)體在iic.c中)。bt656_8bit_ncfc():配置給定視頻端口通道A不連續(xù)幀捕捉8位BT.656視頻采集,打開一個(gè)視頻端口VP,輸入VP端口號(hào),輸出VP句柄(函數(shù)體在vportcap.c中)。bt656_cap

10、ture_start():配置給定視頻端口通道A不連續(xù)幀捕捉8位BT.656視頻采集,輸入VP句柄,進(jìn)行視頻采集(函數(shù)體在vportcap.c中)。bt656_display_start():配置給定視頻端口不連續(xù)幀捕捉8位BT.656視頻顯示,輸入VP句柄,進(jìn)行視頻顯示(函數(shù)體在vportdis.c中)。DSP圖像采集與PAL顯示工程文件管理器如圖7-1-3所示。工程由下列文件組成:主程序dm642main.c、TVP5150A初始化文件_tvp51xx.c、SA7121H初始化文件_sa7121h.c、SEEDDM642的I2C結(jié)構(gòu)設(shè)置iic.c、CPLD邏輯模塊seed_cpld.c、圖

11、像采集參數(shù)定義程序vportcap.c、圖像顯示參數(shù)定義程序vportdis.c、中斷向量表ves_dm642.asm、連接命令文件文件seeddm642video.cmd、庫文件cslDM642.lib和rts6400.lib以及相關(guān)的頭文件。圖7-1-3DSP圖像采集與PAL顯示工程文件管理器雙擊DSP圖像采集與PAL顯示工程的相應(yīng)文件名,查看具體源程序。以下是各源程序代碼及其詳細(xì)分析。主程序dm642main.c代碼及其分析主程序的功能如7-1-2DSP圖像采集與處理的一般流程圖所示,具體代碼及其詳細(xì)分析如下。/*/*dm642main.c*/*/*包含頭文件*/#include/函數(shù)申

12、明,調(diào)用CSL庫必須包含相應(yīng)的頭文件。#include#include#include#include#include#include#includeiic.h/讀IIC與寫IIC程序的申明文件,函數(shù)體在iic.c中。#includevportcap.h/通過EDMA視頻捕捉程序的申明文件,函數(shù)體在vportcap.c中。#includevportdis.h/通過EDMA視頻顯示程序的申明文件,函數(shù)體在vportdis.c中。#includesa7121h.h/定義SAA7112H寄存器#includeTVP51xx.h/定義TVP5150A寄存器#includeseeddm642.h/定義s

13、eeddm642板上CPLD和其它片上外設(shè)的地址/*SEEDDM642的emifa的設(shè)置結(jié)構(gòu)*/EMIFA_ConfigSeeddm642ConfigA=0 x00052078,/*gblctl寄存器:EMIFA(B)全局控制寄存器值*/*將CLK6、4、1使能;將MRMODE置1;使能EK2EN,EK2RATE*/0 xffffffd3,/*cectl0寄存器:CE0空間控制寄存器值,將CE0空間設(shè)為SDRAM*/0 x73a28e01,/*cectl1寄存器:CE1空間控制寄存器值。讀保持1個(gè)時(shí)鐘,MTYPE=0000,選擇8位的異步接口;讀選通01110,即14個(gè)時(shí)鐘寬度。TA:2個(gè)時(shí)鐘

14、;讀建立2個(gè)時(shí)鐘,寫保持2個(gè)時(shí)鐘,寫選通14個(gè)時(shí)鐘,寫建立7個(gè)時(shí)鐘*/0 x22a28a22,/*cectl2寄存器:CE2空間控制寄存器值*/0 x22a28a42,/*cectl3寄存器:CE3空間控制寄存器值*/0 x57115000,/*sdctl寄存器:SDRAM控制寄存器值*/0 x0000081b,/*sdtim寄存器:SDRAM時(shí)序寄存器值*/0 x001faf4d,/*sdext寄存器:SDRAM擴(kuò)展寄存器值*/0 x00000002,/*cesec0寄存器:CE0空間次控制寄存器值*/0 x00000002,/*cesec1寄存器:CE1空間次控制寄存器值*/0 x0000

15、0002,/*cesec2寄存器:CE2空間次控制寄存器值*/0 x00000073/*cesec3寄存器:CE3空間次控制寄存器值*/;/*SEEDDM642的IIC設(shè)置結(jié)構(gòu)*/I2C_ConfigSEEDDM642IIC_Config=0,/*i2coar寄存器,采用主模式*/0,/*i2cimr寄存器,采用無中斷方式只寫、不讀*/(20-5),/*i2cclkl寄存器,scllowtime*/(20-5),/*i2cclkh寄存器,sclhightime*/1,/*i2ccnt寄存器,configurelater*/0,/*i2csar寄存器,configurelater*/0 x4ea

16、0,/*i2cmdr寄存器,主機(jī)發(fā)送模式,i2crunsfree,8-bitdata+NACK,不重復(fù)模式*/(75-1),/*i2cpsc寄存器,4MHz時(shí)鐘*/;I2C_HandlehSeeddm642i2c;intportNumber;externSA7121H_ConfParamssa7121hPAL45;externSA7121H_ConfParamssa7121hNTSC45;Uint8vFromat=0;Uint8misc_ctrl=0 x6D;Uint8output_format=0 x47;/*地址為0forcvbsport1,選擇復(fù)合信號(hào)做為輸入*/Uint8input_s

17、el=0 x00;/*地址為0 xf,將Pin27設(shè)置成為CAPEN功能*/Uint8pin_cfg=0 x02;/*地址為1B*/Uint8chro_ctrl_2=0 x14;/*圖像句柄的聲明*/VP_HandlevpHchannel0;VP_HandlevpHchannel1;VP_HandlevpHchannel2;/*確定圖像的參數(shù)*/intnumPixels=720;/每行720個(gè)像素intnumLines=576;/每幀576行(PAL)/*采集與顯示緩沖區(qū)的首址,可參見seeddm642video.cmd*/Uint32capYbuffer=0 x80000000;/*采集到的

18、Y分量數(shù)據(jù)存放在存儲(chǔ)器中的起始地址*/Uint32capCbbuffer=0 x800675c0;/*采集到的Cb分量數(shù)據(jù)存放在存儲(chǔ)器中的起始地址*/Uint32capCrbuffer=0 x8009b0a0;/*采集到的Cr量數(shù)據(jù)存放在存儲(chǔ)器中的起始地址*/Uint32disYbuffer=0 x80100000;/*Y分量顯示數(shù)據(jù)存放在存儲(chǔ)器中的起始地址*/Uint32disCbbuffer=0 x801675c0;/*Cb分量顯示數(shù)據(jù)存放在存儲(chǔ)器中的起始地址*/Uint32disCrbuffer=0 x8019b0a0;/*Cr分量顯示數(shù)據(jù)存放在存儲(chǔ)器中的起始地址*/*圖像格式標(biāo)志*/U

19、int8NTSCorPAL=0;externfarvoidvectors();externvolatileUint32capNewFrame;externvolatileUint32disNewFrame;/*-*/*main()*/*-*/*此程序可將四個(gè)采集口的數(shù)據(jù)經(jīng)過VideoPort0送出*/voidmain()Uint8addrI2C;inti;/*-*/*執(zhí)行所有的初始化*/*-*/*初始化CSL庫*/CSL_init();/CSL模塊是頂層API模塊,使用CSLAPI前必須調(diào)用此函數(shù)CHIP_config(&SEEDDM642percfg);/向配置地址中寫設(shè)備配置值/*-*/*

20、EMIFA的初始化,將CE0設(shè)為SDRAM空間,CE1設(shè)為異步空間注意DM642支持EMIFA,不支持EMIF*/EMIFA_config(&Seeddm642ConfigA);/*-*/*中斷向量表的初始化*/IRQ_setVecs(vectors);IRQ_nmiEnable();IRQ_globalEnable();IRQ_map(IRQ_EVT_VINT1,11);/*將VP1通道中斷對(duì)應(yīng)為CPU中斷11*/IRQ_map(IRQ_EVT_VINT0,12);/*將VP0通道中斷對(duì)應(yīng)為CPU中斷12*/IRQ_reset(IRQ_EVT_VINT1);IRQ_reset(IRQ_EVT

21、_VINT1);/*打開一個(gè)數(shù)據(jù)拷貝的數(shù)據(jù)通路,Uint32DAT_open(intchaNum,intpriority,Uint32flags);*/DAT_open(DAT_CHAANY,DAT_PRI_LOW,DAT_OPEN_2D);/*-*/*進(jìn)行IIC的初始化*/hSeeddm642i2c=I2C_open(I2C_PORT0,I2C_OPEN_RESET);I2C_config(hSeeddm642i2c,&SEEDDM642IIC_Config);/*-*/*進(jìn)行解碼器TVP5150pbs的初始化*/SEEDDM642_rset(0 x15,2);/*選擇TVP5150,設(shè)置第

22、三通路*/GPIO_RSET(GPGC,0 x0);/*將GPIO0不作為GPINT使用*/GPIO_RSET(GPDIR,0 x1);/*將GPIO0作為輸出*/GPIO_RSET(GPVAL,0 x0);/*GPIO0輸出為高,選擇IIC1總線,配置第二路,即為U21*/addrI2C=0 xBA1;/*TVP5150AIIC寫地址(I2CSEL=1)*/*I2C地址分為10位模式或7位模式,DSP支持7位I2C模式,則要按7位模式使用,取后8位地址右移1位即是7位的I2C地址。TVP5150寫地址為0 xBA或0 xB8,讀地址為0 xBB或0 xB9,因此與TVP5150進(jìn)行通信,須將

23、I2C的地址向右移一位。*/_IIC_write(hSeeddm642i2c,addrI2C,0 x00,input_sel);/*四個(gè)參數(shù)依次為I2CHandle(I2C_open函數(shù)返回值)、從器件地址、寄存器地址和需要配置的寄存器值*/_IIC_write(hSeeddm642i2c,addrI2C,0 x03,misc_ctrl);_IIC_write(hSeeddm642i2c,addrI2C,0 x0D,output_format);_IIC_write(hSeeddm642i2c,addrI2C,0 x0F,pin_cfg);_IIC_write(hSeeddm642i2c,ad

24、drI2C,0 x1B,chro_ctrl_2);/*回讀當(dāng)前攝像設(shè)備的格式*/_IIC_read(hSeeddm642i2c,addrI2C,0 x8c,&vFromat);vFromat=vFromat&0 xff;switch(vFromat)caseTVP51XX_NTSCM:caseTVP51XX_NTSC443:NTSCorPAL=1;/*系統(tǒng)為NTSC的模式*/break;caseTVP51XX_PALBGHIN:caseTVP51XX_PALM:NTSCorPAL=0;/*系統(tǒng)為PAL的模式*/break;default:NTSCorPAL=2;/*系統(tǒng)為不支持的模式*/bre

25、ak;if(NTSCorPAL=2)/*系統(tǒng)不支持的模式,重新配置*/for(;)/*-*/*進(jìn)行SAA7121H的初始化*/GPIO_RSET(GPVAL,0 x0);/*GPIO0輸出為低,選擇IIC1總線,配置圖像輸出*/addrI2C=0 xB81;/*選擇第0路的I2C的地址,TVP5150AIIC寫地址(I2CSEL=0)*/*將第0路的視頻輸入口的數(shù)據(jù)口設(shè)為高阻狀態(tài),使能SCLK,將第27腳設(shè)為輸入*/_IIC_write(hSeeddm642i2c,addrI2C,0 x03,0 x1);/*配置SAA7121H*/GPIO_RSET(GPVAL,0 x1);/*GPIO0輸出

26、為低,選擇IIC1總線,配置圖像輸出*/*初始化VideoPort0*/*將VideoPort1設(shè)為視頻編碼器SAA7121H的輸出*/portNumber=0;vpHchannel0=bt656_8bit_ncfd(portNumber);addrI2C=0 x881;/SAA7121IIC地址(因SAA7121的21管腳SA接低電平)for(i=0;i43;i+)if(NTSCorPAL=1)_IIC_write(hSeeddm642i2c,addrI2C,(sa7121hNTSCi.regsubaddr),(sa7121hNTSCi.regvule);else_IIC_write(hSe

27、eddm642i2c,addrI2C,(sa7121hPALi.regsubaddr),(sa7121hPALi.regvule);/寫SAA7121寄存器值/*-*/*初始化VideoPort1*/*將VideoPort1設(shè)為采集輸入*/portNumber=1;vpHchannel1=bt656_8bit_ncfc(portNumber);/打開一個(gè)VP口,進(jìn)行采集bt656_capture_start(vpHchannel1);/*等待第一幀數(shù)據(jù)采集完成*/while(capNewFrame=0)/*將數(shù)據(jù)存入顯示緩沖區(qū),并清采集完成的標(biāo)志*/capNewFrame=0;for(i=0;

28、i1),/*YCrCb=4:2:2,因此將numPixels減少一半,即右移一位*/(void*)(disCbbuffer+i*(numPixels1),numPixels1);/*傳送Cr緩沖區(qū)*/DAT_copy(void*)(capCrbuffer+i*(numPixels1),(void*)(disCrbuffer+i*(numPixels1),numPixels1);/*啟動(dòng)顯示模塊*/bt656_display_start(vpHchannel0);/*建立顯示的實(shí)時(shí)循環(huán)*/for(;)/*當(dāng)采集區(qū)的數(shù)據(jù)已經(jīng)采集好,而顯示緩沖區(qū)的數(shù)據(jù)已空*/if(capNewFrame=1)&(d

29、isNewFrame=1)/*將數(shù)據(jù)裝入顯示緩沖區(qū),并清采集完成的標(biāo)志*/capNewFrame=0;disNewFrame=0;for(i=0;i1),(void*)(disCbbuffer+i*(numPixels1),numPixels1);/*傳送Cr緩沖區(qū)*/DAT_copy(void*)(capCrbuffer+i*(numPixels1),(void*)(disCrbuffer+i*(numPixels1),numPixels1);for(;)/-/*采集與回放*/dm642main.c結(jié)束/*/2TVP5150A視頻解碼器初始化(tvp51xx.h、_tvp51xx.h和_tv

30、p51xx.c)TVP5150A視頻解碼器可以將NTSC、PAL和SECAM視頻信號(hào)轉(zhuǎn)換為8位ITU-RBT.656格式信號(hào)。TVP5150A將基帶模擬視頻信號(hào)轉(zhuǎn)換為YCbCr4:2:2分量視頻,兩個(gè)模擬輸入端口可接收兩個(gè)可選的復(fù)合視頻輸入,或一個(gè)S視頻輸入。此芯片內(nèi)含一個(gè)9位模數(shù)轉(zhuǎn)換器,抽樣頻率符合ITU-RBT.601標(biāo)準(zhǔn)(為27.0MHz)。輸出信號(hào)格式可以是8位4:2:2或8位ITU-RBT.656格式。TVP5150A只用作IIC從設(shè)備(IIC地址為0 xBA或0 xB8)。對(duì)TVP5150A視頻解碼器的初始化,即對(duì)其各寄存器進(jìn)行賦值。根據(jù)TVP5150A手冊(cè),其各寄存器地址和位定義

31、如表所示,具體位說明可參考手冊(cè)。表7-1-1TVP5150A各寄存器地址及其位定義寄存器功能地址缺省值讀/寫視頻輸入源選擇#100h00hR/W模擬通道控制01h15hR/W操作模式控制02h00hR/W各類控制03h01hR/W自動(dòng)開關(guān)掩碼:TVP5150A04hFChR/WTVP5150AM104hDChR/W保留05h00hR/W彩色抑制管門限控制06h10hR/W亮度(luminance)處理控制#107h60hR/W亮度(luminance)處理控制#208h00hR/W亮度(brightness)控制09h80hR/W色彩飽和度控制0Ah80hR/W色度(hue)控制0Bh00hR

32、/W對(duì)比度控制0Ch80hR/W輸出和數(shù)據(jù)速率選擇0Dh47hR/W亮度(luminance)處理控制#30Eh00hR/W配置共用管腳0Fh08hR/W保留10h活動(dòng)視頻剪輯開始高位11h00hR/W活動(dòng)視頻剪輯開始低位12h00hR/W活動(dòng)視頻剪輯停止高位13h00hR/W活動(dòng)視頻剪輯停止低位14h00hR/W同步鎖相/實(shí)時(shí)時(shí)鐘(Genlock/RTC)15h01hR/W水平同步開始16h80hR/W保留17h垂直消隱開始18h00hR/W垂直消隱結(jié)束19h00hR/W色度(chrominance)處理控制#11Ah0ChR/W色度(chrominance)處理控制#21Bh14hR/W中

33、斷復(fù)位寄存器B1Ch00hR/W中斷使能寄存器B1Dh00hR/W中斷配置寄存器B1Eh00hR/W保留1Fh27h視頻標(biāo)準(zhǔn)28h00hR/W保留29h2BhCb增益因子2ChRCr增益因子2DhR復(fù)制保護(hù)(macrovision)開計(jì)數(shù)器2Eh0FhR/W復(fù)制保護(hù)(macrovision)關(guān)計(jì)數(shù)器2Fh01hR/W656修正選擇(只TVP5150AM1)30h00hR/W保留31h7Fh設(shè)備ID高位80h51hR設(shè)備ID低位81h50hRROM主要版本:TVP5150A82h03hRTVP5150AM182h04hRROM次要版本:TVP5150A83h21hRTVP5150AM183h00

34、hR垂直行計(jì)數(shù)高位84hR垂直行計(jì)數(shù)低位85hR中斷狀態(tài)寄存器B86hR中斷活動(dòng)寄存器B87hR狀態(tài)寄存器#188hR狀態(tài)寄存器#289hR狀態(tài)寄存器#38AhR狀態(tài)寄存器#48BhR狀態(tài)寄存器#58ChR保留8Dh8Fh隱藏字幕數(shù)據(jù)寄存器90h93hRWSS數(shù)據(jù)寄存器94h99hRVPS數(shù)據(jù)寄存器9AhA6hRVITC數(shù)據(jù)寄存器A7hAFhRVBIFIFO讀數(shù)據(jù)B0hR文字電視廣播濾波器1B1hB5h00hR/W文字電視廣播濾波器2B6hBAh00hR/W文字電視廣播濾波器使能BBh00hR/W保留BChBFh中斷狀態(tài)寄存器AC0h00hR/W中斷使能寄存器AC1h00hR/W中斷配置C2h

35、04hR/WVDP配置RAM數(shù)據(jù)C3hDChR/W配置RAM地址低字節(jié)C4h0FhR/W配置RAM地址高字節(jié)C5h00hR/WVDP狀態(tài)寄存器C6hRFIFO字計(jì)數(shù)C7hRFIFO中斷門限C8h80hR/WFIFO復(fù)位C9h00hW行數(shù)中斷CAh00hR/W像素對(duì)齊寄存器低字節(jié)CBh4EhR/W像素對(duì)齊寄存器高字節(jié)CCh00hR/WFIFO輸出控制CDh01hR/W保留CEh全部場使能CFh00hR/W行模式寄存器D0hD1hFBh00hFFhR/W全部場模式寄存器FCh7FhR/W保留FDhFFh頭文件tvp51xx.h和_tvp51xx.h對(duì)TVP5150A給出了定義寄存器地址和及其賦值方

36、法。具體代碼及其詳細(xì)分析如下。/*/*tvp51xx.hfile*/*/#ifndef_TVP51XX_H#define_TVP51XX_H#include#include#includetypedefenumTVP51XX_AnalogFormatTVP51XX_AFMT_COMPOSITE,TVP51XX_AFMT_SVIDEO,TVP51XX_AFMT_RGB,TVP51XX_AFMT_YPBPRTVP51XX_AnalogFormat;typedefenumTVP51XX_ModeTVP51XX_MODE_NTSC601,TVP51XX_MODE_NTSCSqp,TVP51XX_MOD

37、E_PAL601,TVP51XX_MODE_PALSqp,TVP51XX_MODE_USERTVP51XX_Mode;typedefunsignedintTVP51XX_Cmd;#defineTVP51XX_POWERDOWNEDC_USER+1#defineTVP51XX_POWERUPEDC_USER+2#defineTVP51XX_SET_AMUXMODEEDC_USER+3#defineTVP51XX_NTSCM0 x81#defineTVP51XX_PALBGHIN0 x83#defineTVP51XX_PALM0 x85#defineTVP51XX_COMBINATION-N0 x

38、87#defineTVP51XX_NTSC4430 x89typedefstructTVP51XX_ModevideoMode;TVP51XX_AnalogFormataFmt;BoolenableBT656Sync;intinputPort;I2C_HandlehI2C;TVP51XX_ConfParams;#endif/tvp51xx.h結(jié)束/*/*/*_tvp51xx.hfile*/*/#ifndef_TVP51XX_H#define_TVP51XX_H#ifdef_cplusplusexternC#endif#include#define_TVP5150_IIC_ADDR(0 xB81

39、)/#define_TVP5146_IIC_ADDR(0 xBA1)/typedefunsignedUns;/32位無符號(hào)整型數(shù)Uint8NTSC601_EXEC82,NTSCSGP_EXEC82,PAL601_EXEC82,PALSGP_EXEC82;typedefstruct_TVP51XX_Generics/*視頻輸入源選擇#1(地址0 x00)*/Unssvideo_sel:1;Unschannel1_sel:1;Unssource_sel_rsv1:1;Unsblack_output:1;Unssource_sel_rsv2:4;/*模擬通道控制(地址0 x01)*/Unsautom

40、atic_gain_ctrl:2;Unsautomatic_offset_ctrl:2;Unsanalog_channel_ctrl_rsv:4;/*操作模式控制(地址0 x02)*/Unspower_down_mode:1;Unsluma_peak_disable:1;Unscolor_subcarrier_pll_frozen:1;Unswhite_peak_disable:1;Unstv_vcr_mode:2;Unscolor_burst_ref_disable:1;Unsoperation_mode_ctrl_rsv:1;/*各類控制(地址0 x03)*/Unsclock_output

41、_enable:1;Unsvertical_blanking_onoff:1;Unshsync_vsync_output_enable:1;Unsycrcb_output_enable:1;Unslock_status:1;Unsgpcl_io_mode_sel:1;Unsgpcl:1;Unsvbko:1;/*自動(dòng)開關(guān)掩碼(地址0 x04)*/Unsautoswitch_mask_rsv1:2;Unspalm_off:1;Unspaln_off:1;Unsn443_off:1;Unssec_off:1;Unsautoswitch_mask_rsv2:2;/*軟件復(fù)位(地址0 x05)*/Uns

42、reset:1;Unssoftware_reset_rsv:7;/*彩色抑制管門限控制(地址0 x06)*/Unscolor_killer_shreshold:5;Unsautomatic_color_killer:2;Unscolor_killer_shreshold_rsv:1;/*亮度(luminance)處理控制#1(地址0 x07)*/Unsluminance_signal_delay:4;Unsluma_bypass:1;Unsdisable_raw_header:1;Unspedestal_not_present:1;Unsluma_bypass_mode:1;/*亮度(lumi

43、nance)處理控制#2(地址0 x08)*/Unsmac_agc_ctrl:2;Unspeaking_gain:2;Unsluminance_processing_ctrl_rsv1:2;Unsluminance_filter_sel:1;Unsluminance_processing_ctrl_rsv2:1;/*亮度(brightness)控制(地址0 x09)*/Uint8brightness_ctrl;/*色彩飽和度控制(地址0 x0A)*/Uint8saturation_ctrl;/*色度(hue)控制(地址0 x0B)*/Uint8hue_ctrl;/*對(duì)比度控制(地址0 x0C)

44、*/Uint8contrast_ctrl;/*輸出和數(shù)據(jù)速率選擇(地址0 x0D)*/Unsycrcb_output_format:3;Unsycrcb_data_path_bypass:2;Unscbcr_code_format:1;Unsycbcr_output_code_range:1;Unsoutputs_data_sel_rsv:1;/*亮度(luminance)處理控制#3(地址0 x0E)*/Unsluminance_trap_filter_sel:2;Unsluminance_processing_ctrl_rsv3:6;/*配置共用管腳(地址0 x0F)*/Unssclk_p

45、clk:1;Unsintreq_gpcl_vblk:1;Unsvsync_pali:1;Unsfid_glco:1;Unslock24b:1;Unslock24a:1;Unslock23:1;Unsconfig_shared_pins_rsv:1;/*保留(地址0 x10)*/Uint8rsv1;/*活動(dòng)視頻剪輯開始高位(地址0 x11)*/Uint8avid_start_pixel_msb;/*活動(dòng)視頻剪輯開始低位(地址0 x12)*/Unsavid_start_pixel_lsb:2;Unsavid_active:1;Unsactive_video_cropping_start_pixel

46、_lsb_rsv:5;/*活動(dòng)視頻剪輯停止高位(地址0 x13)*/Uint8avid_stop_pixel_msb;/*活動(dòng)視頻剪輯停止低位(地址0 x14)*/Unsavid_stop_pixel_lsb:2;Unsactive_video_cropping_stop_pixel_lsb_rsv:6;/*同步鎖相/實(shí)時(shí)時(shí)鐘(Genlock/RTC)(地址0 x15)*/Unsglco_rtc:1;Unsgenlock_rtc_rsv1:1;Unscdto_sw:1;Unsgenlock_rtc_rsv2:1;Unsfv_bit_ctrl:2;Unsgenlock_rtc_rsv3:2;/*

47、水平同步開始(HSYNC)(地址0 x16)*/Uint8hsync_start;/*保留(地址0 x17)*/Uint8rsv2;/*垂直消隱開始(地址0 x18)*/Uint8vertical_blanking_start;/*垂直消隱結(jié)束(地址0 x19)*/Uint8vertical_blanking_stop;/*色度(chrominance)處理控制#1(地址0 x1A)*/Unsautomatic_color_gain_ctrl:2;Unschrominance_comb_filter_enable:1;Unschrominance_adaptive_comb_filter_en

48、able:1;Unscolor_pll_reset:1;Unschrominance_control_rsv1:3;/*色度(chrominance)處理控制#2(地址0 x1B)*/Unschrominance_filter_select:2;Unswcf:1;Unschrominance_control_rsv2:1;Unschrominance_comb_filter_mode:4;/*中斷復(fù)位寄存器B(地址0 x1C)*/Unstv_vcr_changed_reset:1;Unshv_lock_changed_reset:1;Unscolor_lock_changed_reset:1;

49、Unsline_alternation_changed_reset:1;Unsfield_rate_changed_reset:1;Unscommand_ready_reset:1;Unsmacrovision_detect_changed_reset:1;Unssoftware_initialization_reset:1;/*中斷使能寄存器B(地址0 x1D)*/Unstv_vcr_changed:1;Unshv_lock_changed:1;Unscolor_lock_changed:1;Unsline_alternation_changed:1;Unsfield_rate_change

50、d:1;Unscommand_ready:1;Unsmacrovision_detect_changed:1;Unssoftware_initialization_occurred_enable:1;/*中斷配置寄存器B(地址0 x1E)*/Unsinterrupt_polarity_b:1;Unsinterrupt_config_rsv:7;/*保留(地址0 x1F0 x27)*/Uint8rsv39;/*視頻標(biāo)準(zhǔn)(地址0 x28)*/Unsvideo_standard:4;Unsvideo_standard_rsv:4;/*保留(地址0 x290 x2B)*/Uint8rsv43;/*Cb

51、增益因子(地址0 x2C)*/Uint8cb_gain_factor;/*Cr增益因子(地址0 x2D)*/Uint8cr_gain_factor;/*復(fù)制保護(hù)(macrovision)開計(jì)數(shù)器(地址0 x2E)*/Uint8macrovision_on_counter;/*復(fù)制保護(hù)(macrovision)關(guān)計(jì)數(shù)器(地址0 x2F)*/Uint8macrovision_off_counter;/*保留(地址0 x300 x7F)*/Uint8rsv580;/*設(shè)備ID高位(地址0 x80)*/Uint8msb_of_device_id;/*設(shè)備ID低位(地址0 x81)*/Uint8lsb_

52、of_device_id;/*ROM主要版本:(地址0 x82)*/Uint8rom_version;/*ROM補(bǔ)充代碼版本(地址0 x83)*/Uint8ram_patch_code_version;/*垂直行計(jì)數(shù)高位(地址0 x84)*/Unsvertical_line_count_msb:2;Unsvertical_line_count_msb_rsv:6;/*垂直行計(jì)數(shù)低位(地址0 x85)*/Uint8vertical_line_count_lsb;/*中斷狀態(tài)(地址0 x86)*/Uint8rsv6122;/0 x860 xFF_TVP51XX_Generics;typedefst

53、ruct_TVP51XX_Regs_TVP51XX_Genericsgenerics;_TVP51XX_Regs;extern_TVP51XX_Regs_TVP51XX_settingsDef2;#ifdef_cplusplus#endif#endif/_tvp51xx.h結(jié)束/*/c文件_TVP51XX.c對(duì)TVP5150A各寄存器進(jìn)行賦值。具體代碼及其詳細(xì)分析如下。/*/*_TVP51XX.c*/*/#include_tvp51xx.h_TVP51XX_Regs_TVP51XX_settingsDef2=/_TVP51XX_settingsDef1/*地址00h07h*/0,0,0,0,0

54、,/地址為00h的寄存器值。接收AIP1A模擬輸入管腳信號(hào);正常輸出。1,1,1,/地址為01h的寄存器值。AGC使能;Automaticoffset使能。0,0,0,0,0,0,0,/色同步信號(hào)AGC禁止;TV/VCR自動(dòng)模式;1,0,0,1,0,1,1,0,/SCLK輸出使能,垂直消隱(VBLK)關(guān)閉,YCbCr輸出使能,GPCL輸出使能0,0,0,0,0,0,/開關(guān)可自動(dòng)切換到NTSC443、PAL-N、PAL-M、SECAM0,0,0 x10,0,0,/色彩抑制自動(dòng)模式,色彩抑制門限24dB0,0,1,0,0,/rawheader禁止,垂直消隱期間亮度旁路禁止/*地址08h0fh*/0

55、,0,0,0,0,/亮度梳妝濾波器使能,MacAGC自動(dòng)模式0 x80,/亮度(brightness)控制128(最亮為255,黑為0)0 x80,/飽和度(saturation)控制128(最大為255,無顏色為0)0,/色調(diào)(hue)控制0度(最大180度,最小-180度)0 x80,/對(duì)比度(Contrast)控制128(最大255,最小0)7,0,0,1,0,/YCrCb輸出格式為8位ITU-RBT.656,擴(kuò)展的YCrCb輸出代碼范圍(Y、U、V范圍1254)0,0,/亮度濾波器阻帶帶寬1.4170MHz(WCF=1)0,0,0,1,0,0,0,0,/GLCO管腳有效/*地址10h1

56、7h*/0,0,/活動(dòng)視頻裁剪起始像素(AVID)最高位0,0,0,/活動(dòng)視頻裁剪起始像素(AVID)最低位,因此起始位置為0;垂直消隱AVID輸出激活0,/活動(dòng)視頻裁剪結(jié)束像素(AVID)最高位0,0,/活動(dòng)視頻裁剪結(jié)束像素(AVID)最低位,因此結(jié)束位置為01,0,1,0,0,0,/線數(shù)標(biāo)準(zhǔn),RTC輸出模式0,0 x80,/水平同步起始(HSYNC),0像素時(shí)鐘0,/*地址18h1fh*/0,/垂直消隱(VBLK)起始,與垂直消隱間隔起始時(shí)間相同0,/垂直消隱(VBLK)結(jié)束,與垂直消隱間隔結(jié)束時(shí)間相同0,1,1,0,0,/自動(dòng)顏色增益控制(ACGC)使能,色度梳狀濾波器和自適應(yīng)濾波器使能

57、。0,1,0,1,/寬帶色度濾波器(WCF=1)使能,色度濾波器阻帶帶寬1.4170MHz0,0,0,0,0,0,0,0,/中斷復(fù)位,無影響0,0,0,0,0,0,0,0,/中斷使能禁止0,0,/中斷低有效0,/*地址20h27h,全部保留*/0,0,0,0,0,0,0,0,/*地址28h2fh,其中29h2Bh保留*/0,0,/視頻標(biāo)準(zhǔn)自動(dòng)切換模式0,0,0,0,/Cb增益00,/Cr增益00 x15,/解碼器檢測到復(fù)制保護(hù)AGC脈沖之前,連續(xù)21幀0 x01,/解碼器未檢測到復(fù)制保護(hù)AGC脈沖之前,連續(xù)1幀/*地址30h7fh,其中31h7fh保留*/0,0,0,0,0,0,0,0,/IT

58、U-RBT.656.4時(shí)序0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,/*地址80h87h*/0 x51,/設(shè)備ID號(hào)MSB0 x50,/設(shè)備ID號(hào)LSB0 x03,/TVP5150A0 x21,/TVP5150A0,0,0,/每幀抽取出的行數(shù),以便同步視頻流0,/各種狀態(tài)不改變0,/中斷B不激活/*地址88hffh,全部為0*/0,0,0,0,0,0,

59、0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,/_TVP51XX_settingsDef2和_TVP51XX_settingsDef1內(nèi)容完全一樣,此處省略。,;/_TVP51XX.c結(jié)束/

60、*/3vportcap.c代碼及其分析vportcap.c定義攝像頭采集視頻圖像的方法,其代碼和詳細(xì)分析如下。/*/*以下程序利用DMA方式采集圖像的設(shè)置、中斷以及數(shù)據(jù)傳輸?shù)暮瘮?shù)*/*/*基于525/60格式的捕捉參數(shù)定義*/*/*NTSC*/#defineVCA_HBLNK_SIZE138/*(858-720),水平消隱*/#defineVCA_IMG_VSIZE1244/*(263-20+1),fld1垂直圖像大小*/#defineVCA_IMG_VSIZE2243/*(525-283+1),fld2垂直圖像大小*/*PAL*/#defineVCA_HBLNK_SIZE144/*(864-

溫馨提示

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