图像采集系统设计Word下载.docx

上传人:b****6 文档编号:21994868 上传时间:2023-02-02 格式:DOCX 页数:21 大小:359.63KB
下载 相关 举报
图像采集系统设计Word下载.docx_第1页
第1页 / 共21页
图像采集系统设计Word下载.docx_第2页
第2页 / 共21页
图像采集系统设计Word下载.docx_第3页
第3页 / 共21页
图像采集系统设计Word下载.docx_第4页
第4页 / 共21页
图像采集系统设计Word下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

图像采集系统设计Word下载.docx

《图像采集系统设计Word下载.docx》由会员分享,可在线阅读,更多相关《图像采集系统设计Word下载.docx(21页珍藏版)》请在冰豆网上搜索。

图像采集系统设计Word下载.docx

128MByte的DDR2SDRAM存储器,256MBit的NorFlash存储器;

用户可选的NANDFlash接口;

可选的256K字节的I²

CE²

PROM;

1个10M/100Mbps自适应以太网接口;

1路立体声音频输入、1路麦克风输入,1路立体声音频输出;

USB2.0高速接口,方便与PC连接;

1个CAN总线、1个UART接口、实时时钟(带256Byte的电池保持RAM);

4个DIP开关,4个状态指示LED;

可配置的BOOT模式;

10层板制作工艺,稳定可靠;

标准外部信号扩展接口;

JTAG仿真器接口;

单电源+5V供电;

板卡软件资源:

完整的DSP示例程序及实验指导书;

USB演示软件,及读写示例C++程序;

功能概述:

EL-DM6437EVM达芬奇视频开发板通过专用的DDR2存储控制器接口扩展了64MBytes的DDR2SDRAM,为视频应用带来了高吞吐、高容量存储带宽,并可以扩展到最大256MByte;

256MBit的NorFlash为视频应用程序脱机运行提供了有力的容量保证;

板卡通过一个视频解码芯片和CPU连接,使得CPU可以接受外部的复合视频信号输入和S信号输入,信号都是自动检测,大大提高了视频处理的灵活性;

CPU还提供视频DAC,通过几个运算放大器即可把DDR2存储器内的数据输出为用户可观察到的信号,非常方便;

除此之外,板卡还包括很多资源,包括音频输入输出、10M/100M的自适应以太网接口、USB2.0接口、实时时钟、4位LED指示和4位DIP开关量输入、CAN总线及UART接口等等一系列功能;

最重要的是所有外部存储器接口信号都连接到扩展接口上,用户可以通过设计外部子板扩展自己的功能。

板上还包括灵活的端口复用切换,使得用户可以根据不同场合使用不同的端口配置,最大的利用CPU各种功能。

板卡通过标准接口提供电源输入,采用单5v的供电方式,注意供电电流需要大于1安培,电源调节模块为微处理器及其他外设提供3.3V和1.04/1.2V(对应不同频率CPU)电压。

在使用该系列板卡开发过程中可以通过J1接口连接仿真器。

四、实习内容:

1.连接好电脑和仿真器,EL_DM6437和仿真器;

2.用视频线一头连接板卡的P3或者P5,另一头连接显示器的AV输入,并调制AV模式;

注:

如果带转接头的话,AV输入应该是黄色端子。

3.用视频线连接摄像头输出和板卡的F9插座,注意摄像头输出制式为PAL;

4.给EL_DM6437和摄像头上电,打开CCS并连接;

5.打开ColorSharpen文件夹的工程ColorSharpen.pjt,

此工程功能为:

把摄像头捕捉到的一副图像进行锐化处理,并将之输出到显示器;

6.编译源程序

7.下载程序out文件,如果没有就先编译一下Project—》Build;

8.把摄像头对准需要捕捉的图像场地;

9.设置第一个断点,在video_test.c的422行处;

10.点击运行,稍等片刻后程序停止在断点,此时可以从显示器看到图像;

11.继续点击运行,如果成功,显示出锐化图像;

并显示

这时可以发现显示屏显示出摄像头所指影像已被锐化。

11.结束

1)锐化算法最简单思想是前一个象素取后一象素与本身的差值;

五.实习程序与结构说明

/*

*Copyright2007byTechshineIncorporated.

*Allrightsreserved.

*Author:

lyj

*/

