當(dāng)前位置:首頁 > 消費(fèi)電子 > 消費(fèi)電子
[導(dǎo)讀]USB(Universal Serial Bus)是一種常用的數(shù)字通信接口,廣泛用于計(jì)算機(jī)和外圍設(shè)備之間的數(shù)據(jù)傳輸。

USB(Universal Serial Bus)是一種常用的數(shù)字通信接口,廣泛用于計(jì)算機(jī)和外圍設(shè)備之間的數(shù)據(jù)傳輸。在嵌入式系統(tǒng)中,使用USB接口可以實(shí)現(xiàn)高速數(shù)據(jù)傳輸和通信,方便與計(jì)算機(jī)進(jìn)行連接和控制。本文將介紹如何在STM32微控制器上實(shí)現(xiàn)USB接口的應(yīng)用,具體包括USB設(shè)備和USB主機(jī)功能。

USB設(shè)備功能

1. USB設(shè)備通信:使用STM32作為USB設(shè)備,可以通過USB接口與計(jì)算機(jī)進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)的收發(fā)和控制命令的交互。

2. USB設(shè)備驅(qū)動程序:STM32提供了相應(yīng)的USB庫,可以輕松地開發(fā)USB設(shè)備驅(qū)動程序,以實(shí)現(xiàn)設(shè)備與計(jì)算機(jī)的連接和控制。

3. USB虛擬串口:可以將STM32配置為USB虛擬串口,使其與計(jì)算機(jī)之間直接通信,無需使用額外的串口轉(zhuǎn)換設(shè)備。

4. USB設(shè)備加電檢測:STM32的USB接口可以檢測到設(shè)備是否被計(jì)算機(jī)加電,并能相應(yīng)地調(diào)整設(shè)備的工作狀態(tài)。

USB主機(jī)功能

1. USB主機(jī)通信:STM32作為USB主機(jī),可以控制和管理連接到USB接口的外部設(shè)備,實(shí)現(xiàn)數(shù)據(jù)傳輸、配置和控制等功能。

2. USB主機(jī)驅(qū)動程序:STM32提供了相應(yīng)的USB庫,可以方便地開發(fā)USB主機(jī)驅(qū)動程序,實(shí)現(xiàn)對外部設(shè)備的控制和管理。

3. USB設(shè)備識別:STM32可以檢測到連接到USB接口的外部設(shè)備,并能夠識別設(shè)備的類型和功能。

4. USB主機(jī)模式選擇:STM32支持多種USB主機(jī)模式,包括擴(kuò)展主機(jī)模式、OTG主機(jī)模式等,以滿足不同應(yīng)用場景的需求。

USB是目前電子產(chǎn)品最通用的一種接口,USB電路的設(shè)計(jì)包含了眾多有趣的點(diǎn)。

比如有的芯片直接集成USB控制器,并且可以支持USBOTG功能。我們可以根據(jù)產(chǎn)品的實(shí)際需求將USB或者USBOTG接口電路設(shè)計(jì)成采用MicroUSBAB型座子或者USB-TYPE-C接口。更復(fù)雜一點(diǎn),USB電路通常又可以作為供電輸入,那又可以設(shè)計(jì)成根據(jù)接入的設(shè)備自動切換電源狀態(tài)。

