天文觀測CCD相機管理論文

時間:2022-06-25 08:57:00

導語:天文觀測CCD相機管理論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

天文觀測CCD相機管理論文

摘要:詳細介紹紫金山天文臺紅外實驗室開發的CCD相機系統的軟硬件設計。根據柯達CCD芯片KAF-0401LE的時序要求,用復雜可編程邏輯器件(CPLD)實現了CCD的時序;采用相關雙采樣技術降低探測信號噪聲;用89C51作下位機控制,通過RS232與上位計算機通信;系統控制軟件采用VisualC++編寫。

關鍵詞:CCDCPLD相關雙采樣控制系統串口通信

引言

CCD通常分為3個等級;商業級、工程級和科學級。3個級別的要求一級比一級高。衡量CCD的性能主要從以下幾個方面:量子效率和響應度、噪聲等效功率和探測度,即動態范圍和電荷轉移效率等。科學級CCD以其高光子轉換效率、寬頻譜響應、良好線性度和寬動態范圍廣泛用于天文觀測,已成為望遠鏡測必不可少的后端設備。國內各天文臺望遠鏡終端都是從外圍引起的成套設備,使用和維護很不方便,并且價格昂貴,因此國內迫切需要發展自己的ccd技術。紫金山天文臺紅外實驗室對這一課題進行了深入研究,廣泛調研,認真選取,從芯片開始一直到系統的軟硬件設計,搭建了自己的CDD相機系統。

1系統設計

CCD芯片決定相機系統的性能,為此我們廣泛調研,最后選定柯達公司的KAF-0401LE芯片。它動態范圍大(70dB),電荷轉移效率高(0.99999),波長響應范圍寬(0.4μm~1.0μm),低暗電流(在25℃條件下,7pA/cm2),量子效率為35%,并且具有抗飽和性,能夠滿足科學觀測的要求,既可用于光譜分析,又可用于成像觀測。

系統設計的重點是解決CCD芯片的驅動和系統噪聲的問題。我們的設計如下:采用柯達公司的KAF-0401LE芯片作為探測器,Ateml公司的帶閃存Flash的89C51作下位機控制器,復雜可編程邏輯作(CPLD)作時序發生和地址譯碼,采用相關雙采樣技術降低噪聲,自帶采樣保持的12位A/D轉換順AD1674進行模數轉換,擴展8片128Kbit(628128)的RAM作1為幀圖像暫存空間,通過RS232與計算機串口通信,接受計算機的控制。整個系統由圖1所示幾個功能部件組成。

1.1時序信號發生電路

KAF-0401LE芯片的時序要求:積分期間φV1、φV2保持低電平;行轉移期間φH1保持高電平,φH2保持低電平。每行開始φV1的第2個脈沖下降沿后,要有1個行轉移建立時間tφHs,讀完行后需延遲1個像素時間te才開始下一行φV1脈沖;同樣,φV1第2分脈沖下降沿后,開始下一行轉移,如此直到讀完1幀。

復雜可編程邏輯器件(CPLD)以其高度集成、靈活、方便的特點,在電路設計中運用越來越廣泛。Altera公司的復雜可編程邏輯器件EPM712SLC84-15具有2500個可用邏輯門,128個宏單元,8個邏輯塊,最大時鐘可達147.1MHz,帶有68個可供用戶使用的I/O引腳,PLCC封裝,可通過JTAG接口實現在線編程。我們選用EMP7128SLC84-15,通過硬件描述語言(VHDL)在集成開發環境MAXPLUSII下完成邏輯設計;編譯后,通過JTAG接口下載到電路板上的EPM7128SLC84-15中,實現了KAF-0401LE芯片的時序要求。

MAXPLUSII雖然有很豐富的元件庫,但并不是針對某一應用而開發的,具有通用性,調用它固有的元件庫可能造成資源的浪費,沒有必要。因此我們按照需求,編制了自己的元件庫,然后在程序中作為元件調用。在本系統中,僅用1片EPM7128LC84-15就實現了CCD的時序要求、暫存RAM和接口擴展芯片8255的片選和地址譯碼,既簡化恥電路的硬件設計,提高了系統可靠性,又降低了成本。交流時序條件要求如表1所列。

表1

描述符號最小值正常值最大值

φH1、φH2時鐘頻率/MHzfH1015

φV1、φV2時鐘頻率/kHzfV100125

周期/nste67100

φH1、φH2建立時間/μstφHS0.51

φV1、φV2脈沖/μstφv45

復位時鐘脈寬/nstφR1020

讀出時間/mstreadout3450

每行讀出時間/μstline65.895.6

1.2雙采取、模擬放大電路及A/D變換電路

我們采用能夠滿足高頻要求的放大器LF356N設計雙采樣和模擬放大電路。根據CCD的動態范圍選用自帶采樣保持的12位A/D變換器AD1674作模數轉換。

