|
經(jīng)常有人問我關(guān)于像素同步信號(hào)的捕捉與方法,實(shí)際上我認(rèn)識(shí)可以不用管TCLK,對于本次的比賽而言。
下圖為場信號(hào)、行信號(hào)以及FCLK的時(shí)序圖:
上面的國幅圖是大多數(shù)的COMS攝像頭的時(shí)序,不包括一些特殊的。
行信號(hào)與場信號(hào)的時(shí)間比較長,S12的單片機(jī)足以捕捉到,但是對于多數(shù)的OV6620的像素同步時(shí)間而言是110ns左右,S12單片機(jī)的最高總線時(shí)鐘是25M,即使能夠捕捉到110ns的信號(hào),而這其間還有采集這一步,很難做到既采集也判斷是否有像素同步。
然而,我們是否真正的必須捕捉TCLK的信號(hào),讀回來的信號(hào)才是正確的呢?顯然是否定的,對于S12單片機(jī),即使不用TCLK讀回來圖像也是正確的。為什么呢?原因是S12單片機(jī)的讀取速度是有限的,我曾經(jīng)幫過實(shí)驗(yàn),即使當(dāng)行信號(hào)到來的時(shí)候,單片機(jī)什么也不做,就去讀取圖像,程序用純匯編寫,而且不用循環(huán)判斷語句,犧牲空間換取時(shí)間來采集,即使是這樣,讀到有效點(diǎn)數(shù)一行也只在280多左右,而OV6620的行像素輸出是352點(diǎn),這說明單機(jī)的讀取速度比CMOS的圖像輸出慢。
那么,我如果一行要讀取50點(diǎn),我如何去平分這50點(diǎn)呢?方法很簡單,就是延時(shí),采集一點(diǎn),延時(shí)一會(huì),再采集,平均分為50點(diǎn),如何去控制延時(shí)就得進(jìn)行實(shí)驗(yàn)了,最好借助于示波器。有人會(huì)問,采集的這50點(diǎn)之中,難道就沒有無效點(diǎn)嗎?不排除這種可能性,但是就算是無效,它能差很多嗎?打個(gè)比方,采集到的這個(gè)點(diǎn)的前一個(gè)像素(相對于352點(diǎn)而言)值為70,后一個(gè)像素值為78,那么即使采集此點(diǎn)的時(shí)候TCLK不是高電平,采集到的值也是在70~78之間,也許還會(huì)問,在黑線的邊沿處,如果發(fā)生這種情況如何呢?請大家記住,即使在黑線的邊沿,COMS的圖像輸出也不會(huì)少于5點(diǎn),所以這個(gè)問題,也不用考慮了。
對于TCLK的具體用處,顯然TCLK肯定是有用的,如果一套采集系統(tǒng)的采集速度很快(如DSP,F(xiàn)PGA),一行能采集到700點(diǎn),或者更高,那么對于OV6620,TCLK就有作用了,像素同步,因?yàn)槟阋恍胁杉?00點(diǎn),這之中有一半的點(diǎn)是無效點(diǎn),或者是重復(fù)的點(diǎn)。
此外,對于S12單片機(jī),如果真的想捕捉到TCLK信號(hào),也是可以的,必需地TCLK作一定的處理。對Tclk分頻,將TCLK降為微秒級(jí)就可以,可以用分頻器來實(shí)現(xiàn),找一個(gè)高速的分頻器就行了,很容易,但是個(gè)人覺得沒有這個(gè)必要,所以就沒有用Tclk了。
|
|