《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > LabVIEW與PSoC3基于USB的通信方式
LabVIEW與PSoC3基于USB的通信方式
2015年電子技術應用第4期
王程程,王安騰,王阡智,趙洪亮
山東科技大學 電子通信與物理學院,山東 青島266590
摘要: 針對LabVIEW無法直接支持非NI公司的USB接口數據采集卡的問題,介紹了上位機LabVIEW驅動USB設備的方法。同時使用PSoC3作為下位機數據采集儀器,研究了將PSoC3構建為USB設備的方式。系統地闡述了上位機LabVIEW與下位機PSoC3通過USB實現通信的各種方式,并提出了一種新方法:即將PSoC3構建為LabVIEW中已有的驅動類型的USB設備,例如聲卡、串口類型等。
中圖分類號: TP274.2
文獻標識碼: A
文章編號: 0258-7998(2015)04-0081-03
Modes of the communication between LabVIEW and PSoC3 based on USB
Wang Chengcheng,Wang Anteng,Wang Qianzhi,Zhao Hongliang
College of Electronic Communication and Physics,Shandong University of Science and Technology,Qingdao 266590,China
Abstract: Some modes are introduced for LabVIEW to drive USB device in view of LabVIEW can’t drive the USB data acquisition devices which are not produced by National Instruments(NI). In this paper,PSoC3 is used as the USB data acquisition device and some modes that PSoC3 is designed as USB device are also studied. The modes of communication between LabVIEW and PSoC3 are introduced systematically, including one new method: Building PSoC3 as USB device, whose driver already exists in the LabVIEW, such as audio card, serial port .etc.
Key words : LabVIEW;PSoC3;USB

  

0 引言

  隨著工業技術的急劇發展,虛擬儀器在機械控制及測量分析領域得到了廣泛應用。虛擬儀器除了可以完成傳統測量儀器的功能外,還擁有龐大的數據處理能力[1]。LabVIEW便是由美國國家儀器(National Instruments,NI)公司發布的一款虛擬儀器軟件。LabVIEW可以與NI公司的數據采集卡實現無縫連接,針對這種數據卡,只需要在程序框圖中選擇對應的圖標并編程便可實現USB連接及數據采集,這種情況無需設置專門的驅動程序。但對于非NI公司的USB接口數據采集卡,必須使用LabVIEW自行編寫驅動程序才能夠驅動USB并完成數據采集。

  可編程的片上系統(Programmable System-on-Chip,PSoC)是賽普拉斯公司推出的系列芯片。其中PSoC3的單個芯片集微控制器、存儲器、模擬和數字外設功能為一體,具有USB等通信接口。借助PSoC Creator這一原理圖設計及輸入工具,便可以輕松完成片上的模擬數字系統設計。

  為了使LabVIEW能夠更普遍地使用通用USB設備,本文系統地闡述了LabVIEW與PSoC3通過USB通信的四種方式,最后列舉了其中兩種方式的LabVIEW設計程序和測試效果。

