<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于VPP規(guī)范的VXI總線模塊的軟件開(kāi)發(fā)

          基于VPP規(guī)范的VXI總線模塊的軟件開(kāi)發(fā)

          作者: 時(shí)間:2013-03-30 來(lái)源:網(wǎng)絡(luò) 收藏

          1.概述

          VXIbus聯(lián)合體在制定VXIbus規(guī)范時(shí),成功地定義了基于VME總線的模塊化儀器的標(biāo)準(zhǔn)。它定義了VXIbus兼容部件如主機(jī)箱、背板、電源和模塊之間互聯(lián)的電氣、機(jī)械接口協(xié)議和模塊間的通訊協(xié)議,這些協(xié)議能使來(lái)自不同廠商的產(chǎn)品組成系統(tǒng)。然而,VXIbus規(guī)范沒(méi)有涉及系統(tǒng)級(jí)的軟件標(biāo)準(zhǔn),如選用何種操作系統(tǒng)、應(yīng)用開(kāi)發(fā)環(huán)境和編程語(yǔ)言,何種計(jì)算機(jī),何種I/O軟件接口,而這些產(chǎn)品的一些組合是不兼容的,這使得用戶在設(shè)計(jì)、組建、編程和使用一個(gè)由計(jì)算機(jī)控制的儀器系統(tǒng)時(shí),仍面臨著許多問(wèn)題。

          為了最大限度地提供系統(tǒng)級(jí)的易用性、多廠商開(kāi)放式結(jié)構(gòu)和互操作性,在1992年由多家儀器廠商成立了VXIplugplay系統(tǒng)聯(lián)盟。plugplay意為“即插即用”。聯(lián)盟通過(guò)制定一系列規(guī)范,即系列,指導(dǎo)廠商和用戶的活動(dòng),提供一個(gè)開(kāi)放的、多廠商共享的系統(tǒng)結(jié)構(gòu),使系統(tǒng)軟件元素的開(kāi)發(fā)、使用標(biāo)準(zhǔn)化,并最大限度地提高軟件的可重用性,減少系統(tǒng)開(kāi)發(fā)周期,降低系統(tǒng)成本,使產(chǎn)品能真正做到“即插即用”。

          VPP-1為聯(lián)盟的章程文件,介紹了VXI plugplay的目標(biāo)、指導(dǎo)原則和核心技術(shù),使得聯(lián)盟能夠迅速制定、公布以下標(biāo)準(zhǔn)。VPP-2為系統(tǒng)框架規(guī)范,定義了VXI plugplay系統(tǒng)中應(yīng)用軟件的工作環(huán)境,及VXI plugplay系統(tǒng)中所包含的軟件元素,即儀器驅(qū)動(dòng)器、I/O接口庫(kù)、軟面板、知識(shí)庫(kù)和安裝程序,并針對(duì)不同框架對(duì)系統(tǒng)軟、硬件提出了要求。VPP-3—VPP-7分別為上述軟件元素的目標(biāo)、構(gòu)成、特性和實(shí)現(xiàn)做了詳細(xì)、具體的規(guī)范定義。VPP-8為VXI模塊/主機(jī)箱至接收裝置的互連規(guī)范。VPP-9為儀器供應(yīng)商的縮寫(xiě)。VPP-10為VXI plugplay標(biāo)識(shí)規(guī)范和成員注冊(cè)。

          2.基于模塊的

          由于符合VXI plugplay規(guī)范的產(chǎn)品和服務(wù)會(huì)更容易集成到系統(tǒng)中,用戶會(huì)盡可能地選擇這樣的產(chǎn)品。所以廠家應(yīng)盡可能地提供符合VXI plugplay規(guī)范的產(chǎn)品。按照,廠家在提供模塊化儀器的同時(shí),還要提供儀器驅(qū)動(dòng)器、軟面板、知識(shí)庫(kù)和安裝程序等軟件。下面就結(jié)合數(shù)字電壓表的開(kāi)發(fā),講述一下上述軟件的開(kāi)發(fā)過(guò)程。

          在開(kāi)發(fā)上述軟件模塊時(shí),采用了下面的順序:

          ●選擇系統(tǒng)框架

          ●開(kāi)發(fā)儀器驅(qū)動(dòng)器

          ●開(kāi)發(fā)軟面板

          ●開(kāi)發(fā)知識(shí)庫(kù)

          ●制作安裝程序

          2.1選擇系統(tǒng)框架

          在開(kāi)發(fā)儀器驅(qū)動(dòng)器、軟面板、知識(shí)庫(kù)和安裝程序之前,首先進(jìn)行了系統(tǒng)框架的選擇。系統(tǒng)框架是上述軟件模塊運(yùn)行的環(huán)境,由操作系統(tǒng)和應(yīng)用開(kāi)發(fā)環(huán)境所構(gòu)成,VPP-2定義了十種系統(tǒng)框架,即WIN、WIN95、WINNT、SUN、HP-UX、GWIN、GWIN95、GWINNT、GSUN、GHP-UX。前五種是由它們所支持的操作系統(tǒng)命名的,而在這五種操作系統(tǒng)下使用LabVIEW的G編程語(yǔ)言作為開(kāi)發(fā)儀器驅(qū)動(dòng)器和軟面板的環(huán)境,則構(gòu)成了后面五種系統(tǒng)框架。這當(dāng)中最受歡迎的應(yīng)是WIN和WIN95框架,因?yàn)樗鼈兛梢暣安僮鞑⒅С直姸嗟拈_(kāi)發(fā)工具。在這兩種框架下,VPP-2列出了六種應(yīng)用開(kāi)發(fā)環(huán)境LabWindows/CVI,LabVIEW,HPVEE,Microsoft Visual C++,Borland C++和Microsoft Visual Basic,可選用其中的任何一種作為開(kāi)發(fā)儀器驅(qū)動(dòng)器和軟面板的工具。在本文中所舉的例子都是在WIN95框架和LabWindows/CVI環(huán)境下開(kāi)發(fā)的。

          2.2開(kāi)發(fā)儀器驅(qū)動(dòng)器

          儀器驅(qū)動(dòng)器即儀器驅(qū)動(dòng)程序,是廠家隨模塊提供給用戶的一組驅(qū)動(dòng)函數(shù),它將工作于用戶所選擇的系統(tǒng)框架下,負(fù)責(zé)對(duì)儀器進(jìn)行控制和通信。VPP規(guī)范的一個(gè)重要成果就是將儀器驅(qū)動(dòng)器作為儀器的一個(gè)組成部分,由廠家提供,從而縮短了用戶的程序開(kāi)發(fā)周期。VPP-3定義了儀器驅(qū)動(dòng)器結(jié)構(gòu),見(jiàn)圖1。

          儀器驅(qū)動(dòng)器的結(jié)構(gòu)包括外部接口模型和內(nèi)部設(shè)計(jì)模型。

          儀器驅(qū)動(dòng)器的外部接口模型表示它如何與系統(tǒng)中其它軟件模塊接口。其中,交互式開(kāi)發(fā)者接口即函數(shù)面板是對(duì)驅(qū)動(dòng)器交互式調(diào)用接口;編程開(kāi)發(fā)者接口的目的是在用戶應(yīng)用程序中使用驅(qū)動(dòng)器;函數(shù)主體描述儀器的功用,即驅(qū)動(dòng)程序的實(shí)際代碼;I/O接口完成驅(qū)動(dòng)器與儀器間的通信;子進(jìn)程接口用于調(diào)用其它軟件模塊。

          內(nèi)部設(shè)計(jì)模型定義了儀器驅(qū)動(dòng)器的內(nèi)部結(jié)構(gòu)。理解了這一模型,就知道如何設(shè)計(jì)儀器驅(qū)動(dòng)程序。儀器驅(qū)動(dòng)程序的函數(shù)主體包括兩級(jí):第一級(jí)是一組部件函數(shù),它們是控制儀器特定功能的軟件模塊;第二級(jí)是一組應(yīng)用函數(shù),它們表示如何使用部件函數(shù)來(lái)完成面向應(yīng)用的儀器操作。


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();