《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于LabVIEW NI-VISA實現PC與C8051F320的USB數據通信
基于LabVIEW NI-VISA實現PC與C8051F320的USB數據通信
來源:電子技術應用2013年第8期
段晉軍,位恒曦,常曉明
太原理工大學 計算機科學與技術學院,山西 太原030024
摘要: 針對傳統USB系統開發難度較大的問題,介紹了一種基于NI-VISA實現PC與USB裸設備——C8051F320單片機的USB通信系統的實現方案。該方案對開發PC外圍USB設備以及基于USB的應用系統設計具有一定參考意義。
中圖分類號: TN919
文獻標識碼: A
文章編號: 0258-7998(2013)08-0017-03
Realization of USB communication between PC and C8051F320 based on LabVIEW NI-VISA
Duan Jinjun,Wei Hengxi,Chang Xiaoming
College of Computer Science and Technology,Taiyuan University of Technology,Taiyuan 030024,China
Abstract: Tradional USB system has much difficulty in development.For this reason,an USB communication solution between PC and USB RAW device C8051F320 MCU based on LabVIEW NI-VISA is introduced in this paper,which can be a reference for the development of USB device and the design of USB application system.
Key words : USB;LabVIEW;NI-VISA;C8051F320

    隨著當今電子技術的發展,人們對數據通信速度和操作安裝的簡易性等方面的要求日益提高,使得數據通信技術不可避免地成為一項關鍵技術。USB是一種通用串行總線,其發展速度非常迅猛,USB協議已由傳輸速度為12 Mb/s的USB1.1發展到傳輸速度支持低速、全速、高速和超高速的USB3.0,最大傳輸速度高達5 Gb/s。USB總線技術由于數據傳輸速度高、使用方便和能夠連接多達127個外設,因此其在數據通信中的應用越來越廣泛。

    Windows平臺下傳統的USB應用系統的開發步驟是:先用Windows DDK或第三方開發工具開發USB驅動程序,然后用Visual C++開發應用程序。若讓不熟悉Windows編程的開發者用傳統方法開發USB驅動程序和應用程序,將會非常困難[1]。因此,本文介紹了一種難度較低的USB應用系統實現方案,即在LabVIEW環境下基于NI-VISA實現PC與C8051F320單片機的USB通信系統。
1 系統總體設計
    本系統選用具有USB接口的C8051F320-TBC開發板實現數據的雙向通信。該設計完成兩項任務:(1)采集單片機上溫度傳感器的數據,通過USB上傳至PC;(2)PC通過USB發送指令至單片機,控制單片機執行相應的動作。
    本系統的硬件平臺結構如圖1所示。

    本系統的軟件平臺設計包括單片機端的固件(Firmware)程序設計、PC端的驅動程序設計和PC端的應用程序設計3方面。
    單片機端固件程序的任務是處理來自USB主機端的標準請求和完成與USB主機的數據交換;PC端的驅動程序作為USB主機(PC)和USB從機(單片機)的橋梁,其主要任務是讓USB主機可以識別USB設備,并將硬件本身的功能告訴USB主機;PC端的應用程序的任務是通過驅動程序與USB設備進行通信并對USB數據進行處理。
    本文采用LabVIEW平臺開發PC端的驅動程序和應用程序,采用Silicon Laboratories IDE集成開發環境開發固件程序。本系統軟件平臺結構如圖2所示。

