李達(dá)倫,李彬華,晏 佳
(昆明理工大學(xué)信息工程與自動化學(xué)院,云南 昆明 650500)
基于USB3.0的EMCCD相機(jī)高速數(shù)據(jù)傳輸系統(tǒng)的研究
李達(dá)倫,李彬華,晏 佳
(昆明理工大學(xué)信息工程與自動化學(xué)院,云南 昆明 650500)
自動成像協(xié)會(Automated Imaging Association,AIA)在2013年初發(fā)布了用于高速圖像數(shù)據(jù)傳輸?shù)腢SB3 Vision標(biāo)準(zhǔn)。首先簡要介紹了基于該標(biāo)準(zhǔn)的EMCCD相機(jī)高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)方案,重點(diǎn)介紹了傳輸系統(tǒng)的構(gòu)建和圖像采集軟件的設(shè)計(jì)。其中,傳輸系統(tǒng)的構(gòu)建主要是在QUARTUS II的開發(fā)環(huán)境下,移植EMCCD相機(jī)數(shù)字控制器,使用VHDL語言編程設(shè)計(jì)一個(gè)控制器,產(chǎn)生USB3.0芯片USB3014的讀寫時(shí)序以及相關(guān)的邏輯信號,并且完成模擬圖像產(chǎn)生和針對USB3 Vision標(biāo)準(zhǔn)的數(shù)據(jù)傳輸格式轉(zhuǎn)換的功能;圖像采集軟件的編寫是在VS2010開發(fā)環(huán)境下利用CYPRESS公司提供的應(yīng)用程序接口(API),采用C++語言實(shí)現(xiàn)。最后進(jìn)行了模擬圖像的采集實(shí)驗(yàn),并且進(jìn)行了誤碼率估算。
CCD相機(jī);USB3 Vision;圖像采集;VHDL;C++
CN53-1189/P ISSN1672-7673
電子倍增CCD(通常記為EMCCD)是一種具有高速讀出能力的微光成像器件,能對微弱光電子信號在CCD芯片內(nèi)部進(jìn)行放大[1],等效讀出噪聲很低。使用EMCCD相機(jī)可方便地觀測光變周期在毫秒量級至秒量級的暗弱天體。為了實(shí)現(xiàn)EMCCD的高速讀出功能,EMCCD相機(jī)需要配備與之相應(yīng)的高速數(shù)據(jù)傳輸通道。
目前,圖像傳輸常用的方法有4種:千兆以太網(wǎng)(Gigabit Ethernet)、IEEE 1394(Fire wire火線)、Camera Link協(xié)議、USB總線。千兆以太網(wǎng)最大帶寬為1 Gb/s,纜線最大長度可達(dá)100 m,可同時(shí)連接多個(gè)設(shè)備,但是占用CPU較多(Filtered模式);IEEE 1394最大傳輸速度為3.2 Gb/s,傳輸距離可達(dá)100 m,占用CPU較多[2];Camera Link最大傳輸速度為7.14 Gb/s,但是纜線最大長度為10 m,通過擴(kuò)展,可以到20 m(如多功能經(jīng)緯儀[3]);USB總線中USB2.0最大速度較小,USB3.0最大速度為5 Gb/s,而且支持熱插拔等功能[4-5]。
USB3.0是USB標(biāo)準(zhǔn)的下一個(gè)重要版本。它的最高理論傳輸速率可達(dá)5 Gb/s。但USB3.0不僅僅是速率的提高,它在很多方面做了新標(biāo)準(zhǔn)的設(shè)定。自動成像協(xié)會在2013年1月發(fā)布了USB3 Vision標(biāo)準(zhǔn)Version 1.0。USB3 Vision標(biāo)準(zhǔn)定義了設(shè)備(例如相機(jī))在USB3.0總線上工作時(shí)的某些行為,比如設(shè)備識別方式、設(shè)備控制管理、圖像數(shù)據(jù)傳輸方式以及電纜長度/接口等配件設(shè)備參數(shù)。這是很多機(jī)器視覺廠商參與并制定的標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)是專門為USB3.0相機(jī)而設(shè)計(jì)的,規(guī)范了相機(jī)如何使用USB3.0接口。所以,與以往USB相比,結(jié)合了USB3 Vision的USB3.0具有這些顯著的優(yōu)勢:一是可提供USB3.0相機(jī)更大的帶寬,理想帶寬可達(dá)到5 Gb/s;二是更強(qiáng)的供電能力;三是新接口標(biāo)準(zhǔn)比先前的更加穩(wěn)定可靠,因而USB3.0相機(jī)具備更高的效率。
本文根據(jù)實(shí)驗(yàn)室研制的EMCCD相機(jī)對傳輸通道的要求,設(shè)計(jì)了一種基于USB3.0的高速數(shù)據(jù)傳輸系統(tǒng),編寫了圖像采集軟件,對系統(tǒng)進(jìn)行了多次模擬圖像采集的實(shí)驗(yàn),并且進(jìn)行了誤碼率估算。
整個(gè)系統(tǒng)要實(shí)現(xiàn)的功能是圖像工作站/PC通過USB3.0接口與EMCCD相機(jī)數(shù)字控制器通信,實(shí)現(xiàn)相機(jī)成像指令的下傳,從而控制時(shí)序發(fā)生器產(chǎn)生相應(yīng)的時(shí)序。然后,EMCCD相機(jī)成像后的圖像數(shù)據(jù)通過USB 3.0接口高速上傳至圖像工作站,同時(shí),圖像采集軟件開始采集并且將圖像數(shù)據(jù)以RAW格式保存在硬盤中。在圖像數(shù)據(jù)緩存方面,采用DDR2存儲器,為批量傳輸提供足夠的緩存,保證圖像數(shù)據(jù)高速穩(wěn)定地上傳。整個(gè)系統(tǒng)主要以USB3.0數(shù)據(jù)傳輸為基礎(chǔ)構(gòu)建。因此,在系統(tǒng)設(shè)計(jì)時(shí),首先要考慮USB3.0芯片和DDR2存儲器的選取,其次是現(xiàn)場可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)器件的選型。最后,在相機(jī)控制方面,要根據(jù)USB3 Vision標(biāo)準(zhǔn)[6]的要求,并且結(jié)合實(shí)驗(yàn)室的EMCCD成像系統(tǒng)中上位機(jī)與Nios II的臨時(shí)通訊協(xié)議,制定新傳輸系統(tǒng)中上位機(jī)與Nios II的臨時(shí)通訊協(xié)議。新傳輸系統(tǒng)的臨時(shí)通訊協(xié)議如表1。
表1 上位機(jī)與Nios II的臨時(shí)通訊協(xié)議Table 1 Temporary communication protocol between the PC and Nios II
prefix:長度4個(gè)字符,用于表示USB3 Vision control;
flags:長度2個(gè)字符,用來表示是否需要應(yīng)答,00表示不需要應(yīng)答,01表示需要應(yīng)答;
command_id:長度2個(gè)字符,相機(jī)工作指令的ID,每個(gè)ID對應(yīng)唯一一個(gè)要執(zhí)行的操作。
length:長度2個(gè)字符,指示控制命令的總長度;
request_id:長度2個(gè)字符,請求相機(jī)狀態(tài)返回的ID;
數(shù)據(jù)1~10:長度6個(gè)字符,命令的參數(shù),可加+、-號;
有些命令中不用的數(shù)據(jù)可以寫成0,但必須填寫,具體命令說明這里不贅述。
生產(chǎn)USB3.0芯片的主要廠商有CYPRESS公司(如USB3014)和TI公司(如TUSB1310/9260)。CYPRESS公司提供USB解決方案的完整系列,包括應(yīng)用程序接口(API)、參考程序、驅(qū)動程序套件。高度集成的靈活特性,可幫助開發(fā)人員為任何系統(tǒng)添加USB3.0功能,縮短開發(fā)周期。USB3014具有高性能通用可編程接口GPIF II,此接口能實(shí)現(xiàn)從器件FIFO接口功能,工作頻率高達(dá)100 MHz,支持8/ 16/32位數(shù)據(jù)總線。使用該器件實(shí)現(xiàn)USB3.0方式的數(shù)據(jù)傳輸比較簡單,只需要配置GPIF II為從器件FIFO接口,然后根據(jù)FIFO接口的操作時(shí)序進(jìn)行數(shù)據(jù)傳輸。因此,USB3.0芯片選擇CYPRESS公司的USB3014。DDR2存儲器操作時(shí)序比較復(fù)雜,而且沒有開放的IP核,所以DDR2存儲器的選取,主要考慮是否提供IP核。因?yàn)閷?shí)驗(yàn)室已經(jīng)研制了一臺基于Camera Link協(xié)議的EMCCD相機(jī)[7-8],根據(jù)經(jīng)驗(yàn),現(xiàn)場可編程門陣列器件需要至少10 000個(gè)邏輯資源、兩個(gè)鎖相環(huán)(PLL)、32 KB片上存儲器、240個(gè)用戶I/O,而且PLL可倍頻至240 MHz。
根據(jù)以上分析,本傳輸系統(tǒng)需要一塊具有CYPRESS公司USB3.0芯片USB3014和滿足上述條件的現(xiàn)場可編程門陣列以及具有DDR2存儲器的開發(fā)板。綜合考慮,最后選擇北京華諾銘科電子科技中心的USB3.0開發(fā)板(企業(yè)版)。該開發(fā)板上現(xiàn)場可編程門陣列器件為ALTERA公司的EP3C40F484C6N,具有兩片1 Gbits的DDR2芯片,DDR2芯片采用獨(dú)立的地址、控制總線和數(shù)據(jù)總線,保證數(shù)據(jù)高速穩(wěn)定地傳輸。而且還提供了一個(gè)DDR2虛擬FIFO模塊,從而使得操作DDR2就像讀寫FIFO一樣簡單。傳輸系統(tǒng)結(jié)構(gòu)圖如圖1。
圖1 傳輸系統(tǒng)結(jié)構(gòu)圖Fig.1 A block diagram of the transmission system
2.1 EMCCD相機(jī)數(shù)字控制器移植
使用的EMCCD是TI公司的TC285芯片,成像時(shí)主要有清零、曝光、垂直轉(zhuǎn)移、水平讀出4個(gè)工作階段。每個(gè)階段都要求不相同的時(shí)序,要使EMCCD正常工作,就必須有對應(yīng)的數(shù)字控制器。本實(shí)驗(yàn)室已研制了一臺基于Camera Link協(xié)議的EMCCD相機(jī),因此,可以將這臺相機(jī)的數(shù)字控制器移植到USB3.0開發(fā)板上,這樣可減小工作量,且便于后續(xù)的研發(fā)。
EMCCD相機(jī)數(shù)字控制器的移植主要包括時(shí)序發(fā)生器[9]和基于Nios II處理器的控制器移植。因?yàn)樾碌膫鬏斚到y(tǒng)中EMCCD器件同樣是TI公司的TC285,所以時(shí)序發(fā)生器不需做任何修改,直接移植到USB3.0傳輸系統(tǒng)中。在移植過程中,只需在QUARTUS II 13.0開發(fā)環(huán)境下的對應(yīng)工程中加入時(shí)序發(fā)生器的VHDL代碼,并且分配對應(yīng)引腳,最后編譯即可。時(shí)序發(fā)生器移植成功后,實(shí)測成像區(qū)清零的波形如圖2。圖2中D0~D7這8個(gè)信號分別對應(yīng)TC285芯片所需要的8個(gè)時(shí)鐘:CMG、RST、SRG2、SRG1、SAG2、SAG1、IAG2、IAG1。垂直時(shí)鐘IAG1、IAG2相位差900,占空比50%,SAG1、SAG2與IAG1、IAG2類似;水平時(shí)鐘SRG1、SRG2和倍增時(shí)鐘CMG占空比50%,SAG1與SAG2反相,CMG超前SRG2約60°;復(fù)位時(shí)鐘RST上升沿與SRG1對齊,占空比約1/6(16.7%)。對比TC285數(shù)據(jù)手冊可知[10],這8個(gè)時(shí)鐘實(shí)測波形滿足該EMCCD的時(shí)序要求。
圖2 成像區(qū)清零實(shí)測波形圖Fig.2 The measured waveform of the imaging area during the clearing
基于Nios II處理器的控制器需要稍作修改。在構(gòu)建SOPC硬件系統(tǒng)時(shí),只需要在原來EMCCD相機(jī)SOPC硬件系統(tǒng)上,添加控制USB3.0控制器片選的IO口即可??刂破鞯腃語言代碼主要是根據(jù)表1的臨時(shí)通訊協(xié)議,修改了原EMCCD相機(jī)控制系統(tǒng)[11]的命令解析部分的代碼。
2.2 USB3.0控制器的VHDL設(shè)計(jì)
通過對USB3.0芯片USB3014數(shù)據(jù)手冊的分析,并結(jié)合成像系統(tǒng)的要求可知,USB3.0控制器需要產(chǎn)生對DDR2存儲器讀寫的時(shí)序和對USB3014芯片的同步FIFO寫操作的邏輯信號。對DDR2操作只需調(diào)用對應(yīng)的DRR2虛擬FIFO模塊,該模塊是開發(fā)板公司提供的。重點(diǎn)是要設(shè)計(jì)對USB3014芯片同步FIFO寫操作的模塊,此模塊設(shè)計(jì)根據(jù)USB3014數(shù)據(jù)手冊上同步Slave FIFO寫操作時(shí)序圖進(jìn)行。在設(shè)計(jì)過程中要注意DDR2操作與同步Slave FIFO寫操作之間的匹配。
在Altera Quartus II 13.0的開發(fā)環(huán)境下,采用VHDL語言分別對頂層模塊和底層模塊進(jìn)行編程設(shè)計(jì)。頂層模塊主要定義總體框架設(shè)計(jì)中所用信號與端口的映射關(guān)系,約定了整個(gè)硬件邏輯的輸入、輸出端口、基準(zhǔn)時(shí)鐘輸入、片選信號等。頂層模塊的VHDL程序流程圖如圖3。
圖3 頂層模塊的程序流程圖Fig.3 The flowchart of the top module
底層模塊設(shè)計(jì)主要是將DDR2中的圖像數(shù)據(jù)寫入U(xiǎn)SB3014。由USB3014數(shù)據(jù)手冊中同步Slave FIFO寫操作時(shí)序圖可知,對同步Slave FIFO寫操作時(shí),因?yàn)橥絊lave FIFO有4個(gè)內(nèi)部緩沖區(qū),首先需要選定一個(gè)FIFO地址,然后使能SLCS信號,接著SLWR信號有效,此時(shí)數(shù)據(jù)寫至FIFO,F(xiàn)IFO指針在PCLK的上升沿遞增。因此可以使用狀態(tài)機(jī)的方式設(shè)計(jì),上述過程可以分為3個(gè)狀態(tài):FIFO地址選擇(S1)、SLCS使能(S2)、SLWR信號有效(S3),并且設(shè)置一個(gè)初始狀態(tài)(S0)。分別設(shè)置各狀態(tài)間轉(zhuǎn)換的標(biāo)志信號,來控制狀態(tài)間的有序轉(zhuǎn)移,狀態(tài)轉(zhuǎn)換圖如圖4。
當(dāng)頂層模塊DDR2中數(shù)據(jù)準(zhǔn)備好時(shí),底層模塊寫同步Slave FIFO開始運(yùn)行。在該模塊下面首先進(jìn)入狀態(tài)機(jī)的初始狀態(tài)(S0),在初始狀態(tài)下主要完成Slave FIFO接口相關(guān)邏輯信號的初始化賦值。初始化完成后進(jìn)入選定一個(gè)FIFO地址狀態(tài),完成FIFO地址選定,為了保證地址總線上數(shù)據(jù)穩(wěn)定可靠,在經(jīng)過三個(gè)周期后進(jìn)入下一個(gè)狀態(tài)。在SLCS使能(S2)狀態(tài)下,經(jīng)過兩個(gè)周期后進(jìn)入SLWR信號有效(S3)狀態(tài),在該狀態(tài)下主要完成寫數(shù)據(jù)到USB3014,并且開始計(jì)數(shù),一次向USB3014寫256×32個(gè)字節(jié),寫完后從新開始進(jìn)入初始狀態(tài)。
圖4 寫同步Slave FIFO狀態(tài)轉(zhuǎn)換圖Fig.4 The state-transition diagram of writing into the synchronous slave FIFO
2.3 模擬圖像產(chǎn)生模塊設(shè)計(jì)
為便于測試、驗(yàn)證傳輸系統(tǒng),還需實(shí)現(xiàn)一個(gè)產(chǎn)生模擬圖像數(shù)據(jù)的模塊。該模塊產(chǎn)生一幅512 ×512個(gè)像素的圖像,每一行的第N個(gè)像素用16 bits的(N-1)二進(jìn)制表示。每行的像素值從0到511依次遞增,即每行的輸出從0000000000000000到0000000111111111遞增。該模塊仿真波形如圖6。
2.4 USB3 Vision標(biāo)準(zhǔn)的數(shù)據(jù)傳輸格式轉(zhuǎn)換模塊設(shè)計(jì)
分析USB3 Vision標(biāo)準(zhǔn)可知數(shù)據(jù)流傳輸?shù)母袷饺鐖D5。從圖中可以看出,在每一幀數(shù)據(jù)中,都有一個(gè)Leader和Trailer。Leader和Trailer包含USB3 Vision標(biāo)準(zhǔn)的具體數(shù)據(jù)。該部分模塊的設(shè)計(jì)就是要在每幀圖像數(shù)據(jù)塊的基礎(chǔ)上增加一個(gè)Leader和Trailer,使用一個(gè)計(jì)數(shù)器實(shí)現(xiàn)此功能。
USB3.0傳輸系統(tǒng)上位機(jī)端圖像采集軟件是在VS2010開發(fā)環(huán)境下,基于MFC單文檔設(shè)計(jì)框架,利用C++語言編寫的。編程過程中,需要使用CYPRESS公司提供的應(yīng)用程序接口函數(shù)。而且在帶USB3.0接口的圖像工作站/PC上,需要安裝CYPRESS公司提供的USB3.0通用設(shè)備驅(qū)動程序。該圖像采集軟件要完成固件下載、器件信息顯示、相機(jī)控制、單幀采集、連續(xù)采集并且自動存盤等主要功能,具體流程圖如圖7。
圖5 數(shù)據(jù)流格式Fig.5 The data-stream format
圖6 數(shù)據(jù)產(chǎn)生模塊仿真波形Fig.6 A simulated waveform of the data-generating module
圖像采集軟件設(shè)計(jì)主要包括固件下載、圖像采集控制、器件信息3部分。該部分的編程需要使用CYPRESS公司提供的庫文件[12],并且參照相應(yīng)的使用手冊[13]。在利用對應(yīng)庫的時(shí)候,必須將庫文件以及頭文件添加到建立的MFC工程中去,然后才能調(diào)用相關(guān)的類函數(shù)。固件下載和器件信息只需要分別調(diào)用CyFX3Device類的DownloadFw()和CyUSBDevice類的FriendlyName()函數(shù),就可以完成固件下載和獲取器件信息。
圖像采集控制里面包括AD器件參數(shù)設(shè)置、存盤設(shè)置、采集圖像數(shù)量設(shè)置等。參數(shù)設(shè)置好后,調(diào)用CyControlEndPoint類的BeginDataXfer()函數(shù)完成上位機(jī)命令的下傳。是否存盤、存盤路徑、采集圖像的數(shù)量分別對應(yīng)g_Save、FilePath、nImg全局變量保存,在自動采集線程里根據(jù)這些變量判斷是否存盤、采集數(shù)量??紤]到連續(xù)采集圖像的數(shù)量可能比較大,而且需要保存,因此這部分創(chuàng)建一個(gè)工作者線程,在工作者線程被啟動后會轉(zhuǎn)入對應(yīng)函數(shù),并且函數(shù)退出時(shí)線程就會結(jié)束。在連續(xù)采集中,使用批量傳輸?shù)姆绞?,調(diào)用CyBulkEndPoint類的BeginDataXfer()函數(shù)。每采集完一幅圖像后就自動保存為RAW格式,并且刷新圖像顯示窗口,圖像的顯示采用設(shè)備無關(guān)位圖讀入數(shù)據(jù),并且利用應(yīng)用程序接口函數(shù)進(jìn)行繪制。
在圖像工作站上進(jìn)行模擬圖像采集的測試。下位機(jī)端使用現(xiàn)場可編程門陣列的JTAG接口下載程序,然后運(yùn)行Nios II EDS 13.0軟件中的對應(yīng)工程。在上位機(jī)端運(yùn)行圖像采集軟件,進(jìn)行固件下載、刷新器件信息等操作,然后設(shè)置AD參數(shù),選擇連續(xù)采集模式,連續(xù)采集10幅圖像,并且自動存盤。圖像采集軟件采集到模擬圖像并且顯示的界面如圖8。
圖7 圖像采集軟件流程圖Fig.7 The flowchart of the image-acquisition software
圖9是運(yùn)行基于Nioss II處理器的EMCCD成像系統(tǒng)控制器,接收到上位機(jī)的相機(jī)控制指令,并且進(jìn)行命令解析后輸出的命令解析結(jié)果。第1條指令是ADC設(shè)置,第2條指令是圖像采集控制設(shè)置并且開始連續(xù)采集,其中nccd_command[0-3]依次對應(yīng)表1中的Flags、Command_id、Length、Request_id,可以看出命令解析無誤,并且采集到模擬圖像,在WinView軟件中打開模擬圖像,圖像數(shù)據(jù)正確,證明傳輸系統(tǒng)工作正常。
USB3.0 Vision標(biāo)準(zhǔn)中給出的實(shí)際最大傳輸速率為375 MByte/s,傳輸距離可達(dá)5 m[6]。在本傳輸系統(tǒng)中,USB3.0芯片USB3014的32 bits同步FIFO理論最高頻率為100 MHz,實(shí)際運(yùn)行時(shí)需要留有一定裕量,最高至90 MHz。但由于目前用在圖像工作站上的USB3.0擴(kuò)展卡的限制(最大帶寬為266 MByte/s),并且開發(fā)板所配備USB3.0線纜為1.5 m,因此,目前的測試工作是在傳輸速率小于266 MByte/s、傳輸線長度為1.5 m時(shí)進(jìn)行的。這已經(jīng)能夠滿足當(dāng)前研制的EMCCD相機(jī)實(shí)驗(yàn)系統(tǒng)的要求。如果將來能夠選用的擴(kuò)展卡速率可至375 MByte/s,且USB3.0線纜質(zhì)量足夠好,那么該傳輸系統(tǒng)的速率可達(dá)360 MByte/s,傳輸距離可至5 m。
圖8 EMCCD成像系統(tǒng)圖像采集軟件Fig.8 The interface of the image-acquisition software of the EMCCD imaging system
圖9 EMCCD成像系統(tǒng)控制器命令解析Fig.9 The analysis of commands of the controller of the EMCCD imaging system
本文結(jié)合實(shí)驗(yàn)室研制的一個(gè)天文用EMCCD相機(jī)系統(tǒng),設(shè)計(jì)一種用于圖像數(shù)據(jù)高速傳輸?shù)腢SB3.0傳輸系統(tǒng)。根據(jù)EMCCD相機(jī)系統(tǒng)要求以及USB3 Vision標(biāo)準(zhǔn),介紹了傳輸系統(tǒng)的設(shè)計(jì)方案,并且構(gòu)建了傳輸系統(tǒng),編寫了上位機(jī)采集軟件,對系統(tǒng)的高速圖像數(shù)據(jù)傳輸進(jìn)行了實(shí)測,同時(shí)估算了誤碼率。分析結(jié)果表明,傳輸系統(tǒng)能正常穩(wěn)定工作,估算的誤碼率也符合USB通信對誤碼率的要求。目前使用的USB3.0傳輸線只有1.5 m,而且速度低于266 MByte/s,設(shè)計(jì)更高速率以及更長傳輸距離的傳輸系統(tǒng)的工作將在下一步進(jìn)行。
[1] 胡泊,李彬華.低溫下EMCCD電子倍增模型[J].電子學(xué)報(bào),2013(9):1826-1830.
Hu Po,Li Binhua.Electron multiplication model of EMCCD in low temperature[J].Acta Electronica Sinica,2013(9):1826-1830.
[2] Lee C,Jang J,Park E K,et al.A simulation study of TCP performance over IEEE 1394 home networks[J].Computer Communications,2003,26(7):670-678.
[3] Li B H,Zhang Y G,Yang L,et al.Image acquisition system with three CCD cameras[C]// Software and Cyberinfrastructure for Astronomy II:Proceedings of the SPIE.2012,8451.
[4] Wei M Z,Stover R J.A USB 2.0 computer interface for the UCO/Lick CCD cameras[C]// Garnett J D,Beletic J W.Optical and Infrared Detectors for Astronomy:Proceedings of the SPIE. 2004,5499:476-480.
[5] 美國邁舍爾公司.USB系統(tǒng)體系[M].孟文,譯.北京:中國電力出版社,2003.
[6] Automation Imaging Association.USB Vision version 1.0[EB/OL].[2013-02-24].http://www.visiononline.org/vision-standards-detailscfm?id=200&type=11.
[7] Li B H,Song Q,Jin J H,et al.Circuit design of an EMCCD camera[C]//High Energy,Optical,and Infrared Detectors for Astronomy V:Proceedings of the SPIE.2012,8453.
[8] Li B H,Rao X H,Yan J,et al.Interface circuit design and control system programming for an EMCCD camera based on Camera Link[C]//International Symposium on Photoelectronic Detection and Imaging:Proceedings of the SPIE.2013,8908.
[9] 陳小明,李彬華.EMCCD時(shí)序發(fā)生器的VHDL設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2012,48 (1):72-75.
Chen Xiaoming,Li Binhua.VHDL design of EMCCD timing generator[J].Computer Engineering and Applications,2012,48(1):72-75.
[10] Texas Instruments Ltd.TX285SPD 10041002 pixel IMPACTRONTM CCD image sensor[EB/ OL].[2013-04-07].http://www.ti.com/sc/docs/stdterms.htm.
[11] 謝云.基于FPGA的TC253 EMCCD相機(jī)數(shù)字控制系統(tǒng)設(shè)計(jì)[D].昆明:昆明理工大學(xué),2013.
[12] Cypress Semiconductor.CyAPI.lib[EB/OL].[2013-05-05].http://www.cypress.com/?rID=57990&source=support.
[13] Cypress Semiconductor.Cypress CyAPI Programmer’s Reference[EB/OL].[2013-05-06]. http://www.cypress.com/?docID=41365.
[14] 李漢青,李彬華,王春榮,等.一種天文圖像的光纖傳輸系統(tǒng)的設(shè)計(jì)[J].天文研究與技術(shù)——國家天文臺臺刊,2010,7(4):325-331.
Li Hanqing,Li Binhua,Wang Chunrong,et al.Design of an optical-fiber transmission system for astronomical images[J].Astronomical Research&Technology——Publications of National Astronomical Observatories of China,2010,7(4):325-331.
[15] 鄭劍鋒.水下遠(yuǎn)程數(shù)據(jù)有線傳輸技術(shù)研究[D].北京:中國科學(xué)院研究生院,2004.
A Study of a High-Speed Data-Transmission System Based on a USB3.0 Chip for EMCCD Cameras
Li Dalun,Li Binhua,Yan Jia
(Faculty of Information Engineering and Automation,Kunming University of Science and Technology,Kunming 650051,China,Email:lbh@bao.ac.cn)
Electron-Multiplying CCDs(EMCCDs)are high-speed devices to record images of dim objects.For the high-speed recording capability of an EMCCD to be actually used,it is necessary to equip a high-speed data-transmission channel in the camera incorporating the EMCCD.The USB3 Vision standard was released by the Automated Imaging Association(AIA)in early 2013 to be used for high-speed image-data transmission.The standard defines the camera behavior for working with a USB3.0 bus and the approach to use a USB3.0 interface.Based on the characteristics of EMCCDs of high-speed readouts and the USB3 Vision standard,we have designed a high-speed data-transmission system for EMCCD cameras.The paper first briefly describes the design of the system.It then mainly discusses the transmission system and the associated imageacquisition software.The system was constructed by using an old digital controller of an EMCCD camera and designing a new USB3.0 controller.The USB3.0 controller was designed within the QUARTUS II development environment using the VHDL language.The USB3.0 controller is used to generate read-write timing signals and other logic-operation signals required by the USB3014 chip,to output simulation images,and to convert the data-transmission format according to the USB3 Vision standard.The image-acquisition software is programmed with the C++by utilizing some API(Application Programming Interface)functions provided by the CYPRESS Semiconductor Corporation.We have carried out experiments to test the transmission system after its full construction.The image-acquisition software can download the configurable firmware for the USB3014,display the device information,provide the interface for setting the ADC parameters,and capture image frames.With the software,image frames can be captured separately or in a batch,and the images within the frames can be saved automatically or manually.A measured bit error rate of the system is less than 7.28×10-13if the transmission line is 1.5m long and the transmission rate is less than 266MB/s.The experiments show that our system meets the requirements on the transmission speed of an EMCCD camera,and its bit error rate also fits USB communications.
CCD camera;USB3 Vision;Frame capture;VHDL;C++
TP309
A
1672-7673(2014)03-0255-09
2013-09-26;
2013-11-05
李達(dá)倫,男,碩士研究生.研究方向:電子成像技術(shù).Email:lidalunjy@163.com
李彬華,男,教授.研究方向:天文技術(shù)與方法,電路與系統(tǒng).Email:lbh@bao.ac.cn