*VideoTest

*

#include"

tvp5146.h"

#defineCOLORBARS1

#defineLOOPBACK0

#defineSVIDEO_OUT1

#defineCOMPONENT_OUT0

typedefstruct__RGBC

{

Uint8Red;

Uint8Green;

Uint8Blue;

}RGBCOLOR;

voidPictureSharpen(Uint32memaddr);

/*------------------------------------------------------------------------*

**

*vpfe_init()*

*NTSC:

*Width:

720*

*Height:

480*

*------------------------------------------------------------------------*/

voidvpfe_init(Uint32buffer,Uint32width,Uint32height)

{//同步、模式设置

VPFE_CCDC_SYN_MODE=0//0x00032F84;

//interlaced,withVDporityasnegative

|(0<

<

19)//使能SDRAM端口输出到resizer的输入,0=disable

18)//使能视频口videoport,输出到SDRAM,0=disable

|(1<

17)//数据写使能,控制CCD列数据是否写入DDR,0=disable

16)//vd/hd使能,如果hd、vd定义为输出,那么内部产生时序,否则外部产生

15)//Field状态,表明当前的field状态,0=奇场,1=偶场

14)//3tap低通滤波器,0=off

|(2<

12)//INPMOD数据输入模式,0=CCDRaw,1=YCbCr16bit,2=YCbCr8bit,3保留

11)//每个象素的包大小,0=16bit/pixel,1=8bit/pixel

|(7<

8)//ccd数据宽度,只有INPMOD=0(12bit-13bit)时有效

//0=16bit,1=15bit,2=14bit,3=13bit,4=12bit

//5=11bit,6=10bit,7=8bit

7)//传感器场模式,0=逐行扫描,1=隔行

6)//CCD数据极性

5)//外部WEN信号选择,如果VDHDEN=1(16bit),设置此位将使CCD数据加载到DDR

//0=不使用

4)//场指示器极性,0=正极,1=负极

3)//HD同步极性,0=正极,1=负极

2)//VD同步极性,0=正极,1=负极

1)//场ID方向,0=输入,1=输出

|(0);

//VD、HD同步方向,0=输入,1=输出

VPFE_CCDC_HD_VD_WID=0;

//HD,VD信号脉冲宽度寄存器

VPFE_CCDC_PIX_LINES=0x02CF020D;

//每行的水平象素,及一帧的行数

//0|(0x2cf<

16)//每行的水平象素719+1=720

//|(0x20d)//每帧或每场的半行数525+1=526

