6004|11

68

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wince中通过ov9650捕获视频 [复制链接]

手上有一个从天嵌买的ov9650摄像头,天嵌也提供驱动了,程序可以调用的驱动函数如下:
CIS_Close
        CIS_Deinit
        CIS_Init
        CIS_IOControl
        CIS_Open
        CIS_PowerDown
        CIS_PowerUp
        CIS_Read
        CIS_Seek
        CIS_Write
但是,看了下驱动源代码,这几个函数的实现如下:
DWORD CIS_Open(DWORD hDeviceContext, DWORD AccessCode, DWORD ShareMode)
{
        RETAILMSG(1,(TEXT("CAMERA: CIS_Open\r\n")));

      RETAILMSG(1,(TEXT("CAMERA: CIS_Open---------\r\n")));
          RETAILMSG(1,(TEXT("CAMERA: CIS_Open----------\r\n")));
          RETAILMSG(1,(TEXT("CAMERA: CIS_Open-----------\r\n")));
          
        DRIVER_PREVIEW_ENABLE = 2;

        return TRUE;
}

//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
BOOL CIS_Close(DWORD hOpenContext)
{
        RETAILMSG(1,(TEXT("CAMERA: CIS_Close\r\n")));
        return TRUE;
}

//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
void CIS_PowerDown(DWORD hDeviceContext)
{
        RETAILMSG(1,(TEXT("CAMERA: CIS_PowerDown\r\n")));

        m_Dx = (_CEDEVICE_POWER_STATE)D4;

        Camif_Capture(CAPTURE_OFF, CAPTURE_OFF);

        CamClockOn(FALSE);

        //RETAILMSG(1,(TEXT("CAMERA: CIS_PowerDown, m_Dx = D%u, init %d \r\n"), m_Dx, mInitialized));
}

//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
void CIS_PowerUp(DWORD hDeviceContext)
{
        RETAILMSG(1,(TEXT("CAMERA: CIS_PowerUp\r\n")));
       
        m_Dx = (_CEDEVICE_POWER_STATE)D0;
       
    //
    // 1. Camera IO setup
    //
        CamGpioInit();

        //
    // 2. Camera Clock setup
    //
        CamClockOn(TRUE);

        // 3. Camera i/f reset
    CAM_IF_Reset();

        if (image_size == 1)
                CamInit(QCIF_XSIZE, QCIF_YSIZE, QCIF_XSIZE, QCIF_YSIZE, 112, 20, COPIFRAMEBUFFER_B, COPIFRAMEBUFFER_A);
        else if (image_size == 2)
                CamInit(CIF_XSIZE, CIF_YSIZE, QCIF_XSIZE, QCIF_YSIZE, 112, 20, COPIFRAMEBUFFER_B, COPIFRAMEBUFFER_A);
       
        RETAILMSG(1,(TEXT("CAMERA: CIS_PowerUp, m_Dx = D%u\r\n"), m_Dx));
}

//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
DWORD CIS_Read(DWORD hOpenContext, LPVOID pBuffer, DWORD Count)
{
        RETAILMSG(1,(TEXT("CAMERA: CIS_Read\r\n")));
        return TRUE;
}

//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
DWORD CIS_Seek(DWORD hOpenContext, long Amount, DWORD Type)
{
        RETAILMSG(1,(TEXT("CAMERA: CIS_Seek\r\n")));
        return 0;
}

//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
DWORD CIS_Write(DWORD hOpenContext, LPCVOID pSourceBytes, DWORD NumberOfBytes)
{
        RETAILMSG(1,(TEXT("CAMERA: CIS_Write\r\n")));
        return 0;
}
这几个函数实际根本没对camera做实际操作,不知道大家用过ov9650吗,能不能给提供点资料
此帖出自WindowsCE论坛

最新回复

