XCLK 与PCLK的关系

对OV5640中XCLK与PCLK配置寄存器之间的关系,两者的关系图片:

代码如下(示例)只是截取相关的配置

//配置初始化部分代码
write_i2c(0x3103, 0x11); // system clock from pad, bit[1]
write_i2c(0x3008, 0x82); // software reset, bit[7]
// delay 5ms
write_i2c(0x3008, 0x42); // software power down, bit[6]
write_i2c(0x3103, 0x03); // system clock from PLL, bit[1]
write_i2c(0x3017, 0xff); // FREX, Vsync, HREF, PCLK, D[9:6] output enable
write_i2c(0x3018, 0xff); // D[5:0], GPIO[1:0] output enable
write_i2c(0x3034, 0x1a); // MIPI 10-bit
write_i2c(0x3037, 0x13); // PLL root divider, bit[4], PLL pre-divider, bit[3:0]
write_i2c(0x3108, 0x01); // PCLK root divider, bit[5:4], SCLK2x root divider, bit[3:2]
// SCLK root divider, bit[1:0]
//-----VGA 30帧/秒-----------------------
// Input Clock = 24Mhz, PCLK = 56MHz
write_i2c(0x3035, 0x11); // PLL
write_i2c(0x3036, 0x46); // PLL
write_i2c(0x3c07, 0x08); // light meter 1 threshold [7:0]
write_i2c(0x3820, 0x41); // Sensor flip off, ISP flip on
write_i2c(0x3821, 0x07); // Sensor mirror on, ISP mirror on, H binning onwrite_i2c(0x4837, 0x22); // DVP CLK divider
write_i2c(0x3824, 0x02); // DVP CLK divider

其中时钟主要用到配置寄存器为:

0X3037 Bit[4]: PLL root divider 0: Bypass1: Divided by 2 Bit[3:0]: PLL pre-divider
0X3036 Bit[7:0]: PLL multiplier (4~252) Can be any integer for 4~127andonly even integer for 128~252
0X3035 Bit[7:4]: System clock dividerSlow down all clocks Bit[3:0]: Scale divider for MIPI MIPI PCLK/SERCLK can beslowed down
0X3034 Bit[6:4]: PLL charge pump control Bit[3:0]: MIPI bit mode 0x8: 8-bit mode 0xA: 10-bit mode
0X3108 查找手册
0X3824 查找手册

计算过程( 800x480 30帧/秒 上面图片中过程):详细的参数参考使用手册
(1)、外部输入的时钟为24MHz,0X3037[3:0]:进行预分频,分频值为3;得到的时钟为8MHz;
(2)、进行倍频处理:0x3036 [7:0] = 0x72 =114,得到的时钟频率为912MHz;
(3)、分频处理:0x3035[7:4] = 0x41,时钟为228MHz;
(4)、由于0x3037[4]与0x3034、0x3108、0x3035、0x3824配置寄存器的作用,可以得到分频系数为5、所以可以得最终的时钟为45.6MHz。

OV5640结构与端口


使用到端口:
XCLK : INPUT ,外部输入时钟信号,一般采用为24MHZ;
PWDN:INPUT,掉电模式与省电模式的选择;
RESETB : INPUT ,系统复位信号;
PCLK:OUTPUT:像素数据输出同步时钟;
HREF:OUTPUT:行同步信号,一帧(一张)图像的一行数据;
VSYNC:OUTPUT:场同步信号,一帧(一张)图像传输完成;
DP[9:0] :OUTPUT,像素数据
SIOC:INPUT,配置数据的时钟信号;
SIOD:INOUT,配置数据的数据线,两个配置信号线与I2C功能相同;

个人理解

寄存器太复杂,太多了,对寄存器的配置理解的还是不够通透,时钟计算不太准确,自己的理解。根据手册配置能够满足时钟的要求。例如 1024×768×30帧/秒的图像采集,计算疫苗产生的像素点为1024×768×30=23,592,960,采用RGB565的格式 传输图像信息,一共16bit的数据,需要2个时钟周期才能完成一个像素点数据的传输,所以需要传输的数据23,592,960×2=47,185,920‬,约为47MHZ,个人认为大于该时钟就完全可以完成数据的传输

