|
最近在做一個(gè)東西時(shí)需要驅(qū)動(dòng)OV7670攝像頭,OV7670所用的時(shí)鐘源是由STM32的HSE(我這里所用的是外接晶振)提供,然后復(fù)用到MCO引腳輸出,當(dāng)然芯片內(nèi)部的電平是占空一半的方波,但是在調(diào)試攝像頭時(shí)我發(fā)現(xiàn)SCCB通信總是失敗,也就是單片機(jī)總是接收不上數(shù)據(jù),后測發(fā)現(xiàn)XCLK(OV7670時(shí)鐘輸入腳)的波形嚴(yán)重失真,如下圖
一開始我以為是外接時(shí)鐘源選擇錯(cuò)誤,我應(yīng)該選擇外接占空一半的方波,但是在網(wǎng)上和其他網(wǎng)友交流后知道內(nèi)部時(shí)鐘電路絕對(duì)是方波,也就是有相應(yīng)的整形電路,HSE與HSI輸出的都是方波,下圖是時(shí)鐘內(nèi)部原理圖:
從圖中我們可以看出MCO輸出可選的有四種時(shí)鐘源,除了SYSCLK其他的都是方波,但是外接時(shí)鐘源頻率是8M,其實(shí)對(duì)于我所用的示波器來說,8M的方波它測不出,帶寬不夠。接下來我給大家展示一下我的驗(yàn)證:
這是36M低速時(shí)鐘50分頻后的方波,從圖中可以看出電平跳動(dòng)時(shí)抖動(dòng)很厲害,趨于穩(wěn)定時(shí)間超過了一半周期
這是36M低速時(shí)鐘25分頻后的方波,已經(jīng)很失真了,能勉強(qiáng)看一下。
這是36M低速時(shí)鐘12分頻后的方波,差不多不能看了
這是36M低速時(shí)鐘6分頻后的方波,幾乎已經(jīng)是稍稍失真的正弦波了,另外由于這是由計(jì)時(shí)器產(chǎn)生的方波,在電平跳動(dòng)時(shí)一定產(chǎn)生紋波,沒有直接從HSE引出來的波形干凈,所以即使HSE是8M的波形,其依舊比6M的由TIM產(chǎn)生的方波漂亮。
這是本人所用的示波器
所以,選用MCO引腳輸出時(shí)鐘電平是沒問題的,有些同學(xué)說在做攝像頭驅(qū)動(dòng)是時(shí)鐘不匹配,我想說的是你所測出來的波形不合適,所以感覺不匹配,要是有問題也應(yīng)該是程序有問題,不然怎么會(huì)有人用STM32驅(qū)動(dòng)OV7670呢!
|
|