在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

STM32對于U盤訪問的硬件/軟件實現(xiàn)

STM32單片機 ? 來源:YXQ ? 2019-06-04 09:38 ? 次閱讀

一些應用中,涉及到對存儲設備的數(shù)據(jù)訪問,例如USD卡、U盤。具備USB OTG控制器STM32,可以實現(xiàn)對U盤訪問的支持。本文介紹STM32對于U盤訪問的硬件/軟件實現(xiàn)。介紹如何利用STM32CubeMX,一步一步實現(xiàn)STM32訪問U盤。僅需簡單的幾個步驟, 實現(xiàn)U盤訪問的應用開發(fā)。

MSC類簡介

MSC (Mass Storage Class) 是USB規(guī)范提供的一種USB大容量存儲設備類,允許一個USB接口的設備與USB主機相連接,以便在兩者之間傳輸文件。USB MSC傳輸協(xié)議分為CBI (Control / Bulk / Interrupt) 和 BOT (Bulk-only Transfer)。BOT協(xié)議在不影響功能的情況下省去了對Interrupt端點的需求,被存儲設備廣泛支持。STM32提供的USB庫支持USB MSC BOT協(xié)議。

MSC設備包含很多種,例如U盤、讀卡器、移動硬盤等。STM32通過內(nèi)含的USB OTG控制器(支持主機模式)和USB主機庫,實現(xiàn)對MSC類的支持,進而實現(xiàn)對U盤訪問的支持。本文中不涉及到USB MSC (Mass Storage Class) 的詳細介紹 ,更多MSC類介紹,請參考《USB進階培訓_Part1_USB類的介紹》。

01

硬件支持

不同的STM32系列,對USB的支持情況如下。對于STM32F105/107、STM32F2、STM32F4、STM32F7和STM32H7系列,部分型號支持USB OTG,能夠?qū)崿F(xiàn)USB 主機和從機。U盤作為USB MSC設備,需要STM32作為USB MSC主機,實現(xiàn)兩者間的訪問。(注:系列中不是所有型號都支持OTG,以具體型號手冊為準。)

STM32 OTG硬件電路圖如下所示。CN3為USB連接器

對于STM32 OTG,配置為僅主機模式時,不需使用OTG_ID,可將其引腳用于其他功能。并且在不使用SRP (Session Request Protocol) 和HNP (Host Negotiation Protocol) 時,可不連接VBUS至PA9。電路簡化如下圖。

更多關于STM32 USB硬件設計,請參考《AN4879 USB hardware and PCB guidelines using STM32 MCUs》。

02

軟件支持

STM32擁有豐富的軟件資源,推薦如下兩個軟件包:

STM32Cube軟件包(包含USB/OTG庫,支持MSC協(xié)議)

STM32CubeMX輔助開發(fā)工具(輔助開發(fā)自定義板上應用)

上述軟件都是免費對外開發(fā),可在意法半導體官網(wǎng)www.st.com下載

U盤訪問實現(xiàn)例

一步一步呈現(xiàn)訪問U盤的STM32開發(fā)過程,實現(xiàn)對U盤的讀寫等操作。在下面的詳解步驟中,會介紹一些主機庫和應用機制的內(nèi)容。如果希望快速開發(fā),可以直接按照步驟開發(fā),略過講解性的內(nèi)容。

01

前期準備

出于遵循完全一致的實驗步驟考慮,實例基于ST發(fā)布的STM32F469I-DISCO板。除此之外,開發(fā)者也可以根據(jù)自己的目標板的具體情況,參考后面介紹的實例進行配置。

STM32板

USB線

2 * USB線

Type A ←→ Mini B

Type A ←→ Micro B

STM32CubeMX

Cube軟件包

STM32CubeF4(1)

說明:在安裝STM32CubeMX后,在其“菜單欄\Help\Install New Libraries”中安裝STM32CubeF4.

本文實現(xiàn)例中采用的是V1.21.0

IDE

IAR (EWARM)

除IAR外,CubeMX還支持MDK、TrueStudio和SW4STM32等。

