STM32单片机实现连接USB摄像头

如题,本人已经实现STM32连接基于Cypress CY7C68013A的摄像头电路板的方案,具体实现原理如下:
摄像头侧CY7C68013A硬件电路板连接被测试应用的摄像头sensor模块,电路板为摄像头提供3.3v的电源,通过IIC总线为sensor配置初始化参数,通过USB 2.0高速接口将图像数据传输给STM32单片机,迚行显示。USB摄像头支持多种图像数据流格式RAW、YUV、RGB565等等。支持多种不同的sensor,测试过的sensor有30w像素分辨率的ov7725,130w像素的mt9m001,500w像素带自动对焦的ov5640。这里的IIC sensor参数是通过USB先将配置参数传递到CY7C68013A,再由CY7C68013A通过IIC总线最终将数据配置到sensor端。这样做的好处是可以通过CY7C68013A在STM32单片机端灵活配置各种各样的sensor。硬件连接配置如图所示:

本方案技术难点在于STM32上的USB摄像头驱动的编写,STM32官方给的代码不能驱动这里的USB2.0摄像头。这里的解决方法是重新编写移植了DWC-OTG驱动,以适配USB摄像头传输数据对于USB通信速度和带宽的超高要求。USB2.0两侧数据通信都采用USB BULK块传输的方式,基本上能做到图像数据实时传输的要求,能够满足分辨率VGA(640x480)在10桢/S, QVGA(320x240)在30桢/S,而分辨率小于QVGA的时候60桢/S的要求。

支持的摄像头Sensor列表:

调试连接成功的图片,开发板是stm32f746-discovery

这种方案实现的优势是:电路板可以做得很小,功耗和成本都可以做得很低,能把设备做得很小,另外可以把摄像头单独集成到别的地方,比如集成到类似智能眼镜的设备当中。适合物联网平台或者监控设备当中使用,能使用锂电池供电工作。
有需要了解更多的朋友,欢迎博客上留言或者私信联系我。

STM32单片机实现连接USB摄像头相关推荐

  1. QT——连接USB摄像头

    功能:使用QT连接USB摄像头,点击按钮显示画面 QT += multimedia QT += multimediawidgets #include "camera.h" #inc ...

  2. 全志H6芯片方案OrangePi 3 LTS连接USB摄像头的操作方法(安卓镜像)

    1) 先在开发板的 USB 接口中插入 USB 摄像头,然后确认下 USB 摄像头相关的内 核模块已正常加载 2) USB 摄像头如果识别正常,在/dev 下会生成相应的 video 设备节点 3) ...

  3. 用NanoPi NEO Air连接USB摄像头

    1.Pin#:2,3或4,5是NanoPi NEO Air的摄像头数据接口.DM是USB的数据线D-,DP是USB的数据线D+. 2.下图是把Pin#:2,3引脚接出来,连在摄像头的USB口上.(注意 ...

  4. BeagleBone Black 连接USB摄像头,并实现采集、存储及传输

    2019独角兽企业重金招聘Python工程师标准>>> 1.硬件准备 1.1 BBB 1.2 UVC cameras (支持UVC协议的就好,我手里只有个几年前很老的,但是也可以用) ...

  5. STLINK怎么与STM32单片机连接

    STLink是ST官方开发的单片机仿真工具,可以烧写程序.在线仿真,使用非常方便.STLink具有两种接口,分别为:1)SWD模式;2)SWIM单总线模式.SWD模式主要针对STM32系列的单片机,而 ...

  6. STM32实现USB摄像头显示到LCD屏幕上

    第一章:简介 1.1 开发环境 USB摄像头型号:100w前置摄像头 主机型号:野火霸天虎开发版 外设:USB-HOST接口:连接USB摄像头设备 外部Sram:存放USB摄像头数据 LCD屏幕:显示 ...

  7. STM32F429连接USB飞行摇杆 (一) 连接摇杆

    本文介绍如何使用stm32连接usb接口的飞行摇杆. 工程源码:单片机STM32F429连接USB飞行摇杆示例工程-单片机文档类资源-CSDN文库 开发环境 硬件: STM32F429IGT6开发板, ...

  8. STM32F429连接USB飞行摇杆 (二) 摇杆协议

    本文介绍摇杆的协议和示例工程源码下载地址. 摇杆功能说明: 摇杆的数据长度是8个字节.这个值是从描述符中读取到的. 下图是功能与字节的对应关系: 用结构体描述的协议 struct {//byte0ui ...

  9. orange+pi+android+7,Orange Pi 3开发板使用USB摄像头的方法(安卓系统)

    香橙派Orange Pi 3电脑开发板采用全志H6系统级芯片,拥有2GB LPDDR3 内存+8GB EMMC Flash.这款开发板体积小,尺寸仅64mm*90mm,却集成了mini PCIE,千兆 ...

最新文章

  1. 【神经网络】(3) 卷积神经网络(CNN),案例:动物三分类,附python完整代码
  2. 小程序provisional headers are shown_万圣节~英语早教绘本Five Little Pumpkins五个小南瓜...
  3. 光伏价格趋势:中美因素汇聚 市场需求向7月延伸
  4. c语言结构体讲解,C语言基础之结构体讲解
  5. Flutter 下拉刷新花式玩法
  6. OnlineJudge 离线题库采集
  7. 如何导入数据模板到MVC
  8. 什么是好的错误消息? 讨论一下Java系统中的错误码设计
  9. Linux工作笔记-ssh中-X属性的使用(Linux传界面)
  10. 《网络安全原理与实践》一1.2 资产确定
  11. 文档理解最新技术介绍 | DAS 2020 Keynote Speech
  12. 5场直播丨PostgreSQL、openGauss、Oracle、GoldenDB、EsgynDB
  13. IDEA启动Tomcat报错Address localhost:1099 is already in use解决办法
  14. 5G协议标准化及进展
  15. InVEST模型(工具)下载及安装(更新中)
  16. hadoop3.3.0集群搭建(详细教程)
  17. PCBA可靠性测试有哪些?
  18. XGBoost资料( 多届竞赛冠军获得者 周耀 整理)
  19. ABAP BDC使用EXCEL模板批量修改物料
  20. 网络策划是做什么的,网络策划营销公司教你做策划

热门文章

  1. java注册账号_Java实现简单登录注册账号操作
  2. cl.3hh.win/index.php,windows 系统下 安装 gitblit 教程
  3. html把保留图片改为提交按钮,如何制作图片按钮,并为图片按钮添加提交表单和重置表单功能...
  4. 用HTML+CSS+JS制作一个让女朋友无法抗拒的表白烟花网站
  5. 【绝对干货】kafka偏移量设置
  6. 在excel筛选出某一列多个重复值
  7. 微信小程序怎么实现陪诊服务_陪诊小程序怎么做
  8. 微信小程序搭建怎么做?流程是怎么样?【小程序搭建】
  9. 集美大学第七届团体程序设计天梯赛第二场排位赛题解
  10. 小程序前端获取手机号码