USB的英文全稱為Universal Serial Bus,中文含義是通用串行總線,它是一種快速的,雙向的,同步傳輸?shù)牧畠r(jià)的并可以進(jìn)行熱拔插的串行接口。USB接口使用方便,它可以連接多個(gè)不同的設(shè)備,而過去的串口和并口只能接一個(gè)設(shè)備。速度快是USB技術(shù)的突出特點(diǎn)之一。全速USB接口的最高傳輸率可達(dá)12Mb/s,比串口快了整整100倍,而執(zhí)行USB2.0標(biāo)準(zhǔn)的高速USB接口速率更是達(dá)到了480Mb/s.這使得高分辨率、真彩色的大容量圖象的實(shí)時(shí)傳送成為可能。USB接口支持多個(gè)不同設(shè)備的串列連接,一個(gè)USB接口理論上可以連接127個(gè)USB設(shè)備。連接方式也十分靈活,既可以使用串行連接,也可以使用集線器(Hub)把多個(gè)設(shè)備連接在一起,再同PC機(jī)的USB接口相接。普通的使用串口、并口的設(shè)備都需要單獨(dú)的供電系統(tǒng),而USB設(shè)備則不需要。正是由于USB的這些特點(diǎn),使其獲得了廣泛的應(yīng)用。到目前為止,USB已經(jīng)在PC機(jī)的多種外設(shè)上得到應(yīng)用,包括掃描儀,數(shù)碼相機(jī),數(shù)碼攝像機(jī)、音頻系統(tǒng)、顯示器、輸入設(shè)備等。對于廣大的工程設(shè)計(jì)人員來說,USB是設(shè)計(jì)外設(shè)接口時(shí)理想的總線。

對于USB接口芯片,通常分為普通和DMA(直接存儲器存取)兩種工作模式。相對于普通模式,DMA數(shù)據(jù)傳輸模式傳輸速率更快,更適合于視頻數(shù)字信號等高速、實(shí)時(shí)信號的傳送。但遺憾的是,國內(nèi)市場上提供的各種USB接口電路板大部分僅工作在普通模式,缺少對DMA工作模式的支持,不能直接用于象CCD數(shù)字?jǐn)z像機(jī)USB接口這樣的需要工作在DMA模式下的設(shè)計(jì)開發(fā)。為了解決這個(gè)問題,我們對USB的原理進(jìn)行了研究,嘗試著利用51單片機(jī)結(jié)合PHILIPS公司的PDIUSBD12帶并行總線的USB接口器件設(shè)計(jì)帶DMA工作模式的可供視頻信號傳輸?shù)亩喙δ躑SB接口電路,現(xiàn)已設(shè)計(jì)出了完整的硬件電路。

1、USB概述

由于多媒體技術(shù)的發(fā)展對外設(shè)與主機(jī)之間的數(shù)據(jù)傳輸率有了更高的需求,因此,USB總線技術(shù)應(yīng)運(yùn)而生。USB(Universal Serial Bus)翻譯為中文就是通用串行總線,是由Conpaq、DEC、IBM、Inter、Microsoft、NEC和Northen Telecom等公司為簡化PC與外設(shè)之間的互連而共同研究開發(fā)的一種免費(fèi)的標(biāo)準(zhǔn)化連接器,它支持各種PC與外設(shè)之間的連接,還可實(shí)現(xiàn)數(shù)字多媒體集成。現(xiàn)在生產(chǎn)的PC幾乎都配備了USB接口,Microsoft 的Windows98、NT以及MacOS、Linux、FreeBSD等流行操作系統(tǒng)都增加了對 USB的支持。

USB的主要優(yōu)點(diǎn):

l 使用方便。連接外設(shè)不必再打開機(jī)箱;允許外設(shè)熱插拔,而不必關(guān)閉主機(jī)電源。

l 速度快。USB支持三種設(shè)備傳輸速率:1.5 Mb/s(低速設(shè)備)、12 Mb/s(中速設(shè)備)和480 Mb/s(高速設(shè)備)。

l 獨(dú)立供電。USB接口提供了內(nèi)置電源。

l 連接靈活。一個(gè)USB口理論上可以連接127個(gè)USB設(shè)備。連接的方式也十分靈活,既可以使用 串行連接,也可以使用集線器Hub,把多個(gè)設(shè)備連接在一起,再同PC機(jī)的USB口相接。

l 成本低。為了把外設(shè)連接到PC上,USB提供了一種低成本的解決方案。

現(xiàn)在滿足USB要求的外設(shè)有:調(diào)制解調(diào)器,鍵盤,鼠標(biāo),光驅(qū),游戲手柄,軟驅(qū),掃描儀,音箱等。USB總線標(biāo)準(zhǔn)由1.1版升級到2.0版后,傳輸率由12Mbps增加到了480Mbps,更換介質(zhì)后連接距離由原來的5米增加到近百米?;谶@點(diǎn),USB也可以做生產(chǎn)ISDN以及基于視頻的產(chǎn)品。USB 總線結(jié)構(gòu)簡單,信號定義僅由2條電源線,2條信號線組成。

通用串行總線(Universal Serial Bus,USB)憑借其價(jià)格低廉、使用簡單、協(xié)議靈活、接口標(biāo)準(zhǔn)化和易于端口擴(kuò)展等優(yōu)點(diǎn),迅速占領(lǐng)了計(jì)算機(jī)外設(shè)接口領(lǐng)域的統(tǒng)治地位,隨著USB技術(shù)的廣泛應(yīng)用,它在數(shù)據(jù)通信方面發(fā)揮了巨大的作用,而且隨著IP核的日益豐富,如何提高IP核的重用性,將不同的IP核有效的互連起來,縮短設(shè)計(jì)周期成了IC設(shè)計(jì)領(lǐng)域的研究熱點(diǎn)。因此本文設(shè)計(jì)實(shí)現(xiàn)了MCU&USB設(shè)備控制器IP核。該設(shè)計(jì)綜合了對設(shè)計(jì)者兩方面能力的要求,ASIC體系設(shè)計(jì)的能力和通信協(xié)議理解分析的能力,除具有較強(qiáng)的理論研究意義,也具有較高的實(shí)踐價(jià)值。本文首先簡單分析了通用串行總線USB(Universal Serial Bus)的產(chǎn)生、發(fā)展和USB設(shè)備國內(nèi)外研究狀況以及MCU(Microprocessor Control Unit)的國內(nèi)外發(fā)展?fàn)顩r。鑒于目前單片機(jī)技術(shù)火的一塌糊涂!越來越多的朋友加入了學(xué)習(xí)單片機(jī)的行列中!還有更多的朋友正在準(zhǔn)備加入到學(xué)習(xí)單片機(jī)行列中。很多初學(xué)者在購買了本站的硬件學(xué)習(xí)板后,在短期內(nèi)就掌握了自主編寫實(shí)用控制程序的能力,正所謂只要功夫深,鐵杵磨成針。

這里要先說一下單片機(jī)的含義,單片機(jī)就是一種微型的計(jì)算機(jī),它的硬件等級不高,程序存儲器比較小,無法和我們個(gè)人電腦中的硬盤相比,但是他的整體成本很低,體積也很小,這就給電子工程師提供了一個(gè)低成本開發(fā)智能控制設(shè)備的可能。另外就是它的可塑性是很強(qiáng)的,只要把程序存儲器中寫入不同的程序,它就會根據(jù)不同的程序來完成不同的工作。

比如我們要控制洗衣機(jī)的完成一個(gè)智能控制洗衣流程(不采用簡單的機(jī)械定時(shí)器),從成本角度講,雖然個(gè)人電腦性能強(qiáng)大,但是不能采用,因?yàn)橐慌_個(gè)人電腦的體積成本都太過了,此時(shí)用“單片機(jī)+順序控制程序+接口電路+執(zhí)行電路”就是最好的解決方案了,這等于在洗衣現(xiàn)場有一個(gè)小小的電腦在控制著整個(gè)洗衣過程,單片機(jī)是現(xiàn)代全自動洗衣機(jī)的核心部分,它的應(yīng)用大大減低了人的勞動強(qiáng)度。從這個(gè)簡單的例子中,我們就可以看到單片機(jī)的實(shí)際意義了!小到溫度智能控制,中到通訊控制,大到生產(chǎn)流程控制,都可以見到它的身影。應(yīng)用范圍絕對廣泛,只要編寫好不同的程序。單片機(jī)就可以完成不同的控制工作。這樣,我們通過編寫不同的控制程序就可以實(shí)現(xiàn)器件的萬能化!

大致可以通過這些步驟來完成實(shí)驗(yàn)及開發(fā)工作:

第一步:通過軟件編譯平臺開始寫我們的試驗(yàn)程序,這就好比寫文章要有筆和紙一樣,最常用的是KEIL軟件平臺,比如點(diǎn)亮一個(gè)發(fā)光管,點(diǎn)亮多個(gè)發(fā)光管,點(diǎn)亮流水燈,驅(qū)動繼電器,驅(qū)動數(shù)碼管......,學(xué)用寫源程序有2個(gè)重點(diǎn),重點(diǎn)1是學(xué)會在KEIL中寫源程序,就和用記事本軟件編輯文字一樣,重點(diǎn)2是學(xué)會把寫好的源程序通過KEIL軟件平臺編譯成為單片機(jī)可以讀懂的由0和1構(gòu)成的機(jī)器碼,為了簡化,通常是生成16進(jìn)制的*.HEX或者*.BIN文件,不過本質(zhì)還是0和1。在這里,源程序我們能讀懂,但是單片機(jī)不能讀懂,所以需要把源程序通過編譯器編譯成最終的*.HEX或者*.BIN文件。在這里,編譯平臺充當(dāng)?shù)氖且粋€(gè)語言翻譯官的角色!

第二步:制作或者購買一個(gè)編程器(也有人叫它為燒寫器)。

注意,編程器的作用是把我們編譯好的機(jī)器碼文件寫入到單片機(jī)的程序存儲器中,這個(gè)設(shè)備的作用就好比我們給一個(gè)沒有記憶的人灌輸記憶。通過程序被寫入,單片機(jī)中就被灌輸了我們的設(shè)計(jì)思想或者是某種控制流程。編程器和單片機(jī)可以支持的文件是16進(jìn)制的,文件屬性一般為*.HEX或者*.BIN,它們的本質(zhì)是二進(jìn)制,也就是1和0。編程器只是一種寫入設(shè)備,而源程序還是要由我們來編寫和創(chuàng)造的!

第三步:制作或者購買一個(gè)實(shí)驗(yàn)板,它的作用是完成最終的硬件驅(qū)動效果驗(yàn)證。這就好比把一個(gè)已經(jīng)灌輸了我們設(shè)計(jì)思想的單片機(jī)連上軀體和四肢,看看這個(gè)完整的,已經(jīng)具備了“頭腦+思想+四肢”的設(shè)備是不是能真的動起來,動起來的時(shí)候看看它的動作是不是和我們設(shè)計(jì)的程序完全一致?如果不一致就說明我們給他設(shè)計(jì)的“思想”可能存在問題!此時(shí)就需要用編程器中的“擦除”操作給單片機(jī)“洗腦”,并且修改程序,然后再次寫入和看驗(yàn)證結(jié)果。

比如我們用軟件寫了一個(gè)流水燈程序,通過什么來驗(yàn)證它是否可以真正的驅(qū)動硬件呢?答案就是實(shí)驗(yàn)板。

也許有人會問,為什么沒有提到仿真器?因?yàn)橐郧皩I(yè)化的仿真器太貴了!大家一般都承受不了!

仿真器是做什么的呢?它的作用是調(diào)試我們的程序用的,比如我們的程序有100行,假設(shè)代表了10個(gè)驅(qū)動硬件的動作,這時(shí)候如果有仿真器的話,我們可以讓這10個(gè)動作一個(gè)個(gè)的執(zhí)行,同時(shí)能夠觀察到在執(zhí)行這10個(gè)動作的過程中,單片機(jī)內(nèi)部的各單元狀態(tài)是什么樣的!也就是可以細(xì)致的分析一下整個(gè)程序在硬件中的具體工作過程。這樣我們就可以了解程序中是不是有問題存在,所以叫做仿真!

仿真分為硬件仿真和軟件仿真二種,軟件仿真是完全虛擬的,比較抽象,初學(xué)者理解起來比較困難。硬件仿真方面,如果硬件仿真器連接了目標(biāo)設(shè)備,就可以看到驅(qū)動硬件的效果,還是比較實(shí)用的。

聲明:該篇文章為本站原創(chuàng),未經(jīng)授權(quán)不予轉(zhuǎn)載,侵權(quán)必究。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