緒論:寫作既是個人情感的抒發,也是對學術真理的探索,歡迎閱讀由發表云整理的11篇數據采集論文范文,希望它們能為您的寫作提供參考和啟發。
1.1監控層監控層采用總線形網絡結構,在總線上掛接的設備主要有:數據采集I/O服務器、IH數據庫服務器、關系型數據庫服務器、APP服務器、Web服務器、調度操作站、工程師站等。1)數據采集I/O服務器,分為電力、動力、水三個系統,采用冗余配置,服務器安裝IFIX5.1組態軟件,在IFIX5.1的SCU中配置IGS、PFC、IEC驅動同數據采集站通訊,具體通訊方式如下,采集西門子PLC系統數據的,則以工業太網為橋梁,IFIX通過IGS驅動與其實現實時通訊;采用RTU采集系統數據的,IFIX通過PFC驅動與其實現實時通訊;采集申瑞765G綜保管理機系統數據的,IFIX通過IEC驅動與其實現實時通訊。2)GPRS服務器,能控無線遠傳站通過柜內S7-200、SINAUTMD720-3GPRS調制解調器、天線和GPRS通信管理軟件SINAUTMICROSC構成GPRS網絡,最后通過OPC驅動與能控中心GPRS服務器實現通訊連接。3)IH數據庫服務器,IH數據庫服務器上安裝GE公司的ProficyiHistorian實時數據庫軟件,IH通過配置Collector采集器軟件從數據采集I/O服務器抓取數據,采集的數據周期以秒、分為單位刷新。4)關系型數據庫服務器,安裝有DB2和Oracle兩種關系型數據庫軟件,完成數據的長期歸檔以及數據的壓縮和數據的備份。5)APP服務器和Web服務器,APP服務器運行基礎能源管理模塊,Web服務器用于Web。6)調度操作站,通過調度操作站能控調度可以對能控系統的相關數據及設備的運行狀態進行監控,而且能夠通過B/S(客戶端/服務器)的方式訪問APP服務器的基礎能源管理模塊,使用自己權限所分配的功能。
1.2數據采集層數據采集層有124個數據采集站,包括西門子S7-300PLC82套、通訊柜41套,力控RTU(Remo-teTermialUite,遠程終端單元)46套,覆蓋工源廠區、東風廠區、南芬露天礦及歪礦,地域分散。同監控系統的通訊方式有有線方式和無線方式。其中有興安解凍庫、四水源等十個站點敷設電纜困難且條件惡劣,增加了建設和維護的成本,因此采用GPRS無線通信方式;有線方式采用環網加星形的網絡結構,整個環網有7個主站,從EMS01到EMS07分別是能源中心、焦化儀表室、朱莊柜、六高爐主控室、4#轉爐機房、維檢中心、冷軋機房,環網將7個主站點連接起來,再由主站點以星形的結構向外輻射用于連接所有的數據采集站。
1.3現場層1)本鋼現場層的設備現狀現場一次儀表有電磁流量計、超聲波流量計、差壓流量計、渦街流量計,提供4~20mA標準信號,PLC和DCS系統有西門子S7、施耐德、AB、ABB、浙大中控JP-300XP、Honeywellpks系統HoneywellHC900等系統,電力綜保系統有北京四方、上海申瑞、清華紫光等廠家,電度表有湖南威勝和黑龍江龍電兩種型號。信號類型分為計量點和工藝點,計量點只對數據進行采集;工藝點包括數據的采集和設備的控制。2)采集方案的確定針對現場設備的實際情況確定了如下的數據采集方案:(1)RTU采集方式,此種方式只對數據進行采集。對于支持RS485協議的超聲波流量計,例如本溪新宇超聲波流量計,將該表通過串口通訊線接入到RTU的串口,通道協議選擇ModbusMaster,端口選擇Serial。采集原有西門子PLC系統數據的,將系統通過以太網方式接入RTU的網口,RTU配置軟件中通道協議選取西門子PLC,通訊口:TCPClient,IP地址為所通訊的PLC地址,端口號為102。原有系統為DCS,例如十一加的HoneywellHC900,將系統通過以太網方式接入RTU的網口,通道協議為ModbusTCP,通訊口:TCPClient,IP地址為所通訊的DCS地址,端口號為502。浙大中控的JP-300XP系統,如發電廠32號機和氧氣廠4#制氧機。將系統通過以太網方式接入RTU的網口,是通過OPC協議進行數據采集,在原有系統中安裝OPCTunnellerServer,然后在另外一臺計算機上使用OPCTunneller驅動進行采集,在RTU中通道協議中選擇OpcTunnellerMaster。與電力綜保通訊,將系統通過以太網方式接入RTU的網口,通道協議選擇IEC104,需要說明的是采用此種通信方式的只有清華紫光和北京四方,不包括上海申瑞,申瑞通過綜保管理機765G直接同電力服務器通信。智能電表的數據采集,威勝龍電兩種電表都有網口,同威勝的電能采集器通訊,采集器通過以太網方式接入RTU的網口,通道協議選擇威勝WFET2000s,IP地址為電能采集器端設置的IP,端口號為9001。(2)I/O采集方式,數據的采集和設備的控制。計量點,新增的或原有的需接入能管中心的點通過儀表提供4~20mA標準信號接入到PLC柜或I/O柜的AI輸入模板。工藝點,例如燃氣廠五加、六加、九加等煤氣加壓站既有采集數據的要求,還有對現場閥門進行控制要求的,系統則通過在原有西門子S7-300或400系統中加裝CP模板的方式進行數據的采集和設備的控制。新增加的CP模塊規劃的IP地址同原有系統的IP地址不在同一個網段,為兩個獨立的網段,可以實現數據采集控制功能和對病毒隔離功能。
2系統功能
本鋼能管中心數據采集監控系統從試運行以來,實現了以下功能:1)數據采集設備控制對電力系統的電量、電流、電壓、功率、功率因數等,燃氣系統、熱電系統、氧氮氬系統的流量、壓力、溫度、柜位等,水系統的流量、壓力、水位等進行采集,對電力系統的開關、燃氣系統的加壓機、水系統的泵等重要能源設備進行遠方操作控制和實時調整。2)報警功能監控中心匯聚大量的數據,系統根據故障程度和重要性,設置了重故障、輕故障和事件三種報警類型,提示調度員進行相應的操作。3)操作記錄對重要設備的操作進行記錄,當故障發生后可以為事故的原因分析提供依據。4)數據處理包括流量累計、計算煤氣熱值、多個數據之和或差等,例如混合煤氣的和。5)數據歸檔對于短時歸檔數據,提供過程曲線顯示;長時歸檔數據,可按信號內容、起/訖時間、時間粒度(分鐘/小時/天/月)、數值類型(Min/Max/Ave/Sum)進行歷史數據查詢,并可進行曲線顯示。6)Web用戶可通過IE瀏覽器來訪問Web服務器,獲取現場設備的狀態和運行參數,在Web畫面上不能進行參數設定等操作。內容包括各系統的工藝畫面,重要的報警畫面。
2基于嵌入式平臺RFID數據采集終端
基于嵌入式平臺RFID采集終端體積小,集成度高,可便攜,具有強大的數據實時處理能力,與PC機完全兼容,支持多種數據空間傳輸標準,并在讀寫器之間建立統一的應用級接口,可以直接讀取讀寫器上的數據。當存在大量的RFID識別標簽時,讀寫器將會掃描到海量數據信息,RFID采集終端將簡化信息的傳輸流程。同時,運行在RFID數據采集終端的中間件把上位機的管理軟件程序從硬件設備接口分揀出來并按照統一的標準進行封裝,這樣,使上層的應用軟件具有統一恒定的數據控制接口。
3嵌入式RFID數據采集終端的硬件設計
讀寫器獲取RFID標簽數據后,通過專有的適配器接口,比如串口、CAN口等連接方式,將原始數據交付給嵌入式數據采集終端。流行的嵌入式設備采用模塊化架構,功能各異的模塊板卡通過插槽嵌入到ARM微處理器芯片核心板上,通過核心板上的總線與CPU及其他模塊板卡建立通信。各模塊之間相互獨立,簡化了硬件電路的設計,降低開發周期。在硬件平臺設計中,嵌入式微處理器的選擇直接制約著嵌入式RFID數據采集終端的性能。為了滿足應用的需求,該終端選用基于精簡指令集的32位ARM9微處理器。處理終端的硬件平臺包括ARM9微處理器,電源復位電路,存儲器,串口,以太網接口。ARM9微處理器內置存儲器的容量較小,需擴充存儲器以滿足應用的需求[3]。電源復位電路和存儲器的設計是硬件平臺設計的關鍵。
4嵌入式RFID數據采集終端的軟件設計
操作系統的開發非常復查而且成本較高,一般不自主設計。選用Lin-ux操作系統作為軟件開發環境,并編寫硬件接口驅動程序及應用程序。RFID中間件軟件采用模塊化結構設計,運行在Linux操作系統下。可以分為硬件接口驅動模塊,數據處理分析模塊,數據統一管理模塊。硬件接口驅動模塊的指令用于讀取讀寫器上的數據信息。數據處理分析模塊對被識物體的數據進行預處理、解析。數據管理控制模塊將分析后的數據信息通過無線網絡交付給上位機RFID服務器的應用管理系統,負責指令的上傳下達,并控制嵌入式RFID數據采集終端的全局工作。
林業資源監管通用數據采集系統采用C#語言、ArcEngine和開普互聯智能表臺進行設計開發。系統分為B/S架構的Web配置系統和C/S架構的桌面系統兩部分,如圖1所示。這種設計方式基于:1)B/S架構已成為林業業務系統的主流架構,借助配置系統以便將通用數據采集系統與業務系統進行集成;2)使桌面系統可以專注于數據采集,實現與業務流程、功能的松散耦合。Web配置系統包括數據交換以及桌面系統的配置管理功能模塊,支持本地和遠程配置方式。數據交換通過將事先制作完成的支撐數據提供給桌面系統,作為各業務數據采集系統運行的基礎,并將采集完成的數據返回數據庫,提供給其他業務系統使用。配置管理支持對采集數據、支撐數據以及桌面系統功能界面的配置,并將配置結果保存在XML配置文件中,作為桌面業務系統運行的基礎。通過配置系統為桌面系統提供支撐數據并進行相關配置,就可以為不同業務定制數據采集系統。桌面系統包括通用功能元件、業務系統配置、動態數據的管理以及界面的生成4個功能模塊。通用功能元件包含數據采集的一般功能。業務系統配置提供配置內容的讀寫功能。動態數據管理根據配置實現對不同業務支撐數據的訪問、更新以及采集數據的導出。界面生成根據配置信息生成特定于業務的系統界面。桌面系統框架采用變種MVC模式(模型--視圖--控制器),該模式采用數據驅動設計[9],使得視圖、控制器和模型可以隨業務而變。在數據層,空間數據與屬性數據分表存儲,空間數據表只存儲與業務無關的圖形信息,從而能以統一的形式訪問、處理及顯示空間數據,不受業務變化的影響。而與業務緊密相關的屬性數據單獨存儲在屬性表中,并將與屬性數據相關的視圖、控制器及模型的變化存儲在用開普互聯智能表臺制作的表單文件、數據映射文件中,系統在運行時就可以基于表單文件、數據映射文件及配置文件動態地構建視圖、控制器及模型,從而將業務數據的變化隔離在源代碼之外,使源代碼高度內聚,不會變異。由于兩類數據的處理方式不同,數據間的完整性通過邏輯校驗來保證。
關鍵技術及實現
林業資源監管通用數據采集系統采用的關鍵技術包括智能配置、界面自動生成和動態數據管理技術。
1智能配置技術
智能配置技術是指將與業務相關的變化信息存儲在配置文件中,系統在運行時讀取配置文件,根據其中的信息實現對不同業務數據采集功能的定制。當業務數據采集需求發生變化時,僅需通過改變配置信息就能滿足需求,這樣既增加了系統的靈活性,又能保持系統的穩定。數據采集系統通過配置系統實現智能配置,主要包括系統配置、采集數據配置兩方面。(1)系統配置。系統配置包括支撐數據、用戶功能界面配置兩部分。支撐數據的配置內容包括數據版本號,采集人員的賬戶信息及該賬戶關聯的業務名列表,支撐數據中各數據名稱、類型、對數據操作的命令和命令狀態列表。版本號為自然數值,作為數據是否需要更新的依據;業務名列表的形式為“Reforestation/造林,Harvesting/采伐”,前面是業務系統的英文名,后面是對應的中文名,之間用反斜杠隔開,指明賬號可以使用的數據采集系統;數據名稱為數據文件的名稱,類型包括數據庫、表和普通文件。命令指明了如何處理數據,包括覆蓋、更新、添加、刪除4種。命令狀態包括已執行或未執行,決定系統是否執行命令。用戶功能界面配置內容包括功能元件、邏輯驗證規則和表單配置。功能元件和邏輯驗證規則的配置目標可以是單個圖層或整個系統。功能元件的狀態包括可見、隱藏、可用與禁用,當不需要使用某項功能時,根據功能元件的名稱將其狀態設置為隱藏或禁用即可。邏輯驗證規則的配置內容包括SQL語句及其描述,通過執行SQL語句進行驗證;SQL語句的執行方式不隨業務變化,規則的描述為界面上呈現給用戶的信息,如地類檢查。表單的配置目標是圖層,包括圖層名、表單文件名及其描述,通過將圖層名和表單文件名配對存儲,就能根據圖層找到對應的表單進行屬性數據的錄入,描述為用戶界面上呈現給用戶的信息,如造林模式表。(2)數據配置。采集數據的配置包括需要導出的數據版本號、表名稱、數據記錄主鍵序列以及其他數據文件的名稱。數據版本是自然數值,作為外界是否需要下載該數據的依據。系統根據數據名稱和主鍵序列導出數據。
2功能界面自動生成
功能界面自動生成以功能元件為基礎,通過建立配置文件完成用戶界面的按需定制。(1)系統功能元件。系統是功能元件的集合,功能元件可能是單個功能或一類功能,如圖形創建是單個功能,圖形編輯是一類功能,在界面上表現為單個控件。本文使用功能元件名稱、控件名稱、功能狀態及功能描述來表達功能元件。對于用戶而言,只需配置功能名稱及狀態來控制功能界面。系統功能元件信息存儲在XML文檔中,該文檔需要按照模板文件制作,配置系統解析該XML文檔,并在界面上列舉出功能元件列表供用戶配置。(2)界面生成算法。數據采集系統中涉及界面變化的模塊主要包括:1)空間編輯和拓撲校驗界面。該界面因功能是否需要使用而變化。2)屬性編輯界面。該界面隨數據內容和結構而變化。3)邏輯校驗界面。該界面隨校驗規則內容而變化。界面自動生成以功能元件及系統配置文件為基礎,通過解析配置文件動態生成用戶界面,生成流程如圖2所示。3個界面的生成算法各有不同。空間編輯和拓撲校驗界面的生成是根據配置對WindowsForm控件的可見性和可用性進行控制來實現的;屬性編輯界面的生成是通過加載開普互聯智能表單文件到WindowsForm窗體中來實現的,開普互聯智能表單界面如圖3所示;邏輯校驗界面的生成是通過加載驗證規則到WindowsForm窗體中的列表控件中來實現的。
3動態數據庫管理
動態數據庫是結構和數據都可以隨需要而變化的數據庫[10--11],在本文中是指整個數據庫的改變。數據采集系統以單一業務配置為基礎,每個采集人員配備獨立的設備和采集系統,但在人力和設備資源有限的情況下,數據采集系統需要支持多個業務的數據采集或多個采集人員共用一套設備和系統。系統需要根據業務、人員職責調用不同的支撐數據。解決方案為:建立以采集人員賬號名和業務名組合命名的文件夾,通過配置系統將不同的支撐數據放到對應的文件夾內。當用戶登錄系統時,系統依據賬號列出可操作業務,采集人員從中選擇業務名稱,系統就可以將正確的支撐數據供給用戶使用。
4數據交換
1.2控制電路與模數轉換電路設計選用C8051F410單片機對整個系統進行控制,C8051F410具有與8051兼容的高速CIP-51內核,與MCS-51指令完全兼容。C8051F410資源豐富,具有24個I/O引腳,同時還具有時鐘振蕩器等功能模塊。ADS1274是TI公司生產的24位無失碼高性能模數轉換器,具有最高144kSPS數據采樣速率,功耗低,在52kSPS(高精度模式)采樣速率下,單通道功耗僅為31mW,工作溫度范圍廣,最低溫度-40°C最高溫度+125°C,非常適合應用于條件苛刻的工業控制領域。該芯片模擬前端具有4個單端輸入通道,模擬部分采用5V供電,內核為3.3V或者1.8V供電。模擬輸入電壓為———0.3V~6V。采用THS4521作為AD轉換器的驅動器,THS4521極低功耗軌至軌輸出全差動放大器,帶寬高達145MHz,數據轉換速率高達490V/μs,直流開環增益為119dB,寬范圍供電電壓:+2.5V~+5.5V,單通道電流僅為1.14mA。C8051F410與ADS1274通過標準SPI接口進行通信,設計采用3線制的主、從方式。C8051F410控制ADS1274,C8051F410通過SCLK時鐘管腳提供并控制ADS1274提供SPI的時鐘信號。單片機的MOSI引腳與ADS1274的DIN引腳相連,向ADS1274發送數據,實現配置寄存器,設置工作模式等功能。C8051F410的MISO引腳與ADS1274的DOUT相連,接收AD轉換的數據。ADS1274的RDY引腳與單片機的P0.3引腳相連,當ADS1274完成模數轉換以后,RDY引腳有高電平變為低電平,通知單片機模數轉換完成,準備讀取數據。
1.3恒流電源電路LM2904系列運算放大器是TI公司生產的低功耗雙運算放大器。ADXRS646型MEMS陀螺儀需要的供電電壓為6V,由LM2904構成的放大電路可以產生兩路穩定的6V電壓,輸出抖動小于5mV,輸出電流可以達到40mA,滿足MEMS陀螺儀的供電要求。由LM2904構成的基本電壓放大電路。放大電路的輸入電壓5V,電壓的放大倍數為1.2倍,由此可以得出兩路輸出A和B均為6V。
2軟件設計
數據采集裝置上電后首先對C8051F410進行初始化設置,通過配置寄存器,設置SPI通信模式、內部振蕩器的工作頻率以及看門狗的監測時間。然后對ADS1274進行AD采樣率、工作模式和通信模式等模塊的初始化。選擇ADS1274的差分模擬輸入通道AIN1、AIN2、AIN3進行數據采集,模擬電壓輸入范圍為0~5V,數據寄存器配置為24位。向ADS1274發送開始轉換命令,單片機開始計時,計時時間未結束,傳輸采集的數據;計時時間到,繼續開始AD轉換。采集后的角速率數據經過單片機簡單處理后,由RS232串口輸出。
1.2系統功能設計在對系統流程與架構全方位了解后,對系統各部分功能模塊進行深入分析,系統需具備以下功能模塊。(1)GIS與導航定位功能模塊,實現在檢查人員確定受檢小班后,數據采集系統定位檢查人員當前位置并由矢量地圖顯示由當前位置到受檢小班的路徑、方位、距離信息。(2)森林撫育數據采集功能與評價模塊。GPS定位位置屬于受檢小班內部時,數據采集功能模塊會呈現為可工作狀態,檢查人員進行實地測量,將樣地樹種組成、齡組、經緯度、胸徑、伐根地徑等信息錄入采集系統,系統結合已導入系統的受檢地材積表自動計算用于森林撫育質量評價的各項參數并按照《全國森林撫育檢查驗收辦法》森林撫育質量評價得分標準對受檢小班各個方面進行打分工作并匯總上報到上級單位森林撫育檢查驗收服務器。
2系統實現
2.1系統服務器端關鍵技術及其實現系統服務器端部署基于WebService,服務端程序負責接收移動終端通過SOAP所封裝的請求,通過HTTP協議傳至Web服務器,進行數據信息交互以實現對移動終端實時定位追蹤,管理空間與屬性數據,并對移動終端所發回數據進行編輯匯總調用相應服務,將所請求服務解析為xml消息并返回移動終端。
2.2iOS客戶端關鍵技術及其實現
2.2.1移動空間定位技術系統采用iOSSDK所提供CoreLocation移動定位技術定制開發,CoreLocation提供GPS、蜂窩基站、Wi-Fi三種方式對空間地理位置進行定位。通過創建定位管理器并對精度以及定位更新時間間隔進行設置,CoreLocation根據設置自動選擇定位方式并將定位數據錄入系統供地圖功能模塊使用。
2.2.2地理圖層與加載系統GIS系統功能模塊基于ArcGISAPIforiOS進行開發定制,所加載地圖分為在線地圖與離線地圖兩類。在線地圖是由移動終端獲取服務器端由ArcGISServer所受檢縣地理圖層數據以及受檢小班空間地理位置。離線地圖數據是考慮到有些受檢小班地處偏遠地帶,無線信號較弱,無法訪問服務器,通過ArcGISAPIforiOS中的AGSTiledLayer類建立離線圖層訪問,加載預存于移動數據采集系統的地理圖層緩存數據用以數據采集工作。
2電源供電系統
本文中需要三級電源供電:3.3V,5V,±10V。5V電壓通過SPX1117-3.3V穩壓芯片轉變為3.3V為系統供電,±10V要是給可編程放大器PGA205和運放TL052供電,該電壓需要5V電壓經過Boost升壓電路得到,設計選用TPS61040開關電源芯片,其為低功耗的DC/DCBoost轉換芯片,內部集成開關管,開關頻率可達1MHz,輸出電壓紋波低[6]。雙電源供電電路如圖4所示。
3系統軟件設計
本文軟件設計任務主要是LM3S9B96芯片的初始化和內部各模塊之間的邏輯控制,包括根據上位機的指令來設定調理電路。數據采集系統總的軟件任務框圖如圖5所示。信號調理任務負責根據上位機發出的指令完成調理電路的設定;采樣任務實現對模擬信號的采集;數據轉移存儲任務負責將數據從ADC轉移到內存,再轉移到USB緩存。數據轉移任務利用DMA來實現,DMA的工作模式分為基本模式、乒乓模式和外設散聚模式,為了ADC采集不丟失數據,本文采用了乒乓模式,在程序設計時創建主數據結構體和副數據結構體交替接收數據,高效的完成數據轉移任務;數據傳輸任務負責將數據從微控制器通過USB總線傳輸到上位機。USB總線標準是在1994年由英特爾、康柏、IBM、Microsoft等多家公司聯合提出,包含了四種基本數據傳輸類型:控制傳輸、批量傳輸、中斷傳輸和等時傳輸,本文需要向上位機傳輸大量數據,選擇批量傳輸模式(BULK)傳輸數據[7]。基于LM3S系列芯片,TI公司提供了多層次十分豐富靈活的USB驅動庫,簡化軟件的實現。
4上位機軟件設計
NIVISA(VirtualInstrumentSoftwareArchitecture)是NI公司開發的一種用來與各種儀器總線進行通信的高級應用編程接口,VISA總線I/O軟件是一個綜合軟件包,不受平臺、總線和環境的限制。VISA是NI公司隨LabVIEW配套提供的,從3.0版本開始支持USB通訊,根據是否符合USB測試和測量協議,VISA分為兩種VISA類函數,可以控制兩類USB設備:USBINSTR設備和USBRAW設備。這里使用USBRAW設備。利用VISA驅動程序開發向導產生INF文件用來通知Window系統將NI-VISA用作USB設備的默認驅動,完成之后才可以正常和下位機通訊。USBRAW類設備的讀寫時序為(1)ViOpen打開VISA設備;(2)ViProperty設定VISA設備的屬性節點參數(指令端點和傳輸方式);(3)ViRead讀寫USBRAW(發送命令和設定字數);(4)ViClose關閉VISA(釋放VISA設備所占資源)。上位機程序總體分為指令接受程序,數據接受程序、數據處理程序和波形顯示程序。數據處理程序框圖如圖6所示。
5系統測試與結果
為了測試系統的可靠性,本文使用數字合成信號發生器DF1405模擬傳感器輸出信號作為數據采集系統的測試信號。經測試,設計系統完整實現了設計要求。5V10kHz正弦波測試結果如圖7所示,通過點擊Save控件可以完成數據的存儲。
在現代工業生產和科學技術研究的各行業中,通常需要對各種數據進行采集。目前通用的通過數據采集板卡采集的方法存在著以下缺點:安裝麻煩,易受機箱內環境的干擾而導致采集數據的失真?熏易受計算機插槽數量和地址、中斷資源的限制,可擴展性差。而通用串行總線USB(UniversalSerialBus)的出現,很好地解決了上述問題,很容易實現便捷、低成本、易擴展、高可靠性的數據采集,代表了現代數據采集系統的發展趨勢。
1系統硬件設計與實現
1.1硬件總體結構
基于USB總線的實時數據采集系統硬件組成包括模擬開關、A/D轉換器、單片機、USB接口芯片,其硬件總體結構如圖1所示。多路模擬信號經過模擬開關傳到A/D轉換器轉換為數字信號?熏單片機控制采集,USB接口芯片存儲采集到的數據并將其上傳至PC,同時也接收PC機USB控制器的控制信息。
1.2PDIUSBD12芯片
USB接口芯片采用Philips公司的一種專用芯片PDIUSBD12(以下簡稱D12)。該芯片完全符合USB1.1規范,集成了SIE、320B的多配置FIFO存儲器、收發器、電壓調整器、SoftConnect、GoodLink、可編程時鐘輸出、低頻晶振和終端電阻等,支持雙電壓工作、完全自動DMA操作、多中斷模式,內部結構如圖2所示。
單片機通過8位并行接口傳送經過A/D轉換的采集數據,存儲在FIFO存儲器中。一旦存滿,串行接口引擎SIE立刻對數據進行處理,包括同步模式識別、并/串轉換、位填充/不填充、CRC校驗、PID確認、地址識別以及握手鑒定,處理完畢后數據由模擬收/發器通過D+、D-發送至PC。上述過程遵循USB1.1協議。D12與89C51的具體實現電路如圖3所示。
2系統軟件設計與實現
系統軟件包括USB設備固件編程、驅動程序和應用程序。其中設備固件是整個系統的核心,它控制芯片D12采集數據、接收并處理USB驅動程序的請求和應用程序的控制指令。
2.1USB設備固件程序設計與實現
設備固件是設備運行的核心,用C語言設計。其主要功能是控制A/D模塊的數據采集;接收并處理驅動程序的請求,如請求描述符、請求或設置設備狀態、請求設備設置、請求或設置設備接口等USB1.1標準請求;控制芯片D12接收應用程序的控制指令等。其程序主框圖如圖4所示。單片機檢測到D12后進入主循環。此時PC機先發令牌包給D12,D12接收到令牌包后給單片機發中斷,單片機據中斷類型設定標志位Status;最后執行相應標志位的中斷服務程序。單片機通過A/D模塊的中斷入口控制A/D模塊的數據采集。
2.2驅動程序設計與實現
USB系統驅動程序采用分層結構模型:較高級的USB設備驅動程序和較低級的USB函數層。其中USB函數層由通用串行總線驅動程序模塊(USBD)和主控制器驅動程序模塊(HCD)組成。
圖3PDIUSBD12與89C51的具體實現電路
為使驅動程序具有通用性,也為簡化應用程序的開發,編寫了供應用程序調用的動態鏈接庫。這樣應用程序只需調用此庫提供的接口函數即可完成對USB設備的操作。USB函數層(USBD及HCD)由Windows98提供,負責管理USB設備驅動程序與USB控制器之間的通信、加載及卸載USB驅動程序等。目前Windows98提供的多種USB設備驅動程序并不針對實時數據采集設備,因此采用DDK開發工具設計專用的設備驅動程序。其由四個模塊組成:初始化模塊、即插即用管理模塊、電源管理模塊以及I/O功能實現模塊。
初始化模塊提供一個DriverEntry入口點執行一系列的初始化過程。
即插即用管理模塊實現USB設備的熱插拔及動態配置。當Windows98檢測到USB設備接入時,查找相應的驅動程序,并調用它的DriverEntry例程,PnP管理器調用驅動程序的AddDevice例程,告訴它添加了一個設備;然后驅動程序為USB設備建立一個功能設備對象。在此過程中,驅動程序收到一個IRP_MN_START_DEVICE的IRP,包括設備分配的資源信息。至此,設備被正確配置,驅動程序開始與硬件進行對話。電源管理模塊負責設備的掛起與喚醒。
I/O功能實現模塊完成I/O請求的大部分工作。當動態鏈接庫提出I/O請求時調用Win32API函數DeviceToControl向設備發出命令;然后由I/O管理器構造一個IRP并設置其MajorFunction域為IRP_MJ_DEVICE_CONTROL。USB設備驅動程序收到該IRP后取出其中的控制碼,并利用一個開關語句找到對應的例程入口。
2.3應用程序設計與實現
應用程序采用VisualBasic6.0編寫。由于其只需調用動態鏈接庫,故開發較簡單。主要功能包括檢測USB設備、開啟/關閉USB設備、設置A/D狀態和數據采集端口、顯示并分析實時采集的數據。主框圖如圖5所示。
由于D12的端點1的FIFO為16字節,端點2的FIFO為64字節,當緩沖區存滿后自動將數據打包,由SIE自動發送數據包。程序獲得數據包后需延遲至下組數據包準備完畢,從而保證程序與數據采集同步。另外程序還發出停止采集和關閉USB設備的命令。
3系統特點
基于USB總線的實時數據采集系統嚴格遵循USB1.1協議,有以下特點:
(1)易于擴展。最長傳輸距離5m,采用USBHub可達30m;最多可同時接127個設備。
(2)電磁干擾影響極小。本系統放置在計算機外部,不受板卡間的電磁干擾影響;若在電磁干擾極強的環境下工作,需專門為其設計電磁屏蔽方案。
1.2資料處理主要技術:為提高資料的高保真度、高信噪比和高分辨率,在資料處理時聯合使用CCG、Promax和綠山等軟件。針對半沙漠地區地震資料特征主要采用地表一致性預測反褶積和高精度三維偏移等技術,進一步消除地表條件的變化對地震波的振幅特性和相位特性的影響,實現反射界面及各種地質異常體的聚焦歸位[2],保證地質信息的準確性。主要方法:在地震資料處理時,針對該研究區特殊地層特征,主要使用的處理方法有,①地表一致性預測反褶積。反褶積不僅可以進一步消除地表條件的變化對地震波的振幅特性和相位特性的影響,同時對多次波也有壓制作用[3]。但是反褶積在提高分辨率的同時降低資料信噪比,所以處理時在保證資料信噪比的情況下再提高分辨率。經對比分析,最終選定的處理參數:預測步長8ms,算子長度120ms。從反褶積前后單炮及其頻譜對比圖可以看出,主頻和頻率范圍相應向高頻方向移動,反褶積后波組特征更加明顯突出;②速度分析。常速掃描求取疊加速度的方法是由小到大,按間隔給定速度值,做每一個速度值的迭加剖面并按一定順序排列起來,比較分析某一速度的迭加剖面來求取速度。該方法的優點是根據疊加同相軸的橫向連續性直觀地看各種有效波同相軸疊加成像效果[4],此方法處理人員工作量大,但其方法精度高,常速掃描法可更準確地拾取到疊加速度值。在該區進行了兩次速度分析,第一次速度分析用于求取第一次剩余靜校正量,第二次速度分析應用速度譜拾取速度用于求取第二次剩余靜校正量。在時間剖面上做1500~5500m/s速度掃描,測區掃描網度200×100m,高網度、大工作量保證了速度分析拾取準確性,控制了工區構造形態。其速度分析示意圖表明拾取速度是準確的;③三維偏移。偏移使傾斜界面反射歸位到地下真實位置、繞射波收斂和波的干涉現象分解,正確地反應地下構造形態及其變化情況。本次研究中采用CGG波動方程有限差分三維一步法偏移,其方法具有精度高、頻散低、邊界吸收整潔等特點,對Tau(4,8,12ms)和偏移速度(90,95,100%)進行掃描測試,最終采用Tau=8ms,Mvel=100%。三維偏移后的時間剖面分辨率高,能量強,歸位準確(圖1)。
2資料解釋及地質成果
2.1資料解釋使用Geo-Frame4.3全三維解釋系統進行解釋,采用工作站和人工解釋相結合,時間剖面、水平切片、面塊切片解釋相結合的思路和流程進行解釋。斷層解釋:充分利用現有的地質資料,從聯井剖面出發,通過人工對比解釋明確各個反射波所對應的地質信息,在確定好空間關系后,利用工作站的自動追蹤拾取功能,由粗網格到細網格逐步加密解釋。采用人工解釋的粗網格建立區內主體構造框架,確定較大斷層,再利用人機聯作方式進行細網格追蹤對比,進一步核查構造方案解釋的合理性,解釋局部小斷層和細微構造,最后確定構造方案。在斷層解釋時,以垂直剖面解釋為主,水平切片為輔,再配合其它方法,使資料解釋更精細、更準確。根據構造的復雜程度,有目的地選擇一部分主干剖面進行重點解釋,即按照由粗到細(由大網格到小網格)、由縱向到橫向、由剖面到平面、由平面到空間的步驟反復進行解釋。通過水平切片解釋,檢驗斷層組合的合理性,并對一些小斷層的展布規律作出符合實際的解釋。為確保斷層的可靠性,在斷層組合時,依據區域地質規律,充分利用工作站優勢,確保斷層解釋合理,斷層相互切割關系符合地質規律。如圖2所示,在解釋系統上可以清楚的解釋連續的煤層反射波及清晰的斷層點位置。煤層分岔解釋:分叉合并煤層對應的反射波振幅強弱發生變化,從分叉到合并,振幅由弱變強;而斷層只是同相軸錯斷,斷開后的反射波強弱不發生變化[5]。分叉合并煤層對應的反射波同相軸個數發生變化。從分叉到合并,波組數由多變少。而斷層的兩盤同相軸個數不發生變化。分叉合并煤層對應的反射波同相軸相位沒有真正斷開,在波阻抗剖面上,煤層的分叉合并具有類似的特征,反映更加清晰。圖3為煤層分叉在時間剖面上的反映,圖4為煤層分叉在反演剖面上的反映。
2.2地質成果本次三維地震勘探查明了1-1、2-2、3-1、4-2、5-2煤層的底板起伏形態及構造發育情況;查明了區內落差大于5m的斷層,3~5m的斷點。對勘探區內1-1、2-2、3-1、4-2、5-2煤層的厚度變化趨勢進行了預測。對勘探區內覆蓋層厚度、1-1煤可采邊界和2-2煤分叉合并范圍進行了解釋。豐富的三維地震地質成果為礦井開拓、采區設計提供了地質依據。
在工業生產和科學技術研究的各行業中,常常利用PC或工控機對各種數據進行采集。這其中有很多地方需要對各種數據進行采集,如液位、溫度、壓力、頻率等。現在常用的采集方式是通過數據采集板卡,常用的有A/D卡以及422、485等總線板卡。采用板卡不僅安裝麻煩、易受機箱內環境的干擾,而且由于受計算機插槽數量和地址、中斷資源的限制,不可能掛接很多設備。而通用串行總線(UniversalAerialBus,簡稱USB)的出現,很好地解決了以上這些沖突,很容易就能實現低成本、高可靠性、多點的數據采集。
1USB簡介
USB是一些PC大廠商,如Microsoft、Intel等為了解決日益增加的PC外設與有限的主板插槽和端口之間的矛盾而制定的一種串行通信的標準,自1995年在Comdex上亮相以來至今已廣泛地為各PC廠家所支持。現在生產的PC幾乎都配備了USB接口,Microsft的Windows98、NT以及MacOS、Linux、FreeBSD等流行操作系統都增加了對USB的支持。
1.1USB系統的構成
USB系統主要由主控制器(HostController)、USBHub和USB外設(PeripheralsNode)組成系統拓撲結構,如圖1所示。
1.2USB的主要優點
·速度快。USB有高速和低速兩種方式,主模式為高速模式,速率為12Mbps,另外為了適應一些不需要很大吞吐量和很高實時性的設備,如鼠標等,USB還提供低速方式,速率為1.5Mb/s。
·設備安裝和配置容易。安裝USB設備不必再打開機箱,加減已安裝過的設備完全不用關閉計算機。所有USB設備支持熱拔插,系統對其進行自動配置,徹底拋棄了過去的跳線和撥碼開關設置。
·易于擴展。通過使用Hub擴展可撥接多達127個外設。標準USB電纜長度為3m(5m低速)。通過Hub或中繼器可以使外設距離達到30m。
·能夠采用總線供電。USB總線提供最大達5V電壓、500mA電流。
·使用靈活。USB共有4種傳輸模式:控制傳輸(control)、同步傳輸(Synchronization)、中斷傳輸(interrupt)、批量傳輸(bulk),以適應不同設備的需要。
2采用USB傳輸的數據采集設備
2.1硬件組成
一個實用的USB數據采集系統包括A/D轉換器、微控制器以及USB通信接口。為了擴展其用途,還可以加上多路模擬開關和數字I/O端口。
系統的A/D、數字I/O的設計可沿用傳統的設計方法,根據采集的精度、速率、通道數等諸元素選擇合適的芯片,設計時應充分注意抗干擾的性能,尤其對A/D采集更是如此。
在微控制器和USB接口的選擇上有兩種方式,一種是采用普通單片機加上專用的USB通信芯片。現在的專用芯片中較流行的有NationalSemiconductor公司的USBN9602、ScanLogic公司的SL11等。筆者曾經采用Atmel公司的89c51單片機和USBN9602芯片構成系統,取得了良好的效果。這種方案的設計和調試比較麻煩,成本相對而言也比較高。
另一種方案是采用具備USB通信功能的單片機。隨著USB應用的日益廣泛,Intel、SGS-Tomson、Cypress、Philips等芯片廠商都推出了具備USB通信接口的單片機。這些單片機處理能力強,有的本身就具備多路A/D,構成系統的電路簡單,調試方便,電磁兼容性好,因此采用具備USB接口的單片機是構成USB數據采集系統較好的方案。不過,由于具備了USB接口,這些芯片與過去的開發系統通常是不兼容的,需要購買新的開發系統,投資較高。
USB的一大優點是可以提供電源。在數據采集設備中耗電量通常不大,因此可以設計成采用總線供電的設備。2.2軟件構成
Windows98提供了多種USB設備的驅動程序,但好象還沒有一種是專門針對數據采集系統的,所以必須針對特定的設備來編制驅動程序。盡管系統已經提供了很多標準接口函數,但編制驅動程序仍然是USB開發中最困難的一件事情,通常采用WindowsDDK來實現。目前有許多第三方軟件廠商提供了各種各樣的生成工具,象Compuware的driverworks,BlueWaters的DriverWizard等,它們能夠很容易地在幾分鐘之內生成高質量的USB的驅動程序。
設備中單片機程序的編制也同樣困難,而且沒有任何一家廠商提供了自動生成的工具。編制一個穩定、完善的單片機程序直接關系到設備性能,必須給予充分的重視。
以上兩個程序是開發者所關心的,用戶不大關心。用戶關心的是如何高效地通過鼠標來操作設備,如何處理和分析采集進來的大量數據,因此還必須有高質量的用戶軟件。用戶軟件必須有友好的界面,強大的數據分析和處理能力以及為用戶提供進行再開發的接口。
3實現USB遠距離采集數據傳輸
傳輸距離是限制USB在工業現場應用的一個障礙,即使增加了中繼或Hub,USB傳輸距離通常也不超過幾十米,這對工業現場而言顯然是太短了。
現在工業現場有大量采用RS-485傳輸數據的采集設備。RS-485有其固有的優點,即它的傳輸距離可以達到1200米以上,并且可以掛接多個設備。其不足之處在于傳輸速度慢,采用總線方式,設備之間相互影響,可靠性差,需要板卡的支持,成本高,安裝麻煩等。RS-485的這些缺點恰好能被USB所彌補,而USB傳輸距離的限制恰好又是RS-485的優勢所在。如果能將兩者結合起來,優勢互補,就能夠產生一種快速、可靠、低成本的遠距離數據采集系統。
這種系統的基本思想是:在采集現場,將傳感器采集到的模擬量數字化以后,利用RS-485協議將數據上傳。在PC端有一個雙向RS-485~USB的轉換接口,利用這個轉接口接收485的數據并通過USB接口傳輸至PC機進行分析處理。而主機向設備發送數據的過程正好相反:主機向USB口發送數據,數據通過485~USB轉換口轉換為485協議向遠端輸送,如圖3所示。
在圖3的方案中,關鍵設備是485~USB轉換器。這樣的設備在國內外都已經面市。筆者也曾經用NationalSemiconductor公司的USBN9602+89c51+MAX485實現過這一功能,在實際應用中取得了良好的效果。
需要特別說明的是,在485~USB轉換器中,485接口的功能和通常采用485卡的接口性能(速率、驅動能力等)完全一樣,也就是說,一個485~USB轉換器就能夠完全取代一塊485卡,成本要低許多,同時具有安裝方便、不受插槽數限制、不用外接電源等優點,為工業和科研數據采集提供了一條方便、廉價、有效的途徑。
4綜合式采集數據傳輸系統的實現
現在的數據采集系統通常有分布式和總線兩種。采用USB接口易于實現分布式,而485接口則易于實現總線式,如果將這兩者結合起來,則能夠實現一種綜合式的數據采集系統。實現方法是:仍然利用上面提到過的USB~485轉換器實現兩種協議的轉換。由于USB的數據傳輸速率大大高于485,因此在每條485總線上仍然可以掛接多個設備,形成了圖4所示的結構,其中D代表一個設備。
這種傳輸系統適用于一些由多個空間上相對分散的工作點,而每個工作點又有多個數據需要進行采集和傳輸的場合,例如大型糧庫,每個糧倉在空間上相對分散,而每個糧倉又需要采集溫度、濕度、二氧化碳濃度等一系列數據。在這樣的情況下,每一個糧倉可以分配一條485總線,將溫度、濕度、二氧化碳濃度等量的采集設備都掛接到485總線上,然后每個糧倉再通過485總線傳輸到監控中心,并轉換為USB協議傳輸到PC機,多個糧倉的傳輸數據在轉換為USB協議后可以通過Hub連接到一臺PC機上。由于糧倉的各種數據監測實時性要求不是很高,因此采用這種方法可以用一臺PC機完成對一個大型糧庫的所有監測工作。
1.1虛擬儀器的特點
與傳統儀器相比,虛擬儀器具有高效、開放、易用靈活、功能強大、性價比高、可操作性好等明顯優點,具體表現為:
智能化程度高,處理能力強虛擬儀器的處理能力和智能化程度主要取決于儀器軟件水平。用戶完全可以根據實際應用需求,將先進的信號處理算法、人工智能技術和專家系統應用于儀器設計與集成,從而將智能儀器水平提高到一個新的層次。
復用性強,系統費用低應用虛擬儀器思想,用相同的基本硬件可構造多種不同功能的測試分析儀器,如同一個高速數字采樣器,可設計出數字示波器、邏輯分析儀、計數器等多種儀器。這樣形成的測試儀器系統功能更靈活、更高效、更開放、系統費用更低。通過與計算機網絡連接,還可實現虛擬儀器的分布式共享,更好地發揮儀器的使用價值。
可操作性強,易用靈活虛擬儀器面板可由用戶定義,針對不同應用可以設計不同的操作顯示界面。使用計算機的多媒體處理能力可以使儀器操作變得更加直觀、簡便、易于理解,測量結果可以直接進入數據庫系統或通過網絡發送。測量完后還可打印、顯示所需的報表或曲線,這些都使得儀器的可操作性大大提高而且易用、靈活。
1.2虛擬儀器的構成
虛擬儀器的構建主要從硬件電路的設計、軟件開發與設計2個方面考慮。
硬件電路的設計主要根據用戶所面對的任務決定,其中接口設計可選用的接口總線標準包括GPIB總線、VXI總線等。推薦選用VXI總線。因為他具有通用性強、可擴充性好、傳輸速率高、抗干擾能力強以及良好的開放性能等優點,因此自1987被首次推出后迅速得到各大儀器生產廠家的認可,目前VXI模塊化儀器被認為是虛擬儀器的最理想平臺,是儀器硬件的發展方向。由于VXI虛擬儀器的硬件平臺的基本組成是一些通用模塊和專用接口。因此硬件電路的設計一般可以選擇用現有的各種不同的功能模塊來搭建。通用模塊包括:信號調理和高速數據采集;信號輸出與控制;數據實時處理。這3部分概括了數字化儀器的基本組成。將具有一種或多種功能的通用模塊組建起來,就能構成任何一種虛擬儀器。例如使用高速數據采集模塊和高速實時數據處理模塊就能構成1臺示波器、1臺數字化儀或1臺頻譜分析儀;使用信號輸出與控制模塊和實時數據處理模塊就能構成1臺函數發生器、1臺信號源或1臺控制器。專用接口是針對特定用途儀器需要的設計,也包括一些現場總線接口和各類傳感器接口。系統的主要硬件包括控制器、主機箱和儀器模塊。常用的控制方案有GPIB總線控制方式的硬件方案、MXI總線控制方式的硬件方案、嵌入式計算機控制方式的硬件方案3種。VXI儀器模塊又稱為器件(devices)。VXI有4種器件:寄存器基器件、消息基器件、存儲器器件和擴展器件。存儲器器件不過是專用寄存器基器件,用來保存和傳輸大量數據。擴展器目前是備用件,為今后新型器件提供發展通道。將VXI儀器制作成寄存器基器件,還是消息基器件是首先要做出的決策。寄存器基器件的通信情況極像VME總線器件,是在低層用二進制信息編制程序。他的明顯優點在于速度寄存器基器件完全是在直接硬件控制這一層次上進行通信的。這種高速通信可以使測試系統吞吐量大大提高。因此,寄存器基器件適用于虛擬儀器中信號/輸出部分的模塊(如開關、多路復用器、數/模轉換輸出卡、模/
數轉換輸入卡、信號調理等)。消息基器件與寄存器基器件不同,他在高層次上用ASCII字符進行通信,與這種器件十分相似是獨立HPIB儀器。消息基器件用一組意義明確的“字串行協議”相互進行通信,這種異步協議定義了在器件之間傳送命令和數據所需的掛鉤要求。消息基器件必須有CPU(或DSP)進行管理與控制。因此,消息基器件適用于虛擬儀器中數字信號處理部分的模塊。
軟件的開發與設計包括3部分:VXI總線接口軟件、儀器驅動軟件和應用軟件(軟面板)。軟件結構如圖1所示。
VXI總線接口軟件由零槽控制器提供,包括資源管理器、資源編輯程序、交互式控制程序和編程函數庫等。該軟件在編程語言和VXI總線之間建立連接,提供對VXI背板總線的控制和支持,是實現VXI系統集成的基礎。
儀器驅動程序是完成對某一特定儀器的控制與通信的軟件程序,也即模塊的驅動軟件,他的設計必須符合VPP的2個規范,即VPP3.1《儀器驅動程序結構和模型》和VPP3.2《儀器驅動程序設計規范》。
“軟面板”設計就是設計具有可變性、多層性、自、人性化的面板,這個面板應不僅同傳統儀器面板一樣具有顯示器、LED、指針式表頭、旋鈕、滑動條、開關按鈕、報警裝置等功能部件,而且應還具有多個連貫操作面板、在線幫助功能等。
2虛擬儀器在數據采集中的應用
利用虛擬儀器制作數據采集器可以按照硬件設計、軟件設計兩個步驟來完成。
2.1硬件設計
硬件設計要完成以下內容:
1)模/數轉換及數據存儲
設置具有通用性的數據自動采集系統,一般應滿足能對多路信號盡可能同步地進行采集,為了使所采集到的數據不但能夠在數據采集器上進行存儲,而且還能及時地在采集過程中將數據傳送到上位機,選用存儲量比較適中的先進先出存儲器,這樣既能滿足少量數據存儲的需要,又能在需要實時傳送數據時,在A/D轉換的同時進行數據傳送,不丟失任何數據。)VXI總線接口
VXI總線數據采集器通常可以利用兩種VXI總線通用接口消息基接口和寄存器基接口。消息基接口的作用是通過總線傳送命令,從而控制儀器硬件的操作。通用寄存器基接口是由寄存器簡單的讀寫來控制儀器硬件的操作。利用消息基接口進行設計,具體消息基接口的框圖見圖2。
3)采樣通道控制
為了滿足幾種典型系統通道控制的要求,使通道的數量足夠多,通道的選取比較靈活,可以利用寄存器電路、可預置計數器電路以及一些其他邏輯電路的配合,將采樣通道設計成最多64路、最少2路可以任意選擇,而且可以從任意一路開始采樣,也可以到任意一路結束采樣,只要截止通道號大于起始通道號就可以了。整個控制在虛擬儀器軟面板上進行操作,通過消息基接口將命令寫在這部分的控制寄存器中,從而設置計數器的初值以及采樣的通道總數。
4)定時采樣控制
由于不同的自動測試系統對采樣時間間隔的要求不同,以及同一系統在不同的試驗中需要的采樣時間間隔也不盡相同,故可以采用程控的方式將采樣時間間隔設置在2μs~13.0ms之間任意選擇,可以增加或減少的最小單位是2μs。所有這些選擇設置可以在虛擬儀器軟面板上進行。
5)采樣點數控制
根據不同測試系統的需求,將采樣點數設計成可在一個比較大的范圍中任意選擇,該選擇同樣是在軟面板上進行。
6)采樣方式控制
總結各種自動測試系統的采樣方式不外乎軟件觸發采樣和硬件觸發采樣。在硬件觸發采樣中又包括同步整周期采樣和非同步整周期采樣,這2種采樣又可以是定時進行的或等轉速差進行的。所有這些采樣方式,對于數據采集器來說都可以在軟面板上進行選擇。
2.2軟件設計
軟件是虛擬儀器的關鍵,為使VI系統結構清晰簡潔,一般可采用組件化設計思想,將各部分彼此獨立的軟件單元分別制成
標準的組件,然后按照系統的總體要求組成完整的應用系統,一個標準的組件化的虛擬儀器軟件系統,如圖3所示。
應用軟件為用戶提供了建立虛擬儀器和擴展其功能的必要工具,以及利用PC機、工作站的強大功能。同時VPP聯盟提出了建立虛擬儀器標準結構庫(VISA)的建議,為虛擬儀器的研制與開發提供了標準。這也進一步使由通用的VXI數據采集模塊、CPU/DSP模塊來構成虛擬儀器成為可能。
基于虛擬儀器的數據采集器的軟件包括系統管理軟件、應用程序、儀器驅動軟件和I/O接口軟件。以往這4部分需要用戶自己組織或開發,往往很困難,但現在NI公司提供了所有這四部分軟件,使應用開發比以往容易得多。
下面簡單介紹以NI公司的LabWindows/CVI為開發環境,來進行VXI虛擬儀器的驅動程序開發的方法。
第一步:生成儀器模塊的用戶接口資源文件(UIR)。用戶接口資源、文件是儀器模塊開發者利用LabWindows/CVI的用戶界面編輯器為儀器模塊設計的一個圖形用戶界面(GUI)。一個LabWindows/CVI的GUI由面板、命令按鈕、圖標、下拉菜單、曲線、旋鈕、指示表以及許多其他控制項和說明項構成。
第二步:LabWindows/CVI事件驅動編程。應用程序開發環境LabWindows/CVI中設計一個用戶接口,實際上是在用戶計算機屏幕上定義一個面板,他由各種控制項(如命令按鈕、菜單、曲線等)構成。用戶選中這些控制項就可以產生一系列用戶接口事件(events)。例如,當用戶單擊一個命令按鈕,這個按鈕產生一個用戶接口事件,并傳遞給開發者編寫的C語言驅動程序。這是運用了Windows編程的事件驅動機制。LabWindows/CVI中使用不同類型的控制項,在界面編輯器中將顯示不同類型的信息,并產生不同操作的接口事件。在LabWindows/CVI的開發平臺中,對事件驅動進行C程序編程時可采用2種基本的方法:回調函數法和事件循環處理法。
回調函數法是開發者為每一個用戶界面的控制項寫一個獨立的用戶界面的控制函數,當選中某個控制項,就調用相應的函數進行事件處理。在循環處理法中,只處理GUI控制項所產生的COMMIT事件。通過GetUserEvent函數過濾,將所有的COMMIT事件區分開,識別出是由哪個控制項所產生的事件,并執行相應的處理。
第三步:應用函數/VI集與應用程序軟件包編寫。應用函數/VI集需針對具體儀器模塊功能進行編程,應用程序軟件包只是一些功能強大、需要完善的數據處理能力的模塊才需要提供,如波形分析儀模塊、DSP模塊等。
3結語
本文探討了虛擬儀器的基本組成,以及實際的虛擬儀器軟硬件設計的一般方法,這些方法經過實際設計工作運用證明是可靠的,可供系統工程技術人員在組建具體的基于VXI總線的虛擬儀器數據采集、測試時參考使用。
參考文獻
1]趙勇.虛擬儀器軟件平臺和發展趨勢[J].國外電子測量技術,2002,(1)
2]陳光禹.VXI總線測試平臺[M].北京:電子科技大學出版社,1996
隨著數字信號處理理論和計算機的不斷發展,現代工業生產和科學技術研究都需要借助于數字處理方法。進行數字處理的先決條件是將所研究的對象進行數字化,因此數據采集與處理技術日益得到重視。在圖像處理、瞬態信號檢測、軟件無線電等一些領域,更是要求高速度、高精度、高實時性的數據采集與處理技術。現在的高速數據采集處理卡一般采用高性能數字信號處理器(DSP)和高速總線技術的框架結構。DSP用于完成計算量巨大的實時處理算法,高速總線技術則完成處理結果或者采樣數據的快速傳輸。DSP主要采用TI或者ADI公司的產品,高速總線可以采用ISA、PCI、USB等總線技術。目前,使用比較廣泛的是PCI總線,雖然其有很多優點,但是存在如下嚴重缺陷;易受機箱內環境的影響,受計算機插槽數量的地址、中斷資源的限制而不可能掛接很多設備等。USB總線由于具有安裝方便、高帶這、易擴展等優點,其中USB2.0標準有著高達4800bps的傳輸速率,已經逐漸成為計算機接口的主流。本文介紹一個采用USB2.0接口和高性能DSP的高速數據采集處理系統,主要是為光纖通信中密集波分復用系統的波長檢測與調整所設計的,也可以應用于像圖像處理、雷達信號處理等相關領域。
1高速數據采集處理系統原理及器件選用
整個高速數據采集處理系統的硬件構成為:高速ADC、高速大容量數據緩沖、高性能DSP和USB2.0接口。系統的原理框圖如圖1所示。
高性能DSP采用TI公司的TMS320C6000系列定點DSP中的TMS320C6203B;高速ADC采用TI公司的ADS5422,14位采樣,最高采樣頻率為62MHz;PC機接口采用USB2.0,理論最大數據傳輸速率為480Mbps,器件選用Cypress公司EZ-USBFX2系列中的CY7C68013;數據緩沖采用IDT公司的高速大容量FIFO器件IDT72V2113;程序存儲在Flash存儲器中,器件選用SST291E010。下面逐一介紹各個器件的主要特性。
(1)TMS320C6203B
TMS320C6203B是美國TI公司高性能數字信號處理器TMS320C6000系列的一種,采用修正的哈佛總線結構,共有1套256位的程序總線、兩套32位的程序總線和1套32位的DMA專用總線;內部有8個功能單元可以并行操作,工作頻率最大為300MHz,最大處理能力為2400MIPS;內部集成了設備接口,如外部存儲器接口(EMIF)、外部擴展總線(XB)、多通道緩沖串口(McBSPs)和主機接口(HPI),與外部存儲器、協處理器、主機以及串行設備的連接非常方便。
(2)ADS5422
ADS5422是由美國TI公司生產的高速并行14位模數轉換器,其最高采樣頻率達到62MHz,采樣頻率為100MHz時,SNR為72dB,SFDR為85dB。模擬信號輸入可以是單端輸入方式或者差分輸入方式,最高輸入信號峰峰值為4V,單一5V電源供電。輸出數字信號完全兼容3.3V器件,并且提供輸入信號滿量程標志以及輸出數字信號有效標志,從而方便和其它器件的連接。
(3)IDT72V2113
IDT72V2113是由美國IDT公司生產的高速大容量先進先出存儲器件(FIFO)。其最高工作頻率為133MHz;容量為512KB,可以通過引腳方便地將容量設置成512K×9bit或者256K×18bit兩種方式;IDT72V2113可以設置標準工作模式或者FWFT(FirstWordFallThrough)工作模式,并提供全滿、半滿、全空、將滿以及將空等五種標志信號;非常方便進行容量擴展。容量擴展是IDT72V2113的一大特點,擴展方式可分為字長擴展和字深擴展。通過容易擴展可以由多片IDT72V2113形式更大容量的緩沖,并且電路連接簡單、可靠。
(4)CY7C68013
CY7C68013是美國Cypress公司推出的USB2.0芯片,是一個全面集成的解決方案,它占用更少的電路板空間,并縮短開發時間。CY7C68013主要結構如下:包括1個8051處理器、1個智能串行接口引擎(SIE)、1個USB收發器、16KB片上RAM(其中包括4KBFIFO)存儲器以主1個通用可編程接口(GPIF)。
圖3
CY7C68013獨特的架構具有如下特點:
①包括1個智能串行的接口引擎(SIE),它執行所有基本的USB功能,將嵌入的MCU解放出來以用于實現其它豐富的功能,以保證持續高速有效的數據傳輸;
②具有4KB的大容量FIFO用于數據緩沖,當作為從設備時,可采用Synchronous/AsynchronousFIFO接口與主設備(如ASIC,DSP等)連接;當作為主設備時,可通過通用可編程接口(GPIF)形式任意的控制波形來實現與其它從設備連接,能夠輕易地兼容絕大多數總線標準,包括ATA、UTOPIA、EPP和PCMCIA等;
③固件軟配置,可將需要在CY7C68013上運行的固件,存放在主機上,當USB設備連上主機后,下載到設備上,這樣就實現了在不改動硬件的情況下很方便地修改固件;
④能夠充分實現USB2.0(2000版)協議,并向下兼容USB1.1。
2高速數據采集處理系統的硬件連接
2.1模擬信號輸入電路
ADS5422的模擬信號輸入可以采取單端輸入方式或者差分輸入方式。單端輸入方式連接比較簡單,但抗噪性能差,所以我們采取差分輸入方式,以盡量減少信號噪聲以及電磁的干擾,尤其是采用差分輸入方式可以將所有偶次諧波通過正反反個輸入信號基本上互相抵消。
ADS5422的模擬信號差分輸入方式需要同時使用IN和IN引腳,其硬件連接方法如圖2所示。圖中,首先使用放大器OPA687以及RF變壓器將單端信號轉換成差分信號,然后輸入到ADS5422,其中ADS5422的公共端CM和RF變壓器的公共端連接,RF變壓器的匝數比應該根據信號確定。為了增強信號的穩定性,在ADS5422每個信號的輸入前加上RC低通濾波電路,圖2中推薦Rt為50Ω,Rin為22Ω,Cin為10pF,這些元件也可以根據具體的信號進行調整,一般情況下電阻值在10~100Ω之間,電容值在10~200pF之間。
圖4
2.2ADS5422與IDT72V2113的連接
雖然ADS5422的供電電壓為5V,但其輸出的數字信號電平兼容3.3V電平,因此不需要電平轉換芯片,只要將ADS5422的數據線與IDT72V2113的數據線相連即可。但是,ADS5422采樣和存儲采樣數據到IDT72V3113中,這兩個操作對時序配置要求非常嚴格,如果兩者時序關系配合得不是很好,就會發生數據存儲出錯或者掉數。如何簡單、可靠地實現采樣和存儲是設計這部分電路的難點。一般的方法是,通過可編程邏輯器件(CPLD或FPGA)來實現ADC與FIFO存儲器之間的時序,即由CPLD或FPGA來控制ADC采樣和FIFO存儲器的寫操作。但是,通過仔細查看ADS5422和IDT72V2113的工作時序圖,找到了一種簡單可靠的實現方法,此方法不需要CPLD或FPGA就可以實現兩者的時序配合。
首先分析ADS5422的工作時序圖,如圖3所示,其中t1為采樣時鐘上跳沿到輸出數據無效之間的時間間隔,即數據保持時間,其大小為3ns。查看IDT72V2113的相關文檔可知,對其進行寫操作時,數據線的保持時間大于1ns即可滿足要求。因此,ADS5422與IDT72V2113之間的時序配合可以采用以下簡單的實現方法:ADS5422的采樣時鐘和IDT72V2113的寫時鐘采用同一個時鐘源,這樣,每一個時鐘的上跳沿,ADS5422進行模數轉換,同時將上個時鐘周期內輸出的采樣數據存儲到DT72V2113內部。
2.3C6203B與IDT72V2113的連接
C6203B與IDT72V2113的連接是通過C6203B外部擴展總線(XB)。C6203B的外部擴展總線(XB)寬度為32位,可以實現與同步FIFO無縫連接,可以同時無縫實現四個FIFO寫接口或者實現3個FIFO寫接口及1個FIFO讀接口。通過無縫連接實現FIFO讀接口,FIFO必須連接到XCE3上,數據通過DMA方式從IDT72V2113傳送到C6203B的片內RAM中,具體連接如圖4所示。圖4中,4片IDT72V2113經過字長和字深擴展形成2MB的數據輸入緩沖,輸入數據總線(D0~D15)、輸出數據總線(Q0~Q15)、讀使能(REN)、讀時鐘(RCLK)、寫使能(WEN)、寫時鐘(WCLK)和將空標志信號(PAE)是由4片IDT72V2113的相應信號組合形成的;XCE3為外部擴展總線(XB)的空間選擇信號,XFCLK為外部擴展總線(XB)的輸出時鐘,EXT_INT4是C6203B的外部中斷信號4,DX0用作通用輸出口,控制IDT72V2113的寫使能信號。
2.4CY7C68013與C6203B的連接
CY7C68013是一個非常方便的USB2.0實現方案,它提供與DSP或者MCU連接的接口,連接方法有兩種:SlaveFIFOs和Master可編程接口GPIF。在本方案中,選用了SlaveFIFOs方式,異步讀寫。SlaveFIFOs方式是從機方式,DSP可以像讀寫普通FIFO一樣對CY7C68013內部的多層緩沖FIFO進行讀寫。具體的電路連接如圖5所示。FLAGA、FLAGB和FLAGC是CY7C68013內部FIFO的狀態標志,C6203B通過通用I/O口來獲得FIFO的空、半滿(由用戶設定半滿的閾值)和滿等狀態信息。C6203B對CY7C68013內部FIFO的選擇,以及數據包的提交也是通過通用I/O口來實現。C6203B通過EMIF接口的CE2空間對CY7C68013進行讀寫操作。工作過程為:DSP通過USB向PC發送數據時,首先查看空、半滿和滿這三個狀態信號,然后向USB寫入適當大小的數據,以保證數據不會溢出;PC機通過USB向DSP發送命令字時,USB通過中斷方式通知DSP讀取命令字。
3USB軟件設計
USB接口開發中有相當大的工作量是關于USB軟件的開發,USB軟件包括三方面的工作:固件(firmware)設計,驅動程序設計和主機端應用程序的設計。
3.1固件設計
固件是運行在CY7C68013上的程序,可采用匯編語言或C語言設計,其主要功能是控制CY7C68013接收并處理USB驅動程序的請求(如請求設備描述符、請求或設置設備狀態,請求或設置設備接口等USB2.0標準請求)、控制CY7C68013接收應用程序的控制指令、通過CY7C68013存放數據并實時上傳至PC等。
本方案中的固件設計思路如下:
①使CY7C68013工作于異步從FIFO(AsynchronousSlaveFIFO)模式。相應的寄存器操作為:IFCONFIG=0xCB。
CY7C68013具有多種工作方式,除了可以作為能夠產生任意控制波形的主控芯片外,即使作為從設備,也可選擇異步還是同步方式。由于DSP的關系,本方案選擇異步從方式。
②將4KB的FIFO對應兩個端點(EndPoint),即EndPoint2和EndPoint6。相應的寄存器操作為:EP2CFG=0xA0,EP6CFG=0xF2。
EndPoint2與EndPoint6分別對應2KB的內裝中FIFO(下文分別稱為FIFO2、FIFO6),存放USB需要上傳與接收的數據。其中EndPoint2為OUT型,負責從主機接收數據;EndPoint6為IN型,負責向主機發送數據。另外,EndPoint2與EndPoint6均采用批量(BULK)傳輸方式,這種方式相對于其它USB2.0定義的傳輸方式具有數據可靠、傳輸速率高等特點,是最常用的傳輸方式。
③對FIFO進行配置。相應的寄存器操作為:EP2FIFOCFG=0x11,EP6FIFOCFG=0x0D。
本方案將FIFO2、FIFO6設置成自動方式。這里所謂“自動”,是指在數據的傳輸過程中,不需要CY7C68013的8051內核參與。如有特殊需要可以設成手動方式,這樣8051就可以對數據進行修改,如圖6所示。另外還將FIFO配置成16位接口。
④其它操作。為了完善整個USB傳輸功能,提高固件的健壯性,還必須配以其它設計,這包括FIFO的自動清空復位,個性化命令等功能,在此就不進行詳細討論了。
3.2驅動程序設計
USB系統驅動程序采用分層結構模型,分別為較高級的USB設備驅動程序和較低級的USB函數層。其中USB函數層由兩部分組成:較高級的通用串行總線驅動程序模塊(USBD)和較低級的主控制器驅動程序模塊(HCD)。在上述USB分層模塊中,USB函數層(USBD及HCD)由Windows提供,負責管理USB設備驅動程序和USB控制器之間的通信;加載及卸載USB驅動程序;與USB設備通用端點(EndPoint)建立通信并執行設備配置、數據與USB協議框架和打包格式的雙向轉換任務。目前Windows提供有多種USB設備驅動程序,但并不針對實時數據采集設備,因此USB設備驅動程序需由開發者自己編寫。
開發USB設備驅動程序,可采用Numega公司的開發包DriverWorks和Microsoft公司的2000DDK,并以VC++6.0作為輔助開發環境。DriverWorks提供的驅動向導,可根據用戶的需要,自動生成代碼框架,減少了開發的難度,縮短了開發的周期。但是,Cypress公司為了方便用戶開發USB接口,在CY7C68013的開發包中提供了一個通用驅動程序,該程序可不加修改,經DDK編譯后直接使用。在本設計方案中,采用的就是這個通用驅動程序。
3.3應用程序設計
主機應用程序是主要實現從高速數據采集處理板該取處理后的數據、存儲、顯示處理結構以及向數據采集處理板發送控制命令。在Windows2000下,我們使用的應用程序開發工具是VC++6.0。
4系統工作原理