虛擬儀器是以計算機硬件為平臺,以傳感器、模塊化硬件接口卡以及測量軟件構成的虛實相結合的測量系統。虛擬儀器的數據和控制信號必須通過計算機總線來獲取和傳輸。現有的虛擬儀器大多建立在PC、PCI、ISA等并行通用總線或IEEE488、VXI、PXI等儀器總線的基礎上。在仔細研究了虛擬儀器的設計制作后,不難發現虛擬儀器采用了現代計算機的外圍接口和數據處理軟件外,其數據采集部分硬件設計和傳統的儀器制作過程是相同的。總的來說,虛擬儀器的設計分硬件部分和軟件部分兩大塊設計。
無論是傳統的儀器還是虛擬儀器都少不了信號采集部分,傳統的儀器把信號采集后加以信號處理并直接顯示出來,沒有和計算機交互的過程。虛擬儀器是將信號采集后的結果利用計算機接口技術送往計算機進行后期的處理和顯示。所以我們的虛擬儀器的硬件設計包括數據采集板卡和板卡接口的設計。如果板卡接口采用并行總線(PCI、ISA等),那么板卡裝卸麻煩,易受到機箱內環境的干擾,而且受計算機插槽數量、電源功率以及地址、中斷資源的限制;如果使用的儀器總線,其成本和時間上受限制。在此我們采用USB總線作為硬件板卡接口,USB總線解決了一般通用總線的缺點,具有速度快、連線少、即插即用、自帶電源以及支持熱插拔等特性,并且其開發時間較短,能夠實現便攜式的要求。因而我們擬設計的虛擬儀器的硬件板卡是帶有USB接口的數據采集卡。
虛擬儀器軟件部分的設計包括硬件板卡底層固件、板卡驅動程序、上層信號處理程序以及顯示操作面板設計。其中,驅動程序設計采用DriverStudio驅動程序開發工具,采用美國NI公司的WINDOWS/CVI進行信號處理顯示和用戶操作面板的設計。
A) 硬件的設計
虛擬儀器的好壞關鍵是硬件部分的設計,而硬件的關鍵是數據采集卡的設計。硬件部分主要是數據采集卡及其接口電路設計硬件部分完成信號的接受及模擬信號的預處理和轉換,經模/數轉換的數據送至計算機進行處理及結果顯示等硬件功能。數據采集卡和PC機是虛擬儀器的基本硬件,是應用軟件的物理環境。數據采集卡是虛擬儀器的重要部件和*需要開發的硬件電路,其元件特性、電路結構是決定虛擬儀器性能指標的主要因素。根據需設計的虛擬儀器的用途和性能要求,擬設計的數據采集板卡性能指標如下:①zui大數據采集率為1MSPS;②信號輸入范圍為+40伏~-40伏,。我們選用了美信MAXIM公司的數模轉換器MAXIM114,它的zui大信號采集數率為1MSPS。對于USB接口芯片,我們采用Philips公司的PDIUSBD12芯片,PDIUSBD12芯片是高性能USB接口芯片,集成了SIE、FIFO存儲器、收發器以及電壓調整器,它符合USB1.1版本規范,在批量模式和同步模式下均可實現1MB/S的數據傳輸速率,能夠滿足擬設計的虛擬儀器的要求。
數據采集卡的工作原理:
首先,PC機上發出啟動數據采集的請求,MAXIM114開始進行信號采樣以及模數轉換,模數轉換后的結果存儲到雙端口存儲器IDT7024中,IDT7024的存儲深度為2K,單片機SST89E564通過輪詢計數器54HC4040的BA10位,一旦發現此位變為高電位,便從雙端口數據存儲器中讀出數據,并把數據傳給USB接口送往PC機。其中,當雙端口存儲器IDT7024存滿2K個數據時便給計數器54HC4040發出清零信號,從此雙端口存儲器IDT7024進行下一輪的2K數據存儲的過程。USB接口中的數據傳輸方式有控制傳輸、中斷傳輸、批量傳輸和同步傳輸。根據USB接口芯片PDIUSBD12的特點,在此,USB數據傳輸采用非同步的批量傳輸方式,單片機SST89E564一次只能發送64字節的數據給USB接口芯片PDIUSBD12。
B) 軟件設計
軟件部分的設計分為:數據采集板卡底層固件開發、板卡的驅動程序的開發和上層應用程序的開發。
(1)對于帶有USB接口的數據采集板卡的固件開發,主要有主循環程序(發送USB請求、處理USB總線事件和自定義功能處理)、硬件提取層程序(對單片機的I/O口、數據總線等硬件接口進行操作)、PDIUSBD12命令接口程序(對PDIUSBD12器件進行操作的模塊子程序集)、中斷服務程序(當PDIUSBD12向單片機發出中斷請求時,讀取PDIUSBD12的中斷傳輸來的數據,并設定事件標志和Setup包數據緩沖區傳輸給主循環程序)和標準請求處理程序(對USB的標準設備請求進行處理)。全部的程序都是用C51編寫的,在這不列出具體的程序。
(2)在編好了單片機中的固件程序以后,進行USB板卡的驅動程序編寫。開發驅動程序的工具有windriver、微軟提供的DDK和Compuware的DriverStudio工具包,我們使用DriverStudio驅動程序開發工具,對于熟悉面向對象編程的軟件開發員,DriverStudio是一個良好的驅動開發工具,并且開發時間比較短。DriverStudio工具包中的DriverWorks提供了三個類:KDriver、KPnpDevice和KPnpLowerDevice,這三個類用于實現WDM驅動程序的框架結構。
在用到以上類外,開發USB驅動程序還用到了DriverWorks提供的三個用于實現USB設備操作的類:KUsbLowerDevice、KUsbInterface和KUsbPipe類。其中,KPnpLowerDevice實例代表端點0,允許USB驅動程序通過默認控制管道控制USB設備,如配置USB設備,傳輸各種控制和狀態請求;KusbInterface類的作用更多是結構上的而非功能上的,其成員函數幾乎不與實際物理設備交互作用,驅動程序用這個類獲取接口和管道信息;KusbPipe類對應與管道,管道是主機和一個端點的信息連接,這個類用于初始化管道信息和管道操作控制。驅動程序代碼在此略。
(3)虛擬儀器軟面板的開發在LABWINDOWS提供的CVI環境下完成的。這種圖形開發環境比其它語言(C和VC)開發的圖形界面不僅容易而且效果更好。并且這個工具提供了許多信號處理算法的功能模塊。用戶可以在應用控制面板上自由組合所需要的信號處理功能。能夠實現數據處理和信號較正確的實時顯示的效果。如果有C或者VC編程基礎,可以在較短時間編寫出比較的所要的應用程序。在這不列寫出具體的程序。
無論是傳統的儀器還是虛擬儀器都少不了信號采集部分,傳統的儀器把信號采集后加以信號處理并直接顯示出來,沒有和計算機交互的過程。虛擬儀器是將信號采集后的結果利用計算機接口技術送往計算機進行后期的處理和顯示。所以我們的虛擬儀器的硬件設計包括數據采集板卡和板卡接口的設計。如果板卡接口采用并行總線(PCI、ISA等),那么板卡裝卸麻煩,易受到機箱內環境的干擾,而且受計算機插槽數量、電源功率以及地址、中斷資源的限制;如果使用的儀器總線,其成本和時間上受限制。在此我們采用USB總線作為硬件板卡接口,USB總線解決了一般通用總線的缺點,具有速度快、連線少、即插即用、自帶電源以及支持熱插拔等特性,并且其開發時間較短,能夠實現便攜式的要求。因而我們擬設計的虛擬儀器的硬件板卡是帶有USB接口的數據采集卡。
虛擬儀器軟件部分的設計包括硬件板卡底層固件、板卡驅動程序、上層信號處理程序以及顯示操作面板設計。其中,驅動程序設計采用DriverStudio驅動程序開發工具,采用美國NI公司的WINDOWS/CVI進行信號處理顯示和用戶操作面板的設計。
A) 硬件的設計
虛擬儀器的好壞關鍵是硬件部分的設計,而硬件的關鍵是數據采集卡的設計。硬件部分主要是數據采集卡及其接口電路設計硬件部分完成信號的接受及模擬信號的預處理和轉換,經模/數轉換的數據送至計算機進行處理及結果顯示等硬件功能。數據采集卡和PC機是虛擬儀器的基本硬件,是應用軟件的物理環境。數據采集卡是虛擬儀器的重要部件和*需要開發的硬件電路,其元件特性、電路結構是決定虛擬儀器性能指標的主要因素。根據需設計的虛擬儀器的用途和性能要求,擬設計的數據采集板卡性能指標如下:①zui大數據采集率為1MSPS;②信號輸入范圍為+40伏~-40伏,。我們選用了美信MAXIM公司的數模轉換器MAXIM114,它的zui大信號采集數率為1MSPS。對于USB接口芯片,我們采用Philips公司的PDIUSBD12芯片,PDIUSBD12芯片是高性能USB接口芯片,集成了SIE、FIFO存儲器、收發器以及電壓調整器,它符合USB1.1版本規范,在批量模式和同步模式下均可實現1MB/S的數據傳輸速率,能夠滿足擬設計的虛擬儀器的要求。
數據采集卡的工作原理:
首先,PC機上發出啟動數據采集的請求,MAXIM114開始進行信號采樣以及模數轉換,模數轉換后的結果存儲到雙端口存儲器IDT7024中,IDT7024的存儲深度為2K,單片機SST89E564通過輪詢計數器54HC4040的BA10位,一旦發現此位變為高電位,便從雙端口數據存儲器中讀出數據,并把數據傳給USB接口送往PC機。其中,當雙端口存儲器IDT7024存滿2K個數據時便給計數器54HC4040發出清零信號,從此雙端口存儲器IDT7024進行下一輪的2K數據存儲的過程。USB接口中的數據傳輸方式有控制傳輸、中斷傳輸、批量傳輸和同步傳輸。根據USB接口芯片PDIUSBD12的特點,在此,USB數據傳輸采用非同步的批量傳輸方式,單片機SST89E564一次只能發送64字節的數據給USB接口芯片PDIUSBD12。
B) 軟件設計
軟件部分的設計分為:數據采集板卡底層固件開發、板卡的驅動程序的開發和上層應用程序的開發。
(1)對于帶有USB接口的數據采集板卡的固件開發,主要有主循環程序(發送USB請求、處理USB總線事件和自定義功能處理)、硬件提取層程序(對單片機的I/O口、數據總線等硬件接口進行操作)、PDIUSBD12命令接口程序(對PDIUSBD12器件進行操作的模塊子程序集)、中斷服務程序(當PDIUSBD12向單片機發出中斷請求時,讀取PDIUSBD12的中斷傳輸來的數據,并設定事件標志和Setup包數據緩沖區傳輸給主循環程序)和標準請求處理程序(對USB的標準設備請求進行處理)。全部的程序都是用C51編寫的,在這不列出具體的程序。
(2)在編好了單片機中的固件程序以后,進行USB板卡的驅動程序編寫。開發驅動程序的工具有windriver、微軟提供的DDK和Compuware的DriverStudio工具包,我們使用DriverStudio驅動程序開發工具,對于熟悉面向對象編程的軟件開發員,DriverStudio是一個良好的驅動開發工具,并且開發時間比較短。DriverStudio工具包中的DriverWorks提供了三個類:KDriver、KPnpDevice和KPnpLowerDevice,這三個類用于實現WDM驅動程序的框架結構。
在用到以上類外,開發USB驅動程序還用到了DriverWorks提供的三個用于實現USB設備操作的類:KUsbLowerDevice、KUsbInterface和KUsbPipe類。其中,KPnpLowerDevice實例代表端點0,允許USB驅動程序通過默認控制管道控制USB設備,如配置USB設備,傳輸各種控制和狀態請求;KusbInterface類的作用更多是結構上的而非功能上的,其成員函數幾乎不與實際物理設備交互作用,驅動程序用這個類獲取接口和管道信息;KusbPipe類對應與管道,管道是主機和一個端點的信息連接,這個類用于初始化管道信息和管道操作控制。驅動程序代碼在此略。
(3)虛擬儀器軟面板的開發在LABWINDOWS提供的CVI環境下完成的。這種圖形開發環境比其它語言(C和VC)開發的圖形界面不僅容易而且效果更好。并且這個工具提供了許多信號處理算法的功能模塊。用戶可以在應用控制面板上自由組合所需要的信號處理功能。能夠實現數據處理和信號較正確的實時顯示的效果。如果有C或者VC編程基礎,可以在較短時間編寫出比較的所要的應用程序。在這不列寫出具體的程序。
下一篇:如何選用虹潤智能儀表
全年征稿/資訊合作
聯系郵箱:1271141964@qq.com
免責聲明
- 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://www.xksjj.com。違反者本網將追究相關法律責任。
- 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
2025成都國際無人系統(機)技術及設備展覽會
展會城市:成都市展會時間:2025-10-10