1 LabVIEW連接USB的方式

  對于非NI公司的通用USB接口設備,必須使用LabVIEW編寫對應的驅動程序。一般有四種方法:使用調用庫函數節點(Call Library Function Node,CLF)方式調用動態數據庫;使用代碼接口節點(Code Interface Node,CIN)調用外部代碼;使用虛擬儀器軟件架構(NI-Virtual Instrument Software Architecture,NI-VISA)配置USB;將USB接口轉換為LabVIEW已定義的外設接口類型,例如聲卡、串口等類型。

  1.1 CLF方式

  CLF方式為在程序框圖中使用庫函數節點調用動態鏈接庫(Dynamic Link Library,DLL)。DLL是一種允許多個程序共享并執行某些代碼或者資源的可執行文件[3]。LabVIEW沒有非NI公司USB接口設備的驅動程序,用戶需要使用其他開發軟件(VC++、C等)自行開發驅動程序并封裝為DLL,以供LabVIEW調用[4]。

  LabVIEW調用動態鏈接庫的步驟如下:在程序框圖中放置庫函數節點,其位置在“互連接口——庫與可執行程序——調用庫函數節點”,雙擊庫函數節點或者右擊選擇配置菜單選項,進入配置對話框。在“函數”標簽中選擇自己編寫并封裝的DLL庫函數名稱及某個功能函數。在“參數”標簽中設置庫函數節點的輸入輸出參數及數據類型。由于只有指針類型的輸出參數能夠正確傳出,所以要注意將輸出參數的傳遞屬性設置為指針類型。

  1.2 CIN方式

  LabVIEW的CIN圖標可以通過USB接口實現與其他編程語言的通信。使用CIN圖標同樣需要設置輸入輸出參數。當LabVIEW程序運行到CIN節點時,通過輸入端口進入其他語言源代碼中,運行完源代碼之后再通過輸出端口返回到LabVIEW程序。在其他語言源代碼中要獲取USB設備句柄并設置USB接口值等參數。從LabVIEW 2010升級版取消了代碼接口節點后,此方式已較少使用。

  1.3 NI-VISA方式

  VISA是一個用來與各種儀器總線進行通信的高級應用編程接口。NI-VISA從3.0版本開始支持USB通信,它的兩種VISA類函數可以控制兩類USB設備:USB儀器(Instruction,INSTR)設備與USB 讀寫(Read And Write,RAW)設備,NI-VISA與這兩種USB設備實現通信的編程是不同的[5]。

  1.3.1 NI-VISA與USB INSTR設備的通信

  這種方式不需要配置NI-VISA,直接使用圖1所示程序便可實現兩者的通信。

001.jpg

  1.3.2 NI-VISA與USB RAW設備的通信

  這種方式需要配置NI-VISA,配置步驟如下:

  (1)對下位機PSoC3供電并將USB總線接入個人電腦。

  (2)打開NI-VISA Driver Wizard,將USB作為缺省驅動程序。

  (3)進入基本信息設置窗口,設置USB的基本信息。在Device List中可以選擇Other選項,點擊Next進入USB的基本信息填寫對話框。但因為已經連接了USB設備,所以此處可以直接單擊連接的USB設備,在下方自動填寫USB設備對應的供應商ID、產品ID、制造商名稱和型號名稱。

  (4)指定INF文檔的存放文件夾。

  (5)安裝INF文檔。

  設置完畢,運行上位機時,便可以在“VISA資源名”顯示框中搜索到連接的USB設備。如圖2,此時表示PSoC3可與LabVIEW實現通信。

002.jpg

  1.4 使用LabVIEW已有的驅動類型

  因為LabVIEW本身具有一些設備驅動程序,例如聲卡、串口等,LabVIEW可直接利用這些已有的圖標完成編程。此時需要將下位機PSoC3構建為這些設備。

