从FPGA搞定OV7670 VGA显示 移植到 STM32F10x TFT显示 总结及疑问(高手请进)
OV7670不愧是最便宜的摄像头了
最大显示像素:640*480(在VGA显示器上显示效果还不赖,用usb模块采集显示依然显著)
第一步:
VGA显示 视频图像(实时)
FPGA+SDRAM+OV7670= VGA显示视频图像,帧率可达30fps
FPGA作为逻辑控制,配置摄像头寄存器,sdram作为fifo,实现图像的基本处理(RGB转换,或RAW处理)
摄像头格式:RAW、RGB565、YUV可选。
通过使用FPGA驱动摄像头,发现摄像头驱动,显示,还算简单。
扩展:拍照不保存
解决办法:IO控制FPGA逻辑,key按下时,逻辑实现,摄像头数据停止往fifo写入,图像静止,松开后继续传输,视频继续!
第二步:
PC 计算机系统实时采集图像信息或视频
68013+OV7670
要实现视频数据传输到计算机,fpga实现就相对复杂了,至少得实现一个usb接口,还得实现协议,对于这个简单的应用,不得不换个简单的方案。
cy68013 usb芯片,轻松实现摄像头的配置和视频传输。
68013实现摄像头寄存器配置,io模拟iic总线轻松容易,寄存器初始化完,直接向fifo写入数据,轻松容易,上位机根据68013的驱动接口,直接读数据,bmp格式显示即可。
目前以实现0v7670和ov7725摄像头自动识别,自动配置,raw格式流。帧率可达30fps。
当然也可以配置为RGB565格式,只是带宽比RAW多一倍而已。
第三步:TFT小显示器 通过STM32F103 驱动摄像头,视频显示,拍照等功能
若想拍照,存储tf卡,方便导出,自然选择fat文件系统,便携式,小巧,低成本(一般的51便宜,但是ram和rom较小)
stm32f10x 不带摄像头接口,驱动tf卡,实现fat文件系统,驱动tft液晶,stm32f1虽然不带摄像头专用接口,但是配上一颗便宜的fifo也较为容易实现。
尝试,直接使用io驱动摄像头,xclk直接通过PA8 MCO输出。发现时钟低了,图像就根本不能用了,加上io翻转速度,确实较慢,基本没有啥实际用途,所以不得不加fifo,通过io驱动的液晶,帧率可达11fps,较为满意。
通过以上玩法
基本利用了FPGA的优势,快速,高效,并行。
usb的高速传输
stm32f10x的低成本,以及便携式的有点,
问题来了:
网上有看到,直接使用c8051f330驱动7670的,帧率可达到30fps,还真没想明白,什么原理,怎么实现的,各位请高见!!
从FPGA搞定OV7670 VGA显示 移植到 STM32F10x TFT显示 总结及疑问(高手请进)的更多相关文章
- 【资讯】天啦鲁,这十余款创客设计居然由FPGA搞定 [转]
按理说‘高大上’的FPGA,多出现在航天航空(如火星探测器).通信(如基站.数据中心).测试测量等高端应用场景.但麦迪却也发现,近期,在很多创客的作品内部都有FPGA的影子.这或许也从侧面看出,打从总 ...
- 模拟摄像头,AV视频信号线解码,PAL制 NTSC,输入解码显示,终于搞定,记录下!
模拟摄像头,AV视频信号线解码,PAL制 NTSC,输入解码显示,终于搞定,记录下! 咱们常用的摄像头,监控等,大多数都是AV信号,国内制式都是PAL,采用同轴,传输,这样的好处在于,传输距离可以很长 ...
- 如何让两个div在同一行显示?一个float搞定
最近在学习div和css,遇到了一些问题也解决了很多以前以为很难搞定的问题.比如:如何让两个div显示在同一行呢?(不是用table表格,table对SE不太友好)其实,<div> 是一个 ...
- Jquery一个slideToggle搞定div的隐藏与显示
Jquery一个slideToggle搞定div的隐藏与显示 <!DOCTYPE html> <html> <head> <script src=" ...
- 《FPGA全程进阶---实战演练》之搞定阻抗匹配
笔者最近几天在做视频采集板卡时,视频显示端打算采用 USB2.0接口+上位机 显示,其中USB需要做阻抗匹配.通常情况下USB的阻抗值需要做到90Ω±10%.下面就讲解一下关于阻抗匹配的知识,哪里说得 ...
- 一张图搞定OAuth2.0 在Office应用中打开WPF窗体并且让子窗体显示在Office应用上 彻底关闭Excle进程的几个方法 (七)Net Core项目使用Controller之二
一张图搞定OAuth2.0 目录 1.引言 2.OAuth2.0是什么 3.OAuth2.0怎么写 回到顶部 1.引言 本篇文章是介绍OAuth2.0中最经典最常用的一种授权模式:授权码模式 非常 ...
- Android 加载gif图片强大框架(支持预加载、缓存,还支持显示静态图片,一行代码全搞定)
之前项目中没有涉及到显示gif图片的功能,也没有着重研究过,最近项目中要用到显示gif图片,于是就在网上一顿搜,用过之后发现如下几个缺点. 1.加载大的gif图片会出现oom. 2.没有预加载和缓存功 ...
- shell脚本学习之6小时搞定(1)
shell脚本学习之6小时搞定(1) 简介 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本. Unix/Linux上常见的Shell脚本解释器有bash.sh.csh.ksh等,习惯上把 ...
- JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查)
前言:关于Vue框架,好几个月之前就听说过,了解一项新技术之后,总是处于观望状态,一直在犹豫要不要系统学习下.正好最近有点空,就去官网了解了下,看上去还不错的一个组件,就抽空研究了下.最近园子里vue ...
随机推荐
- 深入讲解 Laravel 的 IoC 服务容器
众所周知,Laravel 控制反转 (IoC) / 依赖注入 (DI) 的功能非常强大.遗憾的是, 官方文档 并没有详细讲解它的所有功能,所以我决定自己实践一下,并整理成文.下面的代码是基于 Lara ...
- PHP中高级面试题 一个高频面试题:怎么保证缓存与数据库的双写一致性?
分布式缓存是现在很多分布式应用中必不可少的组件,但是用到了分布式缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题? Cache Aside ...
- nowcoder 鹏
鹏 时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 化而为鸟,其名为鹏.鹏之背,不知其 ...
- HTML建立超链接
链接是HTML文档的最基本特征之一.超文本链接英文名为hyperlink,它能够让浏览器在各个独立的页面之间方便地跳转.超链接有外部链接.电子邮件链接.锚点链接等. a标签 网页中<a& ...
- 🔥《手把手》系列基础篇之2-python+ selenium-打开和关闭浏览器(详细)
1. 简介 本节介绍如何初始化一个webdriver实例对象driver,然后打开和关闭firefox浏览器.要用selenium打开fiefox浏览器.首先需要去下载一个driver插件geckod ...
- react一写工具
动画库:React-transition-group ui框架:Ant Design
- 学会这8个优秀 Python 库用于业余项目,将大大减少程序员耗费的精力
在数据库中即时保存数据:Dataset 当我们想要在不知道最终数据库表长什么样的情况下,快速收集数据并保存到数据库中的时候,Dataset 库将是我们的最佳选择.Dataset 库有一个简单但功能强大 ...
- Spring中的事务回滚机制
初学者笔记 问题:在Java项目汇中,添加@Transactional注解,报错之后,事务回滚未生效,数据仍插入数据库中.经查看报错位置位于新增成功之后.空指针异常. 一.特性 先了解一下@Trans ...
- Ubuntu中使用Nginx+rtmp模块搭建流媒体视频点播服务
1. 背景 不知不觉笔者来到流媒体部门已经一年半多了,积攒了不少的流媒体知识,但平时工作也比较忙,很少进行总结性的梳理,最近准备花几个周末时间写一个流媒体系列的实践文章,也算是给自己做总结的同时帮助有 ...
- 闲来无事写了一套 Jenkins 主题样式:刀锋
背景 Jenkins 的前端 CSS 样式坚挺了这么多年已经觉得腻的不行了,于是想换个风格缓解一下视觉疲劳,便有了这个项目.由于本人不是前端,所以很多只是随便改改,有些复杂的需求也实现不了,但是总的来 ...