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

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 彈上通信系統(tǒng)的LabVIEW與單片機(jī)的通信技術(shù)

          彈上通信系統(tǒng)的LabVIEW與單片機(jī)的通信技術(shù)

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

          值得一提的是,USBXpress開(kāi)發(fā)套件除了包含面向主機(jī)的dll文件,還包括面向USB器件的驅(qū)動(dòng)文件和USBX_F34X LIB及USB_API.h文件,封裝了USB協(xié)議的細(xì)節(jié),大大簡(jiǎn)化了USB固件編程。一個(gè)典型的利用API函數(shù)實(shí)現(xiàn)USB的程序流程如圖2所示。程序是在SiliconLabs集成開(kāi)發(fā)環(huán)境下編譯調(diào)試的。

          本文引用地址:http://www.ex-cimer.com/article/156423.htm

          e.jpg


          不管利用CIN,還是調(diào)用DLL,都可以實(shí)現(xiàn)訪問(wèn)USB設(shè)備,但并不能很好地體現(xiàn)的優(yōu)勢(shì)。因?yàn)橥ㄟ^(guò)CIN和DLL,不用也可以實(shí)現(xiàn)上位機(jī)編程。實(shí)際上,LabVIEW還有獨(dú)特的訪問(wèn)USB設(shè)備的方法,即通過(guò)VISA訪問(wèn)USB設(shè)備。

          3 通過(guò)VISA訪問(wèn)USB設(shè)備
          VISA(Virtual Instrument Software Architecture,虛擬儀器軟件架構(gòu))是一種用來(lái)與各種儀器總線進(jìn)行的高級(jí)應(yīng)用編程接口(API),包括GPIB、USB、串口、PXI/PCI、VXI、火線和以太網(wǎng)。它是計(jì)算機(jī)與儀器的軟件連接層,本身不具備編寫(xiě)儀器驅(qū)動(dòng)的能力,通過(guò)調(diào)用特定儀器驅(qū)動(dòng)與儀器的。
          NI-VISA從3.0版開(kāi)始支持USB通信,它有兩種VISA類(lèi)函數(shù)(Resource Class),可以控制兩類(lèi)USB設(shè)備:USB INSTR設(shè)備與USB RAW設(shè)備。U-SB INSTR設(shè)備是符合USBTMC協(xié)議的USB設(shè)備,可以通過(guò)使用USB INSTR類(lèi)函數(shù)控制,通信時(shí)無(wú)需配置NI-VISA;而USB RAw設(shè)備是指除了明確符合USBTMC規(guī)格的儀器之外的任何USB設(shè)備,通信時(shí)要配置NI-VISA。C8051F340是USB RAW設(shè)備,故欲實(shí)現(xiàn)與LabVIEW進(jìn)行USB通信,可通過(guò)NI公司提供的VISA Driver Wizard進(jìn)行配置。步驟如下:
          ①按照“程序”一“National Instruments”一“VISA”一“Driver Wizard”選擇USB并點(diǎn)擊Next,進(jìn)入U(xiǎn)SB-DeviceInformation界面。
          ②在USB Vendor ID欄和USB Product ID欄分別填寫(xiě)USB設(shè)備的PID號(hào)和VID號(hào)。另外兩欄分別是Manufacturer Name和Mode Name欄,選填。每一個(gè)USB設(shè)備都有唯一的PID號(hào)和VID號(hào),它們是主機(jī)識(shí)別不同USB設(shè)備的根據(jù)。
          ③生成并安裝inf文件,為USB設(shè)備創(chuàng)建PNF文檔。持續(xù)點(diǎn)擊Next,并為文件命名。高版本的VISA可發(fā)自動(dòng)創(chuàng)建PNF文檔。
          ④連接USB設(shè)備。USB具有熱拔插功能,所以Windows能夠探測(cè)到USB設(shè)備,并立即會(huì)打開(kāi)“添加新硬件向?qū)?rdquo;,很快完成USB設(shè)備驅(qū)動(dòng)程序的安裝。
          至此,主機(jī)已將NI-VISA作為訪問(wèn)USB設(shè)備的底層驅(qū)動(dòng),在LabVIEW程序中即可利用VISA選板的VI設(shè)計(jì)通信程序。
          圖3是一個(gè)基于NI-VISA編寫(xiě)的LabVIEW與C8051F340進(jìn)行USB通信的程序框圖。設(shè)備的PID和VID分別是0x10C4和0x0005,使用端點(diǎn)2IN,采用中斷傳輸方式;LabVIEW程序中用VISA事件處理和獲取USB中斷等VI。

          f.jpg


          通過(guò)NI-VISA實(shí)現(xiàn)LabVIEW與進(jìn)行USB通信,大大減小了工作量,同時(shí)很好地發(fā)揮了LabVIEW的特點(diǎn)。

          結(jié)語(yǔ)
          對(duì)實(shí)現(xiàn)LabVIEW與C8051F340USB通信的3種方式進(jìn)行比較,結(jié)論如下:
          ①通過(guò)CIN節(jié)點(diǎn)訪問(wèn)USB可以充分利用設(shè)備生產(chǎn)廠家提供的C語(yǔ)言編寫(xiě)的驅(qū)動(dòng)程序及源程序,發(fā)揮C語(yǔ)言的優(yōu)勢(shì);但要求用戶(hù)非常熟悉USB協(xié)議,這種實(shí)現(xiàn)方法相當(dāng)于在LabVIEW下用CIN對(duì)USB設(shè)備編寫(xiě)驅(qū)動(dòng)程序,使用較為麻煩。
          ②通過(guò)調(diào)用DLL實(shí)現(xiàn)USB通信,可以利用生產(chǎn)廠家提供的dll文件,發(fā)揮dll文件的優(yōu)勢(shì);但由于dll文件的數(shù)據(jù)格式通常和LabVIEW不完全匹配,往往需要修改參數(shù)或者對(duì)dll文件進(jìn)行二次開(kāi)發(fā),需要具備開(kāi)發(fā)dll文件的能力,也比較麻煩。
          ③通過(guò)NI-VISA可以充分發(fā)揮LabVIEW的優(yōu)勢(shì),無(wú)需熟悉傳統(tǒng)文本語(yǔ)言編程,極大方便上位機(jī)的編程。
          ④就單片機(jī)在USB設(shè)備固件編程的工作量而言,通過(guò)NI-VISA方式與通過(guò)CIN方式相當(dāng),比通過(guò)USBXpress開(kāi)發(fā)套件的工作量大。
          結(jié)合實(shí)現(xiàn)LabVIEW與C8051F340USB通信總體軟件編程任務(wù),從工程應(yīng)用角度進(jìn)行比較,如表1所列。

          g.jpg


          對(duì)于一般情況下基于LabVIEW的上下位機(jī)USB通信,建議通過(guò)調(diào)用DLL或者使用VISA實(shí)現(xiàn)USB通信,具體采用哪種方式,還要結(jié)合具體要求而定。


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

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();