OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7789|回复: 17

本人最近在研究ov7725硬件二值化摄像头想在stm32f407上实现,但出现了一点小问题,一直不能实现,想请各位看看

[复制链接]

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2017-8-19
在线时间
12 小时
发表于 2017-8-19 22:12:18 | 显示全部楼层 |阅读模式
1金钱

最佳答案

查看完整内容[请看2#楼]

中途断断续续的测试,搞定了,ov7725硬件二值化摄像头,最高有150帧,可是由于32的定时器读取速度没这么快,最终只能在32上运行50帧率的图,在32上弄最重要就是加个下拉150欧姆电路,否则场中断极其不稳定
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2017-8-19
在线时间
12 小时
 楼主| 发表于 2017-8-19 22:12:19 | 显示全部楼层
中途断断续续的测试,搞定了,ov7725硬件二值化摄像头,最高有150帧,可是由于32的定时器读取速度没这么快,最终只能在32上运行50帧率的图,在32上弄最重要就是加个下拉150欧姆电路,否则场中断极其不稳定
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2017-8-19
在线时间
12 小时
 楼主| 发表于 2017-8-19 22:13:32 | 显示全部楼层
本来上传了压缩包,不知道为什么没成功
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2017-8-19
在线时间
12 小时
 楼主| 发表于 2017-8-19 22:18:22 | 显示全部楼层
这是代码,注释有点错误

摄像头.zip

11.69 MB, 下载次数: 1317

回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2017-8-19
在线时间
12 小时
 楼主| 发表于 2017-8-19 22:21:18 | 显示全部楼层
希望大家一起讨论一下,我说一下我的大致想法:场中断来了,开启dma,每个plck信号来dma传输1个数据(比如0xff),但是代表八个像素点,然后图像采集完成,对原来图像进行解压,到液晶屏上显示,不知道为什么就是不对。。。。
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2017-8-19
在线时间
12 小时
 楼主| 发表于 2017-8-19 22:28:49 | 显示全部楼层
u8 ov_frame;         //统计帧数
void EXTI3_IRQHandler(void)//图像大小是80*60
{                        
        if(EXTI_GetITStatus(EXTI_Line3)!=RESET)//场中断
        {   
                MYDMA_Config(DMA2_Stream4,DMA_Channel_6,(u32)&GPIOC->IDR,(u32)&Row,1);//开启DMA传输
                flag=1;
        }
        EXTI_ClearITPendingBit(EXTI_Line3);                                            
}

void EXTI4_IRQHandler(void)//行中断
{                        
        if(EXTI_GetITStatus(EXTI_Line4)!=RESET)
        {   
   count1++;
        }
        EXTI_ClearITPendingBit(EXTI_Line4);                                            
}
//定时器6中断服务程序         
void TIM5_IRQHandler(void)//一秒钟定时
{        
        if (TIM_GetITStatus(TIM5, TIM_IT_Update) != RESET) //检查指定的TIM中断发生与否:TIM 中断源
        {
                        printf("frame:%dfps    %d \r\n",ov_frame,count1);        //打印帧率
                        ov_frame=0;       
                  count1=0;
        }
        TIM_ClearITPendingBit(TIM5, TIM_IT_Update);  //清除TIMx的中断待处理位:TIM 中断源   
}
void TIM1_TRG_COM_TIM11_IRQHandler(void)//pclk中断,用定时器触发
{        
        if (TIM_GetITStatus(TIM1,TIM_IT_Trigger) != RESET) //检查指定的TIM中断发生与否:TIM 中断源
        {
                if(flag==1)
                {
                MYDMA_Enable(DMA2_Stream4,1);
                Row1[count]=Row;
                  count++;
                if(count==600)
                {
                        ov_frame++;
                        count=0;
                        flag=0;
                        DMA_Cmd(DMA2_Stream4, DISABLE);
                        EXTI3_Disable();
                }
          }
        }
        TIM_ClearITPendingBit(TIM1,TIM_IT_Trigger);  //清除TIMx的中断待处理位:TIM 中断源   
}
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2017-8-19
在线时间
12 小时
 楼主| 发表于 2017-8-19 22:29:54 | 显示全部楼层
C:\Users\Administrator\Desktop
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2017-8-19
在线时间
12 小时
 楼主| 发表于 2017-8-19 22:31:16 | 显示全部楼层
这是OV7725硬件二值化摄像头原理图,说了这么多,只想让大家帮我分析分析,谢了
QQ截图20170819223222.png
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2017-3-5
在线时间
4 小时
发表于 2017-9-12 21:18:26 | 显示全部楼层
lwqdasheng 发表于 2017-8-19 22:31
这是OV7725硬件二值化摄像头原理图,说了这么多,只想让大家帮我分析分析,谢了

调出来了吗?
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2017-8-19
在线时间
12 小时
 楼主| 发表于 2017-9-19 19:03:22 | 显示全部楼层

你有什么进展没
回复

使用道具 举报

8

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
158
金钱
158
注册时间
2014-12-28
在线时间
37 小时
发表于 2017-9-19 22:21:10 | 显示全部楼层
这种情况一般都是摄像头寄存器设置不对!
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2017-8-19
在线时间
12 小时
 楼主| 发表于 2017-9-20 00:20:33 | 显示全部楼层
denglu 发表于 2017-9-19 22:21
这种情况一般都是摄像头寄存器设置不对!

可我寄存器的值都是跟着k60原本代码提供的寄存器值写的
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2017-9-20 00:42:29 | 显示全部楼层
帮顶
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2017-8-19
在线时间
12 小时
 楼主| 发表于 2017-9-20 10:34:52 | 显示全部楼层
谢谢
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2017-8-19
在线时间
12 小时
 楼主| 发表于 2017-10-16 23:07:14 来自手机 | 显示全部楼层
内容更新,发现k60与stm32f407,gpio读取速度有很大区别,如果摄像头调成150帧或者112帧,定时器检测不到这么多pclk信号,本人发现stm32运行50祯刚好,但是不知道为什么场中断在纯黑或者纯白一秒是50,而如果颜色发生变化场中断数值会大量变化,不知道为什么
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2017-8-19
在线时间
12 小时
 楼主| 发表于 2017-10-17 19:53:47 | 显示全部楼层
经过测试发现,场中断和pclk要外接一个150欧姆的下拉电路,否则只依靠stm32f407单片机下拉电路,很容易导致场中断数值不稳定
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2017-10-17 23:58:27 | 显示全部楼层
lwqdasheng 发表于 2017-10-17 19:53
经过测试发现,场中断和pclk要外接一个150欧姆的下拉电路,否则只依靠stm32f407单片机下拉电路,很容易导致 ...

搞定了?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2018-4-4
在线时间
4 小时
发表于 2018-4-4 19:57:50 | 显示全部楼层
lwqdasheng 发表于 2017-10-17 19:53
经过测试发现,场中断和pclk要外接一个150欧姆的下拉电路,否则只依靠stm32f407单片机下拉电路,很容易导致 ...

怎么操作,小白求指教
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-7 22:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表