OpenEdv-开源电子网

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

0v7670+fifo+24L01无线发射,接收的图片不对

[复制链接]

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2014-2-14
在线时间
0 小时
发表于 2014-2-14 00:48:06 | 显示全部楼层 |阅读模式
老师,你好。我用了俩个MINISTM32板子和24l01和7670做的无线图片的发射,用的杜邦线连接的,效果还好,但是速度不快。现在我想用我自己的M3的最小系统加上24L01和摄像头做到PCB上,然后接收还是用的MINI STM32的板子接收!<br />
但是现在接收到的图片 是黑色的,我用示波器看了 SYNC 是有信号的,可以进入中断,初始化7670也是可以的,其他的IO都全部都检查了,在硬件上基本上都没啥子问题了。每一个IO口都检查了,没有问题。但是就是接收的图像是黑色的。。。 我在附近里把程序和PCB都上传了,希望老师帮忙看看吧! 程序参考的是买MINI板子里面光盘的例程!我是真的没办法了。。。能发现的问题都发现了。。。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2014-2-14 09:05:16 | 显示全部楼层
在mini接收板那边打断点看一下接受到的数据是不是0X0000(黑色),如果是的话再看通信有没有问题,没有的话再检查发送部分
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2014-2-14
在线时间
0 小时
 楼主| 发表于 2014-2-14 10:59:18 | 显示全部楼层
回复【2楼】745021926:
<br>---------------------------------
<br>我试了,我把发送部分改成固定数据,发现发送的是0xff的时候接受的全是黑色的图片,如果发送的是其他数据在LCD上显示的也不一样。就是用示波器看D7到D0这八位数据口都没有波形,搞不懂为啥了!
回复 支持 反对

使用道具 举报

8

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2013-12-27
在线时间
15 小时
发表于 2014-2-14 11:12:50 | 显示全部楼层
回复【3楼】511706987:
<br>---------------------------------
<br>IO口时钟打开没有?摄像头数据接口有没有用示波器看?
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2014-2-14
在线时间
0 小时
 楼主| 发表于 2014-2-14 11:20:24 | 显示全部楼层
回复【4楼】zzz1223887687:
<br>---------------------------------时钟我打开了,我是用到的IO口全部都一个一个调试了的,拉高然后拉低都用万用表打过了,都没问题!我刚刚又试了无线发送的程序,发送和接收的数据都是正常的,无线模块肯定是没问题的!
回复 支持 反对

使用道具 举报

8

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2013-12-27
在线时间
15 小时
发表于 2014-2-14 11:24:47 | 显示全部楼层
你的场中断行中断都有?图片数据是保存在数组里面用DMA搬的还是?&nbsp;数组有数据没有都是0xff?ov7670摄像头很好搞的&nbsp;&nbsp;直接保存数据就可以了&nbsp;要不是硬件电路有问题
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2014-2-14
在线时间
0 小时
 楼主| 发表于 2014-2-14 11:27:30 | 显示全部楼层
回复【6楼】zzz1223887687:
<br>---------------------------------
<br>直接读FIFO,我用的是数组来存,然后直接发送数组。。。问题是我用示波器看数据口,但是就是没有波形,我都不知道为什么了。。。。
回复 支持 反对

使用道具 举报

8

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2013-12-27
在线时间
15 小时
发表于 2014-2-14 11:37:08 | 显示全部楼层
回复【7楼】511706987:
<br>---------------------------------
<br>clk和vsyn波形都有?&nbsp;&nbsp;&nbsp;SCCB接口检查一下,配置写进去了没有?驱动都是你以前试过了的?
回复 支持 反对

使用道具 举报

8

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2013-12-27
在线时间
15 小时
发表于 2014-2-14 11:44:31 | 显示全部楼层
IO口配置GPIO_Mode_IN_FLOATING
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2014-2-14
在线时间
0 小时
 楼主| 发表于 2014-2-14 11:57:29 | 显示全部楼层
回复【8楼】zzz1223887687:
<br>---------------------------------
<br>SCCB接口我检查了,用的程序来判断,while(OV7670_Init());&nbsp;程序并没有卡到这,所以SCCB初始化7670应该没问题吧。。我用示波器看了又VSYN的波形,晕好像有几个脚没波形,OE片选信号有波形,WRST        RRST        俩脚貌似没看到波形呢。。。。我在瞧瞧。。
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2014-2-14
在线时间
0 小时
 楼主| 发表于 2014-2-14 12:09:49 | 显示全部楼层
回复【10楼】511706987:
<br>---------------------------------
<br>晕哦我貌似&nbsp;用的了SWD的PA14&nbsp;和PA13了连接的是读指针复位,和写指针复位,这俩个脚我调用了JTAG_Set(JTAG_SWD_DISABLE);        //关闭JTAG,但是我在程序里面不能把这俩脚拉低,为啥JTAG还会影响这俩个脚啊,我不是关闭了嘛!???
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2014-2-14
在线时间
0 小时
 楼主| 发表于 2014-2-14 12:31:12 | 显示全部楼层
回复【11楼】511706987:
<br>---------------------------------你好,我试了试,单独配置PA13,和PA14能单独的拉高和拉低,但是加到程序里面,这俩个IO口就一直都是高了。。。请问这是什么原因呢?&nbsp;麻烦你能帮我看看程序嘛?我上传在附件里面了。
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2014-2-14
在线时间
0 小时
 楼主| 发表于 2014-2-14 13:34:37 | 显示全部楼层
还是不对,我把wrst和RRST换成了PC11&nbsp;和PC12&nbsp;可是还是没有效果。。。哎&nbsp;看来真的是无能为力了。。。
回复 支持 反对

