《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
Epdoc
Epdoc
摘要: 通用串行總線(USB)支持熱插撥,,真正的即插即用。USB1.1在全速傳輸時(shí)可以達(dá)到12Mbps的傳輸速率;低速傳輸時(shí)傳輸速率可達(dá)1.5Mbps,。USB電纜線只有4根,,兩根是電源線,,傳送5V電源,,可用來向設(shè)備供電,;另外兩根是信號線,,用來傳輸
Abstract:
Key words :
 

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

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

基于<a class=USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)" height="203" src="http://files.chinaaet.com/images/20111217/848e3c07-0a10-4b4a-9d2a-c8f712f65591.jpg" title="基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)" />

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

2 A/D轉(zhuǎn)換環(huán)節(jié)

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

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

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

3 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

USB接口芯片介紹

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

 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

圖2  EZ-USB系統(tǒng)框圖

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

3.2  USB總線數(shù)據(jù)通信解決方案

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

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

在此解決方案中,我們選擇AN2135SC芯片工作在快速數(shù)據(jù)傳輸模式下的8位并行數(shù)據(jù)總線D[7…0]作為數(shù)據(jù)傳輸?shù)目偩€接口,;選擇AN2135SC芯片中的通用I2C總線主控制器接口作為數(shù)據(jù)通信過程中進(jìn)行控制和狀態(tài)信息傳輸?shù)腉PIO接口,。這樣,芯片中的一般GPIO引腳就可以用來實(shí)現(xiàn)其它功能,,方便了系統(tǒng)的進(jìn)一步擴(kuò)充,。圖3所示為AN2135SC芯片與FPGA芯片的接口示意圖。

 為了使AN2135SC芯片中快速數(shù)據(jù)傳輸模式下的數(shù)據(jù)總線D[7…0]和通用I2C主控制器分別完成流數(shù)據(jù)傳輸和控制狀態(tài)信息傳輸?shù)墓δ?,需要在芯片?051核中編寫程序,,對AN2135SC芯片內(nèi)部相關(guān)的專用寄存器進(jìn)行配置[3]

基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

3.3  FPGA的獨(dú)特配置方案

FPGA芯片是一種基于SRAM工藝制作的可編程器件,,其編程數(shù)據(jù)存儲于器件的SRAM存儲器內(nèi),。這是一種易失性的存儲器,在系統(tǒng)掉電時(shí),,F(xiàn)PGA芯片中的邏輯將會(huì)丟失,,芯片功能隨即消失,上電后需要重新對其進(jìn)行配置,。利用此功能可以靈活地改變FPGA芯片中的邏輯結(jié)構(gòu),。這是一種動(dòng)態(tài)配置過程,,這種方式稱為ICR方式(in circuit reconfigurable)。

本系統(tǒng)中對FPGA的配置采用PS(passive serial,,即被動(dòng)串行)方式,。通常采用的是以下兩種配置方法:配置數(shù)據(jù)來自于ALTERA公司生產(chǎn)的串行配制器件或系統(tǒng)控制器,如 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 等,,系統(tǒng)上電時(shí)可對ACEX1K系列芯片進(jìn)行配置,;配置邏輯也可以通過ALTERA公司生產(chǎn)的Master  Blaster、Byte Blaster  MV或Bitblaster下載電纜進(jìn)行手工下載,。但是前者會(huì)增加系統(tǒng)的成本,,而后者又很不方便。

本系統(tǒng)中采用一種比較獨(dú)特的PS方式對FPGA進(jìn)行配置:將FPGA的5個(gè)配置管腳DCLK,、CONF 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) DONE,、nCONFIG、nSTATUS,、DATAO分別與USB控制器的5個(gè)I/O管腳USB 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ,、 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 、 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ,、 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 經(jīng)過三態(tài)緩沖后相連,;然后在軟件(驅(qū)動(dòng)程序)編程中通過設(shè)置AN2135SC芯片內(nèi)與這5個(gè)I/O管腳相關(guān)聯(lián)的I/O口寄存器PORTACFG、OEA,、PORTCCFG,、OEC來實(shí)現(xiàn)FPGA上電時(shí)通過PS方式的自動(dòng)配置的(配置文件采用二進(jìn)制格式,如rbf格式等),,如圖4所示,。