2 模塊設計
2.1 固件程序設計

    單片機端固件程序設計的目的是使USB主機能夠識別USB設備(本系統為C8051F320設備),并正確與USB設備進行雙向通信。
    固件程序完成的任務有三項:(1)使得USB主機可識別USB設備,并建立二者之間的通信;(2)接收由USB主機發送來的控制指令,在本設計中為點亮單片機的LED燈;(3)將采集的溫度數據傳送給USB主機。
    本設計將固件程序劃分為USB描述符聲明程序(usb_desc.c)、中斷服務程序(usb_isr.c)、標準設備請求程序(usb_stdreq.c)、主程序(main.c)4個子模塊。
    USB描述符聲明程序(usb_desc.c)用來描述設備的USB信息。該文件包含有USB協議中規定的5種標準描述符信息:設備描述符信息、配置描述符信息、接口描述符信息、端點描述符信息和字符串描述符信息。USB主機通過訪問這些描述符即可實現對設備類型的識別和配置。
    中斷服務程序(usb_isr.c)用來處理所有與USB相關的中斷事件,當有任何類型的USB中斷事件發生時,固件程序都會調用這個中斷服務程序。
    標準設備請求程序(usb_stdreq.c)包括所有標準設備請求的處理例程,這些處理例程都是通過控制端點的處理來調用,該文件主要用來處理USB主機發送的標準請求。
    主程序(main.c)的功能是響應USB主機發送的控制指令并將采集的溫度數據傳送給USB主機。
    固件程序流程圖如圖3所示。

    由圖3可知,該固件程序首先進行設備列舉[2],其目的是使USB主機能夠識別USB設備。USB主機根據設備的描述符信息對USB設備進行配置并分配資源,待通信建立后,USB設備可接收由USB主機發來的控制指令,并將采集的溫度數據通過USB傳給USB主機。
2.2 驅動程序設計
    驅動程序的設計采用虛擬儀器軟件架構NI-VISA實現,NI-VISA(Virtual Instrument Software Architecture)是由美國NI公司開發的一種用來與各種儀器總線進行通信的高級應用編程接口。VISA是一個綜合軟件包,可在任何平臺、總線和環境下對USB、串口、GPIB、VXI、PXI及以太網等進行配置、編程和調試。
    USB設備有USB INSTR設備與USB RAW設備兩類。符合USB測試和測量類(USBTMC)協議的設備稱為USB INSTR設備;不符合USBTMC協議的設備稱為USB RAW設備。
    NI-VISA有USB INSTR類函數與USB RAW類函數兩種VISA類函數,它們可分別控制USB INSTR與USB RAW兩種設備。USB INSTR設備可通過LabVIEW直接調用USB INSTR類函數實現對其控制;而USB RAW設備則需先使用NI-VISA來創建USB設備的驅動程序[3],創建正確后才能利用LabVIEW調用USB RAW類函數實現對其控制。
    使用NI-VISA軟件包中的VISA Interactive Control測試可知,本設計中的USB設備屬于USB RAW類設備,因此需要通過NI-VISA來創建驅動程序。驅動程序設計的任務是制作INF文件、配置USB設備及安裝驅動程序并驗證其正確安裝,可分為以下3個步驟[4]:(1)使用VISA驅動開發向導(Driver Development Wizard)創建INF文件;(2)使用INF文件安裝驅動程序和USB設備;(3)使用NI-VISA交互式控制測試設備。
2.3 應用程序設計
    當正確安裝VISA驅動程序之后,便可通過LabVIEW程序調用USB RAW類函數來完成與USB設備的通信[5]。本應用程序設計的主要任務有兩個:(1)PC接收由單片機采集的溫度數據,并通過LabVIEW顯示;(2)PC通過LabVIEW軟件發送指定的指令點亮單片機的LED燈。
    由于本設計中的RAW設備編程較為復雜,不像INSTR設備那樣可以使用USBTMC協議直接調用VISA常用函數,故需重新編寫程序。編寫本設計主要用到的控件為:VISA打開、VISA啟用事件、VISA等待事件、VISA獲取USB中斷數據、VISA寫和VISA關閉。
    PC通過USB向單片機發送指令的流程圖如圖4所示,PC接收單片機通過USB傳送來的數據的流程圖如圖5所示。
    根據圖4和圖5的流程圖進行LabVIEW編程,其后面板的核心代碼分別如圖6和7所示。

 

 


