亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于USB通信的科氏粉料流量測控系統(tǒng)設計

        2015-09-12 06:42:48何景田耿春明
        關(guān)鍵詞:設備系統(tǒng)設計

        何景田,耿春明

        (北京航空航天大學 機械工程及自動化學院,北京100191)

        何景田(碩士研究生),主要研究方向為機械電子工程。

        引 言

        目前,由北京航空航天大學與冀東發(fā)展集團有限責任公司合作研發(fā)的科氏粉料流量測控系統(tǒng)(以下簡稱“測控系統(tǒng)”)已經(jīng)成功應用到工業(yè)現(xiàn)場,運行狀況良好,測量精度優(yōu)于±0.5%。測控系統(tǒng)底層和PC端上層控制軟件通過RS-232串行接口通信。這樣,操作者就能夠方便地對測控系統(tǒng)的各個參數(shù)進行修改,同時研發(fā)人員在進行現(xiàn)場調(diào)試時進行流量數(shù)據(jù)采集,然而,基于RS-232通信的測控系統(tǒng)還存在一定的應用限制。

        雖然測控系統(tǒng)的流量測量精度高,但是其控制精度并不能滿足現(xiàn)場要求,針對于此,作者所在課題組正在開展粉料流量控制技術(shù)的相關(guān)研究工作,這就要求盡可能完整地采集流量數(shù)據(jù),為粉料流量控制技術(shù)研究提供精確的數(shù)據(jù)支持。目前,測控系統(tǒng)的RS-232 通信速率為9 600 bps,并不能滿足需求,必須通過提高通信速率實現(xiàn),然而,這樣會增加CPU 處理數(shù)據(jù)的負擔,導致通信數(shù)據(jù)不正確的情況發(fā)生,降低底層程序性能。同時RS-232串口通信為端到端傳輸模式,在實際運行時,上層應用程序無法對當前通信狀態(tài)進行實時監(jiān)測,不利于測控系統(tǒng)對各個設備運行狀態(tài)的準確實時監(jiān)測和控制。

        綜上所述,開發(fā)更為快速、方便、可靠的人機通信接口變得尤為重要。結(jié)合USB通信速率高、通信可靠、即插即用、成本低廉等優(yōu)點,本文設計了基于USB通信的測控系統(tǒng)。

        1 USB設備簡介

        USB(Universal Serial Bus,通用串行總線)設備是USB通信系統(tǒng)中不可或缺的部分,隨著USB技術(shù)的不斷發(fā)展,USB 設備類型也逐漸增加,主要包括Audio設備、Communication device設備、HID 設備、Image設備、Printer設備、Mass storage設備、Hub設備等等。其中,HID 類是比較大的一個類,屬人機交互操作的設備,用于控制計算機操作的一些應用中,如USB鼠標、USB觸摸板、遙控等設備。Windows操作系統(tǒng)自帶了HID類設備的驅(qū)動程序,用戶直接調(diào)用相應的API函數(shù)即可完成通信,不用開發(fā)特定的Windows驅(qū)動程序,這樣能夠有效縮短應用程序的開發(fā)周期。本文在測控系統(tǒng)中,采用HID 設備進行USB通信設計。

        2 測控系統(tǒng)USB通信設計

        根據(jù)系統(tǒng)功能需求,測控系統(tǒng)可分為系統(tǒng)上層、系統(tǒng)底層、中控室和系統(tǒng)外設4個部分。圖1為測控系統(tǒng)原理框圖。

        圖1 測控系統(tǒng)原理框圖

        系統(tǒng)上層為基于C#語言的Windows應用程序,主要完成測控系統(tǒng)的數(shù)據(jù)交互功能。

        測控系統(tǒng)底層為測控系統(tǒng)核心,主要由STM32F103VET6處理器(簡稱STM32)和μC/OS-II實時操作系統(tǒng)構(gòu)成。主要通過對應的命令方式完成對外設進行控制、傳感器測量信號采集、粉料流量計算與控制。

        中控室為測控系統(tǒng)的遠程監(jiān)控終端,通過4~20mA電流實現(xiàn)測控系統(tǒng)的流量監(jiān)測與控制。

        系統(tǒng)外設主要包括變頻器、繼電器、電動機以及各類信號終端。系統(tǒng)底層通過對應的命令方式對外設進行控制,或?qū)鞲衅鳒y量信號進行采集。

        2.1 測控系統(tǒng)底層USB通信設計

        STM32為ST 公司推出的基于ARM Cortex-M3 內(nèi)核的微控制器,自帶USB全速設備接口,支持USB2.0通信協(xié)議,可配置1~8 個USB 端點,包含512 字節(jié)的SRAM 數(shù)據(jù)緩沖區(qū)。因此,基于STM32的USB通信設計可以有效簡化系統(tǒng)硬件電路。

        圖2 為測控系統(tǒng)USB 接口硬件電路圖。其中,JPUSBENABLE接口用于實現(xiàn)對測控系統(tǒng)USB通信功能控制,USBENABLE用于底層應用程序控制USB 設備的連接狀態(tài)。

        2.1.1 HID設備內(nèi)核定義

        圖2 測控系統(tǒng)USB接口硬件電路

        在進行USB通信設計之前,必須完成USB設備的底層驅(qū)動設計。將ST 公司提供的針對于STM32 的USB固件庫移植到現(xiàn)有工程目錄中,這樣只需修改庫文件中關(guān)于USB設備的相關(guān)定義即可。在該庫中,提供了完整的HID設備定義所需描述符,包括設備描述符、配置描述符、報告描述符、廠商字符串、產(chǎn)品字符串等。只需根據(jù)需要進行相關(guān)描述符的修改即可滿足要求,在此,只針對設備描述符、配置描述符、報告描述符做簡要介紹。

        (1)設備描述符

        設備描述符主要完成USB設備的基本定義,主要包括設備類、最大數(shù)據(jù)包大小、配置個數(shù)等。在這里進行如下定義:

        設備類:HID設備。

        最大包大?。?4字節(jié)。

        配置個數(shù):1。

        (2)配置描述符

        配置描述符主要完成USB設備的配置定義,包括當前配置下的接口個數(shù)、接口定義、每個接口下的端點定義。在本測控系統(tǒng)的USB設備配置描述符中有如下定義:

        接口個數(shù):1。

        接口端點個數(shù):2(一個IN 端點和一個OUT 端點)。

        端點最大包大?。?4字節(jié)。

        (3)報告描述符

        HID設備要和主機進行正常通信,必須在主機對設備枚舉時提供完整的通信報文描述符,主機將根據(jù)設備提供的報告描述符進行USB通信控制。在報告描述符中可以定義多個報告(輸入報告、輸出報告),在這里,只定義一個輸入報告和一個輸出報告,其中報告大小均為64字節(jié)。

        2.1.2 基于μC/OS-II的USB通信設計

        μC/OS-II為多任務實時操作系統(tǒng),通過多任務的編程方式易于實現(xiàn)具有較高性能的嵌入式系統(tǒng)。目前測控系統(tǒng)包含5個任務:

        CACULATE_TASK:計算任務,完成粉料流量的計算。

        CTRL_TASK:控制任務,完成測控系統(tǒng)流量的控制。

        GETWEIGHT_TASK:稱重任務,讀取稱重倉的數(shù)據(jù)。

        UART_TASK:串口通信任務,完成串口的數(shù)據(jù)交換。

        DETECT_TASK:檢測任務。實時監(jiān)測測控系統(tǒng)的工作狀態(tài)。

        基于此,測控系統(tǒng)底層應用程序新增USB 通信數(shù)據(jù)接收任務USBCOMRX_TASK 和數(shù)據(jù)發(fā)送任務USBCOMTX_TASK。其中,USBCOMRX_TASK 任務實時接收上層應用程序下發(fā)的命令,并將命令進行解析處理;USBCOMTX_TASK 任務實時將相關(guān)數(shù)據(jù)通過USB接口發(fā)送到上層應用程序。

        為提高通信數(shù)據(jù)的可靠性,設計了專用的環(huán)形數(shù)據(jù)緩沖區(qū)。圖3為數(shù)據(jù)緩沖區(qū)結(jié)構(gòu)示意圖,其最小單位為數(shù)據(jù)包。

        圖3 數(shù)據(jù)緩沖區(qū)結(jié)構(gòu)示意圖

        在程序設計時有如下定義:

        //數(shù)據(jù)緩沖區(qū)

        //數(shù)據(jù)起始位置

        //數(shù)據(jù)結(jié)束位置

        //通信信號量

        緩沖區(qū)由二維數(shù)組構(gòu)成,每一行代表一幀數(shù)據(jù),由BUFLEN 幀數(shù)據(jù)組成,每幀數(shù)據(jù)長度為CMDLEN。其中,DataStart 指示緩沖區(qū)有效數(shù)據(jù)包的起始位置,DataStop指示緩沖區(qū)有效數(shù)據(jù)包的結(jié)束位置。USB_sem為通信所需信號量,對于接收數(shù)據(jù)緩沖區(qū),USB接收中斷服務子程序中將接收到的數(shù)據(jù)包復制到該緩沖區(qū)中,并更新DataStop值,然后通過該信號量通知USBCOMRX_TASK 進行數(shù)據(jù)處理;對于發(fā)送數(shù)據(jù)緩沖區(qū),需要通過USB接口發(fā)送數(shù)據(jù)的任務,將待發(fā)送數(shù)據(jù)填充到相應的緩沖區(qū)中,并更新DataStop值,然后利用該信號量通知USBCOMTX_TASK 進行數(shù)據(jù)發(fā)送。

        圖4為USBCOMRX_TASK 任務流程圖。當任務收到接收信號量時,循環(huán)處理緩沖區(qū)中DataStart 至DataStop之間的有效數(shù)據(jù)包。

        圖4 USBCOMRX_TASK任務流程圖

        圖5 為USBCOMTX_TASK 任務流程圖。當任務收到發(fā)送信號量時,循環(huán)發(fā)送緩沖區(qū)中DataStart至DataStop之間的有效數(shù)據(jù)包。

        圖5 USBCOMTX_TASK任務流程圖

        2.2 測控系統(tǒng)上層USB通信設計

        系統(tǒng)上層為基于C#語言的Windows應用程序,基于此進行測控系統(tǒng)上層USB 通信設計。測控系統(tǒng)上層USB 通信設計主要有兩個方面:USB 連接狀態(tài)監(jiān)測和USB數(shù)據(jù)通信。

        2.2.1 USB連接狀態(tài)監(jiān)測

        USB連接狀態(tài)監(jiān)測主要對測控系統(tǒng)的連接狀態(tài)進行監(jiān)測,完成USB正常通信之前的準備工作。為實現(xiàn)USB連接狀態(tài)的實時監(jiān)測,采用線程的方式進行設計。

        圖6為USB連接狀態(tài)監(jiān)測線程UsbDeviceStatus流程圖。USBConnected用于指示HID設備的連接狀態(tài),若目標USB設備已經(jīng)連接主機,則堵塞當前線程,一旦監(jiān)測到USB設備連接斷開,則繼續(xù)輪詢主機上的HID設備。

        圖6 USB連接狀態(tài)監(jiān)測流程圖

        2.2.2 USB數(shù)據(jù)通信

        在Windows操作系統(tǒng)中,應用程序通過文件操作的方式使用USB設備。在USB連接狀態(tài)監(jiān)測線程中,如果查找到目標HID 設備,會創(chuàng)建相應的文件操作句柄供應用程序使用。

        文件的操作有4種方式:異步讀、同步寫、異步讀和異步寫。讀、寫文件操作即申請一次接收、發(fā)送數(shù)據(jù)操作。在異步模式下,應用程序向USB控制器發(fā)送一次請求之后,無論請求是否成功,相應的請求函數(shù)即刻返回,將剩余的工作交由USB驅(qū)動程序完成;在同步模式下,則必須等到請求成功之后才返回。采用同步讀的方式可以有效提高應用程序處理通信數(shù)據(jù)的實時性。在此采用同步讀和異步寫的方式進行USB通信。

        采用同步讀方式通信時,若底層沒有數(shù)據(jù)包發(fā)送,則當前線程會處于堵塞狀態(tài),直到讀取到數(shù)據(jù)線程恢復運行。在此采用線程的方式完成USB數(shù)據(jù)的同步讀操作。

        圖7為USB接收數(shù)據(jù)線程流程圖。通過ReadFile()函數(shù)的返回值即可判斷USB的連接狀態(tài)。表1為Read-File()函數(shù)返回狀態(tài)值對應的USB設備連接狀態(tài)。

        表1 ReadFile()函數(shù)返回狀態(tài)含義

        當應用程序需要通過USB總線發(fā)送數(shù)據(jù)時,首先會檢測當前USB 設備的連接狀態(tài),若狀態(tài)為“連接正?!?,則調(diào)用WriteFile()函數(shù)進行相應數(shù)據(jù)發(fā)送。

        圖7 USB接收數(shù)據(jù)線程流程圖

        結(jié) 語

        根據(jù)系統(tǒng)功能需,完成了測控系統(tǒng)的USB通信功能設計,解決了如下幾個問題:

        ①采用USB全速通信方式,通信速率高達12 Mbps,較大程度提高了測控系統(tǒng)流量數(shù)據(jù)的采集速率,為流量控制算法研究提供了更加完整的數(shù)據(jù)支持,解決了RS-232串口通信速率低的局限性。

        ②增加USB通信方式,應用程序可以更加方便地監(jiān)測測控系統(tǒng)的通信狀態(tài),有效提高通信連接和數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

        ③有效解決了RS-232串口通信不支持熱插拔的問題,使得通信更加方便靈活。

        針對于RS-232串口通信的應用局限性,進行了測控系統(tǒng)的USB通信設計,提高了科氏粉料流量測控系統(tǒng)的靈活性和應用可擴展性,在今后的市場中將具有更廣闊的應用前景,同時,該測控系統(tǒng)的USB通信設計方法對嵌入式高速數(shù)據(jù)采集系統(tǒng)有一定的參考價值。

        [1]耿春明,儲成,滿慶豐.基于現(xiàn)場總線技術(shù)的科里奧利粉料流量測控儀表設計[J].儀表技術(shù)與傳感器,2011(9):108-110.

        [2]王鐵流,李宗方,陳東升.基于STM32的USB 數(shù)據(jù)采集模塊的設計與實現(xiàn)[J].測控技術(shù),2009(8):37-40.

        [3]田明,徐平,黃國輝,等.基于STM32和μC/OS-II的USB數(shù)據(jù)采集系統(tǒng)[J].機電工程,2012(4):482-485.

        [4]崔陽.Windows環(huán)境下HID 設備通信接口的設計[J].計算機與現(xiàn)代化,2013(7):172-175,179.

        猜你喜歡
        設備系統(tǒng)設計
        諧響應分析在設備減振中的應用
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        瞞天過?!律O計萌到家
        基于MPU6050簡單控制設備
        電子制作(2018年11期)2018-08-04 03:26:08
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        500kV輸變電設備運行維護探討
        精品国产亚欧无码久久久| av无码av天天av天天爽| 公粗挺进了我的密道在线播放贝壳| 日本一本久道| 日本少妇被爽到高潮的免费| 国产精品综合久久久久久久免费| 中文字幕亚洲精品高清| 婷婷色国产精品视频二区| 国产成人亚洲综合色婷婷| 草莓视频一区二区精品| 女同av免费在线播放| 日本系列中文字幕99| 国产裸体xxxx视频在线播放| √最新版天堂资源在线| av在线男人的免费天堂| 日韩女同视频在线网站| 色五月丁香五月综合五月4438| 日本高清中文字幕一区二区三区| 久久av少妇亚洲精品| 伊人情人色综合网站| 毛片内射久久久一区| 久久亚洲高清观看| 久久午夜一区二区三区| 亚洲精品乱码久久久久蜜桃| 免费人成无码大片在线观看| 国产AV高清精品久久| 久久综合另类激情人妖| 男女高潮免费观看无遮挡| 初高中生精品福利视频| 国产视频一区二区三区免费| 国产精品成人无码久久久久久| 中出内射颜射骚妇| 四虎国产精品成人影院| 亚洲av毛片在线网站| 午夜福利啪啪片| 亚洲AV无码成人精品区网页| 人妻体体内射精一区中文字幕| 日本一二三区视频在线| 爱a久久片| 蜜桃精品国产一区二区三区 | 亚洲午夜福利在线视频|