============== 以下是厂家给的配置:共有三个VGA,CIF,SXVGA,输出都是YUV模式,如是时钟是24M,帧率是15fps,我只验证了VGA模式的,效果还可以! ;09032004 ;OV9650 ;VGA YUV ;15fps when 24MHz input clock ;Device Address(Hex)/Register(Hex)/Value(Hex) ; 60 12 80 60 11 81 60 6b 0a 60 6a 3e 60 3b 09 60 13 e0 60 01 80 60 02 80 60 00 00 60 10 00 60 13 e5 ; 60 39 43 ;50 for 30fps 60 38 12 ;92 for 30fps 60 37 00 60 35 91 ;81 for 30fps 60 0e 20 60 1e 04 ; 60 A8 80 60 12 40 60 04 00 60 0c 04 60 0d 80 60 18 c6 60 17 26 60 32 ad 60 03 00 60 1a 3d 60 19 01 60 3f a6 60 14 2e 60 15 02 60 41 02 60 42 08 ; 60 1b 00 60 16 06 60 33 e2 ;c0 for internal regulator 60 34 bf 60 96 04 60 3a 00 60 8e 00 ; 60 3c 77 60 8B 06 60 94 88 60 95 88 60 40 c1 60 29 3f ;2f for internal regulator 60 0f 42 ; 60 3d 92 60 69 40 60 5C b9 60 5D 96 60 5E 10 60 59 c0 60 5A af 60 5B 55 60 43 f0 60 44 10 60 45 68 60 46 96 60 47 60 60 48 80 60 5F e0 60 60 8c ;0c for advanced AWB (related to lens) 60 61 20 60 a5 d9 60 a4 74 60 8d 02 60 13 e7 ; 60 4f 3a 60 50 3d 60 51 03 60 52 12 60 53 26 60 54 38 60 55 40 60 56 40 60 57 40 60 58 0d ; 60 8C 23 60 3E 02 60 a9 b8 60 aa 92 60 ab 0a ; 60 8f df 60 90 00 60 91 00 60 9f 00 60 a0 00 60 3A 01 ; 60 24 70 60 25 64 60 26 c3 ; 60 2a 00 ;10 for 50Hz 60 2b 00 ;40 for 50Hz ; ;gamma 60 6c 40 60 6d 30 60 6e 4b 60 6f 60 60 70 70 60 71 70 60 72 70 60 73 70 60 74 60 60 75 60 60 76 50 60 77 48 60 78 3a 60 79 2e 60 7a 28 60 7b 22 60 7c 04 60 7d 07 60 7e 10 60 7f 28 60 80 36 60 81 44 60 82 52 60 83 60 60 84 6c 60 85 78 60 86 8c 60 87 9e 60 88 bb 60 89 d2 60 8a e6 ; ============== ;09032004 ;OV9650 ;CIF YUV ;15fps when 24MHz input clock ;Device Address(Hex)/Register(Hex)/Value(Hex) ; 60 12 80 60 11 83 60 6b 0a 60 6a 30 60 3b 09 60 13 e0 60 01 80 60 02 80 60 00 00 60 10 00 60 13 e5 ; 60 39 43 60 38 12 60 37 00 60 35 91 60 0e a0 60 1e 04 ; 60 A8 80 60 12 20 60 04 00 60 0c 04 60 0d 80 60 18 7e 60 17 26 60 32 24 60 03 36 60 1a 24 60 19 00 60 14 2e 60 15 02 60 3f a6 60 41 02 60 42 08 ; 60 1b 00 60 16 06 60 33 e2 ;c0 for internal regulator 60 34 bf 60 96 04 60 3a 00 60 8e 00 ; 60 3c 77 60 8B 06 60 94 88 60 95 88 60 40 c1 60 29 3f ;2f for internal regulator 60 0f 42 ; 60 3d 92 60 69 40 60 5C b9 60 5D 96 60 5E 10 60 59 c0 60 5A af 60 5B 55 60 43 f0 60 44 10 60 45 68 60 46 96 60 47 60 60 48 80 60 5F e0 60 60 8c ;0c for advanced AWB (related to lens) 60 61 20 60 a5 d9 60 a4 74 60 8d 02 60 13 e7 ; 60 4f 3a 60 50 3d 60 51 03 60 52 12 60 53 26 60 54 38 60 55 40 60 56 40 60 57 40 60 58 0d ; 60 8C 23 60 3E 02 60 a9 b8 60 aa 92 60 ab 0a ; 60 8f df 60 90 00 60 91 00 60 9f 00 60 a0 00 60 3A 01 ; 60 24 70 60 25 64 60 26 c3 ; 60 2a 00 ;00 for 50Hz 60 2b 00 ;D2 for 50Hz ; ;gamma 60 6c 40 60 6d 30 60 6e 4b 60 6f 60 60 70 70 60 71 70 60 72 70 60 73 70 60 74 60 60 75 60 60 76 50 60 77 48 60 78 3a 60 79 2e 60 7a 28 60 7b 22 60 7c 04 60 7d 07 60 7e 10 60 7f 28 60 80 36 60 81 44 60 82 52 60 83 60 60 84 6c 60 85 78 60 86 8c 60 87 9e 60 88 bb 60 89 d2 60 8a e6 ; ================= ;09032004 ;OV9650 ;SXGA YUV ;7.5fps when 24MHz input clock ;Device Address(Hex)/Register(Hex)/Value(Hex) ; 60 12 80 60 11 80 60 6b 0a 60 6a 41 60 3b 09 60 13 e0 60 01 80 60 02 80 60 00 00 60 10 00 60 13 e5 ; 60 39 43 ;50 for 15fps 60 38 12 ;93 for 15fps 60 37 00 60 35 91 ;81 for 15fps 60 0e 20 60 1e 04 ; 60 A8 80 60 12 00 60 04 00 60 0c 00 60 0d 00 60 18 bd 60 17 1d 60 32 ad 60 03 12 60 1a 81 60 19 01 60 14 2e 60 15 00 60 3f a6 60 41 02 60 42 08 ; 60 1b 00 60 16 06 60 33 e2 ;c0 for internal regulator 60 34 bf 60 96 04 60 3a 00 60 8e 00 ; 60 3c 77 60 8B 06 60 94 88 60 95 88 60 40 c1 60 29 3f ;2f for internal regulator 60 0f 42 ; 60 3d 92 60 69 40 60 5C b9 60 5D 96 60 5E 10 60 59 c0 60 5A af 60 5B 55 60 43 f0 60 44 10 60 45 68 60 46 96 60 47 60 60 48 80 60 5F e0 60 60 8C ;0c for advanced AWB (Related to lens) 60 61 20 60 a5 d9 60 a4 74 60 8d 02 60 13 e7 ; 60 4f 3a 60 50 3d 60 51 03 60 52 12 60 53 26 60 54 38 60 55 40 60 56 40 60 57 40 60 58 0d ; 60 8C 23 60 3E 02 60 a9 b8 60 aa 92 60 ab 0a ; 60 8f df 60 90 00 60 91 00 60 9f 00 60 a0 00 60 3A 01 ; 60 24 70 60 25 64 60 26 c3 ; 60 2a 00 ;10 for 50Hz 60 2b 00 ;34 for 50Hz ; ;gamma 60 6c 40 60 6d 30 60 6e 4b 60 6f 60 60 70 70 60 71 70 60 72 70 60 73 70 60 74 60 60 75 60 60 76 50 60 77 48 60 78 3a 60 79 2e 60 7a 28 60 7b 22 60 7c 04 60 7d 07 60 7e 10 60 7f 28 60 80 36 60 81 44 60 82 52 60 83 60 60 84 6c 60 85 78 60 86 8c 60 87 9e 60 88 bb 60 89 d2 60 8a e6  详情 回复 发表于 2010-3-3 13:31
点赞 关注
 