使用道具 举报

233

主题

957

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1789
金钱
1789
注册时间
2011-10-9
在线时间
222 小时
发表于 2014-2-14 13:50:28 | 显示全部楼层
回复【楼主位】511706987:<br />
---------------------------------<br />
先检查&nbsp;发射板能否正确拿到&nbsp;&nbsp;摄像头的画面&nbsp;&nbsp;&nbsp;&nbsp;(直接把要发射的数据打印到串口看看就清楚了)<br />
<br />
然后&nbsp;接收板能否接收到发射板的&nbsp;画面&nbsp;&nbsp;(把接收的数据打印出来与发射的数据对比就知道了)<br />
接收正确了 再检查显示部分 &nbsp; &nbsp;<br />
<br />
先搞清楚是那部分出问题<br />
你说改了固定数据 那么这些固定数据 到了你的接收板接收后 &nbsp;打印出来 看看 数据对不?
回复 支持 反对

使用道具 举报

8

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2013-12-27
在线时间
15 小时
发表于 2014-2-14 18:41:34 | 显示全部楼层
回复【13楼】511706987:
<br>---------------------------------
<br>你还是仿真的时候直接在RAM里面看数组保存图片数据,如果有图片数据,就不会都是0xff吧,0xff肯定都是黑色。如果在ram看到的数组是0xff,那你的摄像头连接肯定有问题,如果不是那肯定就是你的24L01无线配置有问题,你改过硬件需要一步一步检查啊。
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2014-2-14
在线时间
0 小时
 楼主| 发表于 2014-2-14 21:23:01 | 显示全部楼层
回复【14楼】simms01:
<br>---------------------------------
<br>我试过了,接收的数据和发射的数据是完全一样的!,无线发射没有问题!我可以确定了!&nbsp;但是,我刚刚测试了,我做的PCB上&nbsp;oe,rck,这几个脚的波形貌似不对这俩个脚的波形基本上都没有(我又重新把7670连在MINI板上,观察了OE,RCK的正常波形),但是我又的确配置好了IO口了,而且用万用表检查了线也是连上去了的,这是为什么呢???
回复 支持 反对

使用道具 举报

8

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2013-12-27
在线时间
15 小时
发表于 2014-2-14 22:31:08 | 显示全部楼层
RCK应该是时钟脚吧,你时钟脚波形都没有你的摄像头怎么可能工作的啊?你是怎么配置的啊?行中断真有?&nbsp;&nbsp;下面是我的ov7620的配置和ov7670和类似,我以前看了数据手册两款摄像头很类似。       
<br>/*&nbspC输出,&nbsp;为Y0-Y7的8bit数据输出口*/
<br>//        GPIO_SetBits(GPIOC,&nbsp;0x00ff);                &nbsp;//PC4-11&nbsp;&nbsp;八个IO口
<br>        GPIO_InitStructure.GPIO_Pin&nbsp;=0x00ff&nbsp;;
<br>        GPIO_InitStructure.GPIO_Mode&nbsp;=&nbsp;GPIO_Mode_IN_FLOATING;        //上拉输入
<br>        GPIO_InitStructure.GPIO_Speed&nbsp;=&nbsp;GPIO_Speed_50MHz;        //50M时钟速度
<br>        GPIO_Init(GPIOC,&nbsp;&GPIO_InitStructure);
<br>
<br>        /*&nbspB12,13,14,15输出PB12-VSYN&nbspB13-HREF&nbspB14-SCL&nbspB15-SDA&nbsp;*/
<br>//        GPIO_SetBits(GPIOB,&nbsp;GPIO_Pin_12|GPIO_Pin_13);//置为高
<br>        GPIO_InitStructure.GPIO_Pin&nbsp;=&nbsp;GPIO_Pin_12|GPIO_Pin_13;
<br>        GPIO_InitStructure.GPIO_Mode&nbsp;=&nbsp;GPIO_Mode_IPU;        //上拉输入
<br>        GPIO_InitStructure.GPIO_Speed&nbsp;=&nbsp;GPIO_Speed_50MHz;        //50M时钟速度
<br>        GPIO_Init(GPIOB,&nbsp;&GPIO_InitStructure);
<br>
<br>        //PB6-PCLK
<br>&nbsp;&nbsp;&nbsp;&nbsp;GPIO_InitStructure.GPIO_Pin&nbsp;=&nbsp;GPIO_Pin_6;
<br>        GPIO_InitStructure.GPIO_Mode&nbsp;=&nbsp;GPIO_Mode_IPU;        //上拉输入
<br>        GPIO_InitStructure.GPIO_Speed&nbsp;=&nbsp;GPIO_Speed_50MHz;        //50M时钟速度
<br>        GPIO_Init(GPIOB,&nbsp;&GPIO_InitStructure);
回复 支持 反对

使用道具 举报

8

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2013-12-27
在线时间
15 小时
发表于 2014-2-14 22:45:30 | 显示全部楼层
回复【16楼】511706987:
<br>---------------------------------
<br>不好意思,不知道你用的原子哥的摄像头,里面加了al422b这个芯片,这样接受应该更加简单(先进先出),是你电路没接对吧,该请教原子。
回复 支持 反对

使用道具 举报

5

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2013-6-8
在线时间
2 小时
发表于 2014-2-15 09:49:07 | 显示全部楼层
可以接收到,但是会非常慢,蜗牛爬
即使爬到最高的山上,一次也只能脚踏实地地迈一步。
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2016-5-14
在线时间
10 小时
发表于 2016-5-14 17:44:29 | 显示全部楼层
楼主做成功了吗
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 08:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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