文本實現(xiàn)例中采用IAR v8.30.1

注1:STM32F469I-DISCO板的原理圖、用戶手冊等資源可通過鏈接獲取。

注2:STM32CubeF4可以按照介紹方式獲取,或者直接在官網(wǎng)下載,然后通過STM32CubeMX從本地導入軟件包功能完成導入。

02

應用實現(xiàn)

一、開發(fā)流程

結(jié)合STM32CubeMX的軟件開發(fā)流程如下圖。

二、開發(fā)步驟詳解

接下來一步一步呈現(xiàn)實現(xiàn)過程。

1.打開STM32CubeMX,點擊File\New Project,選擇STM32F469NI(STM32F469I-DISCO板上微控制器型號)。

2.外設和中間件的選擇。首先結(jié)合STM32F469I-DISCO板的原理圖,了解功能實現(xiàn)必備的接口的使用情況,如下表所示。

注1. 在不考慮SRP和HNP時,訪問U盤,只需要STM32的USB OTG的USB數(shù)據(jù)正負線即可。

根據(jù)硬件情況,選擇調(diào)試接口、外部時鐘、USB OTG FS和USB中間件,如下圖所示。

在引腳分布圖,PB2引腳上單擊鼠標左鍵,選擇‘GPIO_Output’,如下圖所示。

3. 配置時鐘,使USB時鐘為48MHz,如下圖。其中,步驟2中外部高速晶振值要和硬件上匹配。由于USB時鐘精度要求高,STM32F469內(nèi)部時鐘無法達到要求,必須選用外部高速時鐘,如步驟3所示。對于HCLK(處理器時鐘,步驟6配置),根據(jù)性能需要進行設置,或者簡單的設置為最大值。

4. USB和關聯(lián)的引腳配置。主要對VBUS使能引腳進行配置及關聯(lián)。

在USB_HOST界面,配置Drive_VBUS_FS關聯(lián)引腳為PB2(與硬件連接對應)。VBUS電源開關器件為STMPS2151STR,高電平使能。所以配置如下,在初始化后為低電平(圖中步驟7~10)。其他保持默認。

5.設置工程,如下圖所示(點擊菜單欄\Project\Settings打開)。選擇對應的IDE和希望基于的STM32Cube軟件包位置。實例簡單,堆棧占用小,堆棧配置保持默認即可。除EWARM外,STM32CubeMX還支持MDK-ARM、TrueStudio、SW4STM32等。

6. 點擊菜單欄\Project\Generate Code生成工程。

工程生成后,會出現(xiàn)提示框,點擊"Open Project"打開工程。工程架構和文件結(jié)構如下圖(右側(cè)為USB主機應用架構)。生成工程包含全部層的實現(xiàn),開發(fā)者在生成工程的基礎上,可直接調(diào)用寫讀等API,實現(xiàn)對U盤的訪問。

注: USB主機庫和各文件功能介紹,請參考《UM1720 STM32Cube USB host library》。

7. 添加U盤訪問實現(xiàn)。

STM32CubeMX生成的工程,調(diào)用STM32Cube USB主機庫。在庫中,軟核將USB事件傳輸至用戶層,并執(zhí)行回調(diào)用戶函數(shù)。方便在用戶層的回調(diào)函數(shù)中添加應用實現(xiàn)。用戶回調(diào)事件如下表。

USB軟核狀態(tài)機如下圖所示。

在HOST_CLASS狀態(tài)中,軟核會通知應用類初始化完成。對U盤的訪問,應放置在應用層接收到類初始化完成事件后,即HOST_USER_CLASS_ACTIVE事件后,否則無法正常工作。

在工程中添加/修改對U盤的寫讀訪問操作和相關源碼,如下表所示。

注1:省略號為了表示還有其他沒有改動部分的源碼,不用添加進源碼中。展現(xiàn)的源碼為了更好的表現(xiàn)出對應工程中位置,包含一些生成工程時原有的源碼。