回复
举报

78

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
你的问题是什么?程序可以正常工作吗?
此帖出自WindowsCE论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
捕获不到视频
此帖出自WindowsCE论坛
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(高级)

4
 
自己顶
此帖出自WindowsCE论坛
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

5
 
uping
此帖出自WindowsCE论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
uping
此帖出自WindowsCE论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

7
 
我现在就在弄这个,它是在CIS_IOControl里面有一个

                case IOCTL_CAM_CONT :
                        RETAILMSG(1,(TEXT("CAMERA:IOCTL_CAM_CONT\r\n")));
                        // Charlie.MSG_EN_1 Play
                        //DisplayEnable = 1;

                        // Enable camera interrupt
                        s2450INT->INTMSK1 &= ~BIT_CAM;
                        s2450INT->INTSUBMSK &= ~(BIT_SUB_CAM_P|BIT_SUB_CAM_C);


                        Camif_Capture(CAPTURE_ON, CAPTURE_ON);

                        //DisplayTime = DISPLAY_SCHEDULE;                                // polling mode
                        //SetEvent(CameraEvent);
//#ifndef YL_2440_SUPPORT
        //                s2450IOP->GPGCON &= ~(0x3<<24);
                //        s2450IOP->GPGCON |= (0x1<<24);                // EINT20
//#endif
                        frame_count = 0;                // for MPEG4
                        break;





这个需要通过应用程序来调用,调用完就会显示图像
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

8
 
