qq_23727547 2020-10-16 19:06 采纳率: 0%
浏览 123

OV7670像素时钟按照寄存器配置与实际测试时钟不一致

与像素时钟相关的寄存器:
图片说明
图片说明

上面两个寄存器配置内部时钟频率CLKRC与XCLK(外部输入时钟)
F(clkrc)=f(xclk)*PLL/(bit[5:0]+1)
图片说明
图片说明

实际存在的问题:

当如下配置时(输入时钟12M有源晶振):

 {0x11, 0x81},//时钟分频设置,1
 {0x6b, 0x40},//PLL*4=48Mhz 

{0x3e, 0x00},//10

 {0x73, 0x00},//

    按照使用手册寄存器配置,实际的像素时钟f=12M*4/(1+1)=24M,但实际示波器测量为12M。

继续,修改如下:

 {0x11, 0x80},//时钟分频设置,0
 {0x6b, 0x0a},//PLL*1
{0x3e, 0x00},//10

 {0x73, 0x00},//

    按照使用手册寄存器配置,实际的像素时钟f=12M*1/(0+1)=12M,但实际示波器测量为6M。

继续修改如下:
 {0x11, 0x00},//时钟分频设置,0
 {0x6b, 0x0a},//PLL*1

{0x3e, 0x00},//10

{0x73, 0x00},//

按照使用手册寄存器配置,实际的像素时钟f=12M*1/(0+1)=12M,但实际示波器测量为3M。

继续修改如下:

 {0x11, 0x00},//时钟分频设置,0
 {0x6b, 0x00},//PLL*1

{0x3e, 0x00},//10

 {0x73, 0x00},//

按照使用手册寄存器配置,实际的像素时钟f=12M*1/(0+1)=12M,但实际示波器测量为3M。

图片说明

因此有两个疑问:

1,0x11的最高位为预留位,为何改变此处的值会改变像素时钟?
2,为何按照手册配置,实际像素时钟是配置的1/2

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 有偿,学生成绩信息管理系统
    • ¥15 Arduino电机和openmv连接异常
    • ¥15 Arcgis河网分级报错
    • ¥200 java+appium2.1+idea
    • ¥20 请帮我做一个EXE的去重TXT文本
    • ¥15 工价表引用工艺路线,应如何制作py和xml文件
    • ¥15 根据历史数据,推荐问题类型
    • ¥15 需要仿真图,简单的二阶系统实例
    • ¥15 stm32光控照明仿真
    • ¥15 使用人工智能的方法生成满足一定统计参数要求的随机数序列