注2:MX_DriverVbusFS()中,需要根據(jù)實際情況進行配置。實驗板上采用的電源開關STMPS2151STR高電平有效。在一些系列STM32的生成工程中,MX_DriverVbusFS函數(shù)原型已經(jīng)生成,此時無需再添加這個函數(shù)的聲明,但要確認函數(shù)中引腳設置對應關系(形參為1時表示要激活)。

8.編譯生成的應用固件。

利用IDE進行編譯、鏈接、下載到目標板,實現(xiàn)U盤信息獲取和讀寫操作。

檢驗驗證

連接U盤至STM32F469I-DISCO板的USB_User連接口。IAR進入在線調(diào)試模式,利用在線調(diào)試,查看獲取到的U盤信息和寫讀緩存中的數(shù)據(jù)情況。

運行完畢后,連接U盤至PC,利用PC上安裝的Active@ Disk Editor(外部鏈接)查看U盤對應扇區(qū)數(shù)據(jù)(10扇區(qū)對應起始位置為5120),從而驗證U盤信息獲取和寫讀功能正常。如下圖所示。

總結(jié)

STM32CubeMX加速了STM32的開發(fā)過程。即使類似USB這種復雜的外設使用,也可以如上述實例,只需要幾個步驟即可以實現(xiàn)USB應用。并且提供了除MSC類之外,HID、UAC、CDC等類支持。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • msc
    msc
    +關注

    關注

    0

    文章

    29

    瀏覽量

    20153
  • STM32
    +關注

    關注

    2272

    文章

    10923

    瀏覽量

    357573

