色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在LabVIEW環境下通過NI-VISA實現USB系統的設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-07-01 08:02 ? 次閱讀

USB(Universal Serial Bus)接口是近年來應用在PC領域的新型接口技術。它基于單一的總線接口技術來滿足多種應用領域的需求;它的即插即用、支持熱插拔、易于擴展等特性極大地方便了用戶的使用,已逐漸成為現代數據傳輸的發展趨勢。

傳統的開發USB應用系統的步驟是,先用WindowsDDK(設備驅動程序開發包)或第三方開發工具(如DriverStudio)開發USB驅動程序,然后用Visual C++編寫DLL(動態連接庫),最后再調有DLL來開發應用程序。顯然,這對Windows編程不熟悉的人來說有一定的難度,何況USB驅動程序的開發難度很大。本文介紹一種簡單、快速開發USB接口應用系統的方法。它直接在LabVIEW環境下通過NI-VISA開發能驅動用戶USB系統的應用程序,完全避開了以前開發USB驅動程序的復雜性,大大縮短了開發周期。

1 NI-VISA簡介

NI-VISA(Virtual Instrument Software Architec-ture,以下簡稱為“VISA”)是美國國家儀器NI(NaTIonal Instrument)公司開發的一種用來與各種儀器總線進行通信的高級應用編程接口。VISA總線I/O軟件是一個綜合軟件包,不受平臺、總線和環境的限制,可用來對USB、GPIB、串口、VXI、PXI和以太網系統進行配置、編程和調試。VISA是虛擬儀器系統I/O接口軟件。基于自底向上結構模型的VISA創造了一個統一形式的I/O控制函數集。一方面,對初學者或是簡單任務的設計者來說,VISA提供了簡單易用的控制函數集,在應用形式上相當簡單;另一方面,對復雜系統的組建者來說,VISA提供了非常強大的儀器控制功能與資源管理。

2 LabVIEW及其調用VISA的條件

LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是NI公司開發的一種基于圖形程序的編程語言。用戶利用創建和調用子程序的方法編寫程序,使創建的程序模塊化,而且程序編制簡單、直觀。一個LabVIEW程序分為3部分:前面板、框圖程序和圖標/接線端口。前面板用于模擬真實儀器的前面板;框圖程序是利用圖形語言對前面板上的控件對象(分為控制量和指示量兩種)進行控制;圖標/接線端口用于把LabVIEW程序定義成一一個子程序,從而實現模塊化編程。

當進行USB通信時,VISA提供了兩類函數供Lab-VIEW調用,USB INSTR設備與USB RAW設備。USBINSTR設備是符合USBTMC協議的USB設備,可以通過使用USB INSTR類函數控制,通信時無需配置NI-VISA;而USB RAW設備是指除了明確符合USBTMC規格的儀器之外的任何USB設備,通信時要配置NI-VISA。

(1)配置NI-VISA的步驟

①使用Driver DevelopineInt Wizard(驅動程序開發向導)創建INF文檔;

②安裝INF文檔,并安裝使用INF文檔的USB設備;

③使用NI-VISA Interactive Control(NI-VISA互動控制工具)對設備進行測試,以證實USB設備已正確安裝,并獲得USB設備的各屬性值。

詳細過程可參考NI官方網站上免費提供的文檔《使用NI-VISA控制USB設備》。

(2)與NI-VISA相配合的LabVIEW橫板中VI子節點

ViOpen,打開并指定VISA resource name的設備的連接。

ViProperty,VISA設備的屬性子節點,可以設置端點或傳輸方式。

ViWnte,向VISA resource name指定的設備寫入數據。

ViRead,從VISA resource name指定的設備讀出數據。

ViClose,結束設備讀寫并關閉與指定設備的連接。

(3)USB RAW設備讀寫的操作次序

USB RAW設備的讀寫次序如圖l所示。

下面以一個USB接口的溫度采集系統為例,說明基于NI-VISA驅動的USB接口應用系統的設計與實現。

3 系統硬件結構

系統以Philips公司的增強型80C51單片機為核心,如圖2所示。這是一個多點溫度采集系統,核心器件是含有8 KB非易失Flash程序存儲器的P89C52,與標準80C51完全兼容。USB通信控制芯片采用Philips公司的PDIUSBD12芯片(簡稱“D12”)。它是一款較新型的專用USB通信控制芯片,符合通用串行總線USBl.1版規范,內部集成有串行接口引擎SIE、320字節FIFO存儲器、收發器和電壓調節器。前端溫度傳感器采用Dallas公司生產的DSl8820。它是一線式數字溫度傳感器,直接以數字量輸出給微處理器,可節省大量的引線和信號調理電路。

DSl8820內部有一個光刻ROM。這個ROM中存有64位序列號。它可以看作足該DS18820的地址序列碼,所以多路溫度傳感器可以掛在l條總線上,共同占用單片機的1條I/O線即可實現接口。在提升單片機I/O線驅動能力的前提下,理論上可以任意擴充檢測的溫度點數。