板子上自带cameratest.exe程序也不能显示图像,是程序还是摄像头有问题呢?
此帖出自WindowsCE论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

9
 
都有可能,实在不行,你自己写一个打开的程序 就知道哪的问题了
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

10
 
在IOcontrol函数打开camera中断,然后在中断IST调用显示函数的。
楼主多加打印信息,并且确定你的camera初始化寄存器正确,比较好弄的。
此帖出自WindowsCE论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

11
 
请问,模拟sccb总线时,为什么在发送完一个字节的8位数据后,还要主机发送一位(第9位)“don't care”?“don't care”不应该是从机发给主机的吗?

void __inline ov7620_sccb_writechar(unsigned char data)
{
        int i = 0;

        /* data */
        for (i = 0; i < 8; i++ ) {
                ov7620_sccb_write_bit(data & 0x80);
                data <<= 1;
        }

        /* 9th bit - Don't care */
        ov7620_sccb_write_bit(1);
}
此帖出自WindowsCE论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

12
 
==============
以下是厂家给的配置:共有三个VGA,CIF,SXVGA,输出都是YUV模式,如是时钟是24M,帧率是15fps,我只验证了VGA模式的,效果还可以!
;09032004
;OV9650
;VGA YUV
;15fps when 24MHz input clock
;Device Address(Hex)/Register(Hex)/Value(Hex)
;
60 12 80
60 11 81
60 6b 0a
60 6a 3e
60 3b 09
60 13 e0
60 01 80
60 02 80
60 00 00
60 10 00
60 13 e5
;
60 39 43 ;50 for 30fps
60 38 12 ;92 for 30fps
60 37 00
60 35 91 ;81 for 30fps
60 0e 20
60 1e 04
;
60 A8 80
60 12 40
60 04 00
60 0c 04
60 0d 80
60 18 c6
60 17 26
60 32 ad
60 03 00
60 1a 3d
60 19 01
60 3f a6
60 14 2e
60 15 02
60 41 02
60 42 08
;
60 1b 00
60 16 06
60 33 e2 ;c0 for internal regulator
60 34 bf
60 96 04
60 3a 00
60 8e 00
;
60 3c 77
60 8B 06
60 94 88
60 95 88
60 40 c1
60 29 3f ;2f for internal regulator
60 0f 42
;
60 3d 92
60 69 40
60 5C b9
60 5D 96
60 5E 10
60 59 c0
60 5A af
60 5B 55
60 43 f0
60 44 10
60 45 68
60 46 96
60 47 60
60 48 80
60 5F e0
60 60 8c ;0c for advanced AWB (related to lens)
60 61 20
60 a5 d9
60 a4 74
60 8d 02
60 13 e7
;
60 4f 3a
60 50 3d
60 51 03
60 52 12
60 53 26
60 54 38
60 55 40
60 56 40
60 57 40
60 58 0d
;
60 8C 23
60 3E 02
60 a9 b8
60 aa 92
60 ab 0a
;
60 8f df
60 90 00
60 91 00
60 9f 00
60 a0 00
60 3A 01
;
60 24 70
60 25 64
60 26 c3
;
60 2a 00 ;10 for 50Hz
60 2b 00 ;40 for 50Hz
;
;gamma
60 6c 40
60 6d 30
60 6e 4b
60 6f 60
60 70 70
60 71 70
60 72 70
60 73 70
60 74 60
60 75 60
60 76 50
60 77 48
60 78 3a
60 79 2e
60 7a 28
60 7b 22
60 7c 04
60 7d 07
60 7e 10
60 7f 28
60 80 36
60 81 44
60 82 52
60 83 60
60 84 6c
60 85 78
60 86 8c
60 87 9e
60 88 bb
60 89 d2
60 8a e6
;

