專業的流量儀表資料網

基于USB接口的數據采集系統的設計與實現2004年9月(1)

摘要: 介紹了一種基于USB接口并用FPGA控制的數據采集系統的設計及此方案中使用到的USB接口芯片AN2135SC的工作原理,并詳細描述了此解決方案的硬件實現。

關鍵詞    數據采集系統    USB接口   EPGA

1 系統簡介

   通用串行總線(USB)支持熱插撥,真正的即插即用。USB1.1在全速傳輸時可以達到12Mbps的傳輸速率;低速傳輸時傳輸速率可達1.5Mbps。USB電纜線只有4根,兩根是電源線,傳送5V電源,可用來向設備供電;另外兩根是信號線,用來傳輸串行數據。與傳統的RS-232串口比較,USB具有傳輸速度更快、集成化程度更高、編程化更好以及能夠支持多個設備等優點。因此在我們的設計中用它來和主機接口實現高速的數據通信。

   在數據采集系統中,通常采用單片機或DSP(數字信號處理器)作為CPU,控制ADC(模/數轉換器)、存儲器和其他外圍電路的工作。但是單片機的時鐘頻率較低,難以適應高速數據采集系統的要求,而DSP雖然可以實現較高速的數據采集,但其速度提高的同時也提高了系統的成本。FPGA(現場可編程門陣列)有單片機和DSP無法比擬的優勢:時鐘頻率高,內部時延;全部控制邏輯由硬件完成,速度快,效率高;組成形式靈活,可以集成外圍控制、譯碼和接口電路。因此,在本系統中我們用FPGA來控制A/D和USB芯片的運行。系統結構圖如圖1所示。

                    圖1  系統結構圖

   圖中FPGA采用ALTERA公司生產的APEX  1k系列芯片,型號為EP1K30,通過在EPGA中編寫硬件邏輯控制A/D轉換器的運行;實現A/D轉換器和USB 控制芯片間數據傳輸的數據總線接口。除此之外,為了保證EPGA和USB控制芯片間數據交互過程的實現,必須在FPGA中提供一個用于傳輸通信雙方控制和狀態信息的GPIO接口。

2 A/D轉換環節

  在該系統中我們采用TI公司的ADS7800。它是12位并行模數轉換器[2],接口簡單,很容易控制,最大采樣率可達333kHz,輸入的電壓范圍為-10V~+10V或-5V~+5V。ADS7800芯片的數字接口比較簡單,可以很方便地與其它數字系統相連接。對此芯片地控制有完全控制模式(full  control mode )和孤立控制磨蝕(stand-alone  control mode )兩種控制方法。

   在本系統中,對ADS7800芯片的控制是通過在FPGA芯片中編寫控制邏輯來實現的。我們采用了孤立控制模式,在此控制模式下,輸出數字信號是12位并行的。

   利用FPGA芯片的可編程性可以使用芯片中的12個IO腳作為數據總線,另使用一些IO腳作為ADS7800的控制信號輸入,控制模/數變換器以32kHz的速率對模擬輸入信號進行采樣,采樣的數據存入FPGA的RAM中。本系統中所使用的FPGA芯片型號為EP1K30QC208-3,它具有著良好的特性,芯片內部共有3萬個邏輯門,容量相當大;6個嵌入式陣列塊,可是現最大為3k字節的RAM存儲器。

  3 系統的設計與實現

  3.1  USB接口芯片介紹

在設計中,我們選取Cyprees公司的EZ-USB系列芯片來實現USB接口設備方的控制。它是一款帶有多個外設、高度集成的芯片,其功能框圖如圖2所示。一個集成的USB收發器(transceiver)連接USB總線的D+和D-。串行接口引擎(SIE)對總線上的數據進行編/解碼、錯誤檢測、位填充以及USB規范規定的其它信號級操作的實現,并且最終把數據收或發到USB接口部分。

            圖2  EZ-USB系統框圖

內部的微處理器是8051單片機的增強型,提高了執行速度并增加了一些新的特性。它使用內部RAM作為程序和數據存儲器;帶有16位地址線和8位數據線用來訪問外部存儲器,特有的快速傳輸模式可以在外部邏輯和內部USB FIFO間快速地傳遞數據。

3.2  USB總線數據通信解決方案

在實現數據通信解決方案時,為完成數據流地正常傳輸,所建立的硬件平臺必須能夠提供兩個接口。首先必須要有一個實現數據傳輸的數據總線接口;除此之外,為了保證數據交互過程的正常實現,必須提供一個用于傳輸通信雙方控制和狀態信息的GPIO接口。

AN2135SC芯片提供了EZ-USB系列芯片的所有接口和功能。在本系統中,我們將利用這款芯片和FPGA芯片配合工作,建立一個基于USB總線接口的數據通信解決方案,以實現將采樣信號輸出到上位機中的功能。

在此解決方案中,我們選擇AN2135SC芯片工作在快速數據傳輸模式下的8位并行數據總線D[7…0]作為數據傳輸的總線接口;選擇AN2135SC芯片中的通用 C總線主控制器接口作為數據通信過程中進行控制和狀態信息傳輸的GPIO接口。這樣,芯片中的一般GPIO引腳就可以用來實現其它功能,方便了系統的進一步擴充。圖3所示為AN2135SC芯片與FPGA芯片的接口示意圖。

為了使AN2135SC芯片中快速數據傳輸模式下的數據總線D[7…0]和通用 主控制器分別完成流數據傳輸和控制狀態信息傳輸的功能,需要在芯片的8051核中編寫程序,對AN2135SC芯片內部相關的專用寄存器進行配置[3]。

                  圖3  AN2135SC與FPCA接口示意圖

3.3  FPGA的獨特配置方案

FPGA芯片是一種基于SRAM工藝制作的可編程器件,其編程數據存儲于器件的SRAM存儲器內。這是一種易失性的存儲器,在系統掉電時,FPGA芯片中的邏輯將會丟失,芯片功能隨即消失,上電后需要重新對其進行配置。利用此功能可以靈活地改變FPGA芯片中的邏輯結構。這是一種動態配置過程,這種方式稱為ICR方式(in circuit reconfigurable)。

本系統中對FPGA的配置采用PS(passive serial,即被動串行)方式。通常采用的是以下兩種配置方法:配置數據來自于ALTERA公司生產的串行配制器件或系統控制器,如 等,系統上電時可對ACEX1K系列芯片進行配置;配置邏輯也可以通過ALTERA公司生產的Master  Blaster、Byte Blaster  MV或Bitblaster下載電纜進行手工下載。但是前者會增加系統的成本,而后者又很不方便。


 


無錫求信流量儀表有限公司
技術論文資料平臺提供
以上資料摘錄自《自動化儀表》雜志
電磁流量計 渦街流量計 流量計 蒸汽流量計 渦輪流量計 污水流量計
提醒:轉貼請注明出處

4438全国最大免费观看