与像素时钟相关的寄存器:
上面两个寄存器配置内部时钟频率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