3 系統功能測試
    在完成各個模塊的設計后,需進行系統集成。結合硬件框圖進行實物連接,依次完成固件程序下載、驅動程序安裝和應用程序整合。
    (1)單片機將所采集的溫度信息通過USB將數據傳送給PC,其LabVIEW前面板及測試結果如圖8所示。

    單片機的核心代碼如下:
    In_Packet[0] = Switch1State;
    In_Packet[1] = Switch2State;
    In_Packet[2] = (P0 & 0x0F);
    In_Packet[3] = Potentiometer;
    In_Packet[4] = Temperature;
    通過與單片機發送數據的格式對比可知,所傳送數據的格式正確,使用“Bus Hound”軟件驗證了所傳送的數據正確無誤。
    (2)PC機通過USB將指定的數據傳送給單片機,可觀察到正常點亮單片機的LED燈。
    本文介紹了如何在LabVIEW環境下基于NI-VISA實現PC與單片機C8051F320的USB通信,并給出系統實現方案。實驗測試表明,該方案能夠實現USB通信,且方案實現難度較低。本系統可為USB應用系統的設計提供參考。
參考文獻
[1] 佘志榮,楊莉.基于NI-VISA與LabVIEW的USB接口應用設計[J].單片機與嵌入式系統應用,2007(1):66-68.
[2] 趙宏斌,全厚德.基于C8051F320的數據采集系統USB接口設計[J].單片機開發與應用,2009,25(9):92-94.
[3] 蔡共宣.基于LabVIEW的單片機USB數據采集系統設計[J].實驗科學與技術,2009,8(1):58-59.
[4] National Instruments.USB儀器控制教程[Z],2009.
[5] 張桐,陳國順.精通LabVIEW程序設計[M].北京:電子工業出版社,2008.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲国产精品第一区二区三区| 在线视频免费在线观看一区二区| 亚洲第一主播视频| 国产精品香蕉在线观看| 这里只有精品视频在线| 久久精品国产第一区二区三区| 日韩视频免费在线观看| 国产精品免费在线| 1769国内精品视频在线播放| 亚洲天堂激情| 久久影院午夜论| 欧美区二区三区| 亚洲精品免费一二三区| 久久久久久久尹人综合网亚洲| 国产精品久久午夜| 亚洲色图制服丝袜| 亚洲精品久久久久中文字幕欢迎你| 欧美日韩国产天堂| 亚洲三级免费观看| 狠狠色香婷婷久久亚洲精品| 韩国欧美一区| 国产精品久久久久9999吃药| 亚洲一二三区在线| 亚洲免费一区二区| 在线免费高清一区二区三区| 国产精品久久久久久久久久妞妞| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲精品日韩欧美| 国产美女精品一区二区三区| 欧美一级理论性理论a| 黄色成人在线免费| 国产久一道中文一区| 欧美三区免费完整视频在线观看| 亚洲精品久久久久| 欧美日本国产在线| 在线一区观看| 日韩视频在线一区| 久久夜色精品国产噜噜av| 国产综合欧美| 欧美岛国在线观看| 亚洲韩国青草视频| 亚洲精品久久久一区二区三区| 国内免费精品永久在线视频| 国产日韩欧美高清| 国产精品久久一区二区三区| 久久精品免费| 亚洲国产电影| 亚洲综合清纯丝袜自拍| 久久久久久9| 亚洲免费在线视频| 国内自拍视频一区二区三区| 国产精品国产三级国产普通话蜜臀| 久久综合九色综合欧美狠狠| 久久视频这里只有精品| 香蕉久久夜色精品国产| 韩国三级电影一区二区| 亚洲国产精品尤物yw在线观看| 久久国产日韩欧美| 欧美一级精品大片| 日韩一区二区福利| 亚洲一区二区动漫| 国产日韩一区欧美| 99亚洲视频| 经典三级久久| 午夜精品在线看| 亚洲精品日韩一| 欧美精品123区| 激情五月***国产精品| 亚洲无限av看| 国内精品久久久久久久影视麻豆| 欧美国产日产韩国视频| 亚洲人成小说网站色在线| 午夜久久美女| 国产裸体写真av一区二区| 国产一区二区三区精品久久久| 欧美xx视频| 小黄鸭精品aⅴ导航网站入口| 中文国产亚洲喷潮| 欧美人体xx| 欧美激情精品久久久久| 亚洲精品一区在线观看| 国产噜噜噜噜噜久久久久久久久| 一本色道**综合亚洲精品蜜桃冫| 国产精品青草久久| 亚洲高清在线观看| 亚洲精品一品区二品区三品区| 免费不卡视频| 日韩午夜剧场| 亚洲国产天堂网精品网站| 国产在线播放一区二区三区| 欧美 日韩 国产 一区| 亚洲第一狼人社区| 黑人巨大精品欧美一区二区| 狼人社综合社区| 亚洲午夜精品福利| 欧美三级电影一区| 亚洲一区日韩| 久久都是精品| 国产午夜精品在线观看| 亚洲欧洲综合另类| 亚洲美女中文字幕| 欧美系列亚洲系列| 久久久www成人免费无遮挡大片| 亚洲精品日韩综合观看成人91| 亚洲精品中文字幕在线观看| 免费在线观看日韩欧美| 亚洲高清在线播放| 亚洲免费av网站| 亚洲欧美视频一区| 久久久国产精品一区二区中文| 国产亚洲网站| 午夜精品在线视频| 夜夜嗨av一区二区三区四季av| 久久裸体视频| 久久精品网址| 国产精品一区久久| 久久亚洲影音av资源网| 午夜精品久久久久久久久久久久| 久久综合成人精品亚洲另类欧美| 国产精品免费区二区三区观看| 久久久久久久久久久成人| 鲁大师影院一区二区三区| 欧美视频福利| 久久久夜色精品亚洲| 一区二区三区日韩精品视频| 亚洲欧美日韩国产综合在线| 一区二区三区**美女毛片| 1000精品久久久久久久久| 亚洲伊人网站| 国产一区99| 国产精品影院在线观看| 国产在线不卡| 亚洲精品一二区| 欧美精品aa| 国产精品第一区| 国产亚洲午夜高清国产拍精品| 好吊妞**欧美| 国产欧美日韩激情| av成人国产| 亚洲高清视频一区二区| 亚洲欧美在线一区二区| 久久综合网络一区二区| 国产亚洲人成网站在线观看| 欧美精品综合| 欧美在线视频a| 麻豆av福利av久久av| 国产精品毛片在线| 亚洲第一在线综合网站| 一本色道久久综合亚洲精品不| 鲁大师影院一区二区三区| 欧美视频在线观看一区二区| 欧美美女bbbb| 日韩一级裸体免费视频| 久久九九热re6这里有精品| 亚洲在线免费| 久久久水蜜桃| 亚洲欧美自拍偷拍| 在线观看欧美成人| 国产精品多人| 亚洲成色777777在线观看影院| 久久色在线播放| 国产欧美日韩综合| 欧美日韩国产不卡| 国产精品久久久久影院色老大| 美国十次成人| 性18欧美另类| 性欧美18~19sex高清播放| 欧美午夜精品久久久久久孕妇| aaa亚洲精品一二三区| 国产欧美精品在线| 午夜精品久久久久| 欧美天堂在线观看| 亚洲日本免费电影| 久久精品免费| 久久久久久久久一区二区| 亚洲午夜电影在线观看| 午夜免费久久久久| 欧美精品免费观看二区| 亚洲国产人成综合网站| 亚洲精品视频在线| 99日韩精品| 国产精品视频精品| 久久精品99久久香蕉国产色戒| 欧美一区二区在线看| 黄色成人在线网址| 9人人澡人人爽人人精品| 一区二区三区色| 中文国产亚洲喷潮| 欧美视频在线观看 亚洲欧| 国产精品免费看片| 亚洲深夜福利在线| 欧美色视频在线| 欧美亚洲日本国产| 国产精品夜夜夜一区二区三区尤| 国产精品系列在线播放| 久久国产一二区| 一区二区三区视频免费在线观看| 欧美激情偷拍| 久久综合给合久久狠狠狠97色69| 亚洲自拍偷拍麻豆| 国产精品第13页| 一区二区三区在线免费播放| 久久精品国产精品亚洲| 国产精品天天摸av网| 欧美一级艳片视频免费观看| 蜜桃精品一区二区三区| 先锋影音国产精品| 西西裸体人体做爰大胆久久久| 欧美在线视频免费播放| 欧美日韩国语| 性欧美8khd高清极品| 在线观看三级视频欧美| 一区二区三区日韩欧美| 欧美日韩高清在线播放| 国产精品免费一区二区三区观看| 欧美日韩播放| 99精品国产在热久久下载| 欧美日韩亚洲一区二区| 日韩五码在线| 亚洲欧美成人精品| 一区一区视频| 欧美日韩视频在线一区二区观看视频| 欧美日韩一本到| 亚洲人成绝费网站色www| 国产精品三区www17con| 欧美日韩一区二区在线播放| 国产精品丝袜白浆摸在线| 最新日韩精品| 午夜一区二区三区不卡视频| 亚洲看片网站| 久久亚洲精选| 久久丁香综合五月国产三级网站| 国产精品久久久久久久久婷婷| 亚洲国产精品成人精品| 欧美精品一区在线观看| 亚洲午夜成aⅴ人片| 久久综合国产精品| 亚洲国产欧美日韩另类综合| 欧美成人免费全部观看天天性色| 欧美另类在线观看| 欧美激情国产日韩精品一区18| 久久福利视频导航| 在线成人性视频| 午夜日韩在线观看| 久久久www免费人成黑人精品| 一本久道久久综合婷婷鲸鱼| 国产亚洲激情视频在线| 在线国产欧美| 久久精品视频一| 亚洲国产日韩欧美在线图片| 国内伊人久久久久久网站视频| 91久久国产综合久久蜜月精品| 裸体歌舞表演一区二区| 国产午夜亚洲精品羞羞网站| 欧美激情中文字幕乱码免费| 亚洲免费观看视频| 亚洲高清久久| 久久9热精品视频| 亚洲欧美国产精品专区久久| 欧美日韩一区成人| 欧美有码在线观看视频| 欧美日韩精品在线观看| 午夜精品在线观看| 国产精品白丝黑袜喷水久久久| 久久蜜桃香蕉精品一区二区三区| 亚洲人成欧美中文字幕| 亚洲欧洲av一区二区三区久久| 美女被久久久| 久久激情五月丁香伊人| 欧美日韩一区二区三区四区在线观看| 亚洲欧美bt| 久久久久一区| 亚洲承认在线| 亚洲精品小视频| 亚洲一区二区免费| 麻豆91精品91久久久的内涵| 日韩亚洲视频在线| 欧美激情一区二区三区成人| 在线中文字幕日韩| 国产亚洲欧洲997久久综合| 欧美专区亚洲专区| 亚洲婷婷国产精品电影人久久| 欧美韩日一区二区| 亚洲欧美日韩天堂| 国产精品成人一区二区艾草| 亚洲午夜久久久久久久久电影网| 亚洲美女少妇无套啪啪呻吟| 亚洲自拍偷拍一区| 激情亚洲网站| 国产精品高清在线| 亚洲特色特黄| 国产精品女同互慰在线看| 欧美日韩视频在线| 国产欧美日韩综合一区在线观看| 美女国产精品| 国产精品入口麻豆原神| 91久久精品www人人做人人爽| 亚洲精品一区二区三区婷婷月| 欧美性片在线观看| 一区二区三区高清在线观看| 亚洲伦伦在线| 国产一区二区久久精品| 午夜一区二区三区在线观看| 欧美一区二区三区男人的天堂| 国产精品一区二区男女羞羞无遮挡| 国产一级一区二区| 亚洲一二三级电影| 亚洲图片在线观看| 在线观看成人av| 午夜欧美大尺度福利影院在线看| 久久免费午夜影院| 亚洲第一页自拍| 欧美成人午夜激情视频| 欧美激情va永久在线播放| 亚洲影视中文字幕| 国产一区再线| 欧美精品一区二区三区一线天视频| 亚洲精品乱码久久久久久久久| 亚洲精品视频啊美女在线直播| 国产视频精品xxxx| 国产亚洲视频在线观看| 久久久久.com| 日韩一区二区高清| 欧美成人激情视频| 国产精品乱码妇女bbbb| 国产精品毛片a∨一区二区三区|国| 伊人色综合久久天天五月婷| 国产精品亚洲激情|