h1_key

當(dāng)前位置:首頁(yè) >新聞資訊 > 技術(shù)文章>珠海極海>APM32F407集成內(nèi)部高速PHY支持USB2.0通信
APM32F407集成內(nèi)部高速PHY支持USB2.0通信
2022-12-26 1016次


    極海APM32F407系列USB模塊介紹

  極海APM32F407系列工業(yè)級(jí)高性能MCU,支持USB2.0協(xié)議,兼容低速(1.5Mbps)、全速(12Mbps)和高速模式(480Mbps)。高速模式下集成了內(nèi)部的PHY(物理層),可以節(jié)約外部器件成本,操作簡(jiǎn)便。

  APM32F407高速模式下支持4K字節(jié)的專用RAM管理數(shù)據(jù)FIFO傳輸。單獨(dú)一幀不需要應(yīng)用程序參與,從而達(dá)到最大的傳輸帶寬。作為設(shè)備時(shí),支持最多6個(gè)端點(diǎn),作為主機(jī)則支持最多12個(gè)通道。支持OTG標(biāo)準(zhǔn),允許在主機(jī)和設(shè)備之間進(jìn)行動(dòng)態(tài)角色切換,支持模塊內(nèi)嵌的DMA傳輸。


APM32F407集成內(nèi)部高速PHY支持USB2.0通信


  在功耗方面,APM32F407內(nèi)置電源管理模塊,在USB模塊掛起時(shí)可關(guān)閉USB模塊所有時(shí)鐘源來(lái)降低功耗,還能通過(guò)停止物理層時(shí)鐘節(jié)省其翻轉(zhuǎn)而產(chǎn)生的動(dòng)態(tài)功耗,同時(shí)支持OTG應(yīng)用的主機(jī)關(guān)閉Vbus降低功耗。由此可知,APM32F407的USB模塊可高效地實(shí)現(xiàn)USB2.0協(xié)議,通過(guò)多個(gè)管道和FIFO緩存區(qū)使傳輸達(dá)到最大的USB帶寬,符合OTG補(bǔ)充標(biāo)準(zhǔn),功耗管理表現(xiàn)優(yōu)秀。


  USB簡(jiǎn)介

  USB(Universal Serial Bus)即通用串行總線,作為一種傳輸速度快、使用方便、連接靈活的數(shù)據(jù)通信技術(shù)被市場(chǎng)廣泛使用,但大家對(duì)它的了解有多少呢?今天極海芯君就與大家來(lái)聊聊USB的發(fā)展歷程、通訊形式。

  USB傳輸標(biāo)準(zhǔn)進(jìn)化史

  自1996年USB-IF(USB Implementers Forum)組織發(fā)布USB 1.0標(biāo)準(zhǔn)以來(lái),USB已經(jīng)演化了諸多版本。其中 USB1.1支持1.5Mbps低速模式和12Mbps全速模式,而USB2.0作為MCU常用數(shù)據(jù)通信版本,在兼容低速和全速的同時(shí),還支持480Mbps的高速模式。


  USB標(biāo)準(zhǔn)版本


APM32F407集成內(nèi)部高速PHY支持USB2.0通信

APM32F407集成內(nèi)部高速PHY支持USB2.0通信


 USB通信組件

  USB通信由主機(jī)和設(shè)備(從機(jī))組成,主機(jī)發(fā)起通信,符合條件的設(shè)備做出響應(yīng)。最前線的端點(diǎn)接收主機(jī)數(shù)據(jù),多個(gè)“志同道合”的端點(diǎn)組成接口,多個(gè)接口組成配置,一個(gè)設(shè)備可有個(gè)配置,然后USB通過(guò)四線電纜傳輸信號(hào)和電源。


APM32F407集成內(nèi)部高速PHY支持USB2.0通信

APM32F407集成內(nèi)部高速PHY支持USB2.0通信


  Q:數(shù)據(jù)線(D-/D+)和端點(diǎn)有什么關(guān)系?

  A:數(shù)據(jù)線是傳送帶,端點(diǎn)負(fù)責(zé)向傳送帶收放數(shù)據(jù),而對(duì)應(yīng)的主機(jī)則是使用通道來(lái)收放數(shù)據(jù)。端點(diǎn)存在設(shè)備內(nèi)部,用于管理數(shù)據(jù)。

  USB描述符

  Q:如何區(qū)分設(shè)備呢?

  A:這就涉及到USB描述符了。描述符是USB協(xié)議規(guī)定的符號(hào)集,可以分為設(shè)備描述符、配置描述符、接口描述符、端點(diǎn)描述符、字符串描述符等。