/*

*sph=1,nph=1440,accordingtopage32-33oftheCCDCspec

*forBT.656mode,thissettingcapturesonlythe720x480ofthe

*activeNTSVvideowindow

VPFE_CCDC_HORZ_INFO=width<

1;

//Horizontallines

//水平象素信息,(31-16)=开始象素,(14-0)=输入到DDR的每行象素个数

VPFE_CCDC_HSIZE_OFF=width<

//Horizontallineoffset

//水平大小,(15-0)=每行的地址偏移,即跳行到DDR2读取数据?

//5lsb忽略,最好是256字节的倍数

VPFE_CCDC_VERT_START=0;

//Verticalstartline

//垂直线开始象素(16-31)=SLV0(Field0),(0-14)=SLV1(Field0)

//设定数据输入到DDR的开始行

VPFE_CCDC_VERT_LINES=height>

>

//Verticallines(14bit-0)

//垂直线的线数

VPFE_CCDC_CULLING=0xFFFF00FF;

//Disablecullng,水平及垂直方向的选择方式

//(31-24)=偶场的水平选择,(23-16)=奇场的水平选择

//(15-8)=保留,(7-0)=垂直选择模式

*Interleavethetwofields

VPFE_CCDC_SDOFST=0//0x00000249;

//DDR线偏移

14)//场标志信号翻转,0=正常

12)//场线偏移,0=+1线,1=+2线,2=+3线,3=+4线,

9)//偶线和偶场的线偏移,0=+1,1=+2,2=+3,3=+4,4=-1,

//5=-2,6=-3,7=-4,

6)//奇线和偶场的线偏移,0=+1,1=+2,2=+3,3=+4,4=-1,

3)//偶线和奇场的线偏移,0=+1,1=+2,2=+3,3=+4,4=-1,

0);

//奇线和奇场的线偏移,0=+1,1=+2,2=+3,3=+4,4=-1,

VPFE_CCDC_SDR_ADDR=buffer;

//bufferDDR地址,最低5位忽略

VPFE_CCDC_CLAMP=0//;

//可选的黑色箝位设置

31)//CLAMPEN,CLAMP使能,0=禁止

28)//采样象素长度,0=1pixel,为2^N(次幂),5-7保留

25)//采样线长度,0=1line,为2^N(次幂),5-7保留

10)//采样的开始象素

//bit4-bit0,平均增益

VPFE_CCDC_DCSUB=0;

//CCD数据要减去的值,当CLAMPEN=0时有效

VPFE_CCDC_COLPTN=0xEE44EE44;

//调色板设置

//0|(0<

30)//第三线调色板,3个象素,0=R,1=Gr,2=Gb,3=B

//|(0<

28)//CP3LPC2,象素个数=2

26)//CP3LPC1,象素个数=1

//|(0<

24)//CP3LPC0,象素个数=0

22)//第二线调色板

20)

18)

16)

14)//第一线调色板

12)

10)

8)

6)//第0线调色板

4)

2)

VPFE_CCDC_BLKCMP=0;

//黑色补偿

24)//R红色

16)//Gr

8)//Gb

//B蓝色

VPFE_CCDC_FPC_ADDR=0x86800000;

//不知道干吗用的

VPFE_CCDC_FPC=0;

VPFE_CCDC_VDINT=0;

//VD中断时序,(30-16)=VDINT0,(14-0)=VDINT1

VPFE_CCDC_ALAW=0;

//a率设置

VPFE_CCDC_REC656IF=0//0x00000003;

//rec656接口

1)//FVH错误纠正使能

0);

//Rec656接口使能

*InputformatisCb:

Y:

Cr:

Y,w/Yinodd-pixelposition

VPFE_CCDC_CCDCFG=0//0x00000800;

//CCD配置寄存器

15)//使能VSYNC内部的锁存功能,0=使用VSYNC锁存

13)//MSBINVI,色度输入信号最高位是否在SDRAM中翻转,0=正常

12)//DDR的字节是否交换,如果字节包已经使能,象素个数必须为偶数

//0=正常

11)//YCbCr8bit输入时Y的位置,0=偶像素,1=奇象素

8)//指定CCD有效范围,0=当WEN为逻辑“与”时内部信号有效,反之为“”

6)//FID检测,0=VSYNC时序锁存FID信号,1=不锁存,2=VD边缘锁存,3=VD、HD的相位决定

5)//CCIR656输入数据宽度,0=8bit,1=10bit

4)//YCINSWP,YI输入和CI引脚输入交换,0=不交换

|0;

VPFE_CCDC_FMTCFG=0;

//数据重新格式化、图象口配置

16)//图象口数据准备好频率,跟内核频率有关,0=CoreClock*1/2=75MHz

15)//videoport使能

12)//videoport输入选择,0=bit15~6

//|0;

VPFE_CCDC_FMT_HORZ=0//0x000002D0;

//数据重新格式化、图象输入接口水平信息

16)//bit31~29保留,从HD开始的水平开始象素

|(0x2D0<

0)//bit15~13保留,水平方向的象素个数=0x2d0=720

VPFE_CCDC_FMT_VERT=0//0x0000020E;

//数据重新格式化、图象输入接口垂直信息

16)//bit31~29保留,从vd开始的水平开始象素

|(0x20e<

0)//bit15~13保留,水平方向的象素个数=0x20e=526

VPFE_CCDC_FMT_ADDR0=0;

VPFE_CCDC_FMT_ADDR1=0;

VPFE_CCDC_FMT_ADDR2=0;

VPFE_CCDC_FMT_ADDR3=0;

VPFE_CCDC_FMT_ADDR4=0;

VPFE_CCDC_FMT_ADDR5=0;

VPFE_CCDC_FMT_ADDR6=0;

VPFE_CCDC_FMT_ADDR7=0;

VPFE_CCDC_PRGEVEN_0=0;

VPFE_CCDC_PRGEVEN_1=0;

VPFE_CCDC_PRGODD_0=0;

VPFE_CCDC_PRGODD_1=0;

VPFE_CCDC_VP_OUT=0//0x041A2D00;

//videoport输出设置

|(0x20d<

17)//被时钟输出到videoport的垂直线数=0x20d=525

|(0x2d0<

4)//被时钟输出到videoport的水平线数=0x2d0=720

//每个输出行的水平开始象素=0

VPFE_CCDC_PCR=0x00000001;

//EnableCCDC,bit1=是否busy,bit0=enable

//如果禁止的话,CCDC会向DSP发送中断,不需要中断需要配置INTC

}

*vpbe_init()*

voidvpbe_init(Uint32buffer,Uint32width,Uint32height,Uint32colorbar_loopback_mode,Uint32ntsc_pal_mode,Uint32output_mode)

Int16basep_x;

Int16basep_y;

RGBCOLORrc;

if(ntsc_pal_mode==NTSC)

{

basep_x=0x7A;

//122

basep_y=0x12;

//18

}

else

basep_x=0x84;

//132

basep_y=0x16;

//22

*SetupVPBE

VPSS_CLK_CTRL=0x00000018;

//EnableDACandVENCclock,bothat27MHz

VPBE_PCR=0;

//Noclockdiv,clockenable

*SetupOSD

VPBE_OSD_MODE=0//0x000000fc;

//osd模式寄存器

//最后8位指定背景色地址(ROM0)

15)//cb/cr顺序,0=cb/cr,1=cr/cb(修改这个1会把背景变红)

14)//osd窗口垂直扩展使能,如果使能,bitmap窗口

//Y值将延伸为6/5。

0=*1,1=*6/5

13)//osd窗口水平扩展使能,如果使能,bitmap窗口

//X值将延伸为9/8。

可用于pal和ntsc切换

12)//延伸滤波使能,14、13位使能才有用,或者video串口

//smoothing已经设置,小心使用

11)//video窗口,类似14位

10)//video窗口,类似13位

9)//field(场信号)翻转=1

8)//背景颜色表选择,0=ROM,1=RAM

|(0xfd<

0)//CLUT(colorlook-uptable)背景颜色查找表地址

;

//这是一部分图象不显示时出现的颜色

//--OSD窗口0、1设置,!

!

暂时不用!

VPBE_OSD_OSDWIN0MD=0|//Disablebothosdwindowsandcursorwindow

(0<

13)|//RGB0ERGB输入还是BITMAP输入

//0=bitmap,1=16bitRGB,如果此位设置,

//**#####**那么WINDOW1的该位不能为1**#####**

12)|//CLUTS0,OSDWINDOW0的颜色查找表位置,0=rom,1=RAM

10)|//OHZ0osd窗口0水平放大倍数(1、2、4)

8)|//OVZ0osd窗口0垂直放大倍数

6)|//BMW0bitmap位宽0=1,1=2,2=4,3=8

3)|//BLND0osd窗口0和video窗口0混合率

2)|//TE0osd窗口0透明,0=不使能,如果使能,根据

//BLND0出效果

1)|//osd窗口0显示模式,0=Field,1=Frame

0;

//osd窗口0激活=1

VPBE_OSD_OSDWIN1MD=0|

0<

15|//OASWwindow0的品质模式?

13|//RGB1ERGB输入还是BITMAP输入

12|//CLUTS1

10|//OHZ1

8|//OVZ1

6|//BMW1

3|//BLND1

2|//TE1透明不使能

1|//OFF1显示模式

//OACT1激活

//--

VPBE_OSD_RECTCUR=0;

VPBE_OSD_BASEPX=basep_x;

VPBE_OSD_BASEPY=basep_y;

//videowindow0参数选择--->

4

VPBE_OSD_VIDWIN0OFST=width>

4;

VPBE_OSD_VIDWIN0ADR=buffer;

//videowindow0地址寄存器,这里指向DDR,最低5位忽略

VPBE_OSD_VIDWIN0XP=0;

//videowindow0X起始坐标实际偏移比此值少一半?

//象素单位,从basepx开始算起,20刚好在边上

VPBE_OSD_VIDWIN0YP=20;

//此值对NTSC显示有影响,0则无影响

VPBE_OSD_VIDWIN0XL=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1