999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2015-08-07 12:10:25王太曉林曉煥周靜雷
微處理機(jī) 2015年1期
關(guān)鍵詞:設(shè)備設(shè)計(jì)

王太曉,林曉煥,周靜雷

(西安工程大學(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í)用,枚舉過程清晰,調(diào)試過程更是簡(jiǎn)單快速。

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

1 引 言

上位機(jī)軟件通過USB接口[1]與揚(yáng)聲器功率測(cè)試儀進(jìn)行雙向通信。上位機(jī)向測(cè)試儀發(fā)送控制信號(hào),STM32接收上位機(jī)指令并對(duì)測(cè)試儀各模塊進(jìn)行相應(yīng)控制,同時(shí)測(cè)試儀通過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ì);不過,當(dāng)需要隔離時(shí),這會(huì)帶來難題。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è)備的功能以及行為的呢?這就要通過描述符來實(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(通常依靠它們來加載對(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)描述符也不盡相同,但是無論USB設(shè)備的哪種用途,最基本的標(biāo)準(zhǔn)描述符是相同的。

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

(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)過復(fù)位后其在總線上的地址被強(qiáng)制規(guī)定為0,然后主機(jī)通過總線地址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)通過第一步,主機(jī)得到想要的數(shù)據(jù)后,主機(jī)將會(huì)對(duì)該設(shè)備進(jìn)行第二次復(fù)位。復(fù)位后主機(jī)會(huì)向設(shè)備發(fā)送設(shè)置地址請(qǐng)求,具體地址由主機(jī)來設(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è)備所提供的描述符來確定設(shè)備的類型,進(jìn)而加載相應(yīng)的設(shè)備驅(qū)動(dòng)完成對(duì)設(shè)備的所有識(shí)別步驟,這樣上位機(jī)軟件就可以通過調(diào)用主機(jī)提供的上位機(jī)驅(qū)動(dòng)實(shí)現(xiàn)與下位機(jī)的通信。總結(jié)整個(gè)過程同時(shí)結(jié)合與上位機(jī)的通訊,可以通過圖3來更加清楚的了解整個(gè)STM32USB從設(shè)備與上位機(jī)的傳輸過程。

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

為了驗(yàn)證數(shù)據(jù)是否能夠正確傳輸,利用VS2008和QT編寫了一個(gè)USB測(cè)試程序與下位機(jī)進(jìn)行通信來察看數(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來擔(dān)當(dāng)信號(hào)分配任務(wù)。該芯片最高支持8個(gè)通道的模擬信號(hào)切換,信號(hào)經(jīng)過CD4051后輸出給DAC8801,按照實(shí)際需求對(duì)信號(hào)進(jìn)行程控衰減調(diào)節(jié)。

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

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

上位機(jī)測(cè)試軟件主要利用C++語言編寫。軟件平臺(tái)采用一款可視化集成開發(fā)工具C++Builder6.0,該軟件具有一個(gè)專業(yè)的C++開發(fā)環(huán)境所能提供的全部功能,快速、高效的編譯器優(yōu)化等。上位機(jī)軟件通過調(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é)束語

從硬件和軟件兩方面介紹了基于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ù)膯栴}探討[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

猜你喜歡
設(shè)備設(shè)計(jì)
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
瞞天過海——仿生設(shè)計(jì)萌到家
基于MPU6050簡(jiǎn)單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
如何在設(shè)備采購(gòu)中節(jié)省成本
主站蜘蛛池模板: 超碰精品无码一区二区| 在线99视频| 青青青国产视频| 亚洲六月丁香六月婷婷蜜芽| av尤物免费在线观看| 欧美专区在线观看| 亚洲性视频网站| a级毛片视频免费观看| 黄色在线网| 欧美视频免费一区二区三区| 在线毛片网站| www.日韩三级| 女人一级毛片| 少妇精品在线| 欧美一区二区精品久久久| 精品无码日韩国产不卡av| AV色爱天堂网| 亚洲欧美不卡视频| 国产成人无码综合亚洲日韩不卡| 欧美不卡视频在线| 亚洲人成日本在线观看| 亚洲精品卡2卡3卡4卡5卡区| 欧洲av毛片| 久久伊人操| 国产91视频观看| 欧美日韩精品一区二区视频| 亚洲成a人片| 国产啪在线91| 激情成人综合网| 国产成人永久免费视频| 亚洲欧美精品日韩欧美| 色老头综合网| 日韩大乳视频中文字幕| 成人免费黄色小视频| 国产成人超碰无码| 国产本道久久一区二区三区| 亚洲AV无码乱码在线观看代蜜桃| 黄色网在线| 亚洲日韩Av中文字幕无码| 国产成人综合网| 亚洲狼网站狼狼鲁亚洲下载| 国产一级毛片在线| 午夜视频www| 58av国产精品| 亚洲大尺码专区影院| 亚洲国产中文在线二区三区免| 久久久成年黄色视频| 亚洲自偷自拍另类小说| 最新加勒比隔壁人妻| 国产在线拍偷自揄观看视频网站| 亚洲精品国产综合99| 国产成人精品无码一区二| 欧美一区精品| 久久婷婷五月综合色一区二区| 免费女人18毛片a级毛片视频| 精品亚洲欧美中文字幕在线看| 国产靠逼视频| 精品视频第一页| 国产传媒一区二区三区四区五区| 国产精品19p| 久久精品波多野结衣| 国产美女叼嘿视频免费看| 中文字幕在线日韩91| 91日本在线观看亚洲精品| 国产精品冒白浆免费视频| 欧美日韩精品综合在线一区| 亚洲国产欧美国产综合久久| 亚洲码在线中文在线观看| 国产精品第5页| 无遮挡一级毛片呦女视频| 五月天香蕉视频国产亚| 久久99精品国产麻豆宅宅| 中字无码av在线电影| 2020极品精品国产 | 午夜无码一区二区三区| 日韩无码视频专区| 国产一二视频| 中日无码在线观看| 色天天综合| 91免费国产在线观看尤物| 97国产一区二区精品久久呦| 久久永久精品免费视频|