APM32F407集成內(nèi)部高速PHY支持USB2.0通信


  *需注意,接口描述符和端點(diǎn)描述符通常是和配置描述符綁定的。配置描述符自身長(zhǎng)度為9字節(jié),接口、端口等描述符銜接在配置描述符后面。所以主機(jī)只需要獲取配置描述符集合就能知道設(shè)備的通信信息。

  Q:什么是USB的類?

  A:USB常見的傳輸形式有鼠標(biāo)、U盤、音視頻等,不同類型的傳輸有著不同的傳輸規(guī)則,同類型傳輸規(guī)則則保持一致,這就產(chǎn)生了“類”的概念。主機(jī)識(shí)別出設(shè)備的類代碼,就會(huì)按照該類的規(guī)則來(lái)傳輸。不同基類還有自己的子類和協(xié)議。類代碼一般存放于接口描述符,少數(shù)存放于設(shè)備描述符。


  USB請(qǐng)求

  USB規(guī)定了8個(gè)字節(jié)作為一個(gè)請(qǐng)求,通過(guò)主機(jī)發(fā)送標(biāo)準(zhǔn)的獲取描述符請(qǐng)求,設(shè)備接收到請(qǐng)求后,將對(duì)應(yīng)描述符發(fā)送至主機(jī)。


  USB設(shè)備請(qǐng)求結(jié)構(gòu)


APM32F407集成內(nèi)部高速PHY支持USB2.0通信


  表注:D0表示字節(jié)的第0位,D1表示第1位,依次類推


  USB標(biāo)準(zhǔn)請(qǐng)求


APM32F407集成內(nèi)部高速PHY支持USB2.0通信


  表注:B后綴表示二進(jìn)制

  利用標(biāo)準(zhǔn)請(qǐng)求即可實(shí)現(xiàn)設(shè)備枚舉,枚舉的過(guò)程其實(shí)就是主機(jī)識(shí)別設(shè)備的過(guò)程。枚舉的大致流程:


APM32F407集成內(nèi)部高速PHY支持USB2.0通信


  *除了標(biāo)準(zhǔn)請(qǐng)求外,還有類請(qǐng)求、供應(yīng)商請(qǐng)求,當(dāng)請(qǐng)求中bmRequestType的第5、6位的值對(duì)應(yīng)為類請(qǐng)求時(shí),該8個(gè)字節(jié)請(qǐng)求的規(guī)范就會(huì)按照類的規(guī)則來(lái)定義。


 USB控制傳輸

  主機(jī)發(fā)送請(qǐng)求至設(shè)備,設(shè)備返回描述符至主機(jī),主機(jī)收到設(shè)備發(fā)過(guò)來(lái)的描述符,需要返回一個(gè)0數(shù)據(jù)包表示狀態(tài),表明成功接收數(shù)據(jù),這個(gè)傳輸方式在USB中稱為控制傳輸。


APM32F407集成內(nèi)部高速PHY支持USB2.0通信


  一次USB控制傳輸需要Setup事務(wù)發(fā)送請(qǐng)求至設(shè)備,然后根據(jù)請(qǐng)求判斷數(shù)據(jù)傳輸方向及數(shù)據(jù)長(zhǎng)度,數(shù)據(jù)事務(wù)(IN或OUT)之后,數(shù)據(jù)的接收方需要發(fā)送一個(gè)0長(zhǎng)度數(shù)據(jù)事務(wù)(IN或OUT)來(lái)結(jié)束控制傳輸。控制傳輸必須有主機(jī)的請(qǐng)求(Setup),而數(shù)據(jù)過(guò)程取決于該請(qǐng)求,若無(wú)數(shù)據(jù),則直接到狀態(tài)過(guò)程。狀態(tài)過(guò)程屬于數(shù)據(jù)包,但它沒(méi)有內(nèi)容。



APM32F407集成內(nèi)部高速PHY支持USB2.0通信


  USB事務(wù)構(gòu)成

APM32F407集成內(nèi)部高速PHY支持USB2.0通信


  USB包構(gòu)成