2 將PSoC3構建為USB設備的方式

  PSoC3集成開發環境(PSoC Creator)中的全速USB組件USBFS(Full Speed USB)為控制端點提供了低層驅動程序。此組件提供了USBFS自定義程序,從而可以方便實現描述符的構建[6]。根據傳輸數據的不同,開發者可以構建普通的USB設備,也可以構建基于USB類的設備。構建為基于USB類的設備的最大優勢是操作系統中集成了這些類設備的驅動程序,免去了開發者編寫驅動的過程。例如需要中斷傳輸,可以構建基于人機接口類的設備(USB_DEVICE_CLASS_HUMAN INTERFACE,HID);需要批量傳輸,可以構建為基于通信類的設備(USB_DECICE_CLASS_COMMUNICATIONS,CDC);需要等時傳輸可以構建為基于音頻類的設備(USB_DEVICE_ CLASS_AUDIO,Audio)。

  2.1 將PSoC3構建為普通的USB設備

  此方式為PSoC3端最簡單的方式。雖然各種描述符的構建相對簡單,可以根據需要使用中斷傳輸、等時傳輸、批量傳輸等傳輸方式,但代價是USB主機端(如PC)設計的復雜度大大提高。開發者必須針對此設備編寫相應的驅動程序,否則該設備將無法運行。NI-VISA雖然可以簡化驅動程序的編寫過程,但是簡單的接口描述符和端點描述符決定了此種方式很難完成大量復雜的數據傳輸。因此,這種方式只適合普通、少量的數據傳輸。

  2.2 將PSoC3構建為基于HID類、CDC類的設備

  HID類是應用最為廣泛的標準USB類,操作系統的支持使HID類的開發變得較為容易。USB主機通過HID報表描述符獲取主機所接收到的數據的意義,以及應該發送什么數據給USB設備。對于PSoC3來說,HID類只適合傳輸一些低傳輸速率的數據,這是因為HID類在實際應用方面有一些限制:(1)所有的數據傳輸類型必須為控制傳輸和中斷傳輸;(2)一次最多傳輸64字節,1 ms傳輸一次,所以速率限制為64 kb/s;(3)僅支持一個輸入端點和一個輸出端點;(4)只能由USB主機周期性輪詢請求數據傳輸[7]。

  基于CDC類的器件可以彌補HID類在以上方面的限制。開發者可以根據PSoC Creator中的USBUART組件將PSoC3構建為基于CDC類的器件,而操作系統通常都自帶CDC類的設備驅動程序。PSoC3通過USB口連接到PC后,PC端識別為普通串口設備。這樣USB接口在LabVIEW與PSoC3之間相當于透明的,LabVIEW端完全可以忽略USB的存在,只當PC端連接到了一個普通的串口設備,使用串口的一系列圖標便可實現數據的傳輸。相對于HID類設備,既提高了傳輸速度,又簡化了程序設計的復雜程度。

  2.3 將PSoC3構建為基于Audio類的設備

  以上兩種方式在實際應用上并不能應對所有的PSoC3和LabVIEW之間的通信問題。例如USB連接的多路信號采集顯示及分析設備,需要將多路信號數據通過USB實時地上傳到LabVIEW端。將PSoC3配置為基于Audio類的設備有助于處理好系統所需的實時性和上位機下位機之間采樣率同步等問題。和HID類與CDC類相同的是,一般的計算機操作系統中都集成了Audio類的驅動程序,將配置好的PSoC3連接到PC后,PC端識別為USB音頻設備,USB接口在LabVIEW與PSoC3之間也相當于透明的。LabVIEW與PSoC3之間借用音頻的左右聲道傳輸數據,并且可以利用Audio類對數據格式、同步和采樣率的協議進行數據的傳輸和同步處理,從而大大簡化了LabVIEW和PSoC3之間此類數據的傳輸復雜程度。

3 LabVIEW與PSoC3基于USB通信的測試

  3.1 通過配置NI-VISA實現通信的測試

006.jpg

  通過NI-VISA配置USB設備的前面板與程序框圖如圖3、圖4所示,此方法中上位機LabVIEW使用配置NI-VISA方式,下位機將PSoC3構建為普通的USB設備。點擊圖3中實時采集按鈕,實時顯示采集的數據。圖4的程序框圖中使用的是USB RAW設備配置方法。

  3.2 將PSoC3構建為基于Audio類設備的測試


  此方法的前面板與程序框圖如圖5、圖6所示。此方法中上位機LabVIEW直接使用聲卡驅動完成數據采集與實時顯示,下位機將PSoC3構建為基于Audio類的設備。圖5中上位機將接收到的數據解包后實時顯示,采集到的是四個具有相位差的正弦信號,圖6是通過聲卡驅動編寫的程序。

