freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于c8051f340的陀螺測斜地面系統(tǒng)設計碩士學位論文-資料下載頁

2025-06-24 18:57本頁面
  

【正文】 程系統(tǒng)的能力,提供了實現(xiàn)儀器編程和數(shù)據(jù)采集系統(tǒng)的便捷途徑。使用它進行原理研究、設計、測試并實現(xiàn)儀器系統(tǒng)時,可以大大提高工作效率。LabVIEW是一個工業(yè)標準的圖形化開發(fā)環(huán)境,它結(jié)合了圖形化編程方式的高性能于靈活性以及專為測試、測量與自動化控制應用設計的高端高性能與配置功能,能為數(shù)據(jù)采集、儀器控制、測量分析與數(shù)據(jù)顯示等各種應用提供了必要的開發(fā)工具。 LabVIEW中的基本概念用LabVIEW開發(fā)出的應用程序被稱作VI(Virtual Instrument的英文縮寫,即虛擬儀器),所有的LabVIEW應用程序包括前面板(Front Panel)、后面板(Block Diagram) 兩部分[23]。●前面板前面板是應用程序的界面,是人機交互的窗口,主要有控制量(Controls)和顯示量(Indicators)構(gòu)成。當程序運行時,用戶通過控制量輸入數(shù)據(jù)和控制程序運行,而顯示量則主要用于顯示程序的運行結(jié)果。如果將一個VI程序比作一臺儀器的話,那么,控制量就是儀器的數(shù)據(jù)輸入端口和控制開關,用于給程序提供輸入數(shù)據(jù)和控制信號,而顯示量則是儀器的顯示窗口,用于顯示經(jīng)過分析、處理后的結(jié)果?!窈竺姘搴竺姘迨荲I的代碼部分,也是VI的核心,主要由圖標、連線和框圖構(gòu)成,這些圖標、連線和框圖實際上就是一些常量、變量、函數(shù)、VIs 和Express VIs,正是它們構(gòu)成了VI的主題。如果把VI的前面板比作一個儀器的操作面板,用于信號的輸入、結(jié)果的顯示以及控制儀器的運行,那么后面板就是儀器中的電路板和電路元件,主要用來對信號進行分析和處理?!駡D標 圖標是LabVIEW做為G語言這種圖形化編程語言的特色之一,是圖形化了的常量、變量、函數(shù)、VIs和Express VIs。圖標至少有一個輸入端口接收其它圖標的數(shù)據(jù)或一個輸出端口向其它圖標傳遞數(shù)據(jù)。LabVIEW中的圖標如圖31所示:圖 31 LabVIEW中圖標示例●連線 連線是圖標的數(shù)據(jù)端口間的數(shù)據(jù)通道,他們類似于普通程序中的賦值語句。數(shù)據(jù)是單向流動的,從“源數(shù)據(jù)端口”向一個或多個“目標數(shù)據(jù)端口”流動。不同的線型和顏色代表不同的數(shù)據(jù)類型,表5是常用的數(shù)據(jù)類型所對應的線型和顏色。表 5 數(shù)據(jù)類型、線型、顏色對照表類型顏色標量一維數(shù)組二維數(shù)組整形數(shù)藍色浮點數(shù)橙色邏輯量綠色字符串粉色●框圖 框圖實現(xiàn)數(shù)據(jù)流的控制,如Sequence Struct(順序控制)、Case Struct(條件分支控制)、For Loop(For 循環(huán)控制)、While Loop(While循環(huán)控制)等。程序可以利用它們控制數(shù)據(jù)流的流向和程序的執(zhí)行方式。框圖的使用是保證其結(jié)構(gòu)化程序設計特征的重要手段。同時LabVIEW還提供了Event Struct(事件結(jié)構(gòu)),也可以很方便地編寫出事件驅(qū)動的程序。LabVIEW常用的結(jié)構(gòu)控制框圖如圖32所示:圖 32 LabVIEW中常用的結(jié)構(gòu)控制框圖VI的前面板和后面板分別作為人機交互界面和代碼窗口,所以用LabVIEW編寫程序主要過程就是對前面板和后面板的編輯和調(diào)試。 LabVIEW運行機制從運行機制上看,LabVIEW——這種語言的運行機制就宏觀上講已經(jīng)不再是馮諾伊曼計算機體系結(jié)構(gòu)的執(zhí)行方式了。傳統(tǒng)的計算機語言 (如C語言)中的順序執(zhí)行結(jié)構(gòu)在LabVIEW中被并行執(zhí)行機制所代替:從本質(zhì)上講,它是一種帶有圖形控制流結(jié)構(gòu)的數(shù)據(jù)流模式 (Data Flow Mode),這種方式確保了程序中的函數(shù)節(jié)點 (Function Node) 只有在獲得它的全部輸入數(shù)據(jù)后才能構(gòu)被執(zhí)行,也就是說,在這種數(shù)據(jù)流程序中程序的執(zhí)行是數(shù)據(jù)流驅(qū)動的,它不受操作系統(tǒng),計算機等因素的影響,這使得用LabVIEW編寫的程序具有很好的可移植性。LabVIEW的程序是數(shù)據(jù)流驅(qū)動的,數(shù)據(jù)流程序設計規(guī)定,一個目標只有當它的所有輸入有效時才能被執(zhí)行;而目標端口的輸出只有當它的功能完成時才是有效的。這樣,在LabVIEW中被連接的方框圖之間的數(shù)據(jù)流控制著程序的執(zhí)行次序,而不像文本程序受到順序執(zhí)行的約束。因而,我們可以通過相互連接的方框圖快速簡潔的開發(fā)應用程序,甚至可以有多個數(shù)據(jù)通道同步運行。LabVIEW 的功能非常強大,它是帶有可擴展函數(shù)庫和子程序庫的通用程序設計系統(tǒng),不僅可以用于一般Windows桌面應用程序設計,還提供了用于GPIB設備控制、VXI總線控制、PXI總線控制、USB設備控制,以及數(shù)據(jù)分析、數(shù)據(jù)顯示和數(shù)據(jù)存儲等應用程序模塊,其強大的專用函數(shù)庫使得它非常適合編寫用于測試、測量以及工業(yè)控制的應用程序。同時LabVIEW還是一個開放的開發(fā)平臺,它可以方便地調(diào)用Windows平臺提供的動態(tài)鏈接庫和用戶自定義的動態(tài)鏈接庫中的函數(shù),它還提供了CIN (Code Interface Node) 節(jié)點使得用戶可以使用由C或C++語言編譯生成的函數(shù),同時它還直接支持動態(tài)數(shù)據(jù)交換 (DDE) 、結(jié)構(gòu)化查詢語言 (SQL) 、TCP、UDP網(wǎng)絡協(xié)議等。 驅(qū)動程序開發(fā)USB軟件系統(tǒng)一般有四部分組成,分別為應用程序,USB設備驅(qū)動程序(USB客戶驅(qū)動程序),USB驅(qū)動程序(USBD)和USB主控制器驅(qū)動程(UHCD)。USB軟件系統(tǒng)的構(gòu)成層次如圖33所示[2,24]。圖 33 USB軟件層次其中USB客戶驅(qū)動程序控制一個給定的USB功能設備。連接到USB設備的每一種類型的功能單元都必須有客戶驅(qū)動程序。客戶驅(qū)動程序把USB設備看作是一個可以被訪問的端點的集合,USB設備可以被控制并與它的功能單元通信。客戶驅(qū)動程序一般是編寫USB軟件的重點。USB驅(qū)動程序(USBD)知道設備的需求(通過設備描述符獲知),也知道USB的能力。USBD把IRP劃分成USB和設備需要大小的塊。USBD確保每一個設備能分配到它所要求的資源,支持USB設備配置。在配置的過程中,它為檢測到的端點建立通信管道。USBD提供了一個編程接口,即USBDI(USB驅(qū)動程序接口),客戶驅(qū)動程序就是通過USBDI來傳輸請求。USB主控制器驅(qū)動程序提供了對USB的低級支持,通過把IRP轉(zhuǎn)換成為單獨的事務處理后在USB上執(zhí)行。USB軟件系統(tǒng)中應用程序的開發(fā),一般書籍和文章都有比較詳細的介紹,本文主要介紹USB設備驅(qū)動程序的開發(fā)。傳統(tǒng)的開發(fā)USB設備驅(qū)動程序開發(fā)是用Windows DDK (設備驅(qū)動程序開發(fā)包)或第三方開發(fā)工具 (如DriverStudio) 開發(fā)USB驅(qū)動程序[25,26,27],顯然,這對Windows編程不熟悉的人來說有一定難度,何況USB驅(qū)動程序開發(fā)的難度很大。這里介紹利用NI公司提供的NIVISA (Virtual Instrument Software Architecture,以下簡稱VISA)和驅(qū)動程序開發(fā)向?qū)?(VISA Driver Development Wizard ) 開發(fā)驅(qū)動用戶USB設備的方法,完全避開了以前開發(fā)USB驅(qū)動程序的復雜性,大大縮短了開發(fā)周期。 VISA簡介VISA (Virtual Instrument Software Architecture) 是一個用來與各種儀器總線進行通訊的高級應用編程接口(API)。它不受平臺、總線和環(huán)境的限制。換言之,與GPIB 設備進行通訊的程序,無論是在運行Windows 2000的機器上用LabVIEW開發(fā)出來的,還是在運行 Mac OS X的機器上用C語言編寫的,都可以使用同一個API。它可以很方便的用來對USB、GPIB、VXI、PXI、串口和以太網(wǎng)進行配置、編程和調(diào)試[28]。VISA是虛擬儀器系統(tǒng)I/O接口軟件,它基于自底向上結(jié)構(gòu)模型創(chuàng)造了一個統(tǒng)一形式的I/O函數(shù)控制集。一方面,對初學者或是簡單任務來說,VISA提供了簡單易用的控制函數(shù)集,在應用形式上相當簡單;在另一方面,對復雜系統(tǒng)的組建者來說,VISA提供了非常強大的儀器控制功能與資源管理。NIVISA 支持三種類型的USB管道:控制、批量和中斷。NIVISA探測到USB儀器時,它會對儀器進行自動掃描,尋找各種類型的最低可用端點。 VISA探測到最低可用端點后,即將該值賦于適當?shù)?VISA屬性。Bulk In 端點和 Bulk Out 端點分別存儲在 VI_ATTR_USB_BULK_IN_PIPE 屬性VI_ATTR_USB_BULK_OUT_PIPE 屬性之中。Interrupt In 端點存放在 VI_ATTR_USB_INTR_IN_PIPE 屬性之中。如果值為1,則表示USB 設備不支持這種類型的管道。在進行USB通信時,NIVISA提供了兩大類函數(shù)供LabVIEW調(diào)用,USB INSTR函數(shù)與USB RAW函數(shù),前者用于控制符合USB測試和測量類 (USBTMC)協(xié)議的USB設備,后者用于控制USB RAW設備 (除USB INSTR設備外的其它任何USB設備)。USBTMC設備符合 VISA USB INSTR類函數(shù)能夠理解的協(xié)議,該類USB設備與LabVIEW通信時無需配置NIVISA,而USB RAW設備和LabVIEW通信時則需要配置NIVISA 后才能與LabVIEW通信。 陀螺測斜接口USB驅(qū)動設置為了使用NIVISA,必須讓Windows將NIVISA做為設備默認的驅(qū)動程序使用,這可以通過INF文檔將硬件設備和NIVISA關聯(lián)起來。下面將分三個步驟來配置USB設備,以便用NIVISA來對其進行控制[2] (本設計中使用的是NIVISA ):1. 使用Driver Development Wizard (驅(qū)動程序開發(fā)向?qū)? 創(chuàng)建INF文檔,只需要按照相應的提示輸入廠商ID和廠商描述字符串、產(chǎn)品ID和產(chǎn)品描述字符串即可。2. 安裝INF文檔,并安裝使用INF文檔的USB設備。3. 使用NIVISA Interactive Control (NIVISA互動控制工具)對設備進行測試。具體的操作步驟可以參看《NIVISA 用戶手冊》與《NIVISA程序員參考手冊》。第一步中提示輸入的USB接口廠商編號和描述字符串,產(chǎn)品編號和描述字符串一定要與底層固件程序中的編號和描述符一致,否則在第二步安裝驅(qū)動程序時就會出錯。通過以上的配置,NIVISA會為所連接的USB RAW設備指定一個名字,命名規(guī)則是:USB[主板]::廠商ID::產(chǎn)品ID::序列號[::USB接口編號]::RAW,例如,本設計中所用的C8051F340的USB接口廠商ID是0X10C4,產(chǎn)品ID是0X0103,則本接口板的名字就是:USB0::0x10C4::0x0103::NIVISA0::RAW。安裝完驅(qū)動程序后USB RAW設備的名字可以在NI公司提供的Measurement amp。 Automation Explorer(MAX)中查看,或利用LabVIEW中的VISA Resource Name控制件或VISA Resource Find函數(shù)得到。只有通過USB RAW 設備的名字,才可以在LabVIEW中對它進行打開、關閉、端點配置、狀態(tài)設置、狀態(tài)讀取、端點讀寫等操作[29,30]。USB RAW設備的操作步驟如圖34所示。 圖 34 USB RAW設備操作步驟 陀螺測斜系統(tǒng)測試軟件開發(fā)本節(jié)介紹陀螺測斜系統(tǒng)測試軟件, 測試內(nèi)容主要分三部分,第一部分是USB讀寫測試;第二部分是接口板測試,包括AD采樣測試、曼徹斯特編解碼測試;第三部分是陀螺儀測試,主要包括通信誤碼率測試和各種陀螺操作命令的測試。 USB操作控件和函數(shù)介紹在LabVIEW中對USB設備操作的函數(shù)主要有VISA Open (打開VISA設備)、VISA Write (寫VISA設備)、VISA Read (讀VISA設備)、VISA Close (關閉VISA設備)等,下面簡單一下它們?!?VISA資源名稱控件 (VISA Resource Name Control)圖 35 VISA資源名稱控件前面板和后面板圖VISA資源名稱控件在前面板和后面板如圖35所示,它用于選擇連接到本機的底層設備 (如USB設備、GPIB設備、串口設備、PXI設備、VXI設備、TCP/IP設備等),然后將選擇的設備名稱從其輸出端口輸出,供下一級使用。對于USB RAW設備,必須利用驅(qū)動程序向?qū)傻腎NF文件將USB設備和VISA關聯(lián)起來后,其名字才會出現(xiàn)在VISA資源名稱控件中,具體的操作步驟見上節(jié)。還可以通右鍵單擊該控件,在彈出的下拉列菜單Select VISA ClassI/O Session中選擇自己關心的某類設備,則其他設備就會被屏蔽掉?!?VISA Open 函數(shù)VISA Open 函數(shù)如圖36所示:它主要用于打開其VISA resource name輸入端口指定的VISA設備。圖 36 VISA Open函數(shù)該函數(shù)有五個數(shù)據(jù)輸入端口和兩個數(shù)據(jù)輸出端口 (通常圖標右面的端口為輸出端口,其他面的為輸入端口):VISA Open timeout用于設定打開VISA 設備所用的最長時間,如果超過了該設置值還未能打開VISA設備,該函數(shù)就會返回ERROR;VISA resource name用于指定所要打開的VISA設備的名字,并將設備名字從VISA resource name輸出端口輸出。如果已經(jīng)知道了VISA設備的名字,此處可以用一個常量代替,如果不知道,則可以在該數(shù)據(jù)端口單擊右鍵,在彈出菜單中選擇CreatConstant,則可自動生成一個VISA Resource Name 控件,在前面板中選擇所要打開的VISA設備即可;duplicate session用于設定VISA設備是否可以重復打開;access mode用于設定VISA設備打開的模式;error in 端點用于接收VISA Open函數(shù)之前的錯誤流,并加上自身的錯誤傳遞到error out端口。● VISA Write 函數(shù)VISA Write 函數(shù)如圖37所示:它主要用于向已經(jīng)打開的VISA 設備中寫入數(shù)據(jù)。圖 37 VISA Write函數(shù)VISA Write 函數(shù)有三個數(shù)據(jù)輸入端口和三個數(shù)據(jù)輸出端口
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1