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

        ?

        基于STM32處理器的USB通信設(shè)計(jì)

        2015-08-07 12:10:25王太曉林曉煥周靜雷
        微處理機(jī) 2015年1期
        關(guān)鍵詞:枚舉測(cè)試軟件描述符

        王太曉,林曉煥,周靜雷

        (西安工程大學(xué)電子信息學(xué)院,西安710048)

        ·微機(jī)網(wǎng)絡(luò)與通信·

        基于STM32處理器的USB通信設(shè)計(jì)

        王太曉,林曉煥,周靜雷

        (西安工程大學(xué)電子信息學(xué)院,西安710048)

        目前USB通信接口已經(jīng)得到了廣泛應(yīng)用。為了配合揚(yáng)聲器功率測(cè)試系統(tǒng),以STM32微處理器為基礎(chǔ),介紹了一種基于STM32與PC機(jī)之間的USB通信方式,并且在揚(yáng)聲器功率測(cè)試系統(tǒng)中得到了很好的應(yīng)用。該設(shè)計(jì)簡(jiǎn)潔實(shí)用,枚舉過(guò)程清晰,調(diào)試過(guò)程更是簡(jiǎn)單快速。

        STM32微處理器;USB通信;揚(yáng)聲器功率測(cè)試系統(tǒng)

        1 引 言

        上位機(jī)軟件通過(guò)USB接口[1]與揚(yáng)聲器功率測(cè)試儀進(jìn)行雙向通信。上位機(jī)向測(cè)試儀發(fā)送控制信號(hào),STM32接收上位機(jī)指令并對(duì)測(cè)試儀各模塊進(jìn)行相應(yīng)控制,同時(shí)測(cè)試儀通過(guò)USB通信向上位機(jī)回饋執(zhí)行結(jié)果。

        2 USB概述[2]

        USB為通用串行總線(Universal Serial Bus)的縮寫,具有支持熱插拔、接口簡(jiǎn)單便于攜帶、傳輸速度快、標(biāo)準(zhǔn)統(tǒng)一、擴(kuò)展方便、兼容性好等優(yōu)點(diǎn),現(xiàn)已廣泛應(yīng)用到工業(yè),民用等各個(gè)領(lǐng)域。

        3 硬件設(shè)計(jì)

        設(shè)計(jì)采用了一款由意法半導(dǎo)體公司生產(chǎn)的采用Cortex-M3內(nèi)核的STM32F103R8T6芯片,該芯片具有以下特性[3]:

        (1)最大工作頻率72MHz。

        (2)64KB字節(jié)Flash(程序存儲(chǔ)器)。

        (3)20KB字節(jié)SRAM(運(yùn)行內(nèi)存)。

        (4)2.0V~3.6V供電電壓,I/O口能夠兼容5V電平。

        (5)擁有豐富的通信接口。

        設(shè)計(jì)中并沒有引入嵌入式實(shí)時(shí)系統(tǒng),系統(tǒng)資源消耗較少,STM32F103R8T6內(nèi)部自帶的FLASH、SRAM足夠滿足設(shè)計(jì)要求。STM32芯片內(nèi)部集成了USB外設(shè),大大減輕了USB電路的設(shè)計(jì)負(fù)擔(dān)。不僅使設(shè)計(jì)成本和開發(fā)難度進(jìn)一步變低,而且設(shè)備通信穩(wěn)定度也有提高。另外為保證USB通信質(zhì)量,在電路中加入AD公司的USB數(shù)字隔離器ADuM4160[4],該芯片兼容USB低速和全速設(shè)備,能夠在環(huán)境嘈雜的測(cè)試場(chǎng)所保證通信質(zhì)量[5](見圖1)。

        ADuM41601是一款USB端口隔離器,它將高速CMOS工藝與單片空芯變壓器技術(shù)相結(jié)合,可提供優(yōu)異的工作性能,并且很容易與低速和全速USB 兼容外設(shè)集成。

        圖1 USB模塊硬件結(jié)構(gòu)圖

        許多微控制器實(shí)施的USB只向外部引腳提供D+和D-線路。這在許多情況下都符合需求,因?yàn)樗鼉H需極少的外部器件,并簡(jiǎn)化了設(shè)計(jì);不過(guò),當(dāng)需要隔離時(shí),這會(huì)帶來(lái)難題。USB線路必須在主動(dòng)驅(qū)動(dòng)D+/D-、接收數(shù)據(jù)與允許外部電阻設(shè)置總線空閑狀態(tài)三者之間自動(dòng)切換。ADuM4160結(jié)構(gòu)既可以檢測(cè)數(shù)據(jù)流向,又能夠控制輸出緩沖的狀態(tài)。數(shù)據(jù)流向根據(jù)一個(gè)個(gè)分組確定。

        ADuM4160將基于邊沿檢測(cè)的iCoupler技術(shù)與內(nèi)部邏輯結(jié)合使用,可實(shí)現(xiàn)透明、易于配置、面對(duì)上游的端口隔離器。隔離上游端口具有電路簡(jiǎn)單、電源管理和操作穩(wěn)健等多種優(yōu)勢(shì)。

        這款隔離器的傳播延遲與標(biāo)準(zhǔn)集線器和電纜的傳播延遲相當(dāng)。它可以采用任一側(cè)的4.5V~5.5V電源電壓供電,并能在內(nèi)部將該電壓調(diào)節(jié)至信號(hào)電平,從而與VBUS直接相連。ADuM4160對(duì)上拉電阻進(jìn)行隔離控制,以便外設(shè)能控制連接時(shí)序。該器件的空閑電流較低,因此不需要掛起模式(見圖2)。

        圖2 USB硬件連接圖

        4 軟件設(shè)計(jì)

        USB設(shè)備軟件主要是進(jìn)行USB通信的初始化、通信協(xié)議的轉(zhuǎn)換以及數(shù)據(jù)傳輸。而USB只是一個(gè)總線[6],只提供一個(gè)數(shù)據(jù)通道。USB總線驅(qū)動(dòng)程序并不知道一個(gè)設(shè)備如何具體操作,有哪些行為。USB主機(jī)設(shè)備是如何知道一個(gè)設(shè)備的功能以及行為的呢?這就要通過(guò)描述符來(lái)實(shí)現(xiàn)了。

        首先必須要了解USB標(biāo)準(zhǔn)描述符[7],USB協(xié)會(huì)為了規(guī)范USB設(shè)備的讀寫和識(shí)別在協(xié)議中規(guī)定了USB標(biāo)準(zhǔn)描述符。描述符就是用于描述設(shè)備特性的具有特定格式排列的一種數(shù)據(jù)組織結(jié)構(gòu),它記錄了設(shè)備的類型、廠商ID和產(chǎn)品ID(通常依靠它們來(lái)加載對(duì)應(yīng)的驅(qū)動(dòng)程序)、端點(diǎn)情況、版本號(hào)等眾多信息。其作用是按照USB協(xié)議所規(guī)定的數(shù)據(jù)格式,在主機(jī)識(shí)別該設(shè)備時(shí)按照對(duì)應(yīng)通信指令及流程,從設(shè)備及時(shí)將其具體設(shè)置傳到主機(jī)。根據(jù)USB設(shè)備的用途不同,所用的標(biāo)準(zhǔn)描述符也不盡相同,但是無(wú)論USB設(shè)備的哪種用途,最基本的標(biāo)準(zhǔn)描述符是相同的。

        其次一個(gè)USB設(shè)備插入主機(jī)后,主機(jī)會(huì)對(duì)其進(jìn)行識(shí)別,這個(gè)過(guò)程稱之為枚舉[8]。任何USB的數(shù)據(jù)傳輸都是建立在成功通過(guò)枚舉的基礎(chǔ)上的,所以枚舉是USB通信的關(guān)鍵一步。USB設(shè)備枚舉的過(guò)程其實(shí)就是從設(shè)備讀取各種描述符信息,這樣主機(jī)就可以根據(jù)這些信息來(lái)加載合適的驅(qū)動(dòng)程序,從而知道設(shè)備是什么樣的設(shè)備,如何進(jìn)行通信等。枚舉過(guò)程具體可以分為以下幾步。

        (1)由于主機(jī)不斷對(duì)其USB設(shè)備端口進(jìn)行電平檢測(cè),當(dāng)USB從設(shè)備插入到主機(jī)USB主設(shè)備端口后,主機(jī)USB設(shè)備端口電平發(fā)生變化,當(dāng)主機(jī)檢測(cè)到該電平變化后就認(rèn)為有USB從設(shè)備接入,然后主機(jī)就會(huì)對(duì)接入的USB從設(shè)備嘗試進(jìn)行復(fù)位。該設(shè)備經(jīng)過(guò)復(fù)位后其在總線上的地址被強(qiáng)制規(guī)定為0,然后主機(jī)通過(guò)總線地址0與該設(shè)備的端點(diǎn)0進(jìn)行通信。這時(shí)主機(jī)會(huì)按照USB通信協(xié)議規(guī)定,向設(shè)備發(fā)送標(biāo)準(zhǔn)請(qǐng)求,設(shè)備則回應(yīng)相應(yīng)的代碼。

        (2)通過(guò)第一步,主機(jī)得到想要的數(shù)據(jù)后,主機(jī)將會(huì)對(duì)該設(shè)備進(jìn)行第二次復(fù)位。復(fù)位后主機(jī)會(huì)向設(shè)備發(fā)送設(shè)置地址請(qǐng)求,具體地址由主機(jī)來(lái)設(shè)定。當(dāng)設(shè)備接收地址設(shè)置請(qǐng)求并且成功設(shè)置地址后第二步就認(rèn)為完成了。

        (3)主機(jī)再次獲取設(shè)備描述符。此時(shí)獲取數(shù)據(jù)的地址為第二步建立的地址。

        (4)主機(jī)獲取配置描述符及其他剩余的描述符。

        主機(jī)對(duì)設(shè)備枚舉成功后就會(huì)根據(jù)下位機(jī)設(shè)備所提供的描述符來(lái)確定設(shè)備的類型,進(jìn)而加載相應(yīng)的設(shè)備驅(qū)動(dòng)完成對(duì)設(shè)備的所有識(shí)別步驟,這樣上位機(jī)軟件就可以通過(guò)調(diào)用主機(jī)提供的上位機(jī)驅(qū)動(dòng)實(shí)現(xiàn)與下位機(jī)的通信??偨Y(jié)整個(gè)過(guò)程同時(shí)結(jié)合與上位機(jī)的通訊,可以通過(guò)圖3來(lái)更加清楚的了解整個(gè)STM32USB從設(shè)備與上位機(jī)的傳輸過(guò)程。

        圖4為通過(guò)Bus Hound軟件抓取的設(shè)備被正確識(shí)別的示意圖。從圖中可以看出設(shè)備已經(jīng)被正確識(shí)別為HID設(shè)備,其中VID,PID為USB協(xié)會(huì)給各大芯片廠商所規(guī)定的身份識(shí)別碼,每個(gè)芯片廠商有且僅有一個(gè)VID,PID碼,而且各個(gè)廠商各不相同,所以可以通過(guò)VID,PID來(lái)確認(rèn)一個(gè)USB設(shè)備是否被成功識(shí)別。

        為了驗(yàn)證數(shù)據(jù)是否能夠正確傳輸,利用VS2008和QT編寫了一個(gè)USB測(cè)試程序與下位機(jī)進(jìn)行通信來(lái)察看數(shù)據(jù)傳輸是否正確,如圖5所示。

        在USB驅(qū)動(dòng)中已經(jīng)將制造商字符串“STMicroelectronics”和產(chǎn)品名稱“TEST DEMOS V2.0”分別寫入到了CustomHID_StringVendor[CUSTOMHID_ SIZ_STRING_VENDOR]、CustomHID_StringProduct[CUSTOMHID_SIZ_STRING_PRODUCT]這兩個(gè)字符串描述符數(shù)組中,從上圖編號(hào)①和②所在位置可以看出在測(cè)試軟件和Bus Hound軟件中已經(jīng)能夠?qū)⑺鼈冋_顯示。此外在編號(hào)③及編號(hào)④處分別進(jìn)行了一次完整的收發(fā)實(shí)驗(yàn),可以看出端點(diǎn)1確實(shí)已經(jīng)作為發(fā)送端點(diǎn)(對(duì)于上位機(jī)而言)傳輸數(shù)據(jù),并且數(shù)據(jù)長(zhǎng)度為8個(gè)字節(jié),而且數(shù)據(jù)傳輸正確(Bus Hound顯示的為char型數(shù)據(jù)而測(cè)試軟件中顯示的是char型數(shù)據(jù)所對(duì)應(yīng)的ASCII碼),同樣作為設(shè)定為輸入的端點(diǎn)2,數(shù)據(jù)傳輸也是正確的。

        圖3 STM32USB與主機(jī)通訊典型流程圖

        圖4 Bus Hound軟件對(duì)下位機(jī)設(shè)備的識(shí)別

        5 揚(yáng)聲器功率實(shí)驗(yàn)系統(tǒng)

        揚(yáng)聲器功率實(shí)驗(yàn)系統(tǒng)[9]設(shè)計(jì)思路如圖6所示,該系統(tǒng)總體可以分為4部分:①用于信號(hào)處理、采集及上位機(jī)通信由STM32作為主控的下位機(jī)功率測(cè)試儀;②由計(jì)算機(jī)組成的上位機(jī)部分,且該計(jì)算機(jī)必須包含有USB設(shè)備接口、專業(yè)的聲頻采集卡、以及上位機(jī)測(cè)試軟件;③驅(qū)動(dòng)待測(cè)揚(yáng)聲器組的功率放大器;④待測(cè)揚(yáng)聲器組。

        圖5 STM32USB與上位機(jī)測(cè)試軟件通信示意圖

        圖6 功率試驗(yàn)系統(tǒng)總體設(shè)計(jì)框圖

        信號(hào)分配及調(diào)理電路采用TI的高性能數(shù)字控制模擬電子開關(guān)CD4051來(lái)?yè)?dān)當(dāng)信號(hào)分配任務(wù)。該芯片最高支持8個(gè)通道的模擬信號(hào)切換,信號(hào)經(jīng)過(guò)CD4051后輸出給DAC8801,按照實(shí)際需求對(duì)信號(hào)進(jìn)行程控衰減調(diào)節(jié)。

        采樣電路采集揚(yáng)聲器的工作電壓及電流,該電路中的揚(yáng)聲器工作電流是通過(guò)采集一個(gè)高精度、小阻值大功率電阻上的電壓值間接得到的,該電壓值比較小,所以必須要經(jīng)過(guò)一個(gè)程控放大才能送到聲卡。本設(shè)計(jì)采用的是BB公司的高性能儀器儀表程控差分放大器PGA205。由于揚(yáng)聲器工作電壓較高,不適宜直接接入聲卡,所以首先通過(guò)程控電阻網(wǎng)絡(luò)將高電壓衰減為低電壓,然后由PGA205送入聲卡。

        此外,該系統(tǒng)還帶有校準(zhǔn)功能,內(nèi)部集成了高精度的標(biāo)準(zhǔn)信號(hào)源,采用TI公司的DDS芯片AD9850產(chǎn)生正弦波,并通過(guò)運(yùn)放TL082將輸出信號(hào)固定在規(guī)定的幅值上,配合上位機(jī)軟件完成儀器的自校準(zhǔn)功能。

        上位機(jī)測(cè)試軟件主要利用C++語(yǔ)言編寫。軟件平臺(tái)采用一款可視化集成開發(fā)工具C++Builder6.0,該軟件具有一個(gè)專業(yè)的C++開發(fā)環(huán)境所能提供的全部功能,快速、高效的編譯器優(yōu)化等。上位機(jī)軟件通過(guò)調(diào)用系統(tǒng)API函數(shù)驅(qū)動(dòng)專業(yè)聲卡、USB2.0設(shè)備,完成標(biāo)準(zhǔn)測(cè)試信號(hào)的產(chǎn)生、測(cè)試儀饋入信號(hào)的采集,以及與測(cè)試儀進(jìn)行USB通信。

        6 結(jié)束語(yǔ)

        從硬件和軟件兩方面介紹了基于STM32的USB通信開發(fā),立足于實(shí)踐,用比較簡(jiǎn)單的方法實(shí)現(xiàn)了基于USB通信的揚(yáng)聲器功率測(cè)試系統(tǒng)的開發(fā),該系統(tǒng)數(shù)據(jù)傳輸穩(wěn)定,可靠性和抗干擾能力強(qiáng)。

        [1] 劉思久,趙蔚.實(shí)現(xiàn)USB2.0高速數(shù)據(jù)傳輸?shù)膯?wèn)題探討[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(2):75-77.

        [2] 薛園園.USB應(yīng)用技術(shù)開發(fā)大全[M].北京:人民郵電出版社,2007.

        [3] STMicroelectronics.STM32RX Reference[R].Rev13,2011年4月.

        [4] Analog Device INC.Adum4160_cn Reference[R].RevC,2010年10月.

        [5] 陳斌,高俊,李娟.基于ARM的多功能便攜式檢測(cè)儀[J].電子測(cè)量技術(shù),2009,32(1),120-121.

        [6] 劉榮.圈圈教你玩USB(第二版)[M].北京:北京航空航天大學(xué)出版社,2013.

        [7] 葉存奎.USB設(shè)備協(xié)議棧的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2011:87-88.

        [8] 王川北.深入淺出USB系統(tǒng)開發(fā)-基于ARM Cortex-M3[M].北京.北京航空航天大學(xué)出版社,2012-09.

        [9] 周靜雷.基于虛擬儀器的揚(yáng)聲器揚(yáng)聲器功率實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)[J].傳感器與儀器表,2007(6):179-181.

        Design of USB Communication Based on the STM32 Processor

        Wang Taixiao,Lin Xiaohuan,Zhou Jinglei
        (School of Electronic Information,Xi’an Polytechnic University,Xi’an 710048,China)

        At present,the USB communication interface has been widely used.For the loudspeaker power test system,a USB communication,using the STM32 asmicroprocessor,based on the communication between a STM32 and a PCwhich is applied well in the loudspeaker power test system,is introduced in this paper.The design shows that the hardware design is compact and applicable,the enumeration process is clear and the debugging process is simple and rapid.

        STM32;USB communication;The loudspeaker power test system

        10.3969/j.issn.1002-2279.2015.01.009

        TP336

        A

        1002-2279(2015)01-0025-04

        王太曉(1988-),男,山東省泰安市人,碩士研究生,主研方向:聲頻測(cè)量。

        2014-06-10

        猜你喜歡
        枚舉測(cè)試軟件描述符
        基于理解性教學(xué)的信息技術(shù)教學(xué)案例研究
        速讀·上旬(2022年2期)2022-04-10 16:42:14
        基于結(jié)構(gòu)信息的異源遙感圖像局部特征描述符研究
        一種高效的概率圖上Top-K極大團(tuán)枚舉算法
        網(wǎng)絡(luò)自適應(yīng)測(cè)試軟件運(yùn)行方法設(shè)計(jì)
        Linux單線程并發(fā)服務(wù)器探索
        自動(dòng)化檢測(cè)EPU10A板卡系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
        利用CNN的無(wú)人機(jī)遙感影像特征描述符學(xué)習(xí)
        基于太陽(yáng)影子定位枚舉法模型的研究
        遠(yuǎn)程開放教育學(xué)生自主學(xué)習(xí)能力評(píng)價(jià)的研究
        一款重型包裝抗壓系統(tǒng)控制軟件的設(shè)計(jì)與開發(fā)
        軟件工程(2014年7期)2014-09-24 20:03:26
        澳门精品一区二区三区| 国产精品欧美久久久久老妞 | 亚洲丰满熟女一区二亚洲亚洲| 久久国产精品99精品国产987| 成年女人窝窝视频| 亚洲中文字幕在线第二页| 日韩女同一区二区三区久久 | 国产午夜片无码区在线播放| 久9re热视频这里只有精品| 欧美精品黑人粗大免费| 四虎影视4hu4虎成人| 免费无码又爽又刺激网站| 精品久久无码中文字幕| 一区二区三区内射视频在线观看 | 99久久er这里只有精品18| 欧美综合自拍亚洲综合图片区| 人妻无码aⅴ中文系列久久免费| 亚洲va欧美va人人爽夜夜嗨| 人妻丰满少妇一二三区| 青青草成人免费播放视频| 久久精品一区二区熟女| 国色天香中文字幕在线视频 | 国产成人免费a在线视频| 亚洲中文字幕巨乳人妻| 在线视频一区二区亚洲| 在线播放偷拍一区二区| 久久一道精品一区三区| 波多野结衣中文字幕一区二区三区| 亚洲老妈激情一区二区三区 | 中文字幕在线乱码亚洲| 国产精品女老熟女一区二区久久夜| 精品伊人久久大线蕉色首页| 免费观看又色又爽又湿的视频| 色婷婷综合中文久久一本| 草莓视频在线观看无码免费| 日本视频一区二区三区| 国产一级二级三级在线观看av | 国产精品久久久久久久久免费观看| 亚州五十路伊人网| 亚洲不卡毛片在线观看| 美女很黄很色国产av|