APM32F407集成內(nèi)部高速PHY支持USB2.0通信  


  令牌包由主機(jī)發(fā)出,設(shè)備接到令牌包后,如果為Setup,則接收數(shù)據(jù)包(8字節(jié)請(qǐng)求);如果為IN令牌,則發(fā)送數(shù)據(jù)至主機(jī),OUT令牌相反。

  握手包是在數(shù)據(jù)包結(jié)束之后,數(shù)據(jù)的接收方進(jìn)行應(yīng)答,應(yīng)答方式有ACK(確認(rèn))、NAK(未就緒)、STALL(出錯(cuò))和NYET(高速OUT事務(wù)中表示無(wú)空間)。

  MCU中USB設(shè)備的數(shù)據(jù)流

  數(shù)據(jù)緩沖區(qū)-FIFO

  MCU一般使用FIFO作為數(shù)據(jù)緩存區(qū),MCU里的FIFO它是一種先進(jìn)先出的數(shù)據(jù)緩存寄存器。USB在事務(wù)和包中,我們可以了解到,當(dāng)設(shè)備收到主機(jī)的令牌包后,根據(jù)不同的令牌包,進(jìn)行接收或發(fā)送數(shù)據(jù)。比如收到了Setup令牌,那設(shè)備會(huì)先將數(shù)據(jù)保存在接收FIFO中,置起相關(guān)標(biāo)準(zhǔn)位,設(shè)備就可以去接收FIFO中取出Setup請(qǐng)求;比如收到的是IN令牌,那設(shè)備會(huì)從發(fā)送FIFO中發(fā)送預(yù)先壓棧的數(shù)據(jù),若發(fā)送FIFO無(wú)數(shù)據(jù)則返回NAK握手包。



  • 極海半導(dǎo)體APM32F030戶外電源應(yīng)用方案
  • 極海戶外電源應(yīng)用方案采用了三顆APM32F030系列MCU芯片,協(xié)同實(shí)現(xiàn)對(duì)方案顯示面板及功率板的驅(qū)動(dòng)控制,并配置了多種保護(hù)功能及智能LCD屏顯交互功能,支持多種接口連接,可提供安全穩(wěn)定的充放電性能。極海APM32F030戶外電源應(yīng)用方案介紹
    2024-01-18 275次
  • 極海APM32F407低壓伺服驅(qū)動(dòng)器
  • 極海APM32F407低壓伺服驅(qū)動(dòng)器應(yīng)用方案,具有高效運(yùn)算處理能力、高可靠性、高功率密度,在不同溫度、濕度、振動(dòng)等工業(yè)環(huán)境中可實(shí)現(xiàn)穩(wěn)定運(yùn)行,主控MCU豐富外設(shè)接口支持伺服電機(jī)系統(tǒng)一體化設(shè)計(jì)。
    2023-06-16 530次
  • 極海APM32F407工業(yè)HMI應(yīng)用方案
  • 為增強(qiáng)用戶與工業(yè)控制設(shè)備之間的交互體驗(yàn),極海推出APM32F407 HMI應(yīng)用方案,主控采用APM32F407高性能MCU、8080接口、LCD液晶顯示屏以及I2C接口觸摸屏,可靈活、便捷、高效地滿足設(shè)備信息參數(shù)顯示與控制參數(shù)設(shè)置等實(shí)際應(yīng)用需求。
    2023-05-20 480次
  • 極海掃地機(jī)器人主控+通信模塊方案
  • 隨著生活、商務(wù)場(chǎng)景的行為變化,新一代消費(fèi)者對(duì)智能家居替代體力勞動(dòng)的需求日趨迫切;另外在國(guó)家技術(shù)產(chǎn)業(yè)政策的積極推動(dòng)下,智能掃地機(jī)器人將迎來(lái)更加智能化、自動(dòng)化的技術(shù)變革,這也意味起著核心作用的主控芯片也將迎來(lái)性能的革新?lián)Q代。
    2023-05-06 511次
  • 極海APM32F407通信電源方案
  • 極海APM32F407通信電源方案以穩(wěn)定性為前提,更確保方案整體的快速性、準(zhǔn)確性與平穩(wěn)性,單顆MCU即可對(duì)PFC單元和全橋LLC單元進(jìn)行全面數(shù)字控制,實(shí)現(xiàn)整個(gè)負(fù)載范圍的零電壓開關(guān),提高效率和可靠性。
    2023-04-24 570次

    萬(wàn)聯(lián)芯微信公眾號(hào)

    元器件現(xiàn)貨+BOM配單+PCBA制造平臺(tái)
    關(guān)注公眾號(hào),優(yōu)惠活動(dòng)早知道!
    10s
    溫馨提示:
    訂單商品問(wèn)題請(qǐng)移至我的售后服務(wù)提交售后申請(qǐng),其他需投訴問(wèn)題可移至我的投訴提交,我們將在第一時(shí)間給您答復(fù)
    返回頂部