分光光度計的核心部分是光譜采集和處理系統,其通過光電轉換器件把經過物質吸收后的光譜信號采集進來,并通過顯示器件實時顯示。傳統的分光光度計通常采用光電管來實現這一轉換,由于光電管的體積較大,而且需要復雜的機械裝置把光譜投射到光電管上,因此傳統的分光光度計體積非常笨重,而且價格也十分昂貴。CCD技術的發展使得分光光度計發生了革命性的變化,由于CCD技術的易集成、采集速度快等優點使得分光光度計逐漸朝著微型化和便攜性方面發展。
本文提出的分光光度計的光譜采集系統通過使用CCD與微處理器件的協調工作,可以用來測試可見光波段的吸收強度并能初步的估計吸收量的大小,從而為物質分析提供參考。
1 CCD驅動及噪聲處理技術研究
1.1 CCD驅動時序研究
CCD作為光電轉換的理想器件是因為其較低的噪聲、較高的轉移效率和較快的光譜響應,其采用交替變換的脈沖來移出儲存在其中的光信號并以電壓輸出的方式表示。由于轉移效率較高,因此其工作頻率一般在MHz標準。本文采用的CCD器件則是最高轉移頻率在1 MHz的東芝公司生產的TCD1208AP線陣CCD器件。TCD1208AP由2 212個基本像元組成,其中可用來進行光譜數據轉換的像元只有2 160個,其他的像元用來控制噪聲和填充數據幀。TCD1208AP每個像元的尺寸為14μm×14μm,所以對色散器件的色散能力要求不是很高,同時其擁有較高的光靈敏度以及較高的工作頻率使得其光譜采集的速度非常快,達到ns級別。利用物質吸收單色光的特性,在色散器件的作用下,把波長不同的光映射在CCD傳感器上的每個像元位置,每個像元位置對應一個波長的光的強度。像元與波長的關系可以通過微處理器來進行標定,傳感器采集不同波長的光信號,光信號的強度與CCD受照射的時間(CCD的積分時間)有關,通過改變積分時間可以影響每個像元上光強度的大小。
TCD1208AP正常的工作需要四路驅動脈沖,即積分時間控制脈沖SH、像元內光信號轉移脈沖φ1和φ2以及清除CCD像元內剩余電荷的復位信號RS。四路驅動脈沖的時序圖如圖1所示。
RS一般工作在1 MHz的速度,其脈沖的占空比為30%,φ1,φ2工作的占空比為50%,SH為CCD的積分時間控制脈沖。在RS為1MHz的情況下,SH的周期為452 ms,也即2212個RS周期的時間。開始工作時,φ1,φ2必須先于SH處于高電平,以便SH到來時能馬上建立電勢差,從而使得CCD的電荷順利轉移出去。
1.2 CCD噪聲處理技術探討
TCD1208AP的輸出信號有VOS和VDOS,其中VOS為摻雜了噪聲的有效輸出信號,其噪聲的主要成分為RS引起的復位噪聲,VDOS為補償輸出端。
CCD的輸出信號摻雜有直流電平和RS復位脈沖,因此在進行模擬到數字的轉換時,必須把其中的直流電平(圖示為1.08 V)和RS(1 MHz的復位脈沖)脈沖濾除。直流電平的濾除可以使用VDOS補償輸出,通過VOS與VDOS之間的加減運算來實現。圖2所示的即為濾除直流電平后的信號圖,圖中信號c為不帶直流電平而帶有復位噪聲的光譜吸收信號。有效的光譜吸收信號在復位脈沖之后,物質對不同波長光的吸收程度體現在該信號的大小上。
復位噪聲的消除是通過對模擬到數字中的采樣點的選擇來實現。通過把采樣的時刻設定在有效的光譜信號區域,并把該時刻視頻信號的電壓值轉換為數字量,以便進行后續的信號處理過程。而采樣的脈沖有兩種來源,一是通過引入額外的脈沖源,通過精確的控制來實現;二是使用CCD的復位脈沖RS來實現,通過觀察發現CCD的復位脈沖RS的脈寬區恰好位于CCD有效的光譜信號區域,因此可以用復位脈沖作為模擬到數字信號轉換部分的采樣脈沖輸入端。
光譜采集系統的硬件電路主要用來實現物質吸收光譜的采集、轉換以及對轉換后的光譜數據進行適當的處理,因此,穩定、高精度的硬件電路是光譜采集系統有效精確工作的基礎。
2.1 CCD驅動及CCD預處理電路設計的研究
CCD的正常工作需要精確時鐘的配合,選用TCD1208AP線陣CCD作為本文的光電轉換器件,其需要四路時鐘脈沖的驅動:SH,φ1,φ2,RS。四路脈沖的幅值為5 V,屬于標準的TTL邏輯電平。在驅動設計時可以使用微處理器來實現也可以使用FPGA或者CPLD等邏輯陣列來實現。但微處理器的時鐘精確度相對于邏輯陣列比較低,且存在相位不同步的問題,因此,本文設計的方案使用CPLD來實現,其芯片為Altera公司的MAX7000系列的EPM7064SIA4,其IO口具有5 V電平的輸出能力,可以和TCD1208AP直接連接而無需其他電平轉換芯片,硬件連接圖如圖3所示。
CPLD使用10 MHz的有源晶振輸入,為了提高CPLD的驅動能力,使用了反相器74HC04對CPLD輸出的驅動脈沖進行放大,由于74HC04的反相作用,因此,CPLD的驅動脈沖的高低電平與正常驅動CCD的脈沖必須是反相的。CPLD輸入的時鐘clk為10 MHz,通過HLD硬件編程語言實現十分頻,輸出1 MHz的CCD復位脈沖。
1.2 節討論利用VOS與VDOS的加減運算來實現光譜
信號中直流電平的濾除,硬件則利用運算放大器來實現這一過程。本系統采用AD公司的AD8051運算放大器,其工作帶寬最高達110MHz,較低的建立時間使得其處理高頻信號的能力較強,根據基本運算放大器計算規則,得出輸出信號Vout為:
調節R9的值則可以改變Vout的輸出值,此時的Vout就是沒有直流電平的物質光譜吸收信號。
經過處理后的物質吸收光譜信號,進入AD轉換模塊,在該模塊可以對光譜信號中的復位脈沖進行濾除,從而得到有效的光譜信號。采用的AD轉換芯片是BB公司的8 bit模擬到數字轉換芯片,其采樣率可以達到60 MHz以及49.5 DB的高信噪比,使得其轉換速率和精度滿足光譜采集系統的高速和高精度的要求。ADS830需要4個時鐘周期才能完成數據采樣和數字信號的輸出,在接收ADS830轉換的數字信號時需要控制好接收數據的時刻,以便準確無誤的得到需要的數據。
圖4為使用ADS830來進行光譜數據數字化的轉換電路,ANALOGIN輸入則是通過AD8051后處理的不帶直流電平的光譜數據。由于ADS830的輸入端電壓范圍是1.5~3.5 V,因此,為了使得經過AD8051的光譜信號處于這一范圍,需要通過調節R9的值來實現。D1~D8則是轉換后的光譜信號,該信號送入微處理器進行后續處理。
2.2 光譜數據處理電路及液晶顯示動態曲線研究
本文采用的微處理器是STC公司的STC89C52RC,其帶有額外的P4口,使得IO口資源更加豐富,由于這款單片機的內核是基于C51的,因此其機器周期還是傳統的12T模式,但是STC可以通過下載程序的模式設置來使用6T模式工作,即超頻工作。本系統微處理器的時鐘為24 MHz,使用6T模式工作:6個時鐘周期為一個機器周期,指令周期為0.25 ns。由于其內部存儲資源的限制:內存為512個字節,ROM空間為8 K。如果直接對ADS830轉換后的數字信號進行處理,會導致數據的丟失,并且轉換后的光譜數據的速率達到了1 MHz(周期1 ns)?;谝陨蟽牲c,需要使用緩沖裝置來暫存數據,以便單片機有效的對光譜數據進行處理。
文中采用了具有先進先出特性的異步FIFO芯片IDT7205,其內部有8 K字節的存儲空間,可以有效地對光譜數據進行緩沖。RS為其復位脈沖,低電平有效,一個有效的復位需要W和R處于高電平才能完成,只有在RS有效低電平過后,W和R才能進行操作。復位后的IDT7205讀寫指針
地址相等且位于0位置。EF和FF為指示標志位,其中EF為內部空標志位,其有效的低電平說明此時IDT7205里數據已經讀取完,等待寫入數據,而FF則表示內部數據空間已經寫滿,需要盡快讀出里面的數據。IDT7205復位后,這兩者都處于低電平,因此在編程的時需要進行區分。
圖5為IDT7205的硬件連接圖,其中D1~D8為ADS830轉換后的數字光譜信號,Q1~Q3則與STC89C52RS連接,這樣單片機就有比較充足的時間和空間來處理光譜信號,并對處理后的信號進行顯示。
文中設計的光譜采集系統可以使用電腦端和LCD端兩種方式來實現光譜數據的顯示,描繪其吸光度曲線,并得出吸收峰峰值和對應于該峰峰值的波長。電腦端的顯示比較簡單,通過PC機較強的數據處理能力能較好較快地顯示吸光度曲線,而對于LCD19264來說,則有比較多的細節需要處理。文中采用的是帶背光的LCD19264液晶來進行吸光度曲線的顯示,該液晶只有192*64的分辨率,因此要進行吸光度曲線的顯示,需要對光譜數據進行壓縮。CCD的有效像元有2 160個,要在19264上進行顯示,有兩種方法:使用翻屏來實現或者使用數據壓縮的方式實現。通過觀察CCD采集的光譜信號發現,吸收峰峰值只在一個或幾個特定的波長出現,而其他波長處的吸光度值則基本一致。因此,文中使用壓縮的方法來實現吸光度曲線在液晶上的顯示。通過設定采樣閥值,把2 160個數據壓縮為192個字節的光譜數據,采集的機理是:對低于該閥值的光譜數據則丟棄不用,而對高于其閥值的光譜數據進行存儲,并比較前后兩個光譜數據的大小,若相等,則只采用其中的一個數據。如果檢測到峰峰值比較大的光譜數據,則把此時采集的序號和峰值的幅度進行存儲,方便在液晶上顯示峰值吸光度。
利用LCD19264來繪制動態曲線,需要特殊的編程方式來實現。LCD19264是以字節方式寫入的,也就是一次寫入需要準備8bit的數據位。動態曲線的顯示則是以點(相當于1位)的方式進行繪制的,因此繪制動態曲線時需要把字節與點進行轉換。19264其行是以頁來進行操作的,而列則是按單列來操作,64列為一屏,總共3屏,在LCD19264上畫點,橫坐標則是液晶的列,而縱坐標則通過頁來實現,即橫坐標有192個點,縱坐標有64個點(8頁),列與橫坐標一致,因此不需要轉換,而縱坐標由于和液晶的8頁對應,因此需要進行轉換。按照液晶的結構(圖6)從上到下依次為0頁,1頁,3頁,……,7頁。例如:要找到50對應于哪一頁,首先需要算出50對應于8頁中的哪一頁,50/8=6,因此50對應于第6頁。具體在哪一位可以通過對50取8的余數,50%8=2,那么我們就可以確定50對應于LCD19264的第6頁上的第2位,通過在該位寫入高電平,則可以把50繪制在液晶上。
3 光譜采集系統測試結果及分析
通過對方案進行驗證以及對設計的系統電路圖進行多次調試和修改,得到了便攜式分光光度計硬件結構圖(圖7)。使用了接插件把LCD19264和TCD1208AP連接于系統接口上,方便擴展性能更好的器件,JTAG口和RS232口主要用來實現CPLD程序、單片機程序的下載,同時RS232口還兼有上傳采集數據到PC端的功能。
對整個系統在液晶和PC端的數據進行處理并顯示(圖8)可以看出,繪制的光譜曲線有較明顯的差別。這是由于測量過程中,CCD中采集光譜的變化造成的,同時采集過程中光譜數據的采樣時刻的精確性對測量結果會有一定的影響。但液晶上基本可以顯示出光譜峰峰值的位置和大小,從而為物質分析提供參考。
4 結束語
對基于CCD的分光光度計光譜采集電路進行了方案設計和硬件實現,并對設計中的關鍵技術進行了分析和討論,包括噪聲消除方法以及如何利用液晶顯示器繪制動態光譜曲線。為了實現系統不同接口間的速度匹配,采用了FIFO來完成光譜數據的緩沖,從而使速度較慢、內部存儲空間較小的低成本單片機也能用來實現大數據量的光譜數據采集。通過對白色自然光進行測試,光譜曲線具有較好的分辨度以及較快的探測速度。
評論
查看更多