新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > 基于USB2.0與FPGA技術的高速數(shù)據(jù)采集系統(tǒng)的設計

基于USB2.0與FPGA技術的高速數(shù)據(jù)采集系統(tǒng)的設計

作者:袁江南 時間:2008-07-25 來源:電子技術應用 收藏

  近年來筆記本電腦迅速普及和更新,其中大部分已經(jīng)不配置RS232接口,而接口已成為今后一段時間PC機與外設接口的主流。本采集系統(tǒng)的設計構建了一個基于接口的多功能通用數(shù)據(jù)采集、傳輸平臺,將嵌入式系統(tǒng)的實時性、靈活性和PC機強大的數(shù)據(jù)存儲、處理、顯示功能結合起來。該采集系統(tǒng)在智能儀器儀表、測控系統(tǒng)、工控系統(tǒng)等領域有廣闊的應用前景。

本文引用地址:http://www.butianyuan.cn/article/86243.htm

1 系統(tǒng)總體結構設計

  1.1 系統(tǒng)總體結構

  系統(tǒng)總體結構框圖如圖1所示,系統(tǒng)包括:接口模塊、模塊、信號調理及模塊。其中,外圍電路相對簡單,整個系統(tǒng)主要通過PC機的程序界面控制操作;USB接口負責與PC機通信;模塊負責完成數(shù)據(jù)的采集與緩存。

  1.2 與USB接口模塊

  本設計的目的是構建以PC機為平臺的數(shù)據(jù)采集系統(tǒng),單片機的功能僅限于接收PC機的命令、控制工作。PC機作為整個系統(tǒng)的人機界面,控制整個數(shù)據(jù)采集系統(tǒng)進行采集、存儲和處理。由此單片機可以選擇低成本的8XC51系列。為了提高系統(tǒng)的靈活性,采用單片機與USB接口芯片分離的方案,選擇Philip公司的ISP1581 USB2.0接口芯片。該芯片與8XC51系列單片機的接口非常簡單,可以極大地降低系統(tǒng)成本。

  1.3 FPGA模塊

  采用FPGA進行采樣控制的最大特點是系統(tǒng)具有重構性和通用性。設計中采用了Altera公司的低成本FPGA的Cyclone系列(實際試驗時,在更便宜的Acex1k器件上也可以實現(xiàn)),控制高速芯片以20MSPS的速度采樣。FPGA模塊的設計具體包括FIFO、單片機接口、控制接口、DMA控制模塊和主控制器等子模塊的設計。

  1.4 PC機端軟件平臺

  PC機采集程序使用VC++實現(xiàn),直接調用Philips公司提供的驅動程序進行數(shù)據(jù)讀寫,大大降低了開發(fā)難度與風險。本設計中,PC機端軟件設計包括應用程序的界面設計、多線程數(shù)據(jù)采集、存儲與處理模塊的設計,以及與USB底層驅動程序的通信動態(tài)鏈接庫的設計。

2 USB接口模塊設計

  2.1 USB接口芯片

  USB接口芯片ISP1581具有體積小、高速、與單片機的接口相對簡單等特點。除了控制端點外,ISP1581還有7個輸入(IN)端點和7個輸出(OUT)端點。每個端點可以靈活配置數(shù)據(jù)傳輸方式以及數(shù)據(jù)緩存區(qū)(FIFO)的大小,端點FIFO最大容量可以達到2KB。ISP1581芯片在配置枚舉時需要單片機固件的支持,一旦正確完成了配置和驅動加載,單片機對于ISP1581芯片就如同普通存儲器一樣可以進行讀寫操作,以發(fā)送或接收數(shù)據(jù)。

  2.2 固件編程

  USB通信完全由PC主機發(fā)起。在這種結構下,固件總是一直在等待主機命令,再根據(jù)命令去執(zhí)行相應的程序。固件的基本思想是采用模塊化設計,分成 main.c等7個模塊。ISP1581固件結構如圖2所示。圖中,main.c為主循環(huán),isr.c主要負責中斷處理,Chap9.c主要負責響應主機的請求。用戶的應用程序將來也可以包括在main.c循環(huán)中。

  2.3  單片機端程序設計

  單片機端程序主要包括初始化模塊,外圍Flash、EEPROM、RAM、液晶顯示器、按鍵等的讀寫控制模塊,USB接口芯片固件模塊,A/D采樣工作模式、速度以及采樣數(shù)據(jù)的讀寫的FPGA硬件控制模塊等。本設計的指導思想是:充分利用PC機和嵌入式系統(tǒng)的優(yōu)點,對MCU端的要求盡量簡化。具體軟件流程示意圖如圖3所示。


  USB作為一個通信接口,首先必須完成配置,然后才能進行用戶數(shù)據(jù)的發(fā)送/接收,在循環(huán)中必須隨時檢查是否有主機的配置命令。配置枚舉過程是USB固件編程當中較為復雜的部分,其流程如圖4所示。USB設備接入到主機并被主機識別后,主機首先以默認的地址(00H)發(fā)送一個設置(SETUP)包,新接入的設備必須接收此包并響應請求。然后主機會發(fā)送輸入包讀取設備描述符,初步判斷設備的屬性后,再設置設備的地址,隨后再用這個地址讀取設備的各種描述符以識別并且配置設備。可見,在設備配置過程中,主機讀取的數(shù)據(jù)較多,設備一旦接收到一個SETUP包之后便會判斷主機的請求類型,然后進入請求處理循環(huán)等待主機的進一步命令,如果再次收到一個IN令牌便會向控制端點中寫入數(shù)據(jù),并且根據(jù)數(shù)據(jù)長度再次寫端點直到數(shù)據(jù)發(fā)送完畢。USB的標準請求包括讀取設備描述符、配置描述符、端點描述符、設置地址、配置設備等,廠商請求由用戶自行定義。

 


上一頁 1 2 下一頁

關鍵詞: 單片機 USB FPGA A/D

評論


相關推薦

技術專區(qū)

關閉