雙采樣原理如圖2所示。RSL是CCD復位電平,光信號相當于SGL與RSL的差值,理論上只要分別在RSL和SGL處各采樣一次,然后相減便得到信號的值。然而,實際上RSL和SGL并不是理想的水平線,而是存在著低頻起伏噪聲。為了降低噪聲的影響,通常的做法是,分別在RSL和SGL處多次采樣求平均,這樣對硬件和數據處理軟件的要求都很高。我們這里采用了積分型相關雙采樣技術,如圖3所示,CCD信號分別經過同相和反相放大器連到模擬開關輸入端。模擬開關S1打開時,RSL通過電容積分;s2打開時,SGL信號經電容積分;s3打開輸入端接地,信號保持不變;s4為復位開關。積分放大器的輸入、輸出關系如下:

圖2中的積分輸出是相關雙采樣的輸出波形圖。采樣保持后通過A/D進行模數轉換,經8255口存在板上的RAM中。

1.3電壓偏置電路

CCD驅動信號的直流偏置電壓各不相同,CPLD產生的TTL信號必須經過電壓變換才能加到CCD的輸入端。我們首先用LM317和LM337產生所需要的偏置電壓,然后經過時鐘驅動芯片DS0026轉換得到時序和偏置都符合CCD要求的信號,電路如圖4所示。

LM317用于輸出正相偏置電壓,LM337用于輸出負相偏置電壓,通過調節可變電阻R2阻值可得到我們所需的偏置電壓,計算公式如下:

其中,Iadj<100μA,Vref=1.25V,圖4(a)中R1取240Ω,圖4(b)中R1取120Ω。

2軟件編程

軟件是管理硬件的工具,硬件是實現軟件功能的基礎。本系統的軟件工作任務較重,從可編程邏輯器件的硬件描述語言編程、電路板上單片機的匯編程語言編程,到計算機上控制系統的VisualC++編程。

2.1時序信號的VHDL語言編程

我們用VHDL編制CCD時鐘驅動信號、圖像暫存RAM和接口擴展芯片8255的地址譯碼和片選信號,在集成開發環境MAXPLUSII中編譯,通過JTAG口下載到EPM7128SLC84-15中。下面給出實現CCD系統時序部分VHDL語言設計和時序仿真結果。VHDL語言編程基本上分為2個部分:實體說明和結構體定義。實體說明部分定義端口,結構體中實現邏輯設計。程序如下:

LIBRARYieee;--包括的庫

USEieee.std_logic_1164.all;

USEieee.std_LOGIC_ARITH.ALL;

USEieee.std_logic_unsigned.all;

ENTITYkodak7128IS--實體說明部分

PORT--端口

(clk:INstd_logic;時鐘輸入

start:INSTD_LOGIC;--啟動采集數據輸入

rc:OUTSTD_LOGIC;--啟動A/D變換輸出

s1,s2,s3,s4:OUTSTD_LOGIC;--相關雙采樣模式時鐘輸出

v1:OUTSTD_LOGIC;--CCD行轉移時鐘輸出

v2:OUTSTD_LOGIC;

r:OUTSTD_LOGIC;--CCD復位始終輸出

h1:OUTSTD_LOGIC;--CCD像素轉換時鐘信號輸出

h2:OUTSTD_LOGIC;

a,b,c:INSTD_LOGIC;--擴展RAM譯碼輸入

a2,a3,a4,a5,a6,a7:INSTD_LOGIC;--口擴展芯片8255地址譯碼片選輸入

a8,a9,a10,a11,a12,a13,a14,a15:INSTD_LOGIC;

ram5,ram6,ram7:OUTSTD_LOGIC;--擴展RAM及8255片選譯碼輸出

ram8,ram9,ram10,ram11,ram12,cs8255:outstd_logic);

ARCHITECTUREmboardOFkodak7128tryIS-結構體實現部分

--PROCESS定義邏輯

ENDmboard;

時序仿真結果如圖5所示。

2.2下位機的匯編語言編程

89C51作為電路板上的靈魂,負責接收計算機傳來的命令,管理CCD數據的采集、接收、傳送。與計算機的通信通過串行口中斷實現,數據的采集通過外中斷實現。

事先需要定義好計算機與單牒同的通信協議,在初始化程序中設置通信波特率、堆棧初始化以及寄存器初值,然后進入循環,等待中斷的發生,調用中斷子程序,實現預定功能。

當計算機有命令到來時,進入串行中斷子程序,在中斷中根據預先定好的協議,判斷計算機發來的不同命令,調用不同處理子程序。其中的命令有:采集、停止采集、取數、停止取數。

2.3CCD相機控制系統VisualC++編程

Windows以其操作簡單、友好的圖形界面成為最流行的操作系統。VisualC++是目前公認最強大的Windows程序設計工具。我們用它開發了相機控制系統。

首先定義人機接口的操作界面。在程序中主要分為數據的獲取、存儲與處理幾個方面,在數據的獲取方面我們專門定義一個串口通信類,開一個線程用于監聽串口事件的發生,用于向下位單片機發送命令和接收數據。

3測試結果

我們完成了從芯片到相機系統的軟硬件研制,初步測試,效果良好,對于發展我們自己的CCD技術做出有意義的探索和研究。圖6是相機CCD量子效率測試結果。