基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

           圖4 FPGA自動(dòng)配置示意圖

AN2135SC的I/O端口的定義以及配置命令見參考文獻(xiàn),F(xiàn)PGA的PS配置方式及相應(yīng)的時(shí)序見參考文獻(xiàn),。以下是實(shí)現(xiàn)FPGA上電后自動(dòng)配置功能的部分代碼,,實(shí)踐證明,這種自動(dòng)配置方式具有節(jié)約成本,、省時(shí),、高效的特點(diǎn)。

   Void TD 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)           ∥Called  once  at startup

  基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

……

PORTACFG=O 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ,;∥ Congigure  PA4 as DCLK out-put  port,PA5  as  CONF 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) DONE in  port

OEA= 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ,;

基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ;∥ 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)    基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)    基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)   as output port,, 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)   as  n 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)  out-put port

基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ,;∥ PC4 as Nstatus  input port ,PC5 as DATAO output port

……

OUTC&=0 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ;∥ 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)       基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)   ∥ 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)    基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)    基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)    基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)    基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)    基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)  10 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)   the 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)    are 

                 ∥ 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)    基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)     基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)    基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)     基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)   基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)    基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ∣= 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 08,;  ∥Set Nconfig=1,;

……

3.4 數(shù)據(jù)傳輸通道的實(shí)現(xiàn)

本系統(tǒng)中EN 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) USB芯片工作于快速數(shù)據(jù)傳輸模式,。在這種模式下,,芯片提供的一個(gè)8位并行的數(shù)據(jù)總線可以與外部的FIFO結(jié)構(gòu)相連接。當(dāng)USB總線開始一次數(shù)據(jù)傳輸時(shí),,芯片將發(fā)出一個(gè)讀或?qū)懲ㄐ盘?。與此信號同步,芯片與外部FIFO每次可以完成一個(gè)字節(jié)的數(shù)據(jù)交互,。把它和USB總線上的塊傳輸模式相結(jié)合,,芯片并行總線上就可以實(shí)現(xiàn)大數(shù)據(jù)量的傳輸。

由于本解決方案是將EPGA輸出的數(shù)字信號發(fā)送到上位機(jī)去,,因此在數(shù)據(jù)傳輸通道中只涉及到了USB總線讀的操作,。在這種條件下,EP1K30中實(shí)現(xiàn)數(shù)據(jù)傳輸通道的程序流程圖如圖5所示,。

在圖5中,,EP1K30在采集到A/D轉(zhuǎn)換器的12位輸出數(shù)據(jù)之后,為把它發(fā)送到AN2135SC芯片中,,必須首先轉(zhuǎn)換為8位數(shù)據(jù),,我們將12位數(shù)據(jù)分層高4位和低8位兩部分,分高,、低字節(jié)兩次發(fā)送出去,。其中高字節(jié)的高4位傳送12位數(shù)據(jù)的高4位,低4位填充0,。A/D轉(zhuǎn)換器的12位數(shù)據(jù)分成兩個(gè)字節(jié)后,,先傳送低字節(jié),后傳送高字節(jié),,后傳送高字節(jié),。我們利用EP1K30芯片中的嵌入式陣列塊(EAB),借助ALTERA公司提供的雙端口RAM宏函數(shù),,生成一個(gè)2K大小的雙端口緩沖器來緩沖數(shù)據(jù),。

基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

                  圖5 數(shù)據(jù)傳輸通道程序流程圖

每次數(shù)據(jù)總線讀操作的啟動(dòng)均由AN2135SC芯片發(fā)送一個(gè)讀選通信號來實(shí)現(xiàn)。AN2135SC芯片發(fā)送到EP1K30芯片的讀選通信號可以作為上述緩沖器數(shù)據(jù)輸出的同步信號,,EP1K30芯片也利用這個(gè)選通信號來控制緩沖器的輸出地址指針,。實(shí)現(xiàn)這部分功能的AHDL源代碼如下:

基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ;

基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ,;

基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)   基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 00000000000”then

     基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

   基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

  基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)      

    基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

   基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

上面的程序給出了這一次讀過程中讀地址指針的變化情況,。隨著讀地址指針的變化,緩沖器中的數(shù)據(jù)順次輸出到數(shù)據(jù)總線D[7…0]上去。程序中 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) …0]為緩沖器的讀地址指針,, 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) …0]是緩沖器的輸出端口,, 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) … 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 是 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 芯片的數(shù)據(jù)總線 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) … 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 。

3.5  基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 功能的實(shí)現(xiàn)

在 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 芯片與 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 芯片進(jìn)行數(shù)據(jù)傳輸?shù)耐瑫r(shí),,雙方需要一些握手信號來協(xié)調(diào)傳輸過程,。為此,我們選擇了 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 芯片中的I2C總線主控制器作為 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 端口,,用來傳輸一些必要的控制和狀態(tài)信息,。

為了與 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 芯片中的I2C總線主控制器配合工作,我們在 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 芯片中編寫了一個(gè)I2C總線從模塊,,使得I2C總線上的數(shù)據(jù)傳輸能夠順利進(jìn)行,。根據(jù)I2C總線傳輸規(guī)范,我們設(shè)定了一個(gè)狀態(tài)機(jī) 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ,,它共有如下7個(gè)狀態(tài): 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ,。圖6給出了此狀態(tài)機(jī)的狀態(tài)圖。

基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

                         圖6 I2C總線狀態(tài)機(jī)流程圖

由圖6可以看出,,在開始條件( 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 產(chǎn)生后,, 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 由空閑( 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 狀態(tài)進(jìn)入地址狀態(tài)( 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 。我們在 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 中指定了兩個(gè)寄存器用于存儲從I2C總線上發(fā)送來的控制信號和將要發(fā)送到I2C總線上的狀態(tài)信號,,它們分別是控制寄存器 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ‥0 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 和狀態(tài)寄存器 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ‥0 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),,這兩個(gè)寄存器地址的高4位均為“1110“。同樣,,我們可以把1 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 芯片中所有由I2C總線尋址的寄存器的高4位地址都設(shè)定為“1110”,。如圖6所示,I2C總線在地址期內(nèi)發(fā)送的高位地址只有為“1110”時(shí),1 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 才會(huì)產(chǎn)生響應(yīng),。這樣做的好處是便于擴(kuò)充其它I2C總線設(shè)備,。

I2C總線在地址期內(nèi)發(fā)送的最低地址用于指定隨后的數(shù)據(jù)傳輸是主要設(shè)備讀還是主設(shè)備寫,高電平表示主設(shè)備讀,,低電平表示主設(shè)備寫,。讀寫狀態(tài)轉(zhuǎn)換如圖6所示。因此,,8位地址中可以用作尋址 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 端口的地址位為基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ‥ 基于USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ,。

 結(jié)束語

本文介紹了數(shù)據(jù)通信解決方案中數(shù)據(jù)傳輸通道和GPID功能的實(shí)現(xiàn)。實(shí)驗(yàn)證明,,兩個(gè)模塊配合工作即可實(shí)現(xiàn)數(shù)據(jù)的正常傳輸,從而順利地將A/D轉(zhuǎn)換器的輸出信號經(jīng)USB總線傳送到上位機(jī)去,。這個(gè)解決方案基于USB總線設(shè)計(jì)并且結(jié)合FPGA來進(jìn)行控制,充分利用了USB總線數(shù)據(jù)傳輸速率高,、USB設(shè)備可熱插撥等功能和FPGA速度快,、效率高,、配置靈活的特點(diǎn)。經(jīng)實(shí)踐證明,,它是一個(gè)功能完備,、高效穩(wěn)定的解決方案.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。