热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

IMX462Sensor对接HI3559A

◆ReadoutrateMaximumframerateinFullHD1080pmode:120frames◆Highdynamicrange(HDR)functionMult

◆Readout rate
Maximum frame rate in Full HD 1080p mode: 120 frame / s

◆High dynamic range (HDR) function Multiple exposure HDR
Digital overlap HDR

最大支持1080P120帧

我的使用场景1080P30帧就够,所以从sony拿到sensor初始化代码,然后随便找一款sony的sensor驱动,进行修改,我选的是imx307

 

printf("setting to 30 mode\n");
sensor_write_register(ViPipe, 0x3000, 0x01);      // Standby mode
sensor_write_register(ViPipe, 0x3001, 0x01);
sensor_write_register(ViPipe, 0x3002, 0x01);     // Master mode sto    
sensor_write_register(ViPipe, 0x3005, 0x01); 
sensor_write_register(ViPipe, 0x3007, 0x00); 
sensor_write_register(ViPipe, 0x3009, 0x02);     
sensor_write_register(ViPipe, 0x300a, 0xF0);
sensor_write_register(ViPipe, 0x300b, 0x00);  
 
sensor_write_register(ViPipe, 0x3010, 0x21);     // gain
sensor_write_register(ViPipe, 0x3011, 0xa);     // VMAX
sensor_write_register(ViPipe, 0x3012, 0x64);
sensor_write_register(ViPipe, 0x3014, 0x00);
sensor_write_register(ViPipe, 0x3018, 0x65);
sensor_write_register(ViPipe, 0x3019, 0x04);  
sensor_write_register(ViPipe, 0x301a, 0x00);
sensor_write_register(ViPipe, 0x301c, 0x30);//0x98);      // HMAX;
sensor_write_register(ViPipe, 0x301d, 0x11);// 0x08);     // SHS
sensor_write_register(ViPipe, 0x3022, 0x00);     // SHS1
sensor_write_register(ViPipe, 0x3046, 0x01);     // SHS1
sensor_write_register(ViPipe, 0x3048, 0x00);     // SHS1
sensor_write_register(ViPipe, 0x3049, 0x08);     // SHS1
sensor_write_register(ViPipe, 0x304b, 0x0a);     // SHS1
sensor_write_register(ViPipe, 0x305c, 0x18);     // RHS1
sensor_write_register(ViPipe, 0x305d, 0x03);     // RHS1
sensor_write_register(ViPipe, 0x305e, 0x20);     // RHS1
sensor_write_register(ViPipe, 0x305f, 0x01); 

sensor_write_register(ViPipe, 0x309e, 0x4a);     // SHS2
sensor_write_register(ViPipe, 0x309f, 0x4a);     // SHS2
    
 sensor_write_register(ViPipe, 0x30d2, 0x19);
 sensor_write_register(ViPipe, 0x30d7, 0x03);

sensor_write_register(ViPipe, 0x3129, 0x00);     // ADBIT2,12Bit;
sensor_write_register(ViPipe, 0x313b, 0x61);     // ADBIT3,12Bit;

sensor_write_register(ViPipe, 0x315e, 0x1a);
    sensor_write_register(ViPipe, 0x3164, 0x1a);
    sensor_write_register(ViPipe, 0x317c, 0x00);
    sensor_write_register(ViPipe, 0x31ec, 0x0e);
    sensor_write_register(ViPipe, 0x3405, 0x10);
    sensor_write_register(ViPipe, 0x3407, 0x01);
    sensor_write_register(ViPipe, 0x3414, 0x0a);
sensor_write_register(ViPipe, 0x3418, 0x49);
sensor_write_register(ViPipe, 0x3419, 0x04);
sensor_write_register(ViPipe, 0x3441, 0x0c);
sensor_write_register(ViPipe, 0x3442, 0x0c);
    sensor_write_register(ViPipe, 0x3443, 0x1);
    sensor_write_register(ViPipe, 0x3444, 0x20);
    sensor_write_register(ViPipe, 0x3445, 0x25);
    sensor_write_register(ViPipe, 0x3446, 0x57);