D12與單片機的接口共有兩種方式:多路地址/數據總線方式和單地址/數據總線方式。這里選擇了單地址/數據總線方式,因此,D12的ALE接為低電平,而A0腳與P89C52X2的端口P3.3相連。該端口控制D12的命令和數據狀態:A0=1,表示數據總線上是命令;A0=0,表示數據總線上是數據。D12的數據總線直接與P0口相連,D12的中斷引腳INT_N與P89C52X2的INT0相連。當D12的外部巾斷有一位為1時,INT_N輸出低電平,觸發P89C52X2的外部中斷。因為系統未采用DMA,所以D12的DMAcK_N引腳接高電平,EOT_N引腳通過電阻接到USB的+5 V,以正確檢測到USB連接;INT_N引腳加一個上拉電阻。因為D12有片內上電復位電路,故引腳RESET_N直接與電源引腳VCC相連。溫度傳感器DSl8820工作在外接電源工作方式,DQ引腳直接和P89C52X2的P1.0相連。

3.1 系統的工作原理

根據USB協議,任何傳輸都是由主機(host)開始的,單片機的前臺工作就是等待。主機PC首先要發送令牌包給USB,D12接收到令牌包就給單片機發中斷,單片機進入中斷服務程序。首先讀D12的中斷寄存器,判斷USB令牌包的類型,然后執行相應的操作,因此,USB單片機程序主要就是中斷服務程序的編寫。在USB單片機程序中要完成對各種令牌包的響應,主要是對端口的編程。

3.2 軟件部分的設計

系統的固件程序從功能上分為兩部分,整個編程在Keil C環境下完成。

(1)溫度傳感器D818820的讀取程序

DSl8820單線通信功能是分時實現的。它有很嚴格的時序要求,對它的操作必須按協議進行,即初始化→發ROM操作命令→發存儲器操作命令→數據處理。

(2)MCU和USB接口的通信程序

本程序使用D12的端點l和端點2進行上位汁算機與MCU P89C52之間的命令和數據的傳輸。端點l和端點2設置成模式O(異步方式)。其中端點1以中斷傳輸方式進行命令的傳輸和應答,端點2以批量傳輸方式進行數據的傳輸。端點1接收上位機發送過來的讀指令,端點2返回讀成功數據。

系統的固件程序編寫以分層結構展開。它是一種積木式結構,如圖3所示。

①硬件提取層:對單片機的I/O口、數據總線等硬件接口進行操作。

②PDIUSBD12命令接口:對D12器件進行操作的模塊子程序集。

③中斷服務程序:當D12向單片機發出中斷請求時,讀取D12中斷傳輸來的數據,并設定事件標志“EPP-FLAGS”和Settup包數據緩沖區“CONROL_XFER”傳輸給主循環程序。

④標準設備請求處理程序:對USB的標準設備請求進行處理。

廠商請求處理程序:對用戶添加的廠商請求進行處理。

⑥主程序:發出USB數據傳輸請求,處理總線事件和調用用戶自定義功能子程序。

以NI-VISA為驅動的主機LabVIEW應用程序的設計,NI-VISA采用3.2版本,LabVIEW采用7.1版本。

整個應用程序的主框架使用了WHILF循環來進行不斷的查詢。在程序的編寫過程中,采用了類似Windows程序中的事件驅動機制,LabVIEW提供了這樣的結構——事件結構。各個消息的產生利用了各種界面控件并由Case選擇結構給出。程序框圖如圖4所示。

為了便于說明USB操作次序,把圖4中事件結構展開,有圖5所示的具體USB操作次序。

在圖5中,USB RAW設備通信采用端點1以中斷傳輸方式接收上位機操作命令,協議可以自己約定。端點2以批量傳輸方式給上位機發回溫度數據。其中端點數“130”是對應十六進制數“0082”的十進制數,此數表示端點2批量輸入;而端點數“1”則是對應十六進制數“0001”的十進制數,此數表示端點1中斷輸出。

因為NI-VISA3.2版本不支持USB屬性“中斷輸出”(interrupt out),因此為了實現USB端點1的中斷輸出問題,這里把USB屬性“批量輸出”(bulk out pipe)和“VI Write”節點組合在一起,來實現端點l中斷輸出。從NI-VISA3.3起,可以直接利用“中斷輸出”(interruptout)屬性來實現。

4 結語

經實踐證明,采用基于NI-VISA驅動的USB接口應用系統的設計非常容易,開發難度低,對開發者的要求不高;開發出的系統穩定可靠,即使對Windows編程不熟悉的人也可以開發出USB應用系統,它提供了另一種開發USB驅動應用程序的捷徑。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • LabVIEW
    +關注

    關注

    1974

    文章

    3656

    瀏覽量

    324201
  • usb
    usb
    +關注

    關注

    60

    文章

    7955

    瀏覽量

    264996
  • 虛擬儀器
    +關注

    關注

    22

    文章

    775

    瀏覽量

    87355
