基于USB接口的數據采集系統的設計與實(shí)現
系統簡(jiǎn)介
本文引用地址:http://dyxdggzs.com/article/155388.htm通用串行總線(xiàn)(USB)支持熱插撥,真正的即插即用。USB1.1在全速傳輸時(shí)可以達到12Mbps的傳輸速率;低速傳輸時(shí)傳輸速率可達1.5Mbps。USB電纜線(xiàn)只有4根,兩根是電源線(xiàn),傳送5V電源,可用來(lái)向設備供電;另外兩根是信號線(xiàn),用來(lái)傳輸串行數據。與傳統的RS-232串口比較,USB具有傳輸速度更快、集成化程度更高、編程化更好以及能夠支持多個(gè)設備等優(yōu)點(diǎn)。因此在我們的設計中用它來(lái)和主機接口實(shí)現高速的數據通信。
在數據采集系統中,通常采用單片機或DSP(數字信號處理器)作為CPU,控制ADC(模/數轉換器)、存儲器和其他外圍電路的工作。但是單片機的時(shí)鐘頻率較低,難以適應高速數據采集系統的要求,而DSP雖然可以實(shí)現較高速的數據采集,但其速度提高的同時(shí)也提高了系統的成本。FPGA(現場(chǎng)可編程門(mén)陣列)有單片機和DSP無(wú)法比擬的優(yōu)勢:時(shí)鐘頻率高,內部時(shí)延??;全部控制邏輯由硬件完成,速度快,效率高;組成形式靈活,可以集成外圍控制、譯碼和接口電路。因此,在本系統中我們用FPGA來(lái)控制A/D和USB芯片的運行。系統結構圖如圖1所示。
圖1 系統結構圖
圖中FPGA采用ALTERA公司生產(chǎn)的APEX 1k系列芯片,型號為EP1K30,通過(guò)在EPGA中編寫(xiě)硬件邏輯控制A/D轉換器的運行;實(shí)現A/D轉換器和USB 控制芯片間數據傳輸的數據總線(xiàn)接口。除此之外,為了保證EPGA和USB控制芯片間數據交互過(guò)程的實(shí)現,必須在FPGA中提供一個(gè)用于傳輸通信雙方控制和狀態(tài)信息的GPIO接口。
2 A/D轉換環(huán)節
在該系統中我們采用TI公司的ADS7800。它是12位并行模數轉換器[2>,接口簡(jiǎn)單,很容易控制,最大采樣率可達333kHz,輸入的電壓范圍為-10V~+10V或-5V~+5V。ADS7800芯片的數字接口比較簡(jiǎn)單,可以很方便地與其它數字系統相連接。對此芯片地控制有完全控制模式(full control mode )和孤立控制磨蝕(stand-alone control mode )兩種控制方法。
在本系統中,對ADS7800芯片的控制是通過(guò)在FPGA芯片中編寫(xiě)控制邏輯來(lái)實(shí)現的。我們采用了孤立控制模式,在此控制模式下,輸出數字信號是12位并行的。
利用FPGA芯片的可編程性可以使用芯片中的12個(gè)IO腳作為數據總線(xiàn),另使用一些IO腳作為ADS7800的控制信號輸入,控制模/數變換器以32kHz的速率對模擬輸入信號進(jìn)行采樣,采樣的數據存入FPGA的RAM中。本系統中所使用的FPGA芯片型號為EP1K30QC208-3,它具有著(zhù)良好的特性,芯片內部共有3萬(wàn)個(gè)邏輯門(mén),容量相當大;6個(gè)嵌入式陣列塊,可是現最大為3k字節的RAM存儲器。
3 系統的設計與實(shí)現
3.1 USB接口芯片介紹
在設計中,我們選取Cyprees公司的EZ-USB系列芯片來(lái)實(shí)現USB接口設備方的控制。它是一款帶有多個(gè)外設、高度集成的芯片,其功能框圖如圖2所示。一個(gè)集成的USB收發(fā)器(transceiver)連接USB總線(xiàn)的D+和D-。串行接口引擎(SIE)對總線(xiàn)上的數據進(jìn)行編/解碼、錯誤檢測、位填充以及USB規范規定的其它信號級操作的實(shí)現,并且最終把數據收或發(fā)到USB接口部分。
圖2 EZ-USB系統框圖
內部的微處理器是8051單片機的增強型,提高了執行速度并增加了一些新的特性。它使用內部RAM作為程序和數據存儲器;帶有16位地址線(xiàn)和8位數據線(xiàn)用來(lái)訪(fǎng)問(wèn)外部存儲器,特有的快速傳輸模式可以在外部邏輯和內部USB FIFO間快速地傳遞數據。
3.2 USB總線(xiàn)數據通信解決方案
在實(shí)現數據通信解決方案時(shí),為完成數據流地正常傳輸,所建立的硬件平臺必須能夠提供兩個(gè)接口。首先必須要有一個(gè)實(shí)現數據傳輸的數據總線(xiàn)接口;除此之外,為了保證數據交互過(guò)程的正常實(shí)現,必須提供一個(gè)用于傳輸通信雙方控制和狀態(tài)信息的GPIO接口。
AN2135SC芯片提供了EZ-USB系列芯片的所有接口和功能。在本系統中,我們將利用這款芯片和FPGA芯片配合工作,建立一個(gè)基于USB總線(xiàn)接口的數據通信解決方案,以實(shí)現將采樣信號輸出到上位機中的功能。
在此解決方案中,我們選擇AN2135SC芯片工作在快速數據傳輸模式下的8位并行數據總線(xiàn)D[7…0>作為數據傳輸的總線(xiàn)接口;選擇AN2135SC芯片中的通用 C總線(xiàn)主控制器接口作為數據通信過(guò)程中進(jìn)行控制和狀態(tài)信息傳輸的GPIO接口。這樣,芯片中的一般GPIO引腳就可以用來(lái)實(shí)現其它功能,方便了系統的進(jìn)一步擴充。圖3所示為AN2135SC芯片與FPGA芯片的接口示意圖。
為了使AN2135SC芯片中快速數據傳輸模式下的數據總線(xiàn)D[7…0>和通用 主控制器分別完成流數據傳輸和控制狀態(tài)信息傳輸的功能,需要在芯片的8051核中編寫(xiě)程序,對AN2135SC芯片內部相關(guān)的專(zhuān)用寄存器進(jìn)行配置[3>。
評論