關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于FPGA和USB 2.0的高速CCD聲光信號采集系統(tǒng)

基于FPGA和USB 2.0的高速CCD聲光信號采集系統(tǒng)

作者: 時間:2009-09-22 來源:網(wǎng)絡(luò) 收藏

3 軟件設(shè)計
軟件設(shè)計包括:
固件程序(Firmware)設(shè)計 設(shè)備固件的主要功能是控制CY7C68013A接收并處理驅(qū)動程序的請求。如請求設(shè)備描述符,請求或設(shè)置設(shè)備狀態(tài),請求或設(shè)置設(shè)備接口等 2.0標(biāo)準(zhǔn)請求;輔助硬件完成設(shè)備的重新枚舉、端點配置、控制和監(jiān)測的活動,根據(jù)PC主機的命令與外圍電路進行數(shù)據(jù)交換等。Cy-press公司為用戶提供了一個固件程序框架,是通用性強的模塊化程序。在框架的基礎(chǔ)上,用戶只需要編寫Function.c文件即可完成USB功能開發(fā)。主要包括:Slave FIFO模式的初始化和用戶自定義請求。
驅(qū)動程序開發(fā) 包括兩個USB驅(qū)動程序:一個驅(qū)動專用于下載芯片的固件程序ccdloader.sys,另一個通用驅(qū)動程序ccdusb.sys用來實現(xiàn)USB設(shè)備與應(yīng)用程序的通信和控制。芯片固件程序在主機上,當(dāng)系統(tǒng)上電時,前者將其下載到芯片的RAM中,并由增強型8051微處理器執(zhí)行。當(dāng)固件下載完成后,模擬一次斷開重新連接,此時下載的固件響應(yīng)USB枚舉,并加載USB設(shè)備通用驅(qū)動程序。USB的驅(qū)動程序是WDM類型,可以使用Windows DDK,WinDriver,DriverStudio開發(fā)。
應(yīng)用程序開發(fā) 它的主要任務(wù)是與USB驅(qū)動程序通信,控制過程。在此用Visual C++6.0進行程序設(shè)計。CyAPI控制函數(shù)類為FX2LP系列USB接口芯片提供了十分精細(xì)的控制接口,只需在應(yīng)用程序中加頭文件CyAPI.h和庫文件CyAPI.lib即可調(diào)用相應(yīng)的控制函數(shù),打開USB設(shè)備讀取數(shù)據(jù)并存儲到主機硬盤中的CcdData.txt文件。

4 實驗數(shù)據(jù)分析
使用TEKTRONIX公司的示波器,對經(jīng)過隔直處理后的RL2048P輸出在各種實驗條件下進行了測試和分析。如圖2所示,VOUT為像元輸出,每一個像元輸出信號的開始都有一個同步參考信號,后面部分才為有效信號輸出,由于輸出信號為負(fù)極性信號,所以有效信號值相對于參考信號為負(fù)。
圖5為全暗條件RL2048P的輸出,由于光敏面上沒有光,只有暗電平信號輸出,所以像元的輸出有效信號幾乎為零。圖6為弱光條件RL2048P的輸出,有效信號幅值發(fā)生了變化。圖7為全亮條件RL2048P的輸出,有效信號到達了飽和值。RL2048P的實際輸出和理論分析一致,工作正常。信號通過中間有孔的不透光遮擋板照在上,使用應(yīng)用軟件進行數(shù)據(jù)。從 Data.txt數(shù)據(jù)文件中連續(xù)提取8 192個像元點即四幀CCD數(shù)據(jù),Matlab軟件分析如圖8所示。

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

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


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