專利名稱:一種ccd驅(qū)動時序處理裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及成像技術(shù),尤其涉及一種CXD驅(qū)動時序處理裝置。
背景技術(shù):
對于相機(jī)的成像器件CXD而言,其工作需要相應(yīng)的驅(qū)動時序。使用FPGA可以方便地生成出CCD驅(qū)動時序。目前現(xiàn)有技術(shù)中通常采用計數(shù)器控制CCD驅(qū)動時序的信號沿變化。請參考圖1,其所示為Sony公司出售的型號為ICX625AQA的CXD驅(qū)動時序的部分截圖。其中“νΦ I”信號在“O到6123”計數(shù)區(qū)間(僅僅示意到4865)內(nèi)“有9個上升沿+ 9個下降沿”。一般采用如下邏輯實現(xiàn):如果(計數(shù)器值=計數(shù)值I) I I (計數(shù)器值=計數(shù)值2) I I……I I ((計數(shù)器值=計數(shù)值9)),那么“νΦ I”信號上升至高電平;如果(計數(shù)器值=計數(shù)值Γ) 11 (計數(shù)器值=計數(shù)值2’) 11……11 ((計數(shù)器值=計數(shù)值9’)),那么 ,“νΦ I”信號下降至低電平;如果計數(shù)器值=其他計數(shù)值,那么“νΦ I”信號維持原值。該實現(xiàn)方案有如下的問題:首先,其判斷條件是組合邏輯,而且驅(qū)動時序信號翻轉(zhuǎn)越多,組合邏輯越龐大,這對有限的FPGA資源是巨大的開銷,極易導(dǎo)致邏輯內(nèi)部建立保持時間難以滿足,隨著CCD驅(qū)動信號的增加和信號的翻轉(zhuǎn)次數(shù)的增加,這個缺點更加顯著。其次,對于開發(fā)和維護(hù)而言,開發(fā)人員需要檢查的“信號翻轉(zhuǎn)點”非常分散,需要開發(fā)和維護(hù)人員非常耐心、仔細(xì)地檢查,否則極易引發(fā)錯誤;在開發(fā)維護(hù)過程中,若遇到一些驅(qū)動時序需要切換的場合,則需要付出極大的開發(fā)工作量。中國專利申請第201120214667號公布了一種基于FPGA的C⑶控制電路,中國專利申請第201110106977公布一種高清攝像機(jī)自適應(yīng)數(shù)字化外同步的方法,以上兩種方案均采用復(fù)雜的計數(shù)器、狀態(tài)機(jī)、移位器等組合設(shè)計方案,其特點都是邏輯設(shè)計難度大、資源開銷大、維護(hù)成本高。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種C⑶驅(qū)動時序處理裝置,包括:時序管理模塊、時序存儲模塊以及時序輸出模塊,其中:所述時序存儲模塊,用于存儲CCD驅(qū)動時序表,該CCD驅(qū)動時序表包括若干數(shù)據(jù)列,其中每一數(shù)據(jù)列均包括CCD跳變序列數(shù)據(jù);所述時序輸出模塊,連接與所述時序存儲模塊,并用于從該存儲模塊的CCD驅(qū)動時序表中讀取每一數(shù)據(jù)列中的CCD跳變序列數(shù)據(jù),并根據(jù)該CCD跳變序列數(shù)據(jù)輸出對應(yīng)的CCD驅(qū)動時序信號給CCD器件。與現(xiàn)有技術(shù)相比,本發(fā)明通過將CCD驅(qū)動時序信號對應(yīng)的CCD跳變序列數(shù)據(jù)存儲起來,然后通過跳變間隔這一參數(shù)有節(jié)奏地讀取數(shù)據(jù)生成CCD驅(qū)動時序信號不僅解決了現(xiàn)有技術(shù)中實現(xiàn)方案復(fù)雜的問題,還解決了 CCD驅(qū)動時序升級更新困難的問題,同時本發(fā)明的實現(xiàn)成本更加低廉。
圖1是一種典型的(XD驅(qū)動時序圖。圖2是本發(fā)明一種CXD驅(qū)動時序處理裝置的邏輯結(jié)構(gòu)圖。圖3是本發(fā)明一種實施方式中RAM中數(shù)據(jù)存儲的結(jié)構(gòu)示意圖。圖4是本發(fā)明一種實施方式中引入跳變點的(XD驅(qū)動時序的示意圖。圖5是本發(fā)明一種實施方式中(XD驅(qū)動時序表的不意圖。
具體實施例方式請參考圖2,本發(fā)明提供一種CXD驅(qū)動時序處理裝置,其可廣泛應(yīng)用于包括監(jiān)控攝像機(jī)在內(nèi)的各種相機(jī)設(shè)備上。在優(yōu)選的方式中,該裝置可以基于可編程的邏輯器件實現(xiàn),當(dāng)然也可以使用軟件或硬件等方式實現(xiàn)。該裝置包括時序管理模塊、時序存儲模塊以及時序輸出模塊。在優(yōu)選的方式中,所述時序存儲模塊可以采用RAM或ROM來實現(xiàn)。以RAM為例,時序管理模塊可以將開發(fā)人員下發(fā)的CCD驅(qū)動時序表更新到RAM中,CCD驅(qū)動時序表內(nèi)的表項數(shù)據(jù)代表了 CCD驅(qū)動時序信號。在RAM被更新之后,時序輸出模塊就可以從CCD驅(qū)動時序表中讀取數(shù)據(jù)進(jìn)而輸出對應(yīng)的CCD驅(qū)動時序信號來驅(qū)動CCD器件工作。請參考圖3,值得注意的是,時序輸出模塊實際上提供一個查表控制功能,具體實現(xiàn)時可以使用一個RAM控制電路來實現(xiàn),由于時序輸出模塊主要工作是讀取數(shù)據(jù)并相應(yīng)輸出驅(qū)動時序信號,因此如果想改變CCD驅(qū)動時序,只需要更改RAM中存儲的數(shù)據(jù)即可。開發(fā)人員每次僅僅需要通過時序管理模塊來刷新RAM中的CCD驅(qū)動時序表的數(shù)據(jù)即可完成CCD驅(qū)動時序信號輸出的升級。時序管理模塊可以通過軟件來實現(xiàn),也可以通過可編程邏輯器件實現(xiàn),其主要是面向開發(fā)者或者維護(hù)人員提供CXD驅(qū)動管理配置入口。正是基于上述架構(gòu),C⑶驅(qū)動時序的開發(fā)和更新被歸一化為RAM中CCD驅(qū)動時序表存儲數(shù)據(jù)的更新,而輸出則變?yōu)閺腃CD驅(qū)動時序表中數(shù)據(jù)的讀取生成相應(yīng)驅(qū)動信號的方式。本發(fā)明通過這種方式,避開了復(fù)雜的計數(shù)器、狀態(tài)機(jī)、移位器以及復(fù)雜邏輯組合的實現(xiàn)方案。請參考圖3,所述C⑶驅(qū)動時序表中包括若干數(shù)據(jù)列,其中每一數(shù)據(jù)列均包括與CCD驅(qū)動時序信號對應(yīng)的CCD跳變序列數(shù)據(jù)。假設(shè)每個數(shù)據(jù)列中的CCD跳變序列數(shù)據(jù)對應(yīng)于一個時鐘周期內(nèi)的CCD驅(qū)動時序信號,時序輸出模塊可以相應(yīng)地在每個時鐘周期開始的時候讀取下一列CCD跳變序列數(shù)據(jù)然后輸出對應(yīng)的CCD驅(qū)動時序信號即可為CCD器件提供驅(qū)動。以圖1所示的(XD驅(qū)動時序為例,其長度涵蓋了超過6000個時鐘周期,如果每個周期都需要一列,那么需要的RAM空間將比較龐大。請參考圖3以及圖4,為了節(jié)約RAM空間,大幅度降低硬件成本,本發(fā)明引入在CCD驅(qū)動時序表的每一列中引入跳變點以及序列跳變間隔。請參考圖3,其中所述跳變點表示CCD驅(qū)動時序信號發(fā)生變化的時間點,每一個跳變點對應(yīng)到一個CCD跳變序列數(shù)據(jù)。跳變間隔表示兩個跳變點之間的時間間隔,或者說是時序輸出單元維持當(dāng)前驅(qū)動時序信號輸出的保持時間,這個時間通??梢杂贸掷m(xù)的時鐘周期數(shù)來表示。通過分析圖1的時序規(guī)律可以發(fā)現(xiàn),事實上在六千多個時鐘周期內(nèi),C⑶驅(qū)動時序信號經(jīng)常在持續(xù)多個時鐘周期內(nèi)保持不變,因此事實上六千多個時鐘周期內(nèi)CCD驅(qū)動時序信號發(fā)生變化的次數(shù)是比較少的。以圖1為例,其通常少于256個。換而言之,在優(yōu)選的方式中不再每個時鐘周期讀取一次數(shù)據(jù)來輸出對應(yīng)的驅(qū)動信號,而是每個跳變點讀取一次CCD跳變序列數(shù)據(jù)來生成對應(yīng)的CCD驅(qū)動時鐘信號。由于CCD跳變序列數(shù)據(jù)對應(yīng)于CCD驅(qū)動時序信號,跳變點發(fā)生變化后,則會對應(yīng)到新的CCD跳變序列數(shù)據(jù),而時序輸出單元則會根據(jù)讀取到的新的跳變序列輸出新的相對應(yīng)的CCD驅(qū)動時序信號。因此對于RAM中的CCD驅(qū)動時序表來說,事實上只要保存每次跳變點下對應(yīng)的CCD跳變序列數(shù)據(jù)以及該信號需要維持的時間長度(即序列跳變間隔)即可。這樣做的好處是CCD驅(qū)動時序表的數(shù)據(jù)列的數(shù)量會大幅度降低,可以大幅度降低需要占用的RAM空間。以圖1的應(yīng)用為例,此時RAM的CXD驅(qū)動時序表被規(guī)劃可存放256個36bits數(shù)據(jù)列的規(guī)格。這樣的規(guī)格下,數(shù)據(jù)表的一列的深度為36bit,總計有256個數(shù)據(jù)列。在優(yōu)選的方式中,一列中36bits的數(shù)據(jù)被分割成12bits + 24bits,其中的24bits存放CCD驅(qū)動時序信號對應(yīng)的CCD跳變序列數(shù)據(jù),剩下的12bits則用來存放與該跳變點下與跳變序列對應(yīng)的序列跳變間隔值。在本實施方式中,RAM的空間僅僅需有256X36bit=9216bit,也就是比IKB略大的空間基本就可以滿足需要了。假設(shè)沒有序列跳變間隔這一參數(shù)的引入,那么需要的空間通常要超過6000X36bit,大約需要27KB。由此可見,序列跳變間隔的引入可以極大幅度地節(jié)約RAM空間。在本發(fā)明中,RAM寬度(也就是CXD驅(qū)動時序表中一列數(shù)據(jù)的長度)由CXD驅(qū)動時序的CCD跳變序列數(shù)據(jù)長度以及序列跳變間隔值的數(shù)據(jù)長度來決定。請參考圖5,12bit可以表示的序列跳變間隔的最大值為4095,事實上通常不會用到這個最大值,通常在幾十或者百這樣的量級。而CCD跳變序列數(shù)據(jù)的長度則更加寬裕,通常CCD驅(qū)動時序信號不超過20個,一般為10個一下。因此圖5中大部分空間都可以保留下來留著未來擴(kuò)展使用。另外,除了使用RAM作為時序存儲模塊,也可以使用其他存儲介質(zhì)作為為時序存儲模塊使用。如果使用R0M,則需要考慮例化R0M,因為ROM是只讀存儲單元,因此當(dāng)需要修改CCD時序時,需要重新例化ROM。請參考圖3,圖4以及圖5,當(dāng)C⑶驅(qū)動時序表的數(shù)據(jù)通過時序管理模塊更新之后,時序輸出模塊即可開始從RAM讀取CCD跳變序列數(shù)據(jù)來生成對應(yīng)的CCD驅(qū)動時序信號了。圖4是本發(fā)明一種實施方式中一個典型的CCD器件的時序圖,其中縱向橢圓線條表示一個跳變點下的跳變序列數(shù)據(jù),而橫向的橢圓線條則表示每個跳變點下的序列跳變間隔。以第一個序列跳變間隔數(shù)值84為例,其表示84個時鐘周期內(nèi),序列跳變數(shù)據(jù)均保持在“000111”,而第二個序列跳變間隔數(shù)值為75,其表示接下來的75個時鐘周期內(nèi),序列跳變數(shù)據(jù)也保持在“000111”。因此,在表5中第一列和第二列的數(shù)據(jù)可以合并為一列,只需要將序列跳變間隔的數(shù)值更改為84+75=159即可。當(dāng)然基于某些特殊原因,不合并兩列數(shù)據(jù)也是可以的,比如說,RAM空間限制的問題導(dǎo)致存儲序列跳變間隔數(shù)值的空間只有7個bit,此時159這樣的數(shù)值是無法用7個bit來表示。在數(shù)據(jù)存儲上,可以按照跳變點的先后順序依次存入CCD驅(qū)動時序表中,而跳變點在RAM地址可以從O開始依次升高。也就是說,每一數(shù)據(jù)列的地址是連續(xù)的,時序輸出模塊從CCD驅(qū)動時序表的起始地址開始依次讀取每一數(shù)據(jù)列中存儲的數(shù)據(jù)。假設(shè)起始地址為
O,時序輸出模塊從第O個地址開始讀取第O個跳變點數(shù)據(jù),解析出第O個跳變點的跳變間隔值和CCD跳變序列數(shù)據(jù),CCD跳變序列數(shù)據(jù)可直接賦給CCD驅(qū)動信號,然后時序輸出模塊在對應(yīng)的序列跳變間隔時間內(nèi)維持當(dāng)前CCD驅(qū)動時序信號,完成第O個跳變點的時序輸出。第O個跳變點的驅(qū)動信號維持相應(yīng)跳變間隔時間后,時序輸出模塊將需要讀取的RAM地址加I,讀取第I個跳變點的跳變間隔值和CCD跳變序列數(shù)據(jù),如此重復(fù),直到所有跳變點都完成時就可以將一幀圖像的驅(qū)動時序發(fā)送完畢了?,F(xiàn)有技術(shù)中硬件實現(xiàn)上通常采用分立器件搭建,增加CCD信號線或者時序,極易導(dǎo)致PCB改板,給CCD時序升級帶來麻煩;而本發(fā)明通過更新RAM中存儲內(nèi)容,即可實現(xiàn)升級。另外從算法層面來說,現(xiàn)有技術(shù)常常需要用單片機(jī)等方式來控制時序變化,而本發(fā)明可以做到連時序變化也存儲到RAM中,尤其是跳變間隔的概念,使CCD跳變序列持續(xù)時間一目了然??傊?,CCD的升級原則上不涉及硬件軟件程序更新,只要更新RAM中內(nèi)容即可。本發(fā)明通過將CCD驅(qū)動時序信號對應(yīng)的CCD跳變序列數(shù)據(jù)存儲起來,然后通過跳變間隔這一參數(shù)有節(jié)奏地讀取數(shù)據(jù)生成CCD驅(qū)動時序信號不僅解決了現(xiàn)有技術(shù)中實現(xiàn)方案復(fù)雜的問題,還解決了 CCD驅(qū)動時序升級更新困難的問題,同時本發(fā)明的實現(xiàn)成本更加低廉。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種CCD驅(qū)動時序處理裝置,包括:時序管理模塊、時序存儲模塊以及時序輸出模塊,其特征在于: 所述時序存儲模塊,用于存儲CCD驅(qū)動時序表,該CCD驅(qū)動時序表包括若干數(shù)據(jù)列,其中每一數(shù)據(jù)列均包括CCD跳變序列數(shù)據(jù); 所述時序輸出模塊,連接與所述時序存儲模塊,并用于從該存儲模塊的CCD驅(qū)動時序表中讀取每一數(shù)據(jù)列中的CCD跳變序列數(shù)據(jù),并根據(jù)該CCD跳變序列數(shù)據(jù)輸出對應(yīng)的CCD驅(qū)動時序信號給CCD器件。
2.如權(quán)利要求1所述的裝置,其特征在于,所述每一數(shù)據(jù)列還包括與該CCD跳變序列數(shù)據(jù)對應(yīng)的序列跳變間隔;所述時序輸出模塊進(jìn)一步用于,在讀取每一數(shù)據(jù)列并輸出對應(yīng)的CCD驅(qū)動時序信號時,根據(jù)該序列跳變間隔維持該CCD驅(qū)動時序信號的輸出。
3.如權(quán)利要求1所述的裝置,其特征在于,所述每一數(shù)據(jù)列的地址是連續(xù)的,所述時序輸出模塊從CCD驅(qū)動時序表的起始地址開始依次讀取每一數(shù)據(jù)列中存儲的數(shù)據(jù)。
4.如權(quán)利要求1所述的裝置,其特征在于,還包括時序管理模塊,用于更新所述時序存儲模塊中的CCD驅(qū)動時序表。
5.如權(quán)利要求1所述的裝置,其特征在于,所述時序存儲模塊為RAM,所述時序輸出模塊為RAM讀取控制電路。
全文摘要
本發(fā)明提供一種CCD驅(qū)動時序處理裝置,包括時序管理模塊、時序存儲模塊以及時序輸出模塊,其中所述時序存儲模塊,用于存儲CCD驅(qū)動時序表,該CCD驅(qū)動時序表包括若干數(shù)據(jù)列,其中每一數(shù)據(jù)列均包括CCD跳變序列數(shù)據(jù);所述時序輸出模塊,連接與所述時序存儲模塊,并用于從該存儲模塊的CCD驅(qū)動時序表中讀取每一數(shù)據(jù)列中的CCD跳變序列數(shù)據(jù),并根據(jù)該CCD跳變序列數(shù)據(jù)輸出對應(yīng)的CCD驅(qū)動時序信號給CCD器件。本發(fā)明不僅解決了現(xiàn)有技術(shù)中實現(xiàn)方案復(fù)雜的問題,還解決了CCD驅(qū)動時序升級更新困難的問題,同時本發(fā)明的實現(xiàn)成本更加低廉。
文檔編號H04N5/372GK103139493SQ20131008952
公開日2013年6月5日 申請日期2013年3月19日 優(yōu)先權(quán)日2013年3月19日
發(fā)明者羊海龍, 劉強(qiáng) 申請人:浙江宇視科技有限公司