《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA和USB 2.0的高速CCD聲光信號(hào)采集系統(tǒng)
基于FPGA和USB 2.0的高速CCD聲光信號(hào)采集系統(tǒng)
摘要: 系統(tǒng)采用現(xiàn)場(chǎng)FPGA作為硬件設(shè)計(jì)核心,,使用Veritog語(yǔ)言,。進(jìn)行硬件描述,使系統(tǒng)更靈活,,可在線編程,,便于擴(kuò)展和升級(jí),。這里的CCD驅(qū)動(dòng)時(shí)序采用狀態(tài)機(jī)與分頻相結(jié)合的新方法,實(shí)際測(cè)試驅(qū)動(dòng)波形穩(wěn)定且沒(méi)有毛刺,,CCD輸出信號(hào)質(zhì)量高,。USB應(yīng)用于Slave FIFO高速傳輸模式,滿(mǎn)足了高速CCD聲光信號(hào)采集的要求,,具有實(shí)時(shí)性,、高速、穩(wěn)定,、可靠等特點(diǎn),。
關(guān)鍵詞: FPGA USB 2.0 CCD
Abstract:
Key words :

  0 引 言

  在現(xiàn)代通信和雷達(dá)領(lǐng)域中,寬帶,、高增益,、實(shí)時(shí)并行處理是現(xiàn)代接收機(jī)的重要標(biāo)志。因而,,這種具有高速并行處理能力和特有的大帶寬性能的聲光處理系統(tǒng)具有巨大的潛在優(yōu)勢(shì),。以聲光器件為基礎(chǔ)的接收機(jī)除了具有寬帶、高增益,、實(shí)時(shí)并行處理等特點(diǎn)外,,還具有容量大,體積小,,功耗低等優(yōu)點(diǎn),。因而,采用聲光信號(hào)處理技術(shù)解決帶寬,、高增益和實(shí)時(shí)并行處理問(wèn)題具有重要意義,,聲光信號(hào)的采集系統(tǒng)的設(shè)計(jì)是整個(gè)聲光系統(tǒng)關(guān)鍵之一。這里設(shè)計(jì)了一個(gè)基于FPGA和USB 2.0的高速CCD聲光信號(hào)采集系統(tǒng),,為聲光信號(hào)采集提供了硬件平臺(tái),。

  1 系統(tǒng)概述

  聲光信號(hào)采集系統(tǒng)框圖如圖1所示。系統(tǒng)主要由CCD聲光信號(hào)采集模塊,、A/D轉(zhuǎn)換模塊,、FPGA驅(qū)動(dòng)和控制模塊及USB接口傳輸模塊四部分組成,。

 

  系統(tǒng)上電后,USB設(shè)備按照上位機(jī)的命令完成對(duì),。FPGA數(shù)據(jù)采集參數(shù)的初始化設(shè)置及采集控制,。RL2048P在驅(qū)動(dòng)時(shí)序的嚴(yán)格控制下工作,采集的模擬信號(hào)經(jīng)專(zhuān)用CCD信號(hào)處理芯片AD9822的相關(guān)雙采樣及模/數(shù)轉(zhuǎn)換后,,緩存在EP2C35內(nèi)部配置的FIFO中,,然后判斷當(dāng)FIFO中的數(shù)據(jù)達(dá)到2 048 B時(shí),向USB控制器CY7C68013A中異步寫(xiě)數(shù)據(jù),,由于USB設(shè)置自動(dòng)IN模式,,可以直接把FIFO中數(shù)據(jù)傳輸?shù)絇C上位機(jī)硬盤(pán)文件中,因而可完成CCD聲光信號(hào)的采集,、傳輸及存儲(chǔ),。

  2 系統(tǒng)各模塊設(shè)計(jì)

  系統(tǒng)各模塊設(shè)計(jì)為:

  FPGA驅(qū)動(dòng)及控制模塊 系統(tǒng)采用Altera公司的CycloneⅡ系列。EP2C35F672C6芯片,,具有高性?xún)r(jià)比及豐富的邏輯資源,,可滿(mǎn)足系統(tǒng)的要求。有4個(gè)PLL,,33 216個(gè)LE,,48 KB存儲(chǔ)器資源,可以配置成各種模式的ROM,,RAM及,。FIFO,35個(gè)18×18的專(zhuān)用乘法器,。FPGA的主要功能是產(chǎn)生RL2048P驅(qū)動(dòng)時(shí)序,,控制AD9822采樣及對(duì)其寄存器實(shí)現(xiàn)串行編程,內(nèi)部配置FIFO緩存數(shù)據(jù)以及與USB接口通信,,并傳輸數(shù)據(jù)到上位機(jī)中,。

  CCD聲光信號(hào)采集模塊 選用PerkinElmer公司的RL2048P線陣CCD。該芯片主要用于高速信號(hào)采集,,2 048個(gè)有效像元,,具有高靈敏度、大動(dòng)態(tài)范圍,、寬光譜范圍等特點(diǎn),,最高工作頻率為40 MHz,該系統(tǒng)設(shè)計(jì)為10 MHz,。EP2C35的時(shí)序驅(qū)動(dòng)輸出是3.3 V的LVTTL電平,,不能直接驅(qū)動(dòng)RL2048P(多電平要求)。因此,使用DG642和74FCT16244TV芯片完成電平轉(zhuǎn)換,,增強(qiáng)驅(qū)動(dòng)能力,。圖2為RL2048P驅(qū)動(dòng)時(shí)序圖;圖3為使用Verilog HDL編寫(xiě)驅(qū)動(dòng)時(shí)序的QuartusⅡ仿真,。由比較可見(jiàn),,設(shè)計(jì)完全能滿(mǎn)足時(shí)序的嚴(yán)格要求,。

  A/D轉(zhuǎn)換模塊 AD9822是ADI公司的專(zhuān)用CCD信號(hào)處理芯片,,內(nèi)部集成CDS,PGA,,14位ADC,、暗電平自動(dòng)校準(zhǔn)、偏置電壓控制以及串行接口等功能,,采樣速度高達(dá)15 MHz,。ADCCLK的下降沿輸出數(shù)據(jù)的高8位,ADCCLK的上升沿輸出數(shù)據(jù)的低6位,。AD9822采樣控制時(shí)序及寄存器編程都是由EP2C35實(shí)現(xiàn),,與RL2048P輸出信號(hào)同步,保證采集數(shù)據(jù)的正確性,。采用相關(guān)雙采樣模式可以抑制CCD的復(fù)位噪聲,,本系統(tǒng)設(shè)置其寄存器分別為0x0058,0x10C0,,0x2000,,0x50FF。

  USB接口傳輸模塊 USB 2.0協(xié)議的傳輸速度高達(dá)480 Mb/s,,且具有接口簡(jiǎn)單及誤碼率低等優(yōu)點(diǎn),,能夠滿(mǎn)足該系統(tǒng)高速傳輸?shù)男枰_x用Cypress公司的新一代低功耗CY7C68013A芯片,,與之相應(yīng)的開(kāi)發(fā)包和開(kāi)發(fā)文檔較齊全,,縮短了開(kāi)發(fā)周期,降低了開(kāi)發(fā)難度,。為了保證數(shù)據(jù)傳輸?shù)乃俣?,CY7C68013A工作于SlaveFIFO模式,不需要EZ-USB FX2LP的CPU干預(yù),,即可完成與FPGA的數(shù)據(jù)傳輸,。EP2C35與CY7C68013A的通信采用了Slave FIFO模式下的異步方式,向大端點(diǎn)EP6寫(xiě)數(shù)據(jù),,配置其為512 B四重緩沖區(qū),,批量AUTO IN傳輸模式,每次自動(dòng)提交512 B數(shù)據(jù)。圖4為EP2C35與CY7C68013A的接口連接,。

 

