环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產品分類

當前位置: 首頁 > 工業控制產品 > 自動化控制 > 數字式溫控器

類型分類:
科普知識
數據分類:
數字式溫控器

基于NI-VISA與LabVIEW的USB接口應用設計

發布日期:2022-04-18 點擊率:117

  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接口軟件?;谧缘紫蛏辖Y構模型的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的步驟

 ?、偈褂肈river DevelopineInt Wizard(驅動程序開發向導)創建INF文檔;

 ?、诎惭bINF文檔,并安裝使用INF文檔的USB設備;

 ?、凼褂肗I-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 RAW設備的讀寫次序

  下面以一個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所示。

積木式結構

 ?、儆布崛樱簩纹瑱C的I/O口、數據總線等硬件接口進行操作。

 ?、赑DIUSBD12命令接口:對D12器件進行操作的模塊子程序集。

 ?、壑袛喾粘绦颍寒擠12向單片機發出中斷請求時,讀取D12中斷傳輸來的數據,并設定事件標志“EPP-FLAGS”和Settup包數據緩沖區“CONROL_XFER”傳輸給主循環程序。

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

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

 ?、拗鞒绦颍喊l出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)屬性來實現。

  結語

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

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

主站蜘蛛池模板: 小型高低温循环试验箱-可程式高低温湿热交变试验箱-东莞市拓德环境测试设备有限公司 | 钢结构-钢结构厂房-钢结构工程[江苏海逵钢构厂] | 真空乳化机-灌装封尾机-首页-温州精灌 | 博医通医疗器械互联网供应链服务平台_博医通| 健身器材-健身器材厂家专卖-上海七诚健身器材有限公司 | 保定市泰宏机械制造厂-河北铸件厂-铸造厂-铸件加工-河北大件加工 | 书法培训-高考书法艺考培训班-山东艺霖书法培训凭实力挺进央美 | 不锈钢轴流风机,不锈钢电机-许昌光维防爆电机有限公司(原许昌光维特种电机技术有限公司) | 过滤器_自清洗过滤器_气体过滤器_苏州华凯过滤技术有限公司 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 超声波焊接机_超音波熔接机_超声波塑焊机十大品牌_塑料超声波焊接设备厂家 | 南昌旅行社_南昌国际旅行社_南昌国旅在线 | 工业淬火油烟净化器,北京油烟净化器厂家,热处理油烟净化器-北京众鑫百科 | 阿米巴企业经营-阿米巴咨询管理-阿米巴企业培训-广东键锋企业管理咨询有限公司 | 自恢复保险丝_贴片保险丝_力特保险丝_Littelfuse_可恢复保险丝供应商-秦晋电子 | 塑料脸盆批发,塑料盆生产厂家,临沂塑料广告盆,临沂家用塑料盆-临沂市永顺塑业 | 礼仪庆典公司,礼仪策划公司,庆典公司,演出公司,演艺公司,年会酒会,生日寿宴,动工仪式,开工仪式,奠基典礼,商务会议,竣工落成,乔迁揭牌,签约启动-东莞市开门红文化传媒有限公司 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | 铣刨料沥青破碎机-沥青再生料设备-RAP热再生混合料破碎筛分设备 -江苏锡宝重工 | 福州仿石漆加盟_福建仿石漆厂家-外墙仿石漆加盟推荐铁壁金钢(福建)新材料科技有限公司有保障 | 安徽免检低氮锅炉_合肥燃油锅炉_安徽蒸汽发生器_合肥燃气锅炉-合肥扬诺锅炉有限公司 | 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 | 护腰带生产厂家_磁石_医用_热压护腰_登山护膝_背姿矫正带_保健护具_医疗护具-衡水港盛 | TPE塑胶原料-PPA|杜邦pom工程塑料、PPSU|PCTG材料、PC/PBT价格-悦诚塑胶 | 天津云仓-天津仓储物流-天津云仓一件代发-顺东云仓 | 小型铜米机-干式铜米机-杂线全自动铜米机-河南鑫世昌机械制造有限公司 | 防火卷帘门价格-聊城一维工贸特级防火卷帘门厂家▲ | 低温等离子清洗机(双气路进口)-嘉润万丰 | 钢格板_钢格栅_格栅板_钢格栅板 - 安平县鑫拓钢格栅板厂家 | 移动机器人产业联盟官网| 精密交叉滚子轴承厂家,转盘轴承,YRT转台轴承-洛阳千协轴承 | 建大仁科-温湿度变送器|温湿度传感器|温湿度记录仪_厂家_价格-山东仁科 | 智能楼宇-楼宇自控系统-楼宇智能化-楼宇自动化-三水智能化 | 岸电电源-60HZ变频电源-大功率变频电源-济南诚雅电子科技有限公司 | 北京网站建设公司_北京网站制作公司_北京网站设计公司-北京爱品特网站建站公司 | 济南网站建设_济南网站制作_济南网站设计_济南网站建设公司_富库网络旗下模易宝_模板建站 | 我车网|我关心的汽车资讯_汽车图片_汽车生活! | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 螺纹三通快插接头-弯通快插接头-宁波舜驰气动科技有限公司 |