==============
;09032004
;OV9650
;CIF YUV
;15fps when 24MHz input clock
;Device Address(Hex)/Register(Hex)/Value(Hex)
;
60 12 80
60 11 83
60 6b 0a
60 6a 30
60 3b 09
60 13 e0
60 01 80
60 02 80
60 00 00
60 10 00
60 13 e5
;
60 39 43
60 38 12
60 37 00
60 35 91
60 0e a0
60 1e 04
;
60 A8 80
60 12 20
60 04 00
60 0c 04
60 0d 80
60 18 7e
60 17 26
60 32 24
60 03 36
60 1a 24
60 19 00
60 14 2e
60 15 02
60 3f a6
60 41 02
60 42 08
;
60 1b 00
60 16 06
60 33 e2 ;c0 for internal regulator
60 34 bf
60 96 04
60 3a 00
60 8e 00
;
60 3c 77
60 8B 06
60 94 88
60 95 88
60 40 c1
60 29 3f ;2f for internal regulator
60 0f 42
;
60 3d 92
60 69 40
60 5C b9
60 5D 96
60 5E 10
60 59 c0
60 5A af
60 5B 55
60 43 f0
60 44 10
60 45 68
60 46 96
60 47 60
60 48 80
60 5F e0
60 60 8c ;0c for advanced AWB (related to lens)
60 61 20
60 a5 d9
60 a4 74
60 8d 02
60 13 e7
;
60 4f 3a
60 50 3d
60 51 03
60 52 12
60 53 26
60 54 38
60 55 40
60 56 40
60 57 40
60 58 0d
;
60 8C 23
60 3E 02
60 a9 b8
60 aa 92
60 ab 0a
;
60 8f df
60 90 00
60 91 00
60 9f 00
60 a0 00
60 3A 01
;
60 24 70
60 25 64
60 26 c3
;
60 2a 00 ;00 for 50Hz
60 2b 00 ;D2 for 50Hz
;
;gamma
60 6c 40
60 6d 30
60 6e 4b
60 6f 60
60 70 70
60 71 70
60 72 70
60 73 70
60 74 60
60 75 60
60 76 50
60 77 48
60 78 3a
60 79 2e
60 7a 28
60 7b 22
60 7c 04
60 7d 07
60 7e 10
60 7f 28
60 80 36
60 81 44
60 82 52
60 83 60
60 84 6c
60 85 78
60 86 8c
60 87 9e
60 88 bb
60 89 d2
60 8a e6
;

=================
;09032004
;OV9650
;SXGA YUV
;7.5fps when 24MHz input clock
;Device Address(Hex)/Register(Hex)/Value(Hex)
;
60 12 80
60 11 80
60 6b 0a
60 6a 41
60 3b 09
60 13 e0
60 01 80
60 02 80
60 00 00
60 10 00
60 13 e5
;
60 39 43 ;50 for 15fps
60 38 12 ;93 for 15fps
60 37 00
60 35 91 ;81 for 15fps
60 0e 20
60 1e 04
;
60 A8 80
60 12 00
60 04 00
60 0c 00
60 0d 00
60 18 bd
60 17 1d
60 32 ad
60 03 12
60 1a 81
60 19 01
60 14 2e
60 15 00
60 3f a6
60 41 02
60 42 08
;
60 1b 00
60 16 06
60 33 e2 ;c0 for internal regulator
60 34 bf
60 96 04
60 3a 00
60 8e 00
;
60 3c 77
60 8B 06
60 94 88
60 95 88
60 40 c1
60 29 3f ;2f for internal regulator
60 0f 42
;
60 3d 92
60 69 40
60 5C b9
60 5D 96
60 5E 10
60 59 c0
60 5A af
60 5B 55
60 43 f0
60 44 10
60 45 68
60 46 96
60 47 60
60 48 80
60 5F e0
60 60 8C ;0c for advanced AWB (Related to lens)
60 61 20
60 a5 d9
60 a4 74
60 8d 02
60 13 e7
;
60 4f 3a
60 50 3d
60 51 03
60 52 12
60 53 26
60 54 38
60 55 40
60 56 40
60 57 40
60 58 0d
;
60 8C 23
60 3E 02
60 a9 b8
60 aa 92
60 ab 0a
;
60 8f df
60 90 00
60 91 00
60 9f 00
60 a0 00
60 3A 01
;
60 24 70
60 25 64
60 26 c3
;
60 2a 00 ;10 for 50Hz
60 2b 00 ;34 for 50Hz
;
;gamma
60 6c 40
60 6d 30
60 6e 4b
60 6f 60
60 70 70
60 71 70
60 72 70
60 73 70
60 74 60
60 75 60
60 76 50
60 77 48
60 78 3a
60 79 2e
60 7a 28
60 7b 22
60 7c 04
60 7d 07
60 7e 10
60 7f 28
60 80 36
60 81 44
60 82 52
60 83 60
60 84 6c
60 85 78
60 86 8c
60 87 9e
60 88 bb
60 89 d2
60 8a e6
此帖出自WindowsCE论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表