3 系統(tǒng)軟件設(shè)計(jì)

  系統(tǒng)軟件設(shè)計(jì)包括:

  固件程序(Firmware)設(shè)計(jì) 設(shè)備固件的主要功能是控制CY7C68013A接收并處理USB驅(qū)動(dòng)程序的請(qǐng)求,。如請(qǐng)求設(shè)備描述符,請(qǐng)求或設(shè)置設(shè)備狀態(tài),,請(qǐng)求或設(shè)置設(shè)備接口等USB 2.0標(biāo)準(zhǔn)請(qǐng)求,;輔助硬件完成設(shè)備的重新枚舉、端點(diǎn)配置,、控制和監(jiān)測(cè)USB的活動(dòng),,根據(jù)PC主機(jī)的命令與外圍電路進(jìn)行數(shù)據(jù)交換等。Cy-press公司為用戶(hù)提供了一個(gè)固件程序框架,,是通用性強(qiáng)的模塊化程序,。在框架的基礎(chǔ)上,用戶(hù)只需要編寫(xiě)Function.c文件即可完成USB功能開(kāi)發(fā),。主要包括:Slave FIFO模式的初始化和用戶(hù)自定義請(qǐng)求,。

  驅(qū)動(dòng)程序開(kāi)發(fā) 系統(tǒng)包括兩個(gè)USB驅(qū)動(dòng)程序:一個(gè)驅(qū)動(dòng)專(zhuān)用于下載芯片的固件程序CCDloader.sys,另一個(gè)通用驅(qū)動(dòng)程序ccdusb.sys用來(lái)實(shí)現(xiàn)USB設(shè)備與應(yīng)用程序的通信和控制,。芯片固件程序在主機(jī)上,,當(dāng)系統(tǒng)上電時(shí),前者將其下載到芯片的RAM中,,并由增強(qiáng)型8051微處理器執(zhí)行,。當(dāng)固件下載完成后,模擬一次斷開(kāi)重新連接,,此時(shí)下載的固件響應(yīng)USB枚舉,,并加載USB設(shè)備通用驅(qū)動(dòng)程序。USB的驅(qū)動(dòng)程序是WDM類(lèi)型,,可以使用Windows DDK,,WinDriver,DriverStudio開(kāi)發(fā),。

 


  應(yīng)用程序開(kāi)發(fā) 它的主要任務(wù)是與USB驅(qū)動(dòng)程序通信,,控制聲光信號(hào)采集過(guò)程。在此用Visual C++6.0進(jìn)行程序設(shè)計(jì),。CyAPI控制函數(shù)類(lèi)為FX2LP系列USB接口芯片提供了十分精細(xì)的控制接口,,只需在應(yīng)用程序中加頭文件CyAPI.h和庫(kù)文件CyAPI.lib即可調(diào)用相應(yīng)的控制函數(shù),打開(kāi)USB設(shè)備讀取數(shù)據(jù)并存儲(chǔ)到主機(jī)硬盤(pán)中的CcdData.txt文件,。

  4 實(shí)驗(yàn)數(shù)據(jù)分析

  使用TEKTRONIX公司的示波器,,對(duì)經(jīng)過(guò)隔直處理后的RL2048P輸出信號(hào)在各種實(shí)驗(yàn)條件下進(jìn)行了測(cè)試和分析。如圖2所示,,VOUT為像元輸出信號(hào),,每一個(gè)像元輸出信號(hào)的開(kāi)始都有一個(gè)同步參考信號(hào),后面部分才為有效信號(hào)輸出,由于CCD輸出信號(hào)為負(fù)極性信號(hào),,所以有效信號(hào)值相對(duì)于參考信號(hào)為負(fù),。

  圖5為全暗條件RL2048P的輸出,由于光敏面上沒(méi)有光,,只有暗電平信號(hào)輸出,,所以像元的輸出有效信號(hào)幾乎為零。圖6為弱光條件RL2048P的輸出,,有效信號(hào)幅值發(fā)生了變化,。圖7為全亮條件RL2048P的輸出,有效信號(hào)到達(dá)了飽和值,。RL2048P的實(shí)際輸出和理論分析一致,,工作正常,。聲光信號(hào)通過(guò)中間有孔的不透光遮擋板照在CCD上,,使用應(yīng)用軟件進(jìn)行數(shù)據(jù)采集。從CCD Data.txt數(shù)據(jù)文件中連續(xù)提取8 192個(gè)像元點(diǎn)即四幀CCD數(shù)據(jù),,Matlab軟件分析如圖8所示,。

  有光照射的位置對(duì)應(yīng)為高,實(shí)測(cè)數(shù)據(jù)和理論值吻合,。在其他條件下也做相關(guān)實(shí)驗(yàn),,結(jié)果與理論基本一致。由于篇幅所限,,本文不做詳細(xì)介紹,。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)功能完整,,可以實(shí)現(xiàn)聲光信號(hào)的高速采集,、傳輸及儲(chǔ)存。

  5 結(jié) 語(yǔ)

  系統(tǒng)采用現(xiàn)場(chǎng)FPGA作為硬件設(shè)計(jì)核心,,使用Veritog語(yǔ)言,。進(jìn)行硬件描述,使系統(tǒng)更靈活,,可在線編程,,便于擴(kuò)展和升級(jí)。這里的CCD驅(qū)動(dòng)時(shí)序采用狀態(tài)機(jī)與分頻相結(jié)合的新方法,,實(shí)際測(cè)試驅(qū)動(dòng)波形穩(wěn)定且沒(méi)有毛刺,,CCD輸出信號(hào)質(zhì)量高。USB應(yīng)用于Slave FIFO高速傳輸模式,,滿(mǎn)足了高速CCD聲光信號(hào)采集的要求,,具有實(shí)時(shí)性、高速、穩(wěn)定,、可靠等特點(diǎn),。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。