4 總結

  本文系統地介紹了LabVIEW與PSoC3基于USB的幾種通信方式,各種方式都有各自的適用場合。LabVIEW的四種方式中,CLF可以調用設備的驅動程序,但驅動程序的編寫對開發者來說相對困難。CIN方式雖可以與其他編程語言實現鏈接,但目前LabVIEW已取消了這個節點函數。NI-VISA使用更方便,應用更廣泛。將PSoC3構建為基于USB類設備的方式可以避免對驅動程序的編寫及VISA的配置,可直接使用LabVIEW已有驅動程序,更簡化了程序的實現。根據傳輸數據類型的不同,可以將PSoC3配置為基于HID類、CDC類和Audio類的設備。

  參考文獻

  [1] 伍星華,王旭.國內虛擬儀器技術的應用研究現狀及展望[J].現代科學儀器,2011(4):112-116.

  [2] 劉宇芳,李秀娟.Labview平臺下基于DLL的USB通信技術應用[J].安徽工業大學學報(自然科學版),2008(2):168-170,189.

  [3] 王平,蘇濤,方浩?。赨SB2.0的高速實時數據采集系統設計[J].現代電子技術,2007(1):81-84.

  [4] 周青云,王建勛.基于USB接口與LabVIEW的數據采集系統設計[J].實驗室研究與探索,2011(8):238-240.

  [5] Cypress.Full Speed USB(USBFS)[EB/OL].[2014-02-25].http://www.cypress.com/?rID=48924.

  [6] Cypress.USB General Data Transfer with Standard HID Drivers[EB/OL].[2014-09-22].http://www.cypress.com/rID=70131.

  [7] 方尚俠.基于LabVIEW和USB接口的虛擬晶體管特性圖示儀[D].成都:電子科技大學,2006.


