66lu国产在线观看_精品国产aⅴ无码一区二区蜜桃_国产精品成人啪精品视频免费网站_日韩毛片免费无码无毒视频观看_男女真人后进式猛烈视频_久久九九精品国产免费看小说_护士hd白色free性xxxⅹ _欧美在线观看视频日韩精品_无码午夜福利免费区_国产精品乱码久久久久软件

熱門關鍵字:谷物容重器 降落值測定儀 粉質儀 拉伸儀 羅維朋比色計 纖維素測定儀 脂肪測定儀 油脂煙點測定儀 凱氏定氮儀 錘式旋風磨  硬度計

新型軟件在攝譜儀器儀表預設中作用

來源: http://m.fleetco2.com  類別:實用技術  更新時間:2015-03-23  閱讀

  1 USB數據采集卡原理

  1. 1 USB簡介

  USB即通用串行總線,它支持在主機與各式各樣即插即用的外設之間進行數據傳輸。一個完整的USB總線系統可以分為3個部分: USB總線的主機、USB總線的設備以及它們之間的連接。U SB總線連接外設和主機時,采用菊花鏈的形式對端點加以擴展,有效地避免了PC機上插槽數量對擴充外設的限制,減少PC機I/O接口的數量。

  根據設備對系統資源需求的不同,在USB規(guī)范中規(guī)定了4種不同的數據傳輸方式:等時傳輸方式( I sochronous)、中斷傳輸方式( In terrupt)、控制傳輸方式( Control)和批( Bulk)傳輸方式,這些傳輸方式各有特點,分別用于不同的場所。

  USB協議支持兩種傳輸速度,即低速1. 5 M bps和高速12 M bps,而USB2. 0協議的最高傳輸速率可以到480M bps.并且U SB端口可以輸出最大500 mA的電流,可用長達5 m的傳輸線進行設備連接。

  1. 2系統框圖

  高速數據采集具有系統數據吞吐率高的特點,要求系統在短時間內能夠傳輸并存儲采集結果。因此,采集數據的快速存儲能力和容量是制約加快系統速度和容許采集時間的主要因素之一。通常在數據采集系統中增加存儲器件充當緩存器來滿足要求,常用存儲器有FIFO、雙端口RAM以及靜態(tài)RAM等,但容量小,已經不能滿足高速數據采集系統的需求。目前市場上的SDRAM和DDR SDRAM具有工作頻率高、容量大、功耗低的特點,數據線位寬可以達到64 bi,t完全適用于高速數據采集系統。因此,在本設計中采用一個FPGA和SDRAM構成一個大容量的FIFO,從而可有效的避免F IFO溢出,同時也提供了一個低成本的滿足高速實時流數據傳輸的解決方案(系統框圖如1所示。)

  2 USB數據采集卡硬件設計

  2. 1芯片介紹

  2. 1. 1 EZ- USB芯片

  選用Cypress公司的FX2系列產品CY7C68013,它提供了對USB2. 0的完整解決方案。該芯片包括帶8 kByt片內RAM的高速CPU、16位并行地址總線加8位數據總線、I2C總線、4 kByt FIFO存儲器以及通用可編程接口( GPIF)、串行接口引擎( SIE)和U SB2. 0收發(fā)器。CY7C68013與外設有兩種接口方式:可編程接口GPIF和S lave F IFO.FX2的SLAVEFIFO接口可以直接與外部設備無縫連接。它的一個主要的特點是:在AU TOOUT和AUTO IN模式下,數據流從主機傳出或者向主機輸入不需要經過CPU的處理。這樣,低主頻的8051CPU將不會影響高帶寬的數據流傳輸。本系統內采用了SLAVEFIFO的AUTO IN傳輸模式。

  2. 1. 2 FPGA芯片

  設計中, FPGA采用A ltera公司的CYCLONE芯片EP1C6- Q240.該芯片支持多種不同的I / O標準(包括PCI接口,可連接ASSP和ASIC設備的接口以及串行設備接口等)。實際應用中, FPGA除了與SDRAM構成一個大容量的FIFO以外,還需要完成最為重要的SDRAM的讀寫控制功能。

  2. 1. 3 A /D芯片

  采用M axim公司MAX1180, MAX1180是采用差分輸入,帶有寬帶跟蹤/保持( Trackand- Hold)的雙通道9級流水線型結構的ADCs,采樣速率可達到105 MH z.完全滿足高速數據采樣的要求。

  2. 2硬件連接

  設計方案中, SDRAM控制器是數據流控制核心,負責數據的高速猝發(fā)讀/寫和定時刷新。當主機啟動A /D轉換后, SDRAM控制器將采集結果存儲到SDRAM存儲器中,采集結束后,主機通過USB接口采用DMA傳輸方式將采集數據讀到主機系統中。

  設計中采用了8 32M b it的SDRAM,采集數據先送入A /D數據緩存器,由SDRAM控制器讀出并寫入大容量SDRAM存儲器。當A /D轉換結束后,板卡修改狀態(tài)標志或者發(fā)出中斷請求,主機發(fā)出讀取命令,SDRAM控制器切換工作狀態(tài),把數據從SDRAM中取出,寫入輸出緩存器,由主機通過總線接口將結果讀到系統中。其中, SDRAM控制器負責對SDRAM的定時刷新。SDRAM控制器根據設計,可以對SDRAM執(zhí)行猝發(fā)讀寫、刷新等12種命令,完成對數據的訪問。SDRAM控制器由FPGA編程實現。

  A /D轉換器的采樣時鐘同時作為CY7C68013的S lave F IFO模式的讀寫控制時鐘,即CY7C68013的接口時鐘連接到IFCLK引腳。SLWR /SLRD是CY7C68013 S lave FIFO的寫使能/讀允許信號。FPGA向CY7C68013 Slave FIFO提供S lave FIFO輸出允許信號SLOE,僅在數據輸出時有效。FD < 15: 0>為16位雙向數據總線。FIFOADR < 1: 0>為端點FIFO選擇信號。具體的硬件連接框圖如2所示。

  3系統軟件設計與實現

  本系統軟件設計包括:固件程序、驅動程序和應用程序的設計。其中,固件程序是整個程序設計的核心。

  3. 1 USB設備固件程序設計

  固件程序相對比較復雜,需要用到大量的函數,但基本結構卻相對簡單,包括下面3個過程:初始化:包括處理器和外圍電路的初始化;主函數:包括完成符合設備特定要求的代碼;中斷處理:包括處理各種中斷的程序代碼。

  設計中采用CY7C68013的端點4接收從主機發(fā)來的命令字,然后根據命令字進行相應操作,當端點4接收主機發(fā)來命令并進行完相應操作后,在端點8返回主機要求的操作結果或者僅僅返回控制命令執(zhí)行的狀態(tài)。接收數據端點6被設置為SLAVEFIFO模式,所以接收FPGA發(fā)來的數據,等待主機提取。由于端點6的SLAVEFIFO接口使用了AUTO IN模式,所以數據流由外部FIFO控制器控制,直接傳入端點6的F IFO,然后由主機提取。這里CY7C68013僅作為一條數據通道,而CPU并不參與這個過程。所以只要在固件程序的初始化程序段內配置好端點6的SLAVEF IFO接口模式,剩下的傳輸控制和其它的工作則由FPGA來做。

  以下為部分固件程序代碼,主要給出了端點6 SLAVEFIFO接口的AUTO IN模式配置程序。

  voidTD _In it( void) / /FX2固件的初始化程序段,設置FX2的相應寄存器{ / /設置SLAVEFIFO時鐘由外部控制器提供。之前FPGA向IFCLK引腳提供接口時鐘IFCONF IG = 0x43; / /FIFO接口時鐘由外部控制器提供,最后兩位設置FIFO接口模式為SLAVEFIFO SYNCDELAY; / /同步延遲,由FX2技術手冊規(guī)定EP6FIFOCFG = 0x0D; / /設為AUTO IN方式,允許0長度包,最后一位為1,設置接口為16位SYNCDELAY;EP6CFG= 0xE0; / /EP6方向為輸入,塊端點,包大小為512字節(jié),雙緩存。

  SYNCDELAY;PINFLAGSAB= 0x00; / /, FLAGB= FF,為FIFO滿標志SYNCDELAY;PINFLAGSCD= 0x00; / /FLAGC= EF,為FIFO空標志, FLAGD= EP2PF SYNCDELAY;FIFOPINPOLAR= 0x00; / /選擇引腳極性, 0為低電平有效SYNCDELAY;EP6AUTO INLENH = 0x02; / /和低位寄存器確定傳輸包大小為512字節(jié)/包SYNCDELAY;EP6AUTO INLENL= 0x00;SYNCDELAY;} void TD_Poll( void ) / /此函數在設備運行時反復被調用,主要完成外部FIFO狀態(tài)檢測和數據傳輸。

  { } BOOL TD_Suspend( void ) / /該函數在設備進入掛起狀態(tài)前調用{ return( TRUE );} BOOL TD_Resume( void ) / /設備重啟后調用{ return( TRUE );}

  在程序開始執(zhí)行后,固件程序會執(zhí)行以下步驟:第一步,初始化所有的內部狀態(tài)變量;第二步,調用用戶的初始設置函數TD _Init( ),初始化USB總線設備(即數據采集系統)接口為非配置狀態(tài),并同時打開中斷;第三步, EZ- USB固件程序開始重新枚舉設備(R eNum erate),直到收到SETUP包為止;第四步,一旦SETUP包被檢測到,固件程序框架就開始進行任務分配。任務分配就是依次重復地執(zhí)行下面的過程:調用用戶函數TDPoll( );檢測是否有標準的設備請求,如果有,則執(zhí)行指令并做出相應的操作;檢測USB核是否有USB掛起事件,如果有USB掛起事件,則調用用戶程序TD_Suspend( ), TD_Suspend( )返回為真時, USB核檢測是否有新開始事件;如果沒有USB掛起事件,則使處理器處于掛起狀態(tài)。當檢測到有重新開始的事件, USB核調用用戶程序TD_R esum e( ),并繼續(xù)執(zhí)行步驟;當TD_Suspend( )返回為假時,則繼續(xù)執(zhí)行步驟。

  3. 2驅動程序及PC應用程序設計

  在W INDOWS平臺下, USB驅動程序由3部分組成: USB設備驅動程序、USB總線驅動程序和USB主控制器驅動程序,它們必須遵循W IN32驅動程序模型(WDM )。其中, W INDOWS操作系統已經提供了處于驅動程序棧底的USB總線驅動程序和USB主控制器驅動程序。在USB設備驅動程序開發(fā)時,可以利用W in dows DDK ,也可以通過借助一些輔助軟件工具,如DriverStudio、W inDriver等。本設計中采用Jungo公司的W inDriver進行驅動程序開發(fā), W inDriver提供的驅動向導,可根據用戶的需要,自動生成代碼框架,從而簡化了驅動程序的開發(fā),且和DDK的結合良好。

  在PC機應用程序設計時,采用LabW indows/CV I進行應用程序的設計,以完成虛擬示波器和虛擬頻譜分析儀的設計。最終實現的虛擬儀器前面板如3所示,該虛擬儀器可實現示波器和頻譜分析儀的功能。

  4結束

  本文設計的數據采集卡解決了虛擬儀器在實現上的瓶頸制約,完成了外部數據與計算機的高速傳輸,理論上本數據采集卡可采集50 MH z的外部信號,可完全滿足各方面的測量要求。本文中設計的虛擬示波器和虛擬頻譜分析儀在實際應用中功能全面,使用方便,在具體運用中用戶還可以根據功能需要設計PC機的應用程序,這也正是虛擬儀器的最大優(yōu)勢,即功能可由用戶自定義。

  【中國糧油儀器在線】部分信息來自互聯網,力求安全及時、準確無誤,目的在于傳遞更多信息,并不代表本網對其觀點贊同或對其真實性負責。

    <bdo id="c73jo"><span id="c73jo"><del id="c73jo"></del></span></bdo>
    <pre id="c73jo"></pre>

  • <pre id="c73jo"><li id="c73jo"></li></pre>