野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 23812|回复: 13

请教一个关于图像数据传输的问题

[复制链接]
发表于 2014-4-1 22:32:01 | 显示全部楼层 |阅读模式
前段时间把Ov7670调通了,又从头到尾细致的思考了一遍细节,就一个地方不是很清楚,特来请教。
因为我打算继续拓展这个摄像头的应用,选用spi协议的nrf24来无线传输图像数据,无线接收后再另外一边的lcd显示出来,nrf一次最大可以发送32bytes,所以我打算一个像素(2bytes)一个像素的发送,接收了再一个像素一个像素的打在lcd显示出来,问题就是,因为像素的数据是连续发送的,怎么再接收方判断哪个像素是画面的第一个像素呢? 同理,用串口发送给上位机的时候,上位机是如何判断哪个数据是一帧画面的开始呢?
速度慢不是问题,就是想通过一个应用理解更多的东西而已。
回复

使用道具 举报

发表于 2014-4-1 22:35:03 | 显示全部楼层
火哥的智能车调试器就已经实现了这功能
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-1 23:51:19 | 显示全部楼层
栾端静 发表于 2014-4-1 22:35
火哥的智能车调试器就已经实现了这功能

我看到那个无线调试了 打算自己一步一步做出来 现在就这个点有点疑问
回复 支持 反对

使用道具 举报

发表于 2014-4-2 00:10:32 | 显示全部楼层
domfec 发表于 2014-4-1 23:51
我看到那个无线调试了 打算自己一步一步做出来 现在就这个点有点疑问

哪个是第一个像素,这是你自己安排的,你安排哪个像素在哪个包的哪个位置,你自己订个规则。

例如我们的是
[com][~com][第1到8个像素][第9到16个像素]~~~~~~~~~~~[~com][com]
回复 支持 反对

使用道具 举报

发表于 2014-4-2 00:11:44 | 显示全部楼层
nrf模块只考虑 一个个包来接收,你可以在这基础上实现类似串口的函数接口
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-2 00:14:40 | 显示全部楼层
如果连续发送多帧的话,我需要每一帧之间发送一个信号告诉接收方下一帧的数据从这里开始吗?不然无法确定这个像素在lcd的位置
回复 支持 反对

使用道具 举报

发表于 2014-4-2 00:33:09 | 显示全部楼层
domfec 发表于 2014-4-2 00:14
如果连续发送多帧的话,我需要每一帧之间发送一个信号告诉接收方下一帧的数据从这里开始吗?不然无法确定这 ...

我们的是一帧一帧来的,每帧数据前后都要校验码,可以判断数据是否正确,或者中间是否有丢数据包
回复 支持 反对

使用道具 举报

发表于 2014-4-2 00:34:00 | 显示全部楼层
domfec 发表于 2014-4-2 00:14
如果连续发送多帧的话,我需要每一帧之间发送一个信号告诉接收方下一帧的数据从这里开始吗?不然无法确定这 ...

我们也是发送多帧的啊,但一帧一帧来处理的
回复 支持 反对

使用道具 举报

发表于 2014-4-2 00:35:44 | 显示全部楼层
你好好研究一下我们的代码先。不仅图像,包括变量都可以传输。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-2 11:58:21 来自手机 | 显示全部楼层
一帧一帧的来处理我就明白了
我现在采集的数据是直接每采集一个像素就打到lcd上显示 没有储存图像, iso mini空间不够。我打算先把采集图像改成qqvga 这样应该能在内存里面存一帧完整的图像 然后再把这帧用nrf发送出去。发送完毕再采集新图像到内存 如此循环 。 我的思路应该是对的吧
回复 支持 反对

使用道具 举报

发表于 2014-4-2 14:56:29 | 显示全部楼层
domfec 发表于 2014-4-2 11:58
一帧一帧的来处理我就明白了
我现在采集的数据是直接每采集一个像素就打到lcd上显示 没有储存图像, iso m ...

那就一个个数据包来处理,数据包的开头都加上校验,接收端对包进行判断,看看有没有漏包,没漏包,就刷到屏幕上
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-3 21:23:41 | 显示全部楼层
山外メ雲ジ 发表于 2014-4-2 14:56
那就一个个数据包来处理,数据包的开头都加上校验,接收端对包进行判断,看看有没有漏包,没漏包,就刷到 ...

多谢  现在已经把7670配置成qqvga了,发现新版的lcd驱动好像没有开窗这个函数了,现在暂时是给空余的3/4屏幕写0,只显示qqvga这一块。我记得好像有个版本的lcd驱动有一个开窗的步骤,慢慢再来研究。
之前NRF24在两块arduino上可以通讯,就是不能arduino和iso通讯,今天查了datasheet的说明,把寄存器配置打印出来对比,发现CRC的配置一边是1byte一边式2byte2,自然无法接受数据,返回应答了。
回复 支持 反对

使用道具 举报

发表于 2014-4-7 00:33:09 来自手机 | 显示全部楼层
domfec 发表于 2014-4-2 11:58
一帧一帧的来处理我就明白了
我现在采集的数据是直接每采集一个像素就打到lcd上显示 没有储存图像, iso m ...

这样的话处理速度跟的上吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-7 00:55:51 | 显示全部楼层
陈帅 发表于 2014-4-7 00:33
这样的话处理速度跟的上吗?

传输部分和摄像头这边读写内存都做完了 还没有整合 不知道最后出来速度怎么样。
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-17 11:16 , Processed in 0.035596 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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