OV5640时钟理解与端口理解(一)相关推荐

  1. LMK04828时钟芯片配置——配置理解

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 LMK04828时钟芯片配置--配置理解 配置 PLL1 PLL2 SYNC/SYSREF 总结 配置 开发板例程的SPI指令可以im ...

  2. java的接口怎么理解_如何理解Java 中的接口

    一.接口(Interface) 在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法.接口并不是类,编写接口的方 ...

  3. NLP-阅读理解:“阅读理解”综述(Machine Reading Comprehension, MRC)【完形填空、多项选择、抽取式(答案片段抽取)、生成式(自由作答)】《机器阅读理解数据集》

    <原始论文:Neural Machine Reading Comprehension: Methods and Trends> 一.阅读理解概述 所谓的机器阅读理解(Machine Rea ...

  4. RTT时钟管理篇——软硬定时器理解(二)

    野火RTT第22章软件定时器 2018年12月29日 10:48 打开软件定时器的宏才能用软件定时器线程.才能使用软件定时器.否则还是硬件定时器(在systic中断中管理超时函数). 有两个定时器列表 ...

  5. 关于时钟、中断的理解

    来自百度网友的解释,通俗易懂: 对于单片机的硬件,你熟悉吗?时钟和CPU是独立的,时钟中断程序时这样的:在CPU执行指令时,计数器(计时器)同时在计时,当计时器溢出时,就向CPU申请中断,如果允许响应 ...

  6. Linux系统时间、系统时区和时钟同步的部分理解

    1.写在前面 因为最近一段时间以来,本人在项目遇到的因为Linux系统时间所引发的问题比较多,所以在此进行总结. 2.Linux系统时间与BIOS硬件时间之间的关系 2.1.RTC芯片.i2c总线和B ...

  7. 嵌入式--STM32的时钟系统分析及相关函数理解

    一.STM32系统架构 STM32 主系统主要由四个驱动单元和四个被动单元构成. 四个驱动单元是:(1)内核 DCode 总线(2)系统总线(3)通用 DMA1(4)通用 DMA2 四个被动单元是:( ...

  8. RTT时钟管理篇——软硬定时器理解(一)

    定时器分为硬件定时器和软件定时器.区别:硬件定时器的超时函数是在定时器中断中管理的(也就是时基中断systick中断).而软件定时器的超时函数是在线程中管理的. 进中断的就是"硬的" ...

  9. 算法理解|从头开始理解梯度提升算法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:Prince Grover 编译:ronghuaiyang ...

  10. 管中窥“视频”,“理解”一斑 —— 视频理解概览

    ©PaperWeekly 原创 · 作者|Lingyun Zeng 学校|北京航空航天大学 研究方向|计算机视觉 本文通过对视频理解/分类(Video Understanding/Classifica ...

最新文章

  1. [微信小程序]物流信息样式加动画效果(源代码附效果图)
  2. 超高性能管线式HTTP请求(实践·原理·实现)
  3. jenkins的安装
  4. 计算机操作业务知识题库,《计算机操作基础知识题库》.doc
  5. React Native 设置RGBA背景色
  6. 大学只待成追忆,只是工作已半年,2016再见
  7. map.addoverlay php,覆盖物 - 百度地图开发文档 - php中文网手册
  8. 激活函数详解/为什么要用激活函数
  9. python类的构造方法和assert的使用,用MethodType动态绑定类方法
  10. Idea运行报错Error running ‘Application‘: Command line is too long的解决方法
  11. Linux shell脚本中判断变量文件目录:权限、是否存在、空值、相等
  12. 高程3总结#第23章离线应用与客户端存储
  13. vs2012 express 密钥
  14. 北京市计算机自考,【北京自考计算机上机考今起举行】- 环球网校
  15. Could not resolve com.huawei.agconnect:agcp
  16. spring中 @EnableXXX 注解的实现
  17. 虚拟机安装专用游戏多开win7系统教程简单易懂
  18. wap端使用a标签跳转不刷新问题
  19. 利用特征值与特征向量求解弹性力学中的主应力与主平面问题
  20. asp实现注册登录界面_asp.net 实现用户登录和注册——基于webform模式

热门文章

  1. Python 之 解析xml
  2. MSM8960 // F200 引导装载程序 (Bootloader) 之研读
  3. 数据中心机房搬迁施工技术方案
  4. OceanBase数据库七亿tpmC的关键技术
  5. 你需要知道的物联网开放平台
  6. 如何编辑修改PDF文件内容?修改方法很简单
  7. Astah 三分钟学会躺着画UML时序图
  8. java ip地址定位,Java根据IP地址定位位置
  9. cropper左右移动_cropper.js移动端使用
  10. smali语法基础详解