基于USB接口的便攜式信號采集器
0 引言
在高速信號采集設(shè)備中,高速采集和實時數(shù)據(jù)的存儲是一對固有矛盾。特別是在一些強調(diào)便捷性的場合中,這個問題愈發(fā)突出。該問題與設(shè)備接口、數(shù)據(jù)存儲介質(zhì)和控制方式三個方面相關(guān)。目前數(shù)據(jù)采集系統(tǒng)的接口方式很多,如RS 232串行口、并行口、ISA總線、PCI總線、PXI總線、USB等。RS 232明顯滿足不了速度的要求,PCI總線和PXI總線速度快,但是該接口方式通用性比較差,軟件復(fù)雜,不易實現(xiàn)。USB 2.O傳輸速度可達480MSPS,支持即插即用,方便快捷,通用性強。數(shù)據(jù)存儲介質(zhì)多采用硬盤。硬盤具有體積大,容量大的特點。然而NAND FLASH具有體積小,速度快,操作方便的優(yōu)點。
采集控制多采用虛擬儀器設(shè)備,這類設(shè)備需要使用電腦,功能強大,還需要操作系統(tǒng)的支持。采用FPGA作為控制核心,具有體積小,靈活等特點。所以采取USB和FPGA及NAND FLASH的采集設(shè)備具有靈活、便捷、高速的特點。采取間斷性的采集方式能夠很好地解決高速采集與實時數(shù)據(jù)存儲之間的固有矛盾。
1 采集設(shè)備系統(tǒng)設(shè)計
該系統(tǒng)能夠?qū)崿F(xiàn)最高采樣率80 MHz,其采樣寬度為14位,輸入電壓峰峰值為2 V,最大存儲容量為2 GB。該系統(tǒng)由6大部分組成,分別是模/數(shù)轉(zhuǎn)換單元、緩存單元、USB傳輸單元、數(shù)據(jù)存儲單元、總控制單元、系統(tǒng)的電源設(shè)計。系統(tǒng)框圖如圖1所示。
1.1 模/數(shù)轉(zhuǎn)換單元
A/D轉(zhuǎn)換的最高采樣率為80 MSPS,輸出為14位的二進制補碼數(shù)據(jù)。芯片支持差分模擬信號的輸入,并且輸出CMOS兼容電壓。
1.2 緩存單元
由于前端A/D的最高采樣率為80 MSPS,因此需要先對數(shù)據(jù)進行緩沖后才能將數(shù)據(jù)不丟失存儲;又因為要滿足最高采集1 MB的連續(xù)模擬信號,且不丟失數(shù)據(jù),因此緩存的容量至少為1 MB。采用的異步型SRAM IS61LV51216,存取時間為10 ns,單片容量為1 MB,故滿足了這個要求。
1.3 數(shù)據(jù)存儲單元
按便攜式采集不能采用磁介質(zhì)存儲設(shè)備,同時還需要較存儲容量,因SAMSUNG公司的K9K8G08UOA芯片作為存儲芯片具有體積小,重量輕,單片容量8 Gb等特點。并且可以更換為單片64 Gb的NAND FLASH芯片實現(xiàn)目前8倍存儲容量的升級,故采用它。
1.4 USB傳輸單元
采用USB接口進行數(shù)據(jù)傳輸具有方便、靈活的特點。采用CY7C68013 USB控制芯片容易實現(xiàn)將采集后的數(shù)據(jù)傳輸?shù)诫娔X。
1.5 總控制單元
總控單元采用2片F(xiàn)PGA作為采集存儲的控制核心,型號為EPC2C8208??偪刂茊卧撠?zé)控制協(xié)調(diào)模/數(shù)轉(zhuǎn)換單元、緩存單元、數(shù)據(jù)存儲單元以及USB傳輸單元之間的數(shù)據(jù)傳輸,以實現(xiàn)系統(tǒng)的整體設(shè)計功能。
1.6 系統(tǒng)的電源設(shè)計
在整個系統(tǒng)中利用5 V為直接輸入電壓(5 V電壓可以是電壓源輸入的也可以利用USB總線供電),利用電源轉(zhuǎn)換芯片LT_1764-3.3得到3.3 V電壓,用PTH05000得到1.2 V電壓。
2 采集設(shè)備系統(tǒng)工作模式
該采集系統(tǒng)采取數(shù)據(jù)導(dǎo)入和采集兩種工作模式;兩種工作模式獨立工作方式來降低系統(tǒng)復(fù)雜度,采集模式在采集控制按鍵按下后開始信號采集,數(shù)據(jù)存儲完成后進行LED報警表示采集完成;數(shù)據(jù)導(dǎo)入模式中存儲的數(shù)據(jù)從FLASH中向計算機中導(dǎo)入,導(dǎo)入完成后提示。
采用SRAM和FLASH雙乒乓的方式進行工作模式,系統(tǒng)實現(xiàn)最大的信號的吞吐率。圖2,圖3分別為2種工作模式的流程。[!--empirenews.page--]
3 系統(tǒng)軟件實現(xiàn)
軟件部分分為FPGA讀/寫FLASH及SRAM軟件模塊、CY7C68013進行USB傳輸軟件模塊、人機接口上位機軟件模塊三個部分。
3.1 FPGA讀/寫FLASH及SRAM軟件模塊
該功能利用VHDL語言產(chǎn)生,模塊主要由SRAM讀/寫、FLASH讀/寫及讀/寫切換3個部分組成。時序如圖4所示。
[!--empirenews.page--]
3.2 CY7C68013固件程序模塊
固件程序主要負責(zé)初始化工作并完成相應(yīng)的配置。其程序框架如圖5所示。
3.3 上位機軟件模塊
本設(shè)計中上位機的應(yīng)用程序利用VC++6.0來開發(fā),它通過驅(qū)動程序完成對外設(shè)的控制和通信,當程序啟動后,自動查詢是否有EZ-USB設(shè)備連接,如果有,則用CreateFile()系統(tǒng)函數(shù)打開此設(shè)備,獲得該設(shè)備在操作系統(tǒng)中的句柄(HANDLE),然后通過該句柄用DeviceIOControl()系統(tǒng)函數(shù)向驅(qū)動程序發(fā)送控制字。驅(qū)動程序根據(jù)控制字向硬件層發(fā)送IRQ并與設(shè)備通信。
4 實際效果
該測試時鐘和信號均由信號源輸入。采集完畢后通過USB將數(shù)據(jù)上傳到電腦,并用Matlab進行波形顯示。
圖6給出輸入信號頻率分別為1 MHz和80 MHz時實際采樣存儲后的仿真波形,2幅圖的輸入電壓幅度相同(-0.5~+0.5 V),采樣后的數(shù)值大小不同,因為輸入信號頻率的變化引起傳輸通路阻抗的改變,從而使實際A/D輸入端的電壓發(fā)生變化,所以數(shù)值不同。
5 結(jié)語
經(jīng)過最終測試,該系統(tǒng)最高采樣率為80 MHz。能夠采集存儲20 MHz的正弦波信號。對1 MHz以下信號采樣不丟失。2G BYTE的數(shù)據(jù)存儲,靈活的通過USB接口上傳到電腦上,以實現(xiàn)對數(shù)據(jù)的分析。并且體積輕小、便于攜帶。系統(tǒng)在設(shè)計之初考慮了系統(tǒng)的可擴展性??蓴U充為2片16位的SRAM和4片NANDFLASH芯片,這樣只要在軟件方面修改,就可以實現(xiàn)兩路的乒乓FLASH存儲,這樣采集及存儲的效率還會提高1倍。并且如果將板上的NAND FLASH用同一系列的更大容量芯片來代替,可進一步提高存儲容量。