sensor_write_register(ViPipe, 0x3447, 0x00);
    sensor_write_register(ViPipe, 0x3448, 0x37);
sensor_write_register(ViPipe, 0x3449, 0x00);
    sensor_write_register(ViPipe, 0x344a, 0x1f);
sensor_write_register(ViPipe, 0x344b, 0x00);
    sensor_write_register(ViPipe, 0x344c, 0x1f);
sensor_write_register(ViPipe, 0x344d, 0x00);
    sensor_write_register(ViPipe, 0x344e, 0x1f);
sensor_write_register(ViPipe, 0x344f, 0x00);

    sensor_write_register(ViPipe, 0x3450, 0x77);
    sensor_write_register(ViPipe, 0x3451, 0x00);
    sensor_write_register(ViPipe, 0x3452, 0x1f);
sensor_write_register(ViPipe, 0x3453, 0x00);
    sensor_write_register(ViPipe, 0x3454, 0x17);
sensor_write_register(ViPipe, 0x3455, 0x00);
sensor_write_register(ViPipe, 0x3472, 0x9c);
sensor_write_register(ViPipe, 0x3473, 0x07);
    sensor_write_register(ViPipe, 0x3480, 0x49);

    // Standby Cancel
    sensor_write_register(ViPipe, 0x3000, 0x00);      //do not standby
    usleep(20000);     // DELAY20mS
sensor_write_register(ViPipe, 0x3001, 0x00); 
 usleep(20000);     // DELAY20mS
    sensor_write_register(ViPipe, 0x3002, 0x00);      // master mode start
   // sensor_write_register(ViPipe, 0x304B, 0x0a);  

 

加载驱动后,sensor正常出图。


推荐阅读
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • 本文详细探讨了Java中HashMap类的hash()方法的工作原理及其重要性,特别是在JDK 7版本中的实现。 ... [详细]
  • 本文介绍了如何通过安装和配置php_uploadprogress扩展来实现文件上传时的进度条显示功能。通过一个简单的示例,详细解释了从安装扩展到编写具体代码的全过程。 ... [详细]
  • STM32代码编写STM32端不需要写关于连接MQTT服务器的代码,连接的工作交给ESP8266来做,STM32只需要通过串口接收和发送数据,间接的与服务器交互。串口三配置串口一已 ... [详细]
  • iOS如何实现手势
    这篇文章主要为大家展示了“iOS如何实现手势”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“iOS ... [详细]
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • 本报告记录了嵌入式软件设计课程中的第二次实验,主要探讨了使用KEIL V5开发环境和ST固件库进行GPIO控制及按键响应编程的方法。通过实际操作,加深了对嵌入式系统硬件接口编程的理解。 ... [详细]
  • 本文详细介绍了 Node.js 中 OS 模块的 arch 方法,包括其功能、语法、参数以及返回值,并提供了具体的使用示例。 ... [详细]
  • ArcBlock 发布 ABT 节点 1.0.31 版本更新
    2020年11月9日,ArcBlock 区块链基础平台发布了 ABT 节点开发平台的1.0.31版本更新,此次更新带来了多项功能增强与性能优化。 ... [详细]
  • 基于SSM框架的在线考试系统:随机组卷功能详解
    本文深入探讨了基于SSM(Spring, Spring MVC, MyBatis)框架构建的在线考试系统中,随机组卷功能的设计与实现方法。 ... [详细]
  • 本文详细介绍了在Luat OS中如何实现C与Lua的混合编程,包括在C环境中运行Lua脚本、封装可被Lua调用的C语言库,以及C与Lua之间的数据交互方法。 ... [详细]
  • ASP.NET 进度条实现详解
    本文介绍了如何在ASP.NET中使用HTML和JavaScript创建一个动态更新的进度条,并通过Default.aspx页面进行展示。 ... [详细]
  • 本文探讨了Python类型注解使用率低下的原因,主要归结于历史背景和投资回报率(ROI)的考量。文章不仅分析了类型注解的实际效用,还回顾了Python类型注解的发展历程。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
author-avatar
719苗苗113
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有