收藏 人收藏

    評論

    相關推薦

    關于labviewni-visa有些問題求教

    通過ni-visa采集一個u***手寫板的信息,本人是labview新手,現在要用labview做一個程序,實現在手寫板上畫畫,
    發表于 05-16 08:06

    哪位有labview2011 對應的 NI-VISA

    哪位有labview2011 對應的 NI-VISA? 麻煩給個下載地址。先謝了。
    發表于 12-14 20:20

    LabviewNI-VISA做Cypress cy7c68013A的驅動

    LabviewNI-VISA做Cypress cy7c68013A的驅動 安完驅動后 cypress官方固件下載器就識別不到USB了~求大神幫忙
    發表于 03-13 20:29

    基于單片機labviewNI-VISA的u***應用

    基于單片機labviewNI-VISA的u***應用
    發表于 05-15 10:54

    關于USB設置VISA的問題

    最近使用一個USB設備,在用LabVIEW做上位機程序時,要將其轉換成VISA的接口使用VISA的函數,轉化過程中遇到了下面一個問題,電腦
    發表于 10-29 21:06

    NI-VISA Devices怎么安裝驅動???

    自己用NI-VISA Wizard創建了個inf文件,安裝后“無法啟動該設備 (代碼10)”,求大神~~
    發表于 05-07 10:54

    NI-VISA怎么實現多串口卡的驅動編寫??

    做了一個多串口卡,客戶要求用NI-VISA編寫驅動。要實現在設備管理器中識別出卡上所有的串口。求大神告知!!!之前沒有接觸過NI-VISA,最好詳細的。
    發表于 04-02 11:33

    NI-VISAUSB驅動問題

    win10可以安裝通過NI-VISA驅動生成向導的USB驅動嗎?為什么我的不兼容,我想USB通信而不是串口通信,哪位大神有解決辦法啊?請指導
    發表于 08-02 10:38

    【求助】使用 NI-VISAUSB設備進行通信

    各位吧友請教一個問題:想實現NI-VISAUSB設備進行通信,其中USB設備用到了C8051F320單片機。我參考了NI
    發表于 11-01 21:26

    NI-VISANI-VISA Runtime的區別在哪里

    安裝VISA 驅動時,發現有兩種不同的選項,不知道該怎么選,求大神告知,NI-VISANI-VISA Runtime的區別是什么?用法有什么不同?
    發表于 01-08 10:47

    LabVIEW讀寫USB設備

    文件,DLL中通過調用WIN API函數讀寫USB設備的數據,并存在緩沖區中,LabVIEW通過
    發表于 04-28 10:04

    LabVIEWNI MAX中缺少串口

    操作系統更新后,再也看不到了。無法LabVIEW中選擇串口作為VISA資源。NI MAX中缺少串行設備。解決方案此問題通常是由于
    發表于 06-06 20:30

    ni-visa創建usb驅動遇到問題

    ni-visa創建usb驅動,遇到這種情況,有大佬知道咋解決不
    發表于 04-26 23:29

    使用NI-VISA的測控設備遠程自動化測試系統的設計與實現說明

    Studio. Net 2010開發環境,結合NI-VISA、Measurement Studio用戶控件、數據庫技術等設計一套兼容多類型測量儀器的遠程自動化測試系統,并對其關鍵技術進行了深入的討論。
    發表于 01-18 16:23 ?35次下載
    使用<b class='flag-5'>NI-VISA</b>的測控設備遠程自動化測試<b class='flag-5'>系統</b>的設計與<b class='flag-5'>實現</b>說明

    基于NI-VISA的晶圓測試探針臺遠程控制軟件

    基于NI-VISA的晶圓測試探針臺遠程控制軟件
    發表于 06-29 15:07 ?23次下載
    主站蜘蛛池模板: 国产成人精品综合在线| 亚洲高清国产品国语在线观看| 99视频久久精品久久| 午夜4k最新福利| 久久伊人电影| 午夜性爽视频男人的天堂在线| 麻豆免费观看高清完整视频在线 | 大乳牛奶女magnet| 中文字幕视频在线免费观看| 乌克兰成人性色生活片| 精品视频一区二区三三区四区| 伊人色综合久久天天网| 少妇内射视频播放舔大片| 美女张开让男生桶| 粉嫩AV国产一区二区福利姬| 91情国产l精品国产亚洲区| 驯服有夫之妇HD中字日本| 热久久2018亚洲欧美| 美女岔开腿露出粉嫩花苞| 解开美女胸衣2破解版| 国产短视频精品区| 亚洲在线无码免费观看| 無码一区中文字幕少妇熟女H| 轻点慢点1V2啊高H抽插| 牛牛精品专区在线| 媚药调教被撑到合不拢h| 久久久亚洲国产精品主播 | 国产精品v欧美精品v日韩| 纯h超级大尺度小黄文| www.久艹| japanese幼儿videos| 99亚洲精品| av在线观看网站免费| chinesevideos原创麻豆| 99久久精品久久久| 99精品免费久久久久久久久日本| 最新男同鸭子ktv| 69夫妻交友网| 亚洲国产在线观看免费视频| 无码国产伦一区二区三区视频| 色多多污污下载|