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

        ?

        一種基于STM32的USB接口數(shù)據(jù)通信方法研究

        2021-04-28 08:05:34趙曉娜
        山西電子技術(shù) 2021年2期
        關(guān)鍵詞:單片機設(shè)備

        趙曉娜

        (山西大眾電子信息產(chǎn)業(yè)集團有限公司,山西 太原 030024)

        0 引言

        隨著嵌入式系統(tǒng)的不斷發(fā)展,通過單片機采集并發(fā)送數(shù)據(jù)到PC端供人們研究,已經(jīng)成為目前熱門的研究領(lǐng)域。單片機到PC之間數(shù)據(jù)的傳輸方式主要有并口傳輸、串口傳輸、I2C傳輸和USB傳輸?shù)?。大多?shù)的數(shù)據(jù)傳輸方式具有連接復(fù)雜,速度慢等缺點,而USB傳輸有速度快,連接簡單、擴展性相對強、支持熱插拔等優(yōu)勢,也是目前使用最廣泛且最方便的傳輸方式[1]。

        本文主要是通過USB接口將上位機軟件的數(shù)據(jù)指令發(fā)送給STM32,對其指示燈進行點亮。通過上位機軟件發(fā)送數(shù)據(jù)到單片機,也是新的研究課題之一,具有很好的研究價值。

        1 總體設(shè)計

        USB一般有主設(shè)備和從設(shè)備之分,并且當主設(shè)備發(fā)起數(shù)據(jù)傳輸時,作為從設(shè)備只能被動地接收數(shù)據(jù)。本系統(tǒng)設(shè)計主要包含兩部分,下位機STM32端USB數(shù)據(jù)接收和上位機端USB數(shù)據(jù)發(fā)送。上位機通過自定義協(xié)議發(fā)送兩位字節(jié)數(shù)據(jù)給下位機,下位機對數(shù)據(jù)進行解析后將其指示燈進行點亮控制,兩者相互配合實現(xiàn)了可靠、高速的數(shù)據(jù)傳輸。

        2 上位機軟件設(shè)計

        2.1 設(shè)計流程

        該系統(tǒng)上位機軟件開發(fā)是在Windows操作系統(tǒng)下,通過VC6.0開發(fā)工具,采用MFC框架進行界面設(shè)計的。該設(shè)計中USB驅(qū)動程序的開發(fā)使用了LibUSB-Win32庫函數(shù)。主要的USB驅(qū)動庫函數(shù)如圖1所示。

        圖1 USB驅(qū)動庫函數(shù)

        上位機軟件的實質(zhì)就是Windows應(yīng)用程序,即通過界面的形式把與用戶的交互式命令形象地展示出來。它是通過消息對話框窗口實現(xiàn)命令交互,該窗口可以接收和反饋用戶的輸入數(shù)據(jù)、進行多方位窗口拖動和窗口關(guān)閉操作,具體設(shè)計流程如圖2所示[2]。

        圖2 流程圖

        2.2 模塊實例

        界面的設(shè)計采用了模塊化的設(shè)計理念,主要分為HID設(shè)備模塊、報告模塊、發(fā)送模塊、狀態(tài)顯示模塊、發(fā)送數(shù)據(jù)輸入模塊(見圖3)。

        圖3 界面圖

        HID模塊的功能主要是通過查找輸入USB設(shè)備的VID和PID,點擊連接設(shè)備程序?qū)⑼ㄟ^不斷的掃描查找到與之匹配的設(shè)備,找到設(shè)備后就可以對設(shè)備進行正常的輸入輸出操作。 當輸入HID設(shè)備信息時,其廠商ID(VID)和產(chǎn)品ID(PID)在電腦端設(shè)備管理器中可找到(見圖4)。

        圖4 HID設(shè)備信息

        在發(fā)送數(shù)據(jù)輸入模塊輸入ab或AB字符,點擊發(fā)送模塊的發(fā)送數(shù)據(jù),即可將數(shù)據(jù)發(fā)送出去,指示燈點亮,輸入其他的任意兩個字符數(shù)據(jù)都將熄滅指示燈。在發(fā)送模塊中對數(shù)據(jù)發(fā)送的端點進行了默認設(shè)置為端點2,同時對單片機的USB接收端也選擇了端點2接收。

        狀態(tài)顯示模塊主要是提示設(shè)備有沒有連接成功,數(shù)據(jù)有沒有發(fā)送成功。報告模塊對報告描述符的ID設(shè)置為0,報告描述符大小設(shè)為32字節(jié)。點擊“退出”就關(guān)閉整個窗口。

        該系統(tǒng)中上位機的界面設(shè)置實現(xiàn)了基本的USB設(shè)備的管理和數(shù)據(jù)傳輸功能,做到了簡潔,直觀。

        3 下位機軟件設(shè)計

        3.1 文件導(dǎo)入

        下位機軟件設(shè)計核心是對STM32芯片進行USB固件庫的設(shè)計和使用。單片機中USB協(xié)議本身就很復(fù)雜,對于USB接口的程序設(shè)計相對難度也很大。ST公司專門提供了關(guān)于STM32系列芯片的USB固件庫驅(qū)動程序,這樣就簡化了USB接口的程序設(shè)計,大大地縮短了軟件的開發(fā)周期。本系統(tǒng)也使用了STM32標準的固件庫程序,相關(guān)的程序文件如圖5所示[3]。

        圖5 程序文件包

        USB固件庫主要由內(nèi)核層(STM32_USB-FS-LIB)和應(yīng)用接口層(USB_OEM)組成,內(nèi)核層主要功能是對USB底層的控制傳輸處理、設(shè)備信息的注冊、協(xié)議的解析和硬件模塊的配置與實現(xiàn),所以內(nèi)核層在程序開發(fā)時一般不需要做大的改動;應(yīng)用接口層的函數(shù)是與上位機進行通信的直接接口函數(shù),在實際的固件庫開發(fā)過程中,一般只需要對應(yīng)用接口層的函數(shù)進行相應(yīng)的修改即可。

        3.2 USB描述符設(shè)置

        1) 配置描述符(Configuration Descriptor)用于定義設(shè)備的配置信息,一個設(shè)備同時可以有多個配置描述符。配置描述符中包含了描述符大小(0x09)、類型(USB_CONFIGURATION_DESCRIPTOR_TYPE)、數(shù)據(jù)長度(KVMCLIENT_SIZE_CONFIG_DESC)、配置支持的接口數(shù)量(0x01)、配置參數(shù)選擇(0x01)、字符串索引(0x04)、供電模式選擇(0xa0)和最大電流消耗值(0x32)。

        2) 接口描述符(InterfaceDescriptor)說明了接口的配置。接口描述符中包含了描述符大小(0x09)、類型( USB_INTERFACE_DESCRIPTOR_TYPE)、接口編號(0x00)、備用接口標號(0x00)、端點使用數(shù)目(0x02)、類型代碼(0x03)、子類型代碼(0x01)、協(xié)議代碼(0x01)、字符串索引(05)。

        3) 端點描述符(Endpoint Descriptor)描述了接口使用的端點屬性(端點0除外)。端點描述符中設(shè)置了描述符大小(0x07)、類型(USB_ENDPOINT_DESCRIPTOR_TYPE)、端點地址(0x81)、端點屬性(0x03)、信息包大小(0x40)、數(shù)據(jù)傳輸時間間隔(0x0A)。本文將設(shè)置端點2 為輸入端。

        4 實驗結(jié)果

        使用USB數(shù)據(jù)線連接PC端的上位機與STM32單片機,通過上位機發(fā)送數(shù)據(jù)指令ab(AB),點亮STM32端的指示燈;發(fā)送其他任意兩位字符指示燈熄滅,效果圖如圖6所示。

        圖6 實驗結(jié)果

        5 結(jié)論

        本系統(tǒng)提出了一種PC機作為發(fā)送端,STM32單片機作為接收端,基于USB接口進行數(shù)據(jù)傳輸?shù)姆椒?,兩者連接之后發(fā)送端首先進行USB設(shè)備的識別,識別之后開始連接通信。發(fā)送端發(fā)送十六進制形式的兩位數(shù)據(jù)字符給STM32單片機,單片機端進行數(shù)據(jù)的解析,最終實現(xiàn)了對其指示燈進行開關(guān)控制,傳輸穩(wěn)定,速度快,具有很好的應(yīng)用價值。

        猜你喜歡
        單片機設(shè)備
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機的便捷式LCF測量儀
        電子制作(2019年9期)2019-05-30 09:42:02
        基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
        基于MPU6050簡單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        小議PLC與單片機之間的串行通信及應(yīng)用
        電子制作(2018年12期)2018-08-01 00:48:04
        基于單片機的平衡控制系統(tǒng)設(shè)計
        電子制作(2017年19期)2017-02-02 07:08:27
        500kV輸變電設(shè)備運行維護探討
        如何在設(shè)備采購中節(jié)省成本
        人妻少妇精品中文字幕av| 亚洲综合久久精品少妇av | 日本不卡一区二区三区在线 | 白白色免费视频一区二区在线| 人妻丰满熟妇aⅴ无码| 国产无遮挡无码视频免费软件 | 亚洲午夜久久久精品国产| 深夜一区二区三区视频在线观看| 人妻免费黄色片手机版| 久久精品国产亚洲av不卡国产| 国产又粗又黄又爽的大片| 看黄网站在线| 国产免费人成网站在线播放| 日本区一区二区三视频| 大肉大捧一进一出视频| 99精品一区二区三区免费视频| 日本在线播放不卡免费一区二区| 日本一区二区视频免费在线看 | 九九久久精品国产| 国产一区二区三区亚洲天堂| 精品人妻av一区二区三区麻豆| 国产乱子伦农村xxxx| 精品国产高清自在线99| 国产av一区仑乱久久精品| 久久久精品久久久久久96| 又白又嫩毛又多15p| 亚洲成a人网站在线看| 日日麻批免费高清视频| 性无码专区无码| 亚洲第一看片| 日本视频一区二区这里只有精品 | 久久综合久中文字幕青草| 2019nv天堂香蕉在线观看| 欧美最猛黑人xxxx黑人表情 | 精品国产aⅴ无码一区二区| 国产久视频| 水蜜桃男女视频在线观看网站| 忘忧草社区www日本高清| 久久91综合国产91久久精品| 中文字幕精品久久一区二区三区 | 亚洲人妻御姐中文字幕|