项目:基于 ZYNQ 的 IMX2221 摄像头实时视频流采集传输

章节:传感器配置(一)

本章目的:使用 ZYNQ 芯片的 PS 端的 SPI 接口对 CMOS 图像传感器进行设置操作,保证 CMOS配置的需求,使其进入用户需要的工作模式

软件:Vivado2021.2,Vitis2021.2

一. IMX222 芯片的 SPI 配置接口要求


从上图可以看出,通过SPI去读写数据需要传输三个信息,

  1. chip ID (从芯片手册获得)
  2. start address (读写数据的起始地址)
  3. data(数据)

这里 SPI 配置时序要求先发 LSB 最后发 MSB,与 xilinx 的 zynq 的 PS 端提供的驱动程序相反,我们再发送数据时需要进行高低位对调操作。

在本项目中我们将摄像头配置成1080P的方式,寄存器配置列表可以在芯片手册中找到。如下

在对传感器进行配置的过程中,我们首先要将模式改为 Standy (地址00h,数据1)此模式摄像头不进行采集,可以进行配置,在配置结束再修改。

在本项目中除了配置上述寄存器,还配置了

  1. 增益模块 { 0X02, 0x1e, 0x20 }
  2. 扫描模式 { 0x02, 0x01,0x01} 从上至下扫描
  3. clock的相位(设置成相移180度,为了中心对其 { 0X02, 0x2d, 0x42 }

所有的寄存器配置如下所示

{ 0x02, 0x00, 0x31 }, //standby
{ 0x02, 0x01,0x01}, // vs reverse
{ 0X02, 0x02, 0xF }, //1080p
{ 0X02, 0x03, 0x4c }, //2
{ 0X02, 0x04, 0x04 }, //3
{ 0X02, 0x05, 0x65 }, //4
{ 0X02, 0x06, 0x04 }, //5
{ 0X02, 0x11, 0x00 },//6
{ 0X02, 0x12, 0x82 }, //7
{ 0X02, 0x14, 0x00 }, //8
{ 0X02, 0x15, 0x00 }, //9
{ 0X02, 0x16, 0x3C }, //10
{ 0X02, 0x17, 0x00 }, //11
{ 0X02, 0x18, 0xC0 }, //12
{ 0X02, 0x19, 0x07 }, //13
{ 0X02, 0x1A, 0x51 }, //14
{ 0X02, 0x1B, 0x04 }, //15
{ 0X02, 0x1e, 0x20 }, //gain
{ 0X02, 0x20, 0xf0 }, //16
{ 0X02, 0x21, 0x00 }, //16
{ 0X02, 0x2c, 0x00 }, //16
{ 0X02, 0x2d, 0x42 }, //clk
{ 0X02, 0x3b, 0xe1 }, //18 sync code
{ 0X02, 0x9A, 0x26 }, //22
{ 0X02, 0x9B, 0x02 }, //23
{ 0X02, 0xCE, 0x16 }, //24
{ 0X02, 0xCF, 0x82 }, //25
{ 0X02, 0xD0, 0x00 }, //26
{ 0X02, 0x00, 0x00 }, //27

下一章:Vitis配置寄存器使得摄像头配置成功

Vitis项目:基于 ZYNQ 的 IMX2221 摄像头实时视频流采集传输 (一)传感器配置相关推荐

  1. 基于python keras口罩检测人脸检测佩戴口罩可读视频可读摄像头实时视频流

    人脸识别技术已经非常普及啦,现在戴口罩的脸支付宝也可以识别,据报道阿里现在正在尝试主导人脸识别技术的某些标准.在商业上大多数公司会选择国内AI大咖,比如百度智能云.阿里智慧云.华为云.腾讯云等等.这些 ...

  2. 基于FFmpeg+rtsp读取摄像头实时图像

    项目介绍:前端时间做了一个项目用qt 编写软件获取海康摄像头rtsp视频流,实现实时显示.当时采用的是VLC-Qt播放RTSP流这种方式(参考:基于libVLC的视频播放器之二:使用VLC-Qt播放R ...

  3. 基于face_recognition库的摄像头实时人脸识别测试

    前言 介绍一个基于python的开源人脸识别库,且其离线识别率高达99.38%, github上的网址:github链接 该库可以通过python或者命令行即可实现人脸识别的功能.使用dlib深度学习 ...

  4. 基于FPGA的OV7670摄像头实时检测

    目录 前言:整体系统框图 一.OV7670摄像头简介 二.OV7670 SCCB协议简介 三.OV7670初始化寄存器配置 四.OV7670初始化代码编写 五.什么是DVP? 六.摄像头写数据请求 七 ...

  5. [常用工具] OpenCV获取网络摄像头实时视频流

    所需要硬件及软件环境: python 3/OpenCV3.4 or C++11/OpenCV3.4 1 RTSP协议 RTSP (Real Time Streaming Protocol),是一种语法 ...

  6. OpenCV获取网络摄像头实时视频流

    1.RTSP协议 RTSP (Real Time Streaming Protocol),是一种语法和操作类似 HTTP 协议,专门用于音频和视频的应用层协议. 和 HTTP 类似,RTSP 也使用 ...

  7. 基于OpenCV与tensorflow实现实时手势识别

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 干货-阅读需10分钟左右 基于OpenCV与tensorflow ...

  8. opencv jpg作为png背景_基于OpenCV与tensorflow实现实时手势识别

    公众号[OpenCV学堂],致力于计算机视觉开发技术传播,原创技术文章200+的,涉及OpenCV开发.tensorflow开发.模型解析与训练.传统图像处理算法解析,对图像与视觉感兴趣的强烈推荐关注 ...

  9. 采用keras深度学习框架搭建卷积神经网络模型实现垃圾分类,基于树莓派上进行实时视频流的垃圾识别源代码

    一.项目概述 简介:该垃圾分类项目主要在于对各种垃圾进行所属归类,本次项目采用keras深度学习框架搭建卷积神经网络模型实现图像分类,最终移植在树莓派上进行实时视频流的垃圾识别. 前期:主要考虑PC端 ...

最新文章

  1. LeetCode 771. Jewels and Stones--Java和Python解法--简单
  2. 西南民族大学计算机基础技能应用培训基地,计科学院第九期Office应用培训开班典礼顺利举办...
  3. 找圈圈 (BFS简单运用)
  4. mysql中与null值不能比较
  5. 私.Modbus测试_ZC01_TCP方式
  6. 【机器视觉】 deserialize_measure算子
  7. 2008文件服务器迁移,Windows2008及早期服务器DHCP的数据迁移方法
  8. TypeScript 3.9 发布
  9. centos telnet提示No route to host
  10. python37安装失败怎么搞_Linux 安装Python37
  11. Web浏览器与Web服务器之间的通信过程
  12. 算法及其复杂性分析整理
  13. 点歌APP开发解决方案详解
  14. matlab程序中length()啥意思,length是什么意思
  15. 基于89C51单片机的智能小车——06.测速小车
  16. 扫码点餐外卖配送小程序开发功能
  17. 高斯输出文件批量读取能量
  18. Sql 日月年 日期格式转 月日年 日期格式
  19. 基于JAVA-英杰学堂网上教学平台-计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  20. 个人怎样注册公司,注册公司流程是什么?

热门文章

  1. 高密度布线解决方案——MPO光纤连接器/跳线
  2. python获取word页数_python,_如何在 Linux 上使用 Python 读取 word 文件信息(如页数)?,python - phpStudy...
  3. js mysql query_nodejs mysql query data
  4. c语言编译是灰的,编译灰鸽子打造自己专用版C
  5. 【编程基础】如何自学计算机/编程 | 从零开始的代码之路
  6. java 正则 不可见字符_正则表达式匹配不可见字符
  7. python批量获取学术论文标题和作者
  8. winform程序加皮肤skin ssk文件
  9. 手机屏幕常见故障_工业触摸屏的常见故障与处理方式
  10. 我的世界服务器全自动刷铁轨机,我的世界全自动刷铁轨机怎么做