一種高速線陣CCD采集系統(tǒng)的設(shè)計
摘要:針對線陣CCD(Charge Coupled Device)及其外圍器件時序復(fù)雜的特點,設(shè)計了一種高速線陣CCD采集系統(tǒng)。該系統(tǒng)采用MSP430單片機產(chǎn)生PWM信號實現(xiàn)各器件驅(qū)動時序,并將采集結(jié)果通過串口發(fā)送至上位機。介紹了系統(tǒng)組成及各器件時序同步的設(shè)計方法。實驗結(jié)果表明,該線陣CCD采集系統(tǒng)能夠很好的滿足設(shè)計要求,可作為模塊化電路集成到其它測量系統(tǒng)中。
本文引用地址:http://butianyuan.cn/article/201809/388345.htmCCD是新型光電轉(zhuǎn)換器件,具有體積小、高靈敏度、低噪聲、讀出速度快、動態(tài)范圍高和全譜響應(yīng)等特點,已經(jīng)廣泛應(yīng)用到圖像傳感和非接觸式測量等領(lǐng)域。正確的CCD驅(qū)動需要嚴格的時序?qū)?yīng)關(guān)系,傳統(tǒng)的CCD驅(qū)動方式存在著調(diào)試困難、靈活性差等缺點,當驅(qū)動電路工作在高頻時鐘時會出現(xiàn)嚴重的干擾現(xiàn)象,各邏輯驅(qū)動信號不能滿足其嚴格的相位關(guān)系,導(dǎo)致系統(tǒng)工作不穩(wěn)定,已不能滿足其應(yīng)用的需要。因此,CCD采集系統(tǒng)設(shè)計的好壞直接影響CCD驅(qū)動時序和輸出信號的質(zhì)量,核心是CCD及外圍器件時序產(chǎn)生及同步的設(shè)計。
本文結(jié)合TI公司16位低功耗單片機MSP430,使用PWM方式產(chǎn)生操作時序,不需外加CPLD等復(fù)雜邏輯器件。實驗結(jié)果表明:該系統(tǒng)設(shè)計中電路和時序均能夠很好的滿足要求,生成波形良好,能很好的滿足各相位關(guān)系。
1 系統(tǒng)組成
本系統(tǒng)采用索尼公司ILX511還原型線陣CCD,該CCD內(nèi)置時鐘發(fā)生器與保持電路、具有易于操作等特點。硬件電路主要由線陣CCD與跟隨電路部分、數(shù)據(jù)處理與存儲部分、電壓轉(zhuǎn)換部分和MSP430部分組成。軟件由初始化部分、數(shù)據(jù)處理與存儲部分、通訊部分構(gòu)成。系統(tǒng)總體框圖如圖1所示。
2 硬件設(shè)計
2.1 線陣CCD與跟隨電路部分
ILX511線陣CCD有效像素為2 048個,內(nèi)部結(jié)構(gòu)如圖2所示。CCD通過模擬移位寄存器在VOUT引腳串行輸出信號到后續(xù)電路。Vour以2.8 V為基準,輸出表征光照強度的模擬電壓值,該電壓值滿足后端模數(shù)轉(zhuǎn)換器輸入范圍,故不需要放大電路。此外,本設(shè)計中將SHSW與GND直接相連,ILX511使用內(nèi)部采樣保持模式輸出信號。
由于ILX511輸出阻抗為250歐姆,在ILX511與ADC(模數(shù)轉(zhuǎn)換芯片)之間需增加電壓跟隨器實現(xiàn)阻抗變換。考慮CCD的工作頻率和單電源特性,選擇運放AD8041作為電壓跟隨器芯片。線陣CCD與跟隨器電路圖如圖3所示。
2.2 數(shù)據(jù)處理與存儲部分
ADC的位數(shù)對本設(shè)計的精度有重要影響,ADC位數(shù)的選擇可依據(jù)公式
其中A為輸入信號的動態(tài)范圍,M為分辨率要求。
ILX511輸出動態(tài)范圍為267,根據(jù)公式(1)可得本設(shè)計所需ADC位數(shù)≥8.06,即需選用有效位數(shù)ENOB(Effective Numbers Of Bits)10位以上模數(shù)轉(zhuǎn)換器。本設(shè)計采用AD9220,其在1 MHz工作頻率下信噪比最小為69 dB,由公式(2)可得其最小有效位數(shù)為11.7,滿足系統(tǒng)設(shè)計要求。
其中SNR為ADC信噪比。
AD轉(zhuǎn)換的輸出數(shù)據(jù)要通過RS232送入上位機,由于AD產(chǎn)生的數(shù)據(jù)流速率(12 Mb/s)與RS232通信速率(最高230.4 Kb/s)不配,故AD輸出的數(shù)據(jù)首先存入數(shù)據(jù)緩沖器FIFO中。由于ILX511每次轉(zhuǎn)換產(chǎn)生2048個數(shù)據(jù),因此選用IDT公司的IDT7203芯片通過字寬擴展方式使用。AD9220
和IDT7203連接方式如圖4所示。
2.3 電壓轉(zhuǎn)換部分
由于MSP430為3.3 V供電,而CCD和FIFO及運放部分均為5 V供電,為保證邏輯電平匹配,本設(shè)計采用TI公司的8位三態(tài)總線電平轉(zhuǎn)換芯片SN74LVC4245,該芯片傳輸延遲最大不超過10ns,能夠非常好的滿足本設(shè)計的時序要求。
2.4 MSP430部分
文中選用MSP430F149單片機作為主控芯片對電路產(chǎn)生驅(qū)動信號,通過定時器產(chǎn)生PWM信號。因此,定時器輸出引腳和需要同步操作的時序信號相連。此外,F(xiàn)IFO輸出結(jié)果通過電壓轉(zhuǎn)換后并行連接到單片機IO口。
3 軟件設(shè)計
MSP430程序主要由初始化模塊、數(shù)據(jù)采集與存儲模塊和通訊模塊組成。程序流程圖如圖5所示。
3.1 初始化模塊
初始化模塊包含以下3個部分:MSP430初始化部分、FIFO初始化部分和CCD初始化部分。
MSP430初始化部分包括時鐘初始化、串口初始化和IO初始化。時鐘初始化設(shè)定單片機時鐘來源及頻率,此頻率將決定單片機PWM和串口通信速率的計算以及PWM輸出時定時器的設(shè)置。串口初始化只需配置相關(guān)寄存器、設(shè)定好波特率和開啟中斷即可。IO初始化將沒有用到的IO進行配置。
FIFO在上電和每次寫操作之前需進行復(fù)位,F(xiàn)IFO復(fù)位后EF標志位為低電平,當MSP430單片機檢測到EF為低電平時即可開始產(chǎn)生后續(xù)所需工作時序。
CCD初始化工作分為兩部分:在其正式操作前需添加至少22 500個CLK脈沖來穩(wěn)定輸出;每次工作前由ROG信號和CLK信號完成初始化。
3.2 數(shù)據(jù)采集與存儲模塊
數(shù)據(jù)采集和存儲模塊完成對系統(tǒng)中各器件間時序的產(chǎn)生和同步操作,將采集到的光譜數(shù)據(jù)暫存到FIFO中。
由圖6可知,ILX511在完成初始化工作后,在每一個CLK時鐘下降沿時輸出信號。ILX511一個采樣周期由2087個CLK周期組成,在前33個周期和最后6個周期輸出無用信號(Dummy Signal),中間的2048個信號輸出有用信號。因此,AD9220需要在CLK開始后第34個周期啟動轉(zhuǎn)換。AD 9220某次轉(zhuǎn)換的結(jié)果在其輸入后3周期輸出,故FIFO需在AD9220第一次轉(zhuǎn)換結(jié)果輸出時啟動寫信號,即在CCD第37個CLK時啟動。又由于CCD在CLK低電平時輸出信號,AD9220在CLK高電平時采樣和輸出,F(xiàn)IFO寫信號低電平時有效,故AD9220的時鐘和CLK反相,F(xiàn)IFO寫信號和CLK同相。
結(jié)合MSP430定時器靈活的PWM輸出模式,CCD的CLK信號、AD9220的時鐘和FIFO的寫信號通過定時器B的引腳輸出PWM信號實現(xiàn),各個時鐘周期之間的延時通過精準的延時函數(shù)實現(xiàn)。程序如下。
通過邏輯分析儀實測MSP430各引腳輸出,結(jié)果如圖7所示,各驅(qū)動信號時序正確,相位匹配良好,完全滿足CCD及外圍電路驅(qū)動時序要求。
3.3 通訊模塊
通訊模塊主要通過MSP430的中斷完成發(fā)送數(shù)據(jù)到上位機的功能。通訊模塊程序流程圖如圖8所示。
在ADC將CCD輸出的數(shù)據(jù)全部轉(zhuǎn)換完成并將FIFO存滿后,IDT7203的FF標志位變低觸發(fā)MSP430的外部中斷服務(wù)程序。若需重新發(fā)送某次結(jié)果,需在進行下一次采集之前,由上位機發(fā)送“A”至下位機;若要繼續(xù)采集,則由上位機發(fā)送“C”至下位機。MSP430產(chǎn)生串口接收中斷后,判斷是否進行重新發(fā)送、繼續(xù)采集。
4 結(jié)束語
文中在分析線陣CCD器件驅(qū)動時序和外圍電路特點的基礎(chǔ)上,以MSP430作為主控芯片輸出PWM的方式,創(chuàng)造性地提出了一種線陣CCD驅(qū)動電路和時序的設(shè)計方法。實驗驗證了所設(shè)計的系統(tǒng)能夠很好地滿足時序要求和實現(xiàn)整體功能。由于采用模塊化設(shè)計,本系統(tǒng)可以和引腳兼容的同類CCD共用,同時可以結(jié)合MSP430低功耗特點作為模塊組合應(yīng)用在不同背景和需求中。
評論