此內容為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>
          狼狼综合久久久久综合网| 在线观看欧美精品| 久久精品国产v日韩v亚洲| 欧美精品一区二区三区高清aⅴ| 亚洲精品人人| 亚洲自拍偷拍福利| 在线天堂一区av电影| 亚洲视屏在线播放| 久久久久一区二区三区| 欧美精品首页| 韩国美女久久| 亚洲精品国产精品国自产在线| 国产精品一区二区视频| 日韩视频欧美视频| 亚洲电影在线| 国产精品一区二区久久国产| 欧美黄色aa电影| 久久精品国产第一区二区三区最新章节| 久久黄色影院| 久久青草欧美一区二区三区| 欧美日韩18| 国产精品私拍pans大尺度在线| 欧美一级艳片视频免费观看| 红桃视频一区| 欧美日韩精品免费观看| 欧美成人一区二免费视频软件| 亚洲高清精品中出| 亚洲一区二区三区三| 欧美日韩国产系列| 久久久精品一品道一区| 欧美日韩一二区| 亚洲片国产一区一级在线观看| 玖玖精品视频| 亚洲精品网站在线播放gif| 激情综合色综合久久| 中文在线不卡| 亚洲激情啪啪| 激情综合电影网| 亚洲电影天堂av| 亚洲成人直播| ●精品国产综合乱码久久久久| 亚洲精品少妇网址| 欧美人与性禽动交情品| 国产精品高清网站| 久久精品国产一区二区三区免费看| 在线高清一区| 国产精品人成在线观看免费| 欧美日韩第一页| 久久久噜噜噜久久中文字免| 久久国内精品视频| 麻豆国产精品一区二区三区| 午夜精品久久久久久99热| 久久国产乱子精品免费女| 亚洲一区影院| 狠狠干综合网| 久久人人97超碰人人澡爱香蕉| 男女激情视频一区| 欧美视频四区| 老色鬼久久亚洲一区二区| 欧美国产一区在线| 欧美日韩日韩| 久久国产精品一区二区三区| 久久国产免费看| 亚洲人成欧美中文字幕| 免费黄网站欧美| 欧美成在线视频| 在线成人激情视频| 欧美午夜精品一区| 最新亚洲一区| 91久久国产综合久久91精品网站| 99精品热6080yy久久| 亚洲第一网站免费视频| 美日韩在线观看| 欧美日韩精品欧美日韩精品一| 亚洲精品乱码久久久久久久久| 欧美性猛交xxxx免费看久久久| 国产亚洲欧洲997久久综合| 午夜精品亚洲| 国产精品日韩精品欧美精品| 久久久久久久欧美精品| 国产精品高潮粉嫩av| 国产精品男女猛烈高潮激情| 亚洲欧美日韩视频二区| 欧美伦理影院| 国产精品分类| 亚洲高清视频一区二区| 狠狠爱成人网| 国内偷自视频区视频综合| 亚洲电影免费在线| 久久免费午夜影院| 亚洲资源在线观看| 噜噜爱69成人精品| 国产精品一页| 亚洲免费av电影| 国产精品亚洲综合| 亚洲人成毛片在线播放| 亚洲一区二区精品视频| 亚洲一区在线观看视频| 国产综合在线视频| 亚洲久久一区二区| 国产欧美日韩一区二区三区| 亚洲欧洲三级| 在线亚洲一区| 欧美成人精品三级在线观看| 久久久999成人| 老巨人导航500精品| 久久婷婷蜜乳一本欲蜜臀| 久久字幕精品一区| 欧美在线亚洲在线| 国产手机视频一区二区| 亚洲欧美日韩直播| 国产一区二区中文字幕免费看| 国产在线拍揄自揄视频不卡99| 国产精品麻豆欧美日韩ww| 一区二区三区高清不卡| 国产日本欧美一区二区三区| 久久久久.com| 欧美一区二区三区男人的天堂| 欧美日韩xxxxx| 1769国内精品视频在线播放| 黄色精品一二区| 欧美日韩国产在线一区| 亚洲视频久久| 嫩模写真一区二区三区三州| 在线看成人片| 国产精品亚洲综合天堂夜夜| 国产一区二区0| 欧美肥婆在线| 国产精品乱码妇女bbbb| 99国产精品私拍| 国产精品www色诱视频| 亚洲欧美精品一区| 国产精品天美传媒入口| 国内精品久久久久国产盗摄免费观看完整版| av成人黄色| 韩国一区二区在线观看| 亚洲日本久久| 欧美成人黑人xx视频免费观看| 亚洲欧洲av一区二区三区久久| 欧美日产一区二区三区在线观看| 久久亚洲欧美国产精品乐播| 国产精品yjizz| 欲香欲色天天天综合和网| 亚洲午夜未删减在线观看| 一区二区三区免费网站| 亚洲网站视频福利| 国产一区91精品张津瑜| 欧美国产日韩免费| 国产伪娘ts一区| 欧美在线免费| 销魂美女一区二区三区视频在线| 日韩西西人体444www| 亚洲精品久久久久中文字幕欢迎你| 国产精品久久久久久久久久ktv| 欧美激情亚洲激情| 国产专区一区| 亚洲欧美综合v| 开元免费观看欧美电视剧网站| 亚洲区一区二| 欧美日韩精品免费观看视一区二区| 欧美日韩在线视频一区二区| 国产一区二区三区黄| 美国三级日本三级久久99| 亚洲午夜免费视频| 激情综合色综合久久综合| 欧美福利一区二区| 夜夜嗨av一区二区三区网页| 欧美日韩综合另类| 亚洲激情亚洲| 国产精品日韩欧美一区二区三区| 一区二区欧美亚洲| 国产精品视频免费| 六月婷婷久久| 亚洲人成亚洲人成在线观看| 欧美一级理论性理论a| 欧美日韩一区二区高清| 在线观看日产精品| 国产精品中文字幕欧美| 久久精品久久99精品久久| 欧美.日韩.国产.一区.二区| 久久久久久噜噜噜久久久精品| 在线欧美影院| 国产精品美女主播| 国产精品视频内| 国模精品娜娜一二三区| 免费成人黄色片| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲女同同性videoxma| 亚洲综合日韩| 亚洲欧美一区二区三区极速播放| 激情五月***国产精品| 欧美伦理a级免费电影| 一区二区三区亚洲| 美玉足脚交一区二区三区图片| 欧美1区2区3区| 欧美久久久久久久久久| 麻豆国产精品一区二区三区| 欧美日韩午夜| 欧美99久久| 亚洲宅男天堂在线观看无病毒| 日韩视频一区二区在线观看| 免费在线亚洲欧美| 久久男人资源视频| 先锋a资源在线看亚洲| 欧美精品一区视频| 亚洲国产中文字幕在线观看| 亚洲淫片在线视频| 国产精品久久夜| 欧美一区二区三区四区视频| 9i看片成人免费高清| 国产精品一区免费在线观看| 久久久精品tv| 免费91麻豆精品国产自产在线观看| 在线日本成人| 日韩视频―中文字幕| 国产精品国产三级国产普通话99| 欧美吻胸吃奶大尺度电影| 亚洲免费在线精品一区| 免费欧美视频| 在线日韩成人| 欧美jizzhd精品欧美喷水| 一级日韩一区在线观看| 国产欧美1区2区3区| 国产精品久久7| 欧美视频在线观看 亚洲欧| 欧美系列一区| 欧美日韩三级在线| 久久99在线观看| 欧美日韩网站| 亚洲三级影片| 999在线观看精品免费不卡网站| 免费观看成人www动漫视频| 亚洲国产日韩在线一区模特| 激情五月婷婷综合| 欧美日韩国产不卡| 亚洲国产精品成人va在线观看| 欧美一区二区在线视频| 亚洲激情视频在线播放| 欧美一区二区免费| 狠狠综合久久av一区二区老牛| 国产精品久久夜| 国产精品一区二区久久久久| 欧美黄色大片网站| 欧美乱人伦中文字幕在线| 亚洲美女色禁图| 欧美三级在线播放| 亚洲三级电影在线观看| 国产精品99久久久久久宅男| 亚洲精品一区二区三区不| 国产一区二区在线免费观看| 欧美日韩午夜在线| 夜夜嗨av一区二区三区网页| 一区二区三区精品国产| 久久久亚洲人| 亚洲欧洲日本mm| 亚洲精品一区二区三区在线观看| 国产伦理精品不卡| 久久综合国产精品| 欧美国产日韩免费| 亚洲欧美精品伊人久久| 久久久国产精彩视频美女艺术照福利| 国产自产2019最新不卡| 免费观看国产成人| 男女av一区三区二区色多| 亚洲网址在线| 亚洲国产精品久久精品怡红院| 亚洲一区二区三区久久| 欧美 日韩 国产精品免费观看| 亚洲性xxxx| 亚洲国产欧美久久| 国语自产偷拍精品视频偷| 亚洲黄色一区二区三区| 国产欧美69| 免费欧美网站| 亚洲欧美自拍偷拍| 欧美人与性动交cc0o| 国产一区二区三区在线观看免费| 久久久www免费人成黑人精品| 欧美三级乱人伦电影| 久久综合伊人77777麻豆| 欧美无砖砖区免费| 日韩亚洲国产精品| 久久狠狠一本精品综合网| 欧美视频三区在线播放| 欧美激情1区2区3区| 久久性色av| 午夜精品国产精品大乳美女| 久久久国产精品一区二区三区| 91久久国产综合久久91精品网站| 欧美人成网站| 欧美一级在线视频| 国产精品蜜臀在线观看| 日韩视频免费大全中文字幕| 久久久久女教师免费一区| 国产精自产拍久久久久久蜜| 久久久久国产精品厨房| 亚洲国产裸拍裸体视频在线观看乱了中文| 麻豆精品在线视频| 亚洲人成精品久久久久| 国产精品视频精品| 免费在线一区二区| 亚洲一区二区精品在线| 国产亚洲欧美aaaa| 国内精品久久久久影院 日本资源| 久久久久网址| 亚洲国产欧美另类丝袜| 久久九九全国免费精品观看| 国产日韩欧美不卡在线| 久久夜色精品国产欧美乱| 欧美激情按摩在线| 国产一区在线观看视频| 一区二区三区四区国产| 亚洲国产精品嫩草影院| 亚洲观看高清完整版在线观看| 亚洲国产精品va在线看黑人动漫| 欧美激情综合色综合啪啪| 国产精品多人| 久久国产日韩欧美| 在线一区二区视频| 欧美日韩午夜精品| 欧美精品日韩综合在线| 欧美在线国产精品| 欧美日韩一区二区三区在线观看免| 亚洲成人资源| 亚洲欧美日韩在线一区| 欧美在线www| 欧美日韩喷水| 欧美一区二区三区日韩|