祝世平, 周富強(qiáng), 劉惠蘭, 張永健
(北京航空航天大學(xué) 儀器科學(xué)與光電工程學(xué)院, 北京 100191)
EDA在線陣CCD驅(qū)動電路設(shè)計(jì)教學(xué)中的應(yīng)用
祝世平, 周富強(qiáng), 劉惠蘭, 張永健
(北京航空航天大學(xué) 儀器科學(xué)與光電工程學(xué)院, 北京 100191)
CCD(電荷藕合器件)是一種廣泛應(yīng)用的固體成像器件,在CCD應(yīng)用中的關(guān)鍵問題之一是其驅(qū)動電路的設(shè)計(jì)。在本科生實(shí)驗(yàn)課程中開設(shè)的CCD驅(qū)動電路設(shè)計(jì)實(shí)驗(yàn)?zāi)軒椭鷮W(xué)生鞏固所學(xué)的模擬電路和數(shù)字電路的知識,使學(xué)生在分析、設(shè)計(jì)和動手能力等方面得到提高,使實(shí)驗(yàn)教學(xué)和課堂教學(xué)得到結(jié)合。本文給出了在實(shí)驗(yàn)課程中采用EDA軟件針對線陣CCD TCD2252D驅(qū)動電路的幾種設(shè)計(jì)方案。
CCD;驅(qū)動電路設(shè)計(jì); FPGA;Proteus
CCD(Charge Coupled Device)作為一種新興的固體成像器件, 具有體積小、重量輕、分辨率高、靈敏度高、可靠性好等優(yōu)點(diǎn),廣泛應(yīng)用于機(jī)器視覺系統(tǒng)、視頻監(jiān)控和安防系統(tǒng)、智能交通系統(tǒng)以及互聯(lián)網(wǎng)等領(lǐng)域[1-4]。
CCD應(yīng)用的關(guān)鍵之一是驅(qū)動電路的設(shè)計(jì)。因不同廠家生產(chǎn)的CCD其驅(qū)動時(shí)序不盡相同,且同一廠家生產(chǎn)的不同型號的CCD其驅(qū)動時(shí)序也不完全一樣,從而使CCD驅(qū)動電路設(shè)計(jì)很難實(shí)現(xiàn)規(guī)范化,因此用戶必須認(rèn)真面對CCD驅(qū)動電路的設(shè)計(jì)問題[5-10]。隨著EDA軟件平臺的不斷進(jìn)步,在設(shè)計(jì)CCD驅(qū)動電路方面,EDA軟件發(fā)揮著不可替代的作用。
CCD驅(qū)動電路的設(shè)計(jì)既能充分利用學(xué)生現(xiàn)有的數(shù)字電路、模擬電路的知識,又具有一定的實(shí)用價(jià)值。因此我院針對本科生開設(shè)了基于線陣CCD的綜合實(shí)驗(yàn),使學(xué)生熟悉線陣CCD的基本工作原理以及其測量原理,同時(shí)在實(shí)驗(yàn)課下讓學(xué)生完成線陣CCD驅(qū)動電路的設(shè)計(jì)與仿真,并進(jìn)行仿真結(jié)果的驗(yàn)證和檢查。本實(shí)驗(yàn)課程使學(xué)生在分析、設(shè)計(jì)和動手能力等方面得到提高,同時(shí)使實(shí)驗(yàn)教學(xué)和課堂教學(xué)緊密結(jié)合。
基于此,本文以東芝公司線陣CCD 圖像傳感器TCD2252D為例,探討了在實(shí)驗(yàn)課程中EDA軟件在線陣CCD驅(qū)動電路設(shè)計(jì)中的應(yīng)用,并給出幾種實(shí)用的設(shè)計(jì)方案。
圖1引用東芝公司TCD2252D技術(shù)手冊,給出了TCD2252D線陣CCD驅(qū)動電路的各個(gè)驅(qū)動脈沖的時(shí)序要求。本文所有的時(shí)序設(shè)計(jì)均以此為依據(jù)。在設(shè)計(jì)驅(qū)動電路時(shí),首先以高低電平的時(shí)序關(guān)系為主要設(shè)計(jì)對象,待后期進(jìn)行調(diào)試時(shí)再考慮上升沿與下降沿的影響。
圖1 線陣TCD2252D驅(qū)動電路的驅(qū)動脈沖時(shí)序要求
Multisim是美國國家儀器(NI)有限公司推出的以Windows為基礎(chǔ)的仿真工具,是一款很好的EDA(Electronic Design Automation)設(shè)計(jì)軟件,適用于板級的模擬/數(shù)字電路板的設(shè)計(jì)工作。在進(jìn)行實(shí)際電路的搭建時(shí),首先利用Multisim進(jìn)行時(shí)序電路圖的設(shè)計(jì),然后進(jìn)行仿真。為之后實(shí)物搭接的電路實(shí)驗(yàn)進(jìn)行指導(dǎo),方便其調(diào)試與修改。本文所設(shè)計(jì)的電路圖如圖2所示。
圖2 線陣TCD2252D驅(qū)動電路的Multisim設(shè)計(jì)電路圖
本方案的總體設(shè)計(jì)的步驟是:先形成滿足占空比的波形,然后對各個(gè)波形進(jìn)行延時(shí)以達(dá)到滿足CCD時(shí)序驅(qū)動的要求。故先從理論上推導(dǎo)出滿足時(shí)序要求所需要的D觸發(fā)器及非門的個(gè)數(shù),然后通過示波器(Multisim或?qū)嶋H搭建電路時(shí))的觀察來得到需要的波形,線陣CCD TCD2252這款芯片所需的驅(qū)動信號有SH,φ1、φ2,SP,RS,CP等,它們的實(shí)現(xiàn)詳述如下:
(1) SH的實(shí)現(xiàn):SH的實(shí)現(xiàn)主要是靠1400進(jìn)制的計(jì)數(shù)器,這里采用的是三個(gè)16進(jìn)制計(jì)數(shù)器(74LS161),可以比其它進(jìn)制的計(jì)數(shù)器少用芯片而達(dá)到相同的效果。2800D=101011110000B從而知道將U8的QC和QA端引出,U7的QD端引出,即約為一個(gè)1400計(jì)數(shù)器(從CCD驅(qū)動原理上知道只需要滿足SH大于1388個(gè)Φ1的周期即可,故在此用1408代替,誤差可以忽略),Φ1的頻率為0.5 MHz,故其一個(gè)周期的時(shí)間剛好為2000 ns,當(dāng)Φ1的第1407個(gè)上升沿到來時(shí)SH被置高電平,當(dāng)?shù)?408個(gè)Φ1的上升沿到來時(shí),SH復(fù)位,剛好為2000 ns。再將它根據(jù)實(shí)際的需要進(jìn)行一定時(shí)間的延時(shí),即可得到滿足要求的SH波形。
(2) φ1、φ2的實(shí)現(xiàn):相對較為簡單,它接一個(gè)JK觸發(fā)器,J=K=1,每來一個(gè)上升沿實(shí)現(xiàn)一次翻轉(zhuǎn),這樣就能將時(shí)鐘十分頻后的信號進(jìn)行二分頻,得到滿足驅(qū)動要求的0.5 MHz的1:1的方波,后面接的U10是一個(gè)8D觸發(fā)器,它主要是配合整個(gè)電路的驅(qū)動時(shí)序?qū)崿F(xiàn)對Φ1的延時(shí),從而得到滿足要求的脈沖。
(3) SP、RS和CP的實(shí)現(xiàn):三者的實(shí)現(xiàn)原理是相同的,只不過是在時(shí)間延時(shí)方面不同,可以選擇先產(chǎn)生某一信號如SP,然后對其進(jìn)行延時(shí),即可得到RS和CP,SP的產(chǎn)生直接利用10 MHz的信號延時(shí)調(diào)整后與SH“或”即可得到(也可以先進(jìn)行“或”操作再進(jìn)行延時(shí)而得到),再對SP進(jìn)行一些時(shí)序上的延時(shí)處理以達(dá)到滿足要求的三個(gè)信號。如圖2所示:U3的5D、6Q和8Q輸出的即為相應(yīng)的SP、RS和CP。
本方案選擇10 MHz晶振作為整個(gè)驅(qū)動電路的驅(qū)動時(shí)鐘,利用一個(gè)10進(jìn)制計(jì)數(shù)器U1對其進(jìn)行分頻,即可得到占空比為1:9的頻率為1 MHz的方波,再利用一個(gè)JK觸發(fā)器U2A進(jìn)行二分頻,即可得到頻率為0.5 MHz的方波,把它作為1408計(jì)數(shù)器(U6-U7-U8)的驅(qū)動時(shí)鐘,當(dāng)?shù)?407個(gè)U2A,剩下的就是利用SH與RS進(jìn)行邏輯運(yùn)算,再經(jīng)過延時(shí)處理,即可得到滿足要求的波形。在延時(shí)方面,考慮到每一個(gè)非門延時(shí)15 ns左右,每個(gè)施密特觸發(fā)器(74LS14)延時(shí)約22 ns,而D觸發(fā)器在驅(qū)動時(shí)鐘為10 MHz時(shí)延時(shí)約100 ns,故可以利用此來設(shè)計(jì)具體的時(shí)序要求。
本方案采用ALTERA 公司的EP1C6Q240 芯片,利用的實(shí)驗(yàn)平臺是ALTERA公司的Quartus II 8.0 Web Edition版。Quartus II是Altera公司推出的CPLD/FPGA開發(fā)工具,它提供了完全集成且與電路結(jié)構(gòu)無關(guān)的開發(fā)包環(huán)境,具有數(shù)字邏輯設(shè)計(jì)的全部特性。用FPGA實(shí)現(xiàn)驅(qū)動電路的設(shè)計(jì)有許多方法,例如通過VHDL語言、Verilog HDL語言等,在已經(jīng)搭建好IC仿真電路的基礎(chǔ)上,有一種更為方便的方式,那就是利用Quartus II 的原理圖輸入方式,可以充分利用軟件本身已經(jīng)寫好的各個(gè)邏輯部件的語句,利用在Multisim里的電路圖進(jìn)行搭建,在一些細(xì)節(jié)處進(jìn)行修改(如某些延時(shí)方面采用D觸發(fā)器進(jìn)行等)即可完成FPGA的驅(qū)動設(shè)計(jì)。利用Quartus II設(shè)計(jì)的電路圖如圖3所示。
圖3 線陣TCD2252D驅(qū)動電路的Quartus II設(shè)計(jì)電路圖
圖中U1部分:由于使用的時(shí)鐘是50 MHz的脈沖,因此此部分將時(shí)鐘進(jìn)行分頻,變?yōu)?0 MHz的時(shí)鐘信號作為整個(gè)電路的驅(qū)動;U2部分為10分頻電路,對10 MHz的時(shí)鐘進(jìn)行分頻以得到1 MHz的RS信號;U3部分為RS具體產(chǎn)生電路,它用U2部分產(chǎn)生的信號取反后與SH或即可得到實(shí)際要求的RS信號,再經(jīng)過一個(gè)74LS273(8D觸發(fā)器)進(jìn)行延時(shí)后即可以產(chǎn)生所需要的SP、RS、CP信號;U5部分為Φ1、Φ2的產(chǎn)生電路,它由U3的JK觸發(fā)器得到原始信號后經(jīng)過D觸發(fā)器延時(shí)得到要求的Φ1、Φ2信號;U4部分為1400進(jìn)制的計(jì)數(shù)器,它的驅(qū)動脈沖來自U3產(chǎn)生的Φ1原始脈沖,每1408個(gè)Φ1脈沖即可產(chǎn)生一個(gè)SH高電平,它即是所要求的SH脈沖。
Proteus軟件是英國Labcenter electronics公司推出的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。
設(shè)計(jì)電路圖如圖4所示,其中XTAL1和XTAL2是MEGA16的時(shí)鐘輸入端,為便于計(jì)算,這里選用的時(shí)鐘驅(qū)動頻率為10 MHz,因此每個(gè)時(shí)鐘周期(也是MEGA16的指令周期)即為100 ns,這樣只要保證在每個(gè)指令周期內(nèi)按要求對每個(gè)端口進(jìn)行賦值,即可實(shí)現(xiàn)AVR單片機(jī)的各個(gè)端口對所需波形的要求,當(dāng)然也可以選用頻率更高的晶振作為驅(qū)動,這樣的話每個(gè)指令周期的時(shí)間得根據(jù)所選擇的晶振周期進(jìn)行分配,在每個(gè)指令的周期內(nèi)進(jìn)行對端口賦值即可實(shí)現(xiàn)要求的波形。圖4中RESET端接的是復(fù)位電路,實(shí)現(xiàn)上電復(fù)位的功能。按圖4所示的接線方式,PA0~PA5出現(xiàn)的依次是SH、Φ1、Φ2、SP、RS和CP,即驅(qū)動CCD的各個(gè)信號。
圖4 線陣TCD2252D驅(qū)動電路的Proteus設(shè)計(jì)電路圖
利用AVR單片機(jī)來進(jìn)行驅(qū)動電路的設(shè)計(jì),主要是考慮驅(qū)動頻率的問題,TCD2252D要求的驅(qū)動頻率最高為1 MHz(MEGA16單片機(jī)的大多數(shù)指令為單個(gè)的系統(tǒng)時(shí)鐘周期,系統(tǒng)時(shí)鐘最高頻率可以提高到16 MHz,這是它與51單片機(jī)的最大區(qū)別所在),我們選擇10 MHz作為它的時(shí)鐘周期,這樣的話就能保證在100 ns的窄脈沖要求。在確定好利用AVR單片機(jī)后,具體到脈沖信號的產(chǎn)生又有兩種不同的方案,即利用MEGA16的3個(gè)定時(shí)/計(jì)數(shù)器實(shí)現(xiàn)自動的定時(shí),且MEGA16的計(jì)數(shù)器有3個(gè),2個(gè)8位的T/C0和T/C2,1個(gè)16位的定時(shí)器T/C1,均能實(shí)現(xiàn)脈沖寬度調(diào)制PWM(Pulse Width Modulation),這樣可以利用T/C1來產(chǎn)生SH,T/C0和T/C2分別產(chǎn)生Φ1和SP,通過對單片機(jī)定時(shí)器寫入相應(yīng)的控制字即可實(shí)現(xiàn)。這種方案的優(yōu)點(diǎn)是操作不占用CPU的時(shí)間,但缺點(diǎn)也很明顯,高電平部分不容易產(chǎn)生,驅(qū)動信號為6路,因此必須依靠附加的外部IC來調(diào)整以滿足要求,這樣無異于利用IC搭建電路,只不過是1400計(jì)數(shù)器利用單片機(jī)代替。另外一種思路是直接依靠程序的不停循環(huán)來實(shí)現(xiàn)驅(qū)動信號的輸出,這種方案的缺點(diǎn)是一直占用了CPU的操作時(shí)間,但優(yōu)點(diǎn)也很明顯,直接利用單片機(jī)就可以實(shí)現(xiàn)驅(qū)動,無需附加任何外部設(shè)備。
利用編程的方法實(shí)現(xiàn)驅(qū)動電路的產(chǎn)生,關(guān)鍵的是要實(shí)現(xiàn)在光生電荷累積階段和光生電荷轉(zhuǎn)移階段(暫稱為普通周期和高電平周期),這樣的話分別用兩個(gè)循環(huán)語句控制兩個(gè)不同周期的輸出,利用一個(gè)變量X賦初值為1400,每個(gè)普通周期減1,當(dāng)它小于零時(shí)即跳轉(zhuǎn)到高電平周期中執(zhí)行,在高電平周期又對X賦值1400即可實(shí)現(xiàn)循環(huán)。MEGA16有32個(gè)寄存器,因此可以利用17~25來存儲其中的9個(gè)狀態(tài)的值,利用R27-R26組合實(shí)現(xiàn)一個(gè)16位計(jì)數(shù)器的功能,部分程序如下:(普通周期循環(huán)部分)各個(gè)寄存器對應(yīng)值及在周期中的值如圖5所示。
圖5 各個(gè)寄存器對應(yīng)值及在周期中的值
loop1:out porta, r17;對應(yīng)起始
r17=0b00110010,其余同理可得:
out porta, r28;PA0輸出SH
out porta, r18;PA1輸出Φ1
out porta, r28;PA2輸出Φ2
out porta, r19;PA3輸出SP
out porta, r28;PA4輸出RS
out porta, r20;PA5輸出CP
ld r30, -X;16位計(jì)數(shù)器r27-r26每一個(gè)周期減1
subr27, r29;r29=0,相當(dāng)于與零比較,在下個(gè)周期進(jìn)行判斷跳轉(zhuǎn)
out porta, r21
out porta, r20
out porta, r22
out porta, r20
out porta, r23
out porta, r20
out porta, r28
breq loop2;brne、breq負(fù)責(zé)積分周期的跳轉(zhuǎn)brne loop1
高電平周期同理可得對其進(jìn)行賦值,注意普通周期中是比較r27與零的大小,因此在賦值時(shí)應(yīng)賦為:r26=0b01111000,r27=0b00000110。(說明:2800轉(zhuǎn)換成二進(jìn)制為101011110000B,原本r27=0b00000101,當(dāng)綜合考慮后依上述進(jìn)行賦值),可以參考以上程序?qū)懗觥?/p>
利用Multisim進(jìn)行仿真的實(shí)驗(yàn)結(jié)果如圖6所示。
圖6 利用Multisim進(jìn)行仿真的實(shí)驗(yàn)結(jié)果
利用Quartus II進(jìn)行仿真的實(shí)驗(yàn)結(jié)果如圖7所示。
圖7 利用Quartus II進(jìn)行仿真的實(shí)驗(yàn)結(jié)果
利用Proteus進(jìn)行仿真的實(shí)驗(yàn)結(jié)果如圖8所示。
圖8 利用Proteus進(jìn)行仿真的實(shí)驗(yàn)結(jié)果
針對利用IC分立元件搭接的面包板實(shí)際電路效果,利用Tektronix四通道彩色示波器進(jìn)行截圖結(jié)果如圖9所示。
針對利用FPGA開發(fā)板的實(shí)際電路效果,利用Tektronix四通道彩色示波器進(jìn)行截圖結(jié)果如圖10所示。
圖9 利用IC分立元件搭建面包板實(shí)際電路的實(shí)驗(yàn)結(jié)果
圖10 FPGA開發(fā)板實(shí)際電路的實(shí)驗(yàn)結(jié)果
針對利用AVR單片機(jī)的實(shí)際電路效果,利用Tektronix四通道彩色示波器進(jìn)行截圖結(jié)果如圖11所示。
圖11 AVR單片機(jī)實(shí)際電路的實(shí)驗(yàn)結(jié)果
在實(shí)際測試中,在CH1通道信上,線陣CCD輸出波形如圖12所示。
從以上幾種方案的設(shè)計(jì)過程來看,從最初的方案設(shè)計(jì)、仿真到最終的電路實(shí)現(xiàn),EDA軟件在其中起著不可或缺的作用。IC電路設(shè)計(jì)復(fù)雜,偏重于硬件實(shí)現(xiàn),調(diào)試相對困難,靈活性差。FPGA的設(shè)計(jì)是基于IC電路,因此較為簡單,但需要有前期IC設(shè)計(jì)
圖12 線陣CCD的輸出波形
的準(zhǔn)備。AVR單片機(jī)的實(shí)現(xiàn)相對較為簡單,偏重于軟件的編程,只需按所需要的驅(qū)動脈沖波形對端口進(jìn)行連續(xù)的賦值即可實(shí)現(xiàn),但需要掌握匯編語言等。綜上,本實(shí)驗(yàn)課程所給出的TCD2252D驅(qū)動電路設(shè)計(jì)修改時(shí)序相對簡單,移植較為容易,具有較高的實(shí)用價(jià)值,同時(shí)能幫助熟悉線陣CCD驅(qū)動電路的設(shè)計(jì)。
[1] 王慶友. CCD應(yīng)用技術(shù)[M]. 天津: 天津大學(xué)出版社.
[2] Franceschini, N. Small brains, smart machines: from fly vision to robot vision and back again[J]. Piscataway, USA: Proceedings of the IEEE, 2014, 102(5): 751-781.
[3] Liu, Yan, Yu, Feihong. Automatic inspection system of surface defects on optical IR-CUT filter based on machine vision[J]. Oxford, England, UK: Optics and Lasers in Engineering, 2014, 55: 243-257.
[4] Ali, MH, Kurokawa, S, Uesugi, K. Camera based precision measurement in improving measurement accuracy[J]. Oxford, England, UK: Measurement, 2014, 49, 138-147.
[5] 黃彤津, 朱禮堯, 遲涵文, 等. 基于CPLD的線陣CCD驅(qū)動電路的設(shè)計(jì)[J]. 北京: 電子測量技術(shù), 2014, 37(7): 66-70.
[6] 劉月林, 諸葛晶昌. 一種光積分時(shí)間可調(diào)的線陣CCD驅(qū)動設(shè)計(jì)[J]. 南京: 工業(yè)控制計(jì)算機(jī), 2013, 26(12): 100-101.
[7] 劉燕, 張會生, 王靖. 基于FPGA的TDICCD8091驅(qū)動時(shí)序電路設(shè)計(jì)[J]. 西安: 現(xiàn)代電子技術(shù), 2013, 36(17): 165-167.
[8] 張亮, 劉潤民. 可配置的通用線陣CCD驅(qū)動電路的研究與設(shè)計(jì)[J]. 北京: 電子技術(shù)應(yīng)用, 2013, 39(12): 55-67, 60.
[9] 李寧寧, 李志農(nóng), 劉治華, 等. 基于CPLD的線陣CCD驅(qū)動電路的設(shè)計(jì)[J]. 沈陽: 機(jī)械設(shè)計(jì)與制造, 2011, 6: 30-32.
[10] 譚露雯, 李景鎮(zhèn), 陸小微, 等. 基于CPLD工作模式可調(diào)的線陣CCD驅(qū)動電路設(shè)計(jì)[J]. 西安: 光子學(xué)報(bào), 2010, 39(3): 436-440.
Teaching Application of the Designing of Linear CCD Driving Circuit with EDA
ZHU Shi-ping, ZHOU Fu-qiang, LIU Hui-lan, ZHANG Yong-jian
(SchoolofInstrumentationScienceandOptoelectronicsEngineering,BeihangUniversity,Beijing100191,China)
CCD (Charge Coupled Device) is a kind of wildly used solid imaging device, one key problem of CCD application is the design of the driving circuit. The undergraduate course for the CCD driving circuit designing is offered based on the computer aid design, which can help undergraduate students to improve their knowledge of analog circuit and digital circuit. This paper proposes several design schemes for the linear CCD driving circuit of TCD2252D by using EDA software.
CCD; design of driving circuit; FPGA; Proteus
2016-08-11;
2017-07- 14
北京航空航天大學(xué)2015年校級教學(xué)改革項(xiàng)目。
祝世平(1970-),男,博士,副教授,主要從事圖像處理和視頻壓縮等方面的教學(xué)和研究,E-mail: spzhu@163.com
TN949.12
A
1008-0686(2017)04-0092-05