日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OV7725的帧率和PCLK寄存器设置

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OV7725的帧率和PCLK寄存器设置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、OV7725的PCLK的改變和以下幾個寄存器有關:

? ? ? ?1:OX0D(COM4);

------------------------------------------------------------------------------------------------------------------

0X0D ? ? ?COM4 ? ? ? 41 ? ? ? ? ? ? ? common control 4

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Bit[7:6]: ?PLL ?frequency control

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?00:Bypass PLL

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?01:PLL 4X

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?10:PLL 6X

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?11:PLL 8X

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Bit[5:4]: AEC evaluate windows

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?00: Full windows

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?01: 1/2 windows

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?10: 1/4 windows

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?11: Low 2/3 windows

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Bit[3:0]: Reserved

------------------------------------------------------------------------------------------------------------------

2:0X11(CLKRC);

------------------------------------------------------------------------------------------------------------------

0X11 ? ? CLKRC ? ? 80 ? ? ? ? ? ? ? internal Clock

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Bit[7]: ?Reseved

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Bit[6]: ?Use external clock directly (no clock pre_scale available)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Bit[5:0]: internal clock pre_scalar

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?F(internal clock) ? = F(input ?clock)/(Bit[5:0]+1)/2

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? . Range : ? ?[0 0000] to [1 1111]

------------------------------------------------------------------------------------------------------------------

舉個栗子:

Frame Rate Adjustment for 24Mhz input clock


30 fps, PCLK = 24Mhz
SCCB_salve_Address = 0x42;
write_SCCB(0x11, 0x01);
write_SCCB(0x0d, 0x41);
write_SCCB(0x2a, 0x00);
write_SCCB(0x2b, 0x00);
write_SCCB(0x33, 0x00);
write_SCCB(0x34, 0x00);
write_SCCB(0x2d, 0x00);
write_SCCB(0x2e, 0x00);
write_SCCB(0x0e, 0x65);

15 fps, PCLK = 12Mhz
SCCB_salve_Address = 0x42;
write_SCCB(0x11, 0x03);
write_SCCB(0x0d, 0x41);
write_SCCB(0x2a, 0x00);
write_SCCB(0x2b, 0x00);
write_SCCB(0x33, 0x00);
write_SCCB(0x34, 0x00);
write_SCCB(0x2d, 0x00);
write_SCCB(0x2e, 0x00);
write_SCCB(0x0e, 0x65);

第一個:

如上:輸入時鐘為24MHZ;0X0D為0x41,說明PCLK是輸入時鐘的4倍頻;0X11為0X01,根據函數式:F(internal clock) ? = F(input ?clock)/(Bit[5:0]+1)/2,得到內部時鐘為:F(internal clock) =24/2/2=6MHZ;得到PCLK=4*6=24MHZ,幀率是30fps

第二個:

如上:輸入時鐘為24MHZ;0X0D為0x41,說明PCLK是輸入時鐘的4倍頻;0X11為0X03,根據函數式:F(internal clock) ? = F(input ?clock)/(Bit[5:0]+1)/2,得到內部時鐘為:F(internal clock) =24/4/2=3MHZ;得到PCLK=4*3=12MHZ,幀率是15fps(幀率變小的原因是PCLK的頻率降低了)

二、OV7725的幀率和PCLK的頻率及0X33及0x34有關,0x33配置的是低8位,0x34配置的是高8位,這里是說增加的假的行,即沒有用的行,這樣幀率就會下降;

? ? ?同時還和0x2a及0x2b有關,這里說的是加入的假的列,即沒用的列,這樣的話幀率也會下降;

---------------------------------------------------------------------------------------------------------

? ?0X33 ? ? ?DM_LNL ? ? ? 00 ? ? ? ?RW ? ? ? ? ? Dummy ?Row ? Low ? 8bit

---------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------

? 0x34 ? ? ?DM_LNH ? ? ? 00 ? ? ? ?RW ? ? ? ? ? ?Dummy Row ? ?High ?8bit

-------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------

? 0x2a ? ? EXHCH ? ? ? ? ?00 ? ? ? ? ?RW ? ? ? ? ?Dummy pixel insert MSB

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Bit[7:4] ?:4MSB for dummy pixel insert in horizontal direction

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Bit[3]:Reserved;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Bit[2]:vertical data outup size LSB

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Bit[1:0]:Horizontal data outup size 2LSBs

-----------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------

0x2b ? ?EXHCL ? ? ? ? ? ? 00 ? ? ? ? RW ? ? ? ? Dummy pixel insert LSB

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?8LSB??for dummy pixel insert in horizontal direction

--------------------------------------------------------------------------------------------------------------------------------

舉個栗子:

Frame Rate Adjustment for 24Mhz input clock


30 fps, PCLK = 24Mhz
SCCB_salve_Address = 0x42;
write_SCCB(0x11, 0x01);
write_SCCB(0x0d, 0x41);
write_SCCB(0x2a, 0x00);
write_SCCB(0x2b, 0x00);
write_SCCB(0x33, 0x00);
write_SCCB(0x34, 0x00);
write_SCCB(0x2d, 0x00);
write_SCCB(0x2e, 0x00);
write_SCCB(0x0e, 0x65);

25fps, PCLK = 24Mhz
SCCB_salve_Address = 0x42;
write_SCCB(0x11, 0x01);
write_SCCB(0x0d, 0x41);
write_SCCB(0x2a, 0x00);
write_SCCB(0x2b, 0x00);
write_SCCB(0x33, 0x66);
write_SCCB(0x34, 0x00);
write_SCCB(0x2d, 0x00);
write_SCCB(0x2e, 0x00);
write_SCCB(0x0e, 0x65);


這兩端代碼的輸入clk都是24MHZ,輸出PCLK相同都是24MHZ,但frame rate一個是30fps,一個為25fps,程序中只有0X33不同,如何通過將0X33設置為0X66,從而將30fps變為25fps。看下面的分析:

????

??? 從圖片中我們可以看到一個VSYNC有510個t(LINE),所以30fps表示有30*510*t(LINE),結合上面對于0X33的分析,因為都 是24MHZ,所以30fps和25fps兩個時間相同。故在這510個LINE中插入102個(0X66)LINE,總的時間才會相同。 30*510*t(LINE)=25*(510+102)*t(LINE).

??? 當然幀率會隨著PCLK的變化而變化,當PCLK變為12MHZ時,幀率也就減為15fps了。



創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的OV7725的帧率和PCLK寄存器设置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。