基于ISP1581的USB數據采集系統的實現
數據采集廣泛應用于信號檢測、信號處理、儀器儀表等領域。目前,有各種數據采集卡或采集系統可供選擇,但由于數據源以及用戶需求的多樣性,有時并不能滿足要求。特別是在某些應用中,需要同時高速采集多個通道的數據,而且為了分析比較各通道信號間的相互關系,常常要求所有通道的采集必須同步。目前常用的數據采集卡是具有ISA總線、PCI總線等接口形式的A/D采集卡,雖然數據傳輸率很高,但是還存在整個系統笨重,缺乏靈活性,不能實現即插即用,不適合小型、便攜設備應用等缺點。通用串行總線(USB)是為了解決日益增加的PC機外設與有限的主板插槽和端口之間的矛盾而制定的一種串行通信標準。USB的出現很好地解決了以上問題。USB不僅具有快速的傳輸性能,而且USB協議本身具有其糾錯能力,它的即插即用模式和易擴展性能都具有很強的發展前途和應用價值。根據項目實際需求,本文設計了一種基于ISP1581的高速USB多通道數據采集系統,系統最高采樣率每通道可達500 K字,并且具有增益控制調節、外觸發同步采集等功能,目前該系統已成功地應用于某水下定位系統。
1 系統硬件組成
如圖1所示,系統由信號調理電路模塊、A/D采集模塊、USB數據傳輸模塊三個部分組成。
1.1 信號調理電路模塊
由于從傳感器進來的信號一般都比較小(大約在微伏量級),A/D無法直接對這些信號進行采集,需要通過信號調理電路模塊對其進行放大,以滿足A/D采集的量程范圍。另外,由于信號容易受到外界噪聲以及電噪聲的干擾,通過信號調理電路所具有的濾波功能,可以濾除信號頻帶外的噪聲。
1.2 A/D采集模塊
A/D采集模塊由1片FPGA和2片A/D組成,完成4路信號的模/數轉換。模數轉換器選擇的是AD7655芯片。AD7655是一款高速、低功耗4通道16位模數轉換器,采用5 V單電源供電,模擬輸入信號范圍為0 V~5 V;高輸入阻抗,可對4路模擬輸入同時高速采樣并進行數字化轉換,采樣速率最高可達1 MS/s,支持并行或串行接口。由于本采集系統要求對各路信號的相位嚴格一致,而AD7655只能同時對4個通道中的2路信號同時進行采樣,因此,1片A/D僅連接了2路模擬信號。另外,為了保證所有通道信號的相位一致性,2片A/D需要使用同一個轉換信號來控制轉換的進行,故在電路連接時,把每個A/D芯片的轉換信號(CNVST)管腳連接在一起,然后連接到FPGA上的轉換信號輸出管腳上,由FPGA輸出的轉換信號驅動。FPGA與A/D之間的數據讀取采用總線的方式,將每一片A/D的讀控制信號都獨立連接到FPGA上,由FPGA控制各路采樣數據的讀取。采集電路連接如圖2所示。
1.3 USB數據傳輸模塊
USB數據傳輸模塊是本系統的核心。要開發USB功能設備,首先需要對設計產品的功能進行全面了解,包括數據傳輸速率、傳輸類型、所需要的硬件資源等。在充分了解設計的產品后,要選擇合適的USB接口芯片,如果選擇得好,可以大大節省開發時間和費用。
USB接口芯片是一種集成了USB協議的微處理器,能自動對各種USB事件作出響應,以處理USB總線上的數據傳輸。所有的主機和設備上都至少含有1塊實現其功能的USB接口芯片。按照不同的標準,USB接口芯片有如下幾種分類方式,以功能分類則可以分為:主控制器芯片、集線器芯片、功能設備芯片;以使用方式進行分類則可以分為:帶USB接口的專用MCU、帶USB接口的通用MCU、純粹的USB接口芯片。
評論