原文標題:技術筆記 | 基于STM32CubeMX開發(fā)U盤訪問應用

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何在STM32實現(xiàn)USB主機讀寫U文件

    在項目應用中,經(jīng)常會有對外交換數(shù)據(jù)的需求。USB接口讀寫U無疑是一種頗為方便的選擇。在這一篇中,我們就來討論如何在STM32實現(xiàn)USB主機讀寫U
    的頭像 發(fā)表于 12-13 17:20 ?1.4w次閱讀
    如何在<b class='flag-5'>STM32</b>上<b class='flag-5'>實現(xiàn)</b>USB主機讀寫<b class='flag-5'>U</b><b class='flag-5'>盤</b>文件

    使用STM32CubeMx生成USB HOST及fatfs,實現(xiàn)STM32F105RC訪問U的功能,無法枚舉設備的原因?

    使用STM32 CubeMx生成USB HOST及fatfs代碼框架,實現(xiàn)STM32F105RC訪問U
    發(fā)表于 04-09 07:55

    怎么基于STM32實現(xiàn)U訪問

    一些應用中,涉及到對存儲設備的數(shù)據(jù)訪問,例如USD卡、U。具備USB OTG控制器的STM32,可以實現(xiàn)
    發(fā)表于 08-08 06:25

    STM32 FLASH實現(xiàn)U

    STM32 FLASH實現(xiàn)U
    發(fā)表于 05-20 10:08

    如何使用u*** host實現(xiàn)U的讀寫

    U是一個很常用的存儲設備,它是通過u***實現(xiàn)數(shù)據(jù)傳輸?shù)模敲丛?b class='flag-5'>stm32上面,我們要怎么接入U
    發(fā)表于 02-22 06:22

    金士頓u低格軟件 工具下載

    金士頓u低格軟件 工具下載, 請到下面下載相對應型號的工具:
    發(fā)表于 01-02 20:29 ?21次下載

    U伴侶 EasyUDisk讀寫U模塊

    在嵌入式的電子產(chǎn)品中實現(xiàn)U文件的讀寫,在軟件設計上成了許多廠家技術攻關的難題,U伴侶Easy
    發(fā)表于 11-04 12:01 ?74次下載

    STM32-comStick U版開發(fā)平臺(ST)

    STM32-comStick U版開發(fā)平臺(ST) 意法半導體(ST)發(fā)布一款U版的開發(fā)平臺STM
    發(fā)表于 11-02 09:11 ?1271次閱讀

    STM32的文件系統(tǒng)程序+SD卡虛擬U設計

    STM32的文件系統(tǒng)程序,以及SD卡虛擬U設計
    發(fā)表于 12-10 16:34 ?54次下載

    臺電U加密軟件免費下載

    本文檔的主要內(nèi)容詳細介紹的是臺電U加密軟件免費下載。
    發(fā)表于 01-02 08:00 ?12次下載
    臺電<b class='flag-5'>U</b><b class='flag-5'>盤</b>加密<b class='flag-5'>軟件</b>免費下載

    當年的硬件與今天的U

    當年的硬件,今天的U
    的頭像 發(fā)表于 01-13 16:02 ?2388次閱讀

    STM32&SD卡實現(xiàn)USB虛擬U

    下載源碼請關注公眾號之前的文章中介紹過STM32讀寫SD卡和FatFS文件系統(tǒng)相關的知識。今天將在這基礎上介紹STM32通過USB口虛擬U的知識。即插入USB接口后,電腦將SD卡識別
    發(fā)表于 12-28 19:54 ?43次下載
    <b class='flag-5'>STM32</b>&SD卡<b class='flag-5'>實現(xiàn)</b>USB虛擬<b class='flag-5'>U</b><b class='flag-5'>盤</b>

    STM32CubeMX | STM32基于HAL實現(xiàn)USB模擬U

    STM32CubeMX | STM32基于HAL實現(xiàn)USB模擬U目錄STM32CubeMX |
    發(fā)表于 12-28 20:04 ?40次下載
    <b class='flag-5'>STM32</b>CubeMX | <b class='flag-5'>STM32</b>基于HAL<b class='flag-5'>實現(xiàn)</b>USB模擬<b class='flag-5'>U</b><b class='flag-5'>盤</b>

    探秘STM32U5安全特性|硬件加解密引擎與軟件算法對比

    探秘STM32U5安全特性|硬件加解密引擎與軟件算法對比
    的頭像 發(fā)表于 10-27 10:23 ?1811次閱讀
    探秘<b class='flag-5'>STM32U</b>5安全特性|<b class='flag-5'>硬件</b>加解密引擎與<b class='flag-5'>軟件</b>算法對比

    基于STM32CubeMX開發(fā)U訪問應用

    電子發(fā)燒友網(wǎng)站提供《基于STM32CubeMX開發(fā)U訪問應用.pdf》資料免費下載
    發(fā)表于 09-25 09:19 ?3次下載
    基于<b class='flag-5'>STM32</b>CubeMX開發(fā)<b class='flag-5'>U</b><b class='flag-5'>盤</b><b class='flag-5'>訪問</b>應用
    主站蜘蛛池模板: 亚洲一二三区在线观看 | 一级特黄高清完整大片 | 四虎永久在线视频 | 欧美在线视频一区二区三区 | 四虎永久免费观看 | 456性欧美欧美在线视频 | 很黄很暴力 很污秽的小说 很黄很黄叫声床戏免费视频 | 爽天天天天天天天 | 欧美性三级| 日韩a一级欧美一级 | 亚洲邪恶天堂影院在线观看 | 国产精品美女www爽爽爽视频 | 99 久久99久久精品免观看 | 国产资源在线免费观看 | 日本大片免aaa费观看视频 | 午夜影院在线观看视频 | 日本aaaaa级毛片片 | 天天做天天添婷婷我也去 | 国内精品91久久久久 | 午夜伦理片免费观看在线 | 久久天天躁狠狠躁夜夜 | 在线看片福利 | 午夜看一级特黄a大片黑 | 嫩草影院网站入口 | 欧美射射射 | 天天综合亚洲 | 久久久久久久成人午夜精品福利 | 日日操夜夜操免费视频 | 日韩a一级欧美一级 | 欧美一级第一免费高清 | 天天爽夜夜操 | 亚洲欧洲一区二区三区在线 | 日韩一级黄 | 伊人久久大香线蕉综合高清 | 色婷婷一区 | 奇米米奇777 | 韩国理论三级在线观看视频 | 中文天堂在线视频 | 精品黄色录像 | www射